xsl:copy-of
ist eine exakte Kopie des XML-Elements angepasst Eingabe. Es findet keine xslt-Verarbeitung statt und die Ausgabe von diesem Element ist genau die gleiche wie die Eingabe.
xsl:apply-templates
weist die XSLT-Engine an, die Vorlagen zu verarbeiten, die den ausgewählten Elementen entsprechen. xsl:apply-templates
gibt xslt seine überschreibende Fähigkeit, da die Vorlagen, die Sie mit Match-on-Elementen erstellen, unterschiedliche Prioritäten haben können und die Vorlage mit der höchsten Priorität ausgeführt wird.
Input:
<a>
<b>asdf</b>
<b title="asdf">asdf</b>
</a>
Xslt 1:
<xsl:stylesheet ... >
<xsl:template match="a">
<xsl:copy-of select="b" />
</xsl:template>
</xsl:stylesheet>
XML-Ausgabe 1:
<b>asdf</b>
<b title="asdf">asdf</b>
Xslt 2:
<xsl:stylesheet ... >
<xsl:template match="a">
<xsl:apply-templates select="b" />
</xsl:template>
<xsl:template match="b" priority="0">
<b><xsl:value-of select="." /></b>
<c><xsl:value-of select="." /></c>
</xsl:template>
<xsl:template match="b[@title='asdf']" priority="1">
<b title="{@title}"><xsl:value-of select="@title" /></b>
</xsl:template>
</xsl:stylesheet>
XML-Ausgabe 2:
<b>asdf</b>
<c>asdf</c>
<b title="asdf">asdf</b>