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
key( )functions. You learned about predicates in Chapter 4 and about
id( )in Chapter 5, and you will learn about
key( )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.
apply-templatesis used in a
templateelement, it processes the children of the matched pattern, searching for other template rules that match those children.
selectattribute is used on
apply-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. The
selectattribute 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 ...