你能解释一下这两者之间的区别吗
<xsl:template match="/*">
Run Code Online (Sandbox Code Playgroud)
和
<xsl:template match="*">
Run Code Online (Sandbox Code Playgroud)
和
<xsl:template match="/">
Run Code Online (Sandbox Code Playgroud)
看看比赛规则:)
非常感谢您的帮助!
第二条规则,
<xsl:template match="*">
Run Code Online (Sandbox Code Playgroud)
匹配任何地方的任何元素,并将上下文节点设置为该元素。
其他的(1 和 3)差异很小。要了解差异,您必须了解“文档根”节点的概念。正如这个答案所说,
所述根节点是作为XML文档中的所有其他节点的祖先节点。它不是一个元素。... 令人困惑的是,最外面的元素有时被称为“根元素”。
考虑到这一点
<xsl:template match="/*">
Run Code Online (Sandbox Code Playgroud)
仅匹配文档中的“最外层元素”,并将上下文设置为该元素,而
<xsl:template match="/">
Run Code Online (Sandbox Code Playgroud)
仅匹配“文档根”本身,并将其设置为上下文。该规则将始终匹配,即使是空文档,而/*只会匹配实际具有元素的文档。
所以如果你有一个文件
<A />
Run Code Online (Sandbox Code Playgroud)
第一个规则(匹配/*)将匹配,上下文节点将是A。
第三个规则(匹配/)也将匹配,但A将是上下文节点的子节点。
| 归档时间: |
|
| 查看次数: |
3951 次 |
| 最近记录: |