我对XSLT很陌生,当我在我的项目中几乎没有看到现有的xslt文件时,我看到了以下片段:
<xsl:apply-templates select="@*|node()" /><xsl:apply-templates select="@*|*" />有谁能解释一下上面的2有什么区别吗?谢谢你,凯蒂
发布于 2016-02-15 08:52:08
node()匹配元素、文本节点、处理指令和注释。所以node()和做*|text()|processing-instruction()|comment()一样
*只匹配元素
@*匹配属性
所以,如果您有以下XML
<Root Attribute="1">
Text Node
<Element>Text</Element>
</Root>然后,假设您位于Root节点上,如果您执行了<xsl:apply-templates select="@*|node()" />,那么它将选择Attribute、Text Node和Element。但<xsl:apply-templates select="@*|*" />只会选择Attribute和Element。
https://stackoverflow.com/questions/35404816
复制相似问题