XSLT を使用して XML を別の XML に変換しています。
しかし、結果の XML がxmlns:n1="http://www.w3.org/2001/XMLSchema-instance
属性として持っているのに、なぜこの属性が表示されるのでしょうか?また、この属性を回避するにはどうすればよいでしょうか?
いくつかの理由が考えられます。おそらく、xmlns:n1="http://www.w3.org/2001/XMLSchema-instance"
ノードを選択または一致させるためにスタイルシートに宣言が必要です。そうすれば、宣言は結果要素のスコープ内にある可能性があり、結果ドキュメントに宣言が表示されないようexclude-result-prefixes="n1"
に、xsl:stylesheet
それぞれの要素に追加する必要があります。xsl:transform
または、名前空間宣言が入力から出力にコピーされます。その場合に役立つように、入力 XML、XSLT、必要な XML 結果、および現在の XML 結果の詳細を確認する必要があります。
これは、「n1」XML 名前空間で作業しているために発生しています。exclude-result-prefixes="n1"
の属性として使用します<xsl:transform>
。