1
XML文書に適用するXMLスキーマ(XSDファイル)を作成したいとします。 のは、次のXML文書を考えてみましょう:XMLスキーマ+ complexType要素+シーケンスの代わり
後に所望の制約が尊重される<root>
<a />
<b />
<c />
<a />
<a />
<b />
</root>
:
- <ルート>はルート要素です。
- < a>、< b>および<c>要素は無制限に表示されます。
- < a>、< b>および<c>要素はグループ化されません。例えば、要素は、<b>要素の前後に置くことができます。
私は次のように開始する例のXML文書に適用するためにXMLスキーマを作成する必要がありました場合:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://doesnotmatter.com/"
xmlns="http://doesnotmatter.com/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root"
min="1"
max="1">
<complexType>
<!-- ? -->
</complexType>
</xs:element>
</xs:schema>
私は自分のスキーマ内<のcomplexType>要素を埋める方法がわかりません。
第3の制約のため、< sequence>要素を使用することはできません。
どのように3つの制約すべてを尊重するためにスキーマを達成することができますか。
編集
choice要素は、私の問題へのキーストーンでした。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://doesnotmatter.com/"
xmlns="http://doesnotmatter.com/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="a" />
<xs:element name="b" />
<xs:element name="c" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>