次のようなドキュメント タイプがあります。
<foo>
<settings>
<!-- Must be present; in any order -->
<time>abc</time>
<validRun>true</validRun>
<!-- Tool may add whatever ones it wants -->
<somethingNotCheckedFor>abc</somethingNotCheckedFor>
</settings>
</foo>
次のドキュメントは、前のドキュメントと意味的に同じです。
<foo>
<settings>
<validRun>true</validRun>
<somethingNotCheckedFor>abc</somethingNotCheckedFor>
<time>abc</time>
</settings>
</foo>
ただし、次は無効です。
<foo>
<settings>
<validRun>true</validRun>
<somethingNotCheckedFor>abc</somethingNotCheckedFor>
<!-- Error: Required element "time" not present -->
</settings>
</foo>
次のようなことを試しましたが、<xs:all>
を含めることが許可されていないため、これは機能しません<xs:any>
:
<xs:all>
<xs:element name="time" />
<xs:element name="validRun" />
<xs:any />
</xs:all>
W3Cスキーマでこれを行う手段はありますか?