これで、次のような XSD ファイル (FOO_SCHEMA.xsd など) ができました。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="FOO">
<xs:annotation>
<xs:documentation>Comment</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BAR1" type="xs:string" />
<xs:element name="BAR2" type="xs:string" />
<xs:element name="BAR3" type="xs:string" />
<xs:element name="BAR4" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
2 つの要素 (BAR1 と BAR2 など) を一度に使用するように変更したいと考えています。私はそれらの1つにそれを使用する方法を知っています、
<xs:element name="BAR1">
<xs:simpleType>
<!-- my type definition here -->
</xs:simpleType>
</xs:element>
しかし、2 つ (またはそれ以上) の要素で使用したいのですが、同じ単純型定義をどこにでもコピーせずにこれを行う方法がわかりません。グーグルから、名前で型を宣言する必要があるようです
しかし、この宣言をどこに置くべきかわかりません。xs:complexType と同じレベルと他のいくつかのレベルに配置しようとしましたが、スキーマ バリデータによって拒否されました。この宣言をどこに置くべきか考えていますか? 何か案が?