Were you thinking of the difference between
<xsl:apply-templates />
and
<xsl:apply-templates select="*" />
? The reason I ask is that <xsl:apply-templates select="." />
is very uncommon, while <xsl:apply-templates select="*" />
is very common.
When choosing between these two alternatives, select="*"
is often unnecessary, but there is a difference:
- As Dimitre pointed out,
<xsl:apply-templates />
without a
select will process all child
nodes. This includes comments,
processing instructions, and most
notably, text nodes, as well as
child elements.
- By contrast,
<xsl:apply-templates select="*" />
will only select child
element nodes.
So if the input XML can have child nodes other than elements, and you don't want to process those nodes, <xsl:apply-templates select="*" />
is what you want.