我们所说的xsl表示法是什么意思<xsl:模板匹配= "/|@*|node()" >



我不明白下面的意思:

<xsl:template match="/|@*|node()">
<xsl:apply-templates match="@*|node()"/>
</xsl:template>

请帮帮我。。

<xsl:template match="local-name()='status'"/> 
<xsl:template match="/|@*|node()"> 
<xsl:copy> 
<xsl:apply-templates match="@*|node()"/> 
<xsl:copy> 
</xsl:template>

如果我像这样应用,它会省略XML中的<status>节点,这是怎么发生的?

/|@*|node()是由三个单一模式组成的匹配模式。/匹配根节点(也称为文档节点),@*匹配任何属性节点,node()作为模式"匹配除属性节点和根节点之外的任何节点"。因此,对于任何类型的节点(因为这三种模式描述了所有类型的节点),模板说<xsl:apply-templates select="@*|node()"/>,这意味着处理属性节点和子节点的并集。/匹配的文档节点没有属性节点,属性也没有,但作为一种紧凑的方式,您经常会看到这样的模板。

然而,有一个用于文档节点的内置模板可以执行<xsl:template match="/"><xsl:apply-templates/></xsl:template>,因此人们通常会在模式中省略/

相关内容

  • 没有找到相关文章

最新更新