1

ソース:

    <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>

エラーが発生します。

名前空間を取得する方法を誰かが助けることができますか?

ありがとうございました。

4

2 に答える 2

1

nonnb はコメントを回答にするべきでした...

namespace-uri() 関数は、必要なことを行います。

于 2012-05-31T09:22:20.343 に答える
1
<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(.)"/>
于 2012-05-31T12:59:07.353 に答える