下記のxsltコードは、以下のXMLファイルでは機能しません。しかし、XMLファイル内の "objects"ノードから名前空間属性を削除すると、期待どおりに動作します。ルートノードに名前空間の属性があるときに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>
[XSLTでの可能な重複デフォルトの名前空間がxmlnsに設定されているXMLソース](http://stackoverflow.com/questions/1344158/xslt-with-xml-source-that-has-a-default-namespac) e-set-to-xmlns) –