使用xpath获取所有本地名称的节点集

时间:2011-02-11 12:04:39

标签: xml xslt xpath

使用XPath 1.0,而不是

<xsl:for-each select="*">
  <xsl:variable name="varName" select="local-name()" />
  <!-- Do stuff with $varName -->
</xsl:for-each>

我真的想做像

这样的事情
<xsl:for-each select="*/local-name()">
  <!-- Do stuff with . ('.' as in the current value) -->
</xsl:for-each>

<xsl:for-each select="local-name(*)">
  <!-- Do stuff with . ('.' as in the current value) -->
</xsl:for-each>

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

节点集包含节点。它不包含名称。因此,你的问题包含了证明无法做到的矛盾。

XPath 2.0数据模型使得将名称集合作为值进行管理成为可能。但XPath 1.0只允许节点集,或单例字符串,布尔值和数字。