代码之家  ›  专栏  ›  技术社区  ›  Pierre

如何将xmlns:*属性与xslt匹配?

  •  3
  • Pierre  · 技术社区  · 16 年前

    我怎么能配得上 XMLNS: * 具有xslt 1.0的属性?使用我尝试的RDF文档:

    <xs:template match="rdf:RDF">
    (...)
    <xsl:for-each select="@*">
      <xsl:value-of select="."/>
    </xsl:for-each>
    (...)
    </xsl:template>
    

    但它似乎不适用于 XMLNS 属性。

    谢谢。

    2 回复  |  直到 10 年前
        1
  •  8
  •   Andy    16 年前

    xmlns属性不是普通属性,它们是命名空间声明。您需要使用名称空间轴来访问它们。

    例如。:

    <xsl:for-each select="namespace::*">
       <xsl:value-of select="name()" />
    </xsl:for-each>
    
        2
  •  1
  •   Lucero    16 年前

    你不能直接说,但是看看 namespace 轴:

    <xsl:for-each select="namespace::*">
        <xsl:value-of select="."/>
    </xsl:for-each>