to the main page... about these slides...

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.