Debugging XSLT vs Liquid in VS Code
Both the XSLT Debugger and DotLiquid Debugger let you step through a template and inspect variables. But they work differently under the hood — and those differences affect what you can do while de...

Source: DEV Community
Both the XSLT Debugger and DotLiquid Debugger let you step through a template and inspect variables. But they work differently under the hood — and those differences affect what you can do while debugging. The Fundamental Difference XSLT debugging is live. The XSLT Debugger supports two engines, each with its own instrumentation strategy: Saxon (XSLT 2.0/3.0) — exposes a TraceListener interface with Enter and Leave callbacks that fire as each instruction executes. The engine cooperates natively. .NET XslCompiledTransform (XSLT 1.0) — has no TraceListener, so the debugger rewrites the stylesheet at load time, injecting <dbg:probe> extension calls into every template, if, for-each, and when block. A registered extension object handles each probe and pauses execution on a TaskCompletionSource until you click Step. Both approaches genuinely pause execution. You're inspecting a running process. Liquid debugging is replay. DotLiquid has no such API — Template.Render() runs the whole te