XSD 機能に対するもう 1 つの課題として
、クライアントから XML ファイルを送信してきました。このファイルには、0 個以上の未定義または [call] 予期しないタグ (階層に表示される場合があります) が含まれます。それらは私にとって冗長なタグです..そのため、それらの存在を無視する必要がありますが、検証が必要なタグのセットがいくつかあります。
これはサンプル XML です。
<root>
<undefined_1>one</undefined_1>
<undefined_2>two</undefined_2>
<node>to_be_validated</node>
<undefined_3>two</undefined_3>
<undefined_4>two</undefined_4>
</root>
そして、私が試したXSD:
<xs:element name="root" type="root"></xs:element>
<xs:complexType name="root">
<xs:sequence>
<xs:any maxOccurs="2" minOccurs="0"/>
<xs:element name="node" type="xs:string"/>
<xs:any maxOccurs="2" minOccurs="0"/>
</xs:sequence>
</xs:complexType
特定の理由により、XSD はこれを許可しません。
上記の例はほんの一例です。実用的な XML には、XML タグの複雑な階層が付属しています。
ハックできるかどうか教えてください。
ちなみに、別の解決策は、検証プロセスの前に XSL 変換を挿入することです。まあ、少なくとも私の会社でサポートされている検証プロセスをトリガーする.Netコードを変更する必要があるため、私はそれを避けています。