访问 xslt 中节点的命名空间



来源:

    <Data>
    <heading xmlns="Some Uri">
                <text>aaa</text>

    </heading>
    <Data>

XSLT 写道

            <?xml version="1.0" encoding="utf-8"?>
            <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
            xmlns:link1="Some Uri">
                <xsl:output method="xml" indent="yes"/>
                  <xsl:template match="Data">
                    <xsl:value-of select="link1:heading/namespace-uri()"/>
                  </xsl:template>

            </xsl:stylesheet>

我收到错误。

任何人都可以帮助如何获取命名空间。

谢谢。

nonnb应该把评论作为一个答案......

namespace-uri() 函数可以执行您想要的操作。

<xsl:value-of select="link1:heading/namespace-uri()"/>

在 XSLT 1.0/XPath 1.0 中,这是一个语法错误

更正为

<xsl:value-of select="namespace-uri(link1:heading)"/> 

在 XSLT 2.0/XPath 2.0 中,这又是一个错误(不能省略namespace-uri()的参数。更正为:

<xsl:value-of select="link1:heading/namespace-uri(.)"/>

相关内容

  • 没有找到相关文章