下面的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