スキーマ検証の動作の差異を次の表に示します。
表A-4 スキーマ検証の動作の差異
項番 | 条件 | XML Processorの動作 | |
---|---|---|---|
バージョン06-00の場合 | バージョン07-00以降の場合 | ||
1 | スキーマ文書にxsd:key要素が存在し,かつ,インスタンス文書にキーに該当するテキストが存在しない場合 | エラーにならないことがあります。 | エラーになります。 |
2 | スキーマ文書にxsd:key要素とxsd:keyref要素の組み合わせを指定していて,xsd:key要素とxsd:keyref要素の双方のfield要素の順序と型が一致していない場合 | エラーにならないことがあります。 | エラーになります。 |
3 | xsd:field要素のxpath属性がchild軸を含むXPath式の場合 | エラーになりません。 | child軸が指定できない旨のエラーになります。 |
4 | xsd:selector要素のxpath属性が「| ns1:element」のように不当な | 演算子を含むXPath式の場合 | エラーにならないか,または,XML文書の妥当性検証のエラーになります。 | スキーマ文書のエラーになります。 |
5 | xsd:redefine要素またはxsd:import要素のschemaLocation属性に空文字列を指定した場合 | エラーになりません。 | エラーになります。 |
6 | xsd:schema要素のtargetNamespace属性に"http://www.w3.org/2001/XMLSchema-instance"を指定している場合 | -(該当しない) |
|
7 | 次のすべての条件に該当する場合
| KECX06036-Eのエラーを通知します。 | データ型宣言に適合した値として処理されます。 |
8 | 次のすべての条件に該当する場合
| データ型宣言に適合した値として処理されます。 | データ型宣言の範囲外の値と見なされて,KECX06036-Eエラーを通知します。 |
9 | 次のすべての条件に該当する場合
| データ型宣言に適合した値として処理されます。 | データ型宣言の範囲外の値と見なされて,KECX06036-Eエラーを通知します。 |
10 | lengthファセットが指定された単純型を基底として,制限による派生でminLengthまたはmaxLengthが指定されている場合 | エラーになります。 | エラーになりません。 |
11 | 次のすべての条件に該当する場合
| 06-00と07-00以降で通知される妥当性検証エラーが異なる場合があります。 | |
12 | 次の両方の条件に該当する場合
| エラーになります。 | エラーになりません。 |
13 | xsd:anyURI型のインスタンスデータ中に空白がある場合 | エラーになります。 | エラーになりません。 |
14 | xsd:simpleType要素のfinal属性が空文字列または空白だけの場合 | エラーになります。 | エラーになりません。 |
15 | xsd:notation要素のpublic属性がない場合 | KECX06230-Eのエラーを通知します。 | KECX06256-Eのエラーを通知します。 |
16 | xsd:pattern要素のvalue属性の正規表現で「[-」や「-]」を指定した場合 | エラーになります。 | エラーになりません。 |
17 | 次のすべての条件に該当する場合
| エラーになります。 | エラーになりません。 |
18 | xsd:selector要素に不当なxpath属性を指定した場合 | KECX06243-Eのエラーを通知します。 | KECX06241-Eのエラーを通知します。 |
19 | xsd:key要素のフィールド(xsd:field要素)のxpath属性に,「要素名/.」というパス式を指定した場合 | エラーになります。 | エラーになりません。 |
20 | xsd:key要素のセレクタ(xsd:selector要素)に型が異なる複数の要素を指定し,インスタンス文書でキーとなる要素に同じ値を与えた場合 | エラーになります。 | エラーになりません。 |
21 | xsd:anyURI型の要素に対して長いURI文字列(63バイト以上)を指定した場合 | エラーになります。 | エラーになりません。 |
22 | xsd:simpleType要素のfinal属性に,"list restriction union"のように空白で区切ったリストを指定した場合 | エラーになります。 | エラーになりません。 |
23 | xsd:anyURIを基底として制限による派生を行った要素に2バイト文字を含むURIを入れた場合 | エラーになります。 | エラーになりません。 |
24 | xsd:timeを基底型として制限による派生を行った要素に,秒の値を小数点以下10桁以上で与えた場合(例:13:20:15.2147483648) | エラーになります。 | エラーになりません。 |
25 | xsd:IDREFを基底として制限による派生でxsd:lengthを2以上に固定した場合 | エラーになります。 | エラーになりません。 |
26 | 次の条件に該当するXML文書に対して検証パースを行う場合
| ワーニングになりません。 | KECX06069-Eのワーニングを通知します。 |
27 | 次のどちらかの条件に該当するスキーマ文書を使って,XML文書の検証パースを行う場合
| エラーになりません。 | KECX06069-Eのワーニングを通知します。 |
28 | 次の個所のどれかに不正な構文のURIを指定した場合
| 06-00と07-00以降とでは,URI指定個所と不正な構文のURIの組み合わせによって動作が異なります。例えば,通知するエラーが異なったり,06-00では発生しなかった例外が07-00以降で発生したりする場合があります。 | |
29 | 次の個所のどれかに不正な構文のURIを指定した場合
| KECX06229-Eのエラーを通知します。 | エラーになりません。 |
30 | 次の個所のどちらかに不正な構文のURIを指定した場合
| KECX06229-Eのエラーを通知します。 | KECX06039-EまたはKECX06069-Eのエラーを通知します。 |