请原谅我的初学者问题。
我现在已经看过很多次这样的xsl模板,我不知道它实际上是做什么的。有人可以解释一下吗?谢谢!
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
答案 0 :(得分:1)
该模板是身份转换模板,它匹配除文档节点和命名空间节点之外的任何节点,并执行节点的浅表副本,然后处理其属性和子节点(就存在而言)。
模板通常是想要更改,删除和/或添加某些节点的转换的起点,因为您可以覆盖,例如。
<xsl:template match="foo">
<bar>
<xsl:apply-templates select="@* | node()"/>
</bar>
</xsl:template>
将foo
元素转换为bar
元素,例如
<xsl:template match="baz"/>
删除baz
元素,例如
<xsl:template match="foobar">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<whatever>...</whatever>
</xsl:copy>
</xsl:template>
将whatever
元素添加到foobar
个元素。