私はXSDでユーザー要素を定義しています。この例では、ユーザーは名前、電子メール、および1つ以上の国籍を持っています。私は試しました:XSDとXSDの間の途中で
<xs:all>
<xs:element name="name" blabla />
<xs:element name="email" blabla />
<xs:element name="nationality" minOccurs="1" maxOccurs="unbounded" />
</xs:all>
しかし、それは違法です。どうやら、 "All"内の要素は1回だけ発生する(または全く発生しない)ことができます。 All to a Sequenceを変更することでこれを修正できますが、実際に気にしない正確な順序でプロパティを入力する必要があります。
これらの2つの組み合わせはありますか? http://www.w3schools.com/Schema/schema_complex_indicators.aspによるものではありませんが、おそらくそれは隠されています(または私の未熟な目には見えません)。
<xs:all>
<xs:element name="name" blabla />
<xs:element name="email" blabla />
<xs:sequence>
<xs:element name="nationality" minOccurs="1" maxOccurs="unbounded" />
</xs:sequence>
</xs:all>
しかし、それは残念ながら無効です:直感によって
は、私も試してみました。
<!-- user -->
<xs:complexType name="user">
<xs:sequence>
<xs:element name="firstname" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="appendix" type="xs:string" minOccurs="0" maxOccurs="1" />
<xs:element name="lastname" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="address" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="zipcode" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="city" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="username" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="email" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="country" type="country" minOccurs="1" maxOccurs="1"/>
<xs:element name="nationality" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
XSD 1.1の使用、作成、オプトイン、作成、隠し、移行、インスタンス化、検索、または使用はどのようにして行われますか? –
XSD 1.1とXSD 1.0の違いが1.1で有効、1.0で無効になっていますか? –
1.1の仕様では、私はOPのXMLを違法にする制約について言及していません。悲しいことに、私は比較することができる1.0仕様を見つけることができません。私の推測では、XML/XSDを解析するlibsのバージョンをチェックして、下のトリックが必要かどうかを知る必要があるということです。 –