9
C#アプリケーションに、埋め込みXSDに対してユーザー入力XMLファイルを検証するメソッドがあります。それは正常に動作しますが、すべての子要素がXSDで定義されている正確な順序であることが必要です。私にとっては、要素が存在する限り、順序は重要ではありません。例えばXSDに対してXMLを検証し、子要素の順序を無視する
、私は...
<xs:element maxOccurs="unbounded" name="ParentElement">
<xs:complexType>
<xs:sequence>
<xs:element name="FirstChildElement" type="xs:string" />
<xs:element name="SecondChildElement" type="xs:string" />
<xs:element name="ThirdChildElement" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
そして、このようなXMLを以下のXSDを持っていた場合...
<ParentElement>
<FirstChildElement>someValue</FirstChildElement>
<ThirdChildElement>someValue</ThirdChildElement>
<SecondChildElement>someValue</SecondChildElement>
</ParentElement>
私はそれを検証している場合ので、私はエラーを取得したいです子要素が順不同です。
XSDに何らかの変更を加えて、要素が存在し、それらが正しい親の下にあるが、それらの要素の順序がわからない場合にのみ検証できますか?
ありがとう、それは答えです。私のXSDはVSによって私のために生成されたので、Sequenceタグの下に子要素がすべてありました。 – Jim
覚えておくべきことは、xs:allは1のmaxOccursとそれ以下の値しかサポートしないということです。しかし、これはXSD 1.1プロセッサではまだベータ段階にあります。 – vanval
彼らは1.1をリリースしましたか? – ppumkin