Chapter 10. Templates
You’ve learned a lot about template rules—how to create them, how to write patterns that trigger them, and how to generate results from them. You should be familiar with the following concepts about templates:
Template rules attempt to match patterns in a source document. A pattern is a subset of an expression, which is mostly used to match child elements and attributes using the child and attribute axes. (You can also use predicates, plus the
id( )andkey( )functions. You learned about predicates in Chapter 4 and aboutid( )in Chapter 5, and you will learn aboutkey( )in the next chapter.)When a pattern is matched in a source document, the content of the template (called a sequence constructor in XSLT 2.0) is instantiated or written out to the result tree.
When
apply-templatesis used in atemplateelement, it processes the children of the matched pattern, searching for other template rules that match those children.If the
selectattribute is used onapply-templates, it processes the children of the matched pattern that are specifically named in the attribute, searching for template rules that match those nodes so named. Theselectattribute can contain an expression.Built-in templates do behind-the-scenes work in processing nodes that may not be explicitly identified in templates rules, such as text nodes.
This chapter discusses additional issues related to templates, namely, what template priority is, how to create and call named templates, how to use ...