それは、XML文書内の未使用の名前空間宣言を持っていることは違法ですか?
質問
たとえば、W3C XML 1.0勧告どおりに有効であると考え、次のXMLドキュメントのですか?名前空間の将来」が文書のどこに参照されないことに注意してください。
これは良いスタイルとは考えられないかもしれないが、、私の信念は、文書が関係なく、未使用の名前空間のまだ有効であることです。誰もがこの仮定を確認するか、反論することはできますか?
おかげで、マット
<?xml version="1.0" encoding="UTF-8" ?>
<root xmlns='http://foo.org/v1' xmlns:future='http://bar.org/v1'>
<child>1</child>
</root>
解決
標準には、そうでない場合を示していないようです。第7節は、「文書の適合性は、」文書を呼び出すために、いくつかの要件を示し、「名前空間整形式」と「名前空間-有効」に過ぎないが、未使用の名前空間宣言を持つことができないと言われています。
セクション3では、実施例は、未使用の名前空間を含む、与えられ
<x xmlns:edi='http://ecommerce.example.org/schema'>
<!-- the "edi" prefix is bound to http://ecommerce.example.org/schema
for the "x" element and contents -->
</x>
他のヒント
いいえ、XML文書内の未使用の名前空間宣言を持つことは違法ではありません。
W3Cは、実際にバリデータサービスを持っています。これには2つの警告、エンコードとDOCTYPEの欠如を検証します。
最もクリーンアップツールは、未使用の名前空間を削除しますが、
私はそれらを維持することは違法であると言ってXMLの仕様では何も覚えていません。そして、私は、このような文書を受け入れないであろう任意のXMLパーサーを知らない(と漂っそのような文書の多くがあります)。
所属していません StackOverflow