<apply-templates>
yerine <copy-of>
'u ne zaman kullanmalıyım?XSLT: <copy-of> ve <apply-templates> arasındaki fark nedir?
Benzersiz rolleri nedir? <apply-templates>
'un <copy-of>
ile değiştirilmesi çoğu zaman garip çıktı verir. Neden?
<apply-templates>
yerine <copy-of>
'u ne zaman kullanmalıyım?XSLT: <copy-of> ve <apply-templates> arasındaki fark nedir?
Benzersiz rolleri nedir? <apply-templates>
'un <copy-of>
ile değiştirilmesi çoğu zaman garip çıktı verir. Neden?
xsl:copy-of
eşleştirilen girdi xml elemanının tam kopyasıdır. Xslt işlemi gerçekleşmez ve bu öğeden gelen çıktı, girişle tam olarak aynı olacaktır. Seçilen elemanlarla eşleşen şablonları işlemek için xslt motoruna bilgi verir. xsl:apply-templates
, xslt'a onun en büyük yeteneğini verir, çünkü oluşturduğunuz şablonlar ile eşleştiğinde şablonlar farklı önceliklere sahip olabilir ve en yüksek önceliğe sahip şablon çalıştırılır.
Girdi:
<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 çıkışı 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 çıkış 2:
<b>asdf</b>
<c>asdf</c>
<b title="asdf">asdf</b>
copy-of
size bir XML dökümü dönmek basitçe edecek verilen düğüm kümesi düğüm kümesi geçti için geçerli hiçbir şablon uygulanır Öte yandan
apply-templates
.