XSLT's Template Dispatch by Clark C. Evans December 1, 2000 XSLT is a language for transforming XML texts. The language includes familiar constructs such as for-each iteration, conditional statements, and callable functions. XSLT also includes an additional control structure, the template dispatch, which occurs through the interaction of apply-template/select and template/match. This paper presents two templates, one of which uses the template dispatch, and a second, functionally equivalent to the first, which is constructed without the help of this control structure. This paper then concludes with a comparison which may help to elucidate the power and elegance of XSLT's template dispatch. Consider the XML input The C Programming Language Brian W. Kernighan Dennis M. Richie Compilers: Principles, Techniques, and Tools Alfred V. Aho Ravi Sethi Jeffrey D. Ullman processed by the XSLT stylesheet to produce the following output: Book: The C Programming Language Author: Brian W. Kernighan Author: Dennis M. Richie Book: Compilers: Principles, Techniques, and Tools Author: Alfred V. Aho Author: Ravi Sethi Author: Jeffrey D. Ullman Given any input text, the following stylesheet will produce exactly the same output as the stylesheet above, only it will do so without the aid of apply-template/select and apply-template/match. As a consequence, much of its code necessarily emulates functionality required by the XSLT specification and built into a compliant XSLT processor. The entry point for a procedural stylesheet is marked by