でノードの名前空間を取得し、私は得ることができますどのように私が持っている私は、XSLTで</p> <p>Suposse選択したノードの名前空間を抽出する必要がXSLT
<root xmlns:x1="url1" xmlns:x2="url2" ... xmlns:xN="urlN">
<childNode1/>
...
<childNodeN/>
</root>
<namespace node="root">
<x1>url1</x1>
<x2>url2</x2>
...
<xN>urlN</xN>
</namespace>
私は
試してみました<xsl:template match="root">
<namespace>
<xsl:attribute name="node">
<xsl:value-of select="name()"/>
</xsl:attribute>
<xsl:for-each select="@*[contains(name(),'xmlns')]">
<xsl:element name="{substring-after(name(),':')}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</namespace>
</xsl:template>
しかし、@*[contains(name(),'xmlns')]
と一致しません。
助けが必要ですか?
ありがとうございます。
あなたが好きなサポートやXSLT 2.0であれば、名前空間軸以降の機能を使用することができます 'スコープ内のプレフィックス、名前空間軸を置き換えることを意味しています()'。 –