xsl:copy-of
là một bản sao chính xác của các yếu tố đầu vào xml phù hợp. Không có xử lý xslt diễn ra và đầu ra từ phần tử đó sẽ chính xác giống như đầu vào.
xsl:apply-templates
yêu cầu công cụ xslt xử lý mẫu khớp với các phần tử đã chọn. xsl:apply-templates
là những gì cho xslt khả năng ghi đè của nó, vì các mẫu bạn tạo với khớp trên các phần tử có thể có các ưu tiên khác nhau và mẫu có mức độ ưu tiên cao nhất sẽ được thực thi.
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 sản lượng 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>
Đầu ra Xml 2:
<b>asdf</b>
<c>asdf</c>
<b title="asdf">asdf</b>