下面的xslt代碼不適用於下面的XML文件。但是,如果我從xml文件的「對象」節點中刪除命名空間屬性,它將按預期工作。我如何修復xslt代碼,以便在根節點中具有名稱空間屬性時它能夠正常工作?首先發布,抱歉如果格式化搞砸了。由於在根節點中聲明名稱空間時xslt腳本不起作用
XML文件:
<objects xmlns="http://www.spicefactory.org/parsley"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<object id="models" type="blah">
</object>
</objects>
XSLT代碼:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml" indent="no"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="object">
<object new_attr="attr value ">
<xsl:apply-templates select="node()|@*"/>
</object>
</xsl:template>
</xsl:stylesheet>
可能重複具有默認命名空間設置爲xmlns的XML源代碼](http://stackoverflow.com/questions/1344158/xslt-with-xml-source-that-has-a-default-namespac e-set-to-xmlns) – 2011-02-12 15:35:09