1
XML文書の検証のためのXMLスキーマを作成しています。私はXMLデータのいくつかの順序付けられていない要素のためにいくつかのcomplexTypeコンテンツを定義することに固執しました。XMLスキーマの順序付けられていない要素を検証するXMLスキーマ
XMLデータは、以下のように表示されます
上記のXMLデータに示されるように<country name="India">
<state name="Karnataka">
<!-- about state -->
<capital>Bangalore</capital>
<largestCity>Bangalore</largestCity>
<districts>30</districts>
<population>61130704</population>
<language>Kannada</language>
<!-- cities in state -->
<city name="Bijapur">
<talukas>30</talukas>
<population>611307</population>
</city>
<city name="Belgaum">
<talukas>30</talukas>
<population>6113070</population>
</city>
<!-- cities will be listed here -->
</state>
<state name="Maharashtra">
<!-- about state -->
<largestCity>Mumbai</largestCity>
<capital>Mumbai</capital>
<population>112372972</population>
<language>Marathi</language>
<districts>35</districts>
<!-- cities in state -->
<!-- cities will be listed here -->
</state>
</country>
、それぞれ「状態」タグ下の最初の5つの要素は 任意の順序で現れることができます。
誰かがこのような種類の入力に対してxmlスキーマ定義を書くのを手伝ってください。
<xs:group name="stateElements">
<xs:all>
<xs:element name="capital" type="xs:string"/>
....
<xs:all>
</xs:group>
<xs:element name="state">
<xs:complexType>
<xs:sequence>
<xs:group ref="stateElements"/>
<xs:element name="city" type="cityType" maxOccurs="unbound"/>
</xs:sequence>
<xs:complexType>
<xs:element>
これが動作していない: は、私はこのようないくつかのことを書き込もうとしました。
は、最も簡単な方法は、1ドロップグループの最大の発生で、<都市/>と呼ばれるもので、すべての<市/>要素をラップすること、そしてあなたの複合型を持つことになり、事前
ありがとうPetru Gardea、私は混合モデルとを一緒に使うことはできません。 –
santosh
残念ながら、いいえ、xsd:allは非常に厄介です。私はそれが乾燥した読書であることを知っていますが、それは最善の情報源です:http://www.w3.org/TR/xmlschema-1/#Model_Groups、セクション3.8.6;同じページにあるxsd:allの詳細について見てください。 –