我有以下XML:XSLT:獲取XML命名空間屬性
<article article-type="research-article">
<body>
<graphic xlink:href="zee9991370930006.g.eps"/>
<self-uri xlink:title="pdf" xlink:href="zee00813002857.pdf" />
</body>
</article>
我需要將其轉換爲:
<article article-type="research-article" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML">
<body>
<graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="zee9991370930006.g.eps"/>
<self-uri xlink:title="pdf" xlink:href="zee00813002857.pdf" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</body>
</article>
我在XSLT 2.0中使用以下命令爲每個元素的名稱空間屬性是必需的:
<xsl:namespace name="xlink" select="'http://www.w3.org/1999/xlink'"/>
<xsl:namespace name="mml" select="'http://www.w3.org/1998/Math/MathML'"/>
但問題是我得到的命名空間屬性只有一個元素即article
。我也在xslt的開頭聲明瞭命名空間。無法弄清楚什麼是確切的問題。任何形式的幫助都會得到真正的讚賞。謝謝。
所以你得到了你想要在根中的命名空間,爲什麼你想要在其他任何節點相同?只是用它! – AmeetC
其實這個要求就是這樣! – GTM
,我希望你能理解這些含義! XSLT由您的XML生成器根據規範生成XML。在根節點上定義它使其可用於其下的所有節點,同時在該節點上定義僅使該節點的子元素可用。 – AmeetC