これは、スキーマで が定義されているように聞こえますがxsd:sequence
、ドキュメント内の要素の順序がスキーマで定義されている要素の順序と一致しない場合にエラーが発生します。
このスキーマを考えると:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Dog">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Age" type="xsd:int"/>
<xsd:element name="Name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
およびこの XML:
<Dog>
<Name>Rex</Name>
<Age>three</Age>
</Dog>
検証によって 2 つのエラーが発生すると想像できます。
1. The element 'Dog' has invalid child element 'Name'.
2. The 'Age' element is invalid - The value 'three' is invalid according to its datatype
ただし、最初のエラーしか表示されません。これは、無効な子要素の最初のエラーによりXmlReader
、ドキュメントの残りの部分を解析することが不可能になるためです。