Recursive processing
- <xsl:apply-templates select="node-set expression" .../>
- apply pattern matching and template instantiation
on selected nodes (default: all children);
mode="..." on xsl:template and
xsl:apply-templates allows an element to be processed
multiple times in different ways
- <xsl:call-template name="..."/>
- invoke template by name (name="..." on xsl:template)
- <xsl:for-each select="node-set expression"> template </...>
- instantiate template for each node in node-set (document order
by default)
The value of a select attribute is basically an
XPath expression evaluated with the current node and
current node list as context.