私のXMLは次のようになります:
<root>
<elt att1="bla" att2="ble">
<subelt satt1="bli" satt2="1" />
<subelt satt1="blo" satt2="18" />
<subelt satt1="blu" satt2="4" />
</elt>
</root>
任意のエルトに 1 が存在する可能性があります。elt ごとに任意の subelt に 1 が存在する可能性があります。このユーティリティに対してスキーマを検証しようとしました: http://www.utilities-online.info/xsdvalidation。これが私のxsdです:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="elt" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="att1" type="xs:string" use="required"/>
<xs:attribute name="att2" type="xs:string" use="required"/>
<xs:sequence>
<xs:element name="subelt" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="subatt1" type="xs:string" use="required"/>
<xs:attribute name="subatt2" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
問題は、属性とサブ要素 (シーケンス) の両方を持つ要素から発生します。シーケンスの周りに xs:complexType を配置しようとしましたが、それでも別のエラーが発生します。私は XML スキーマの初心者なので、これをどのようにフォーマットすればよいかを理解するのは少し難しいです。それについて何かアドバイスをいただけますか?ありがとう。
(要素と属性の名前を変更したため、ファイルにタイプミスがある可能性があります)