XML 1.0 パーサーは、.xml 以外のバージョン番号を持つドキュメントの解析を受け入れる場合と受け入れない場合があり1.0
ます。XML パーサーの動作は、準拠している XML 1.0 勧告のエディションによって異なります。
初版
W3C XML 勧告の第 1 版と第 2 版では、次のように述べられています。
バージョン番号「1.0」は、この仕様のこのバージョンへの適合を示すために使用する必要があります。この仕様のこのバージョンに準拠していない場合、ドキュメントが値「1.0」を使用するのはエラーです。
...
プロセッサがサポートしていないバージョンのラベルが付いたドキュメントを受け取った場合、プロセッサはエラーを通知することがあります。
version
XML 宣言の有効な値は次のとおりです。
[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+
参照: http://www.w3.org/TR/1998/REC-xml-19980210#sec-prolog-dtd
第3版
これは第 3 版で変更されました。上で引用した段落は削除され、値はversion
に修正されました1.0
[26] VersionNum ::= '1.0'
これは実質的に、XML 1.0 パーサーが他のバージョン番号をエラーとして認識する必要があることを意味していました。
参照: http://www.w3.org/XML/xml-V10-2e-errata#E38
第 5 版
他のバージョンの解析は第 5 版で再び許可され、新しい変更によって以前の変更が実質的に取り消されました。2つの新しい段落が追加されました
VersionNum 生成は「1.x」形式の任意のバージョン番号と一致しますが、XML 1.0 ドキュメントは「1.0」以外のバージョン番号を指定すべきではありません。
注: XML 1.0 プロセッサは、「1.0」以外の 1.x バージョン番号を指定するドキュメントを検出すると、それを 1.0 ドキュメントとして処理します。これは、1.0 以外の機能を使用しない限り、XML 1.0 プロセッサが 1.x ドキュメントを受け入れることを意味します。
現在有効な値のversion
形式は次のとおりです。1.x
[26] VersionNum ::= '1.' [0-9]+
参照: http://www.w3.org/XML/xml-V10-4e-errata#E10
概要
1.0
パーサーが処理を拒否する可能性があるため、(XML 1.0 文書の場合も)以外のバージョン番号を使用するのは危険です。このような変更を行う場合、ドキュメントは XML 1.1 互換ツール (または XML 1.0 第 5 版互換ツール、ただし XML 1.1 機能は使用できません) でのみ処理されることを知っておく必要があります。