标签: xslt
尝试重写XSLT文件,但不确定匹配模式的目标是什么。
我知道/ *目标是XML文档的顶级元素,但我不知道这个模式的作用。这就是这条线。
<xsl:key name="ids" match="//*" use="@xml:id"/>
答案 0 :(得分:4)
在//*表达式中使用select将选择整个文档中的所有元素节点。
//*
select
在match表达式(对于模板或密钥)中使用前导//没有意义,因为match="//*"和match="*"将完全匹配相同的节点,即文档中任何位置的任何元素。
match
//
match="//*"
match="*"
//仅仅是/descendant-or-self::node()/的文字简写,因此//*表示/descendant-or-self::node()/*,或者是文档节点或子文档的任何元素任何后代。
/descendant-or-self::node()/
/descendant-or-self::node()/*
答案 1 :(得分:2)
xpath模式// *匹配文档的所有元素