XMLファイルの検証に使用するXSDスキーマがあります。
XSDスキーマでは、属性グループと選択肢を含む複合型を作成しました。それ自体には、繰り返し要素である「_output」が含まれています。
私の複雑なタイプ:
<xs:complexType name="base_action">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="_output" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="action"/>
</xs:complexType>
その複合型から継承する他の要素(独自の子要素を持つ)もあります。
そのような継承要素の例:
<xs:element name="ex_elem" minOccurs="0">
<xs:complexType>
<xs:complexContent>
<xs:extension base="cockpit_base_action">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="to" minOccurs="0"/>
<xs:element name="from" minOccurs="0"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
さて、XMLでは、これは機能します:
<ex_elem>
<_output/>
<from>0</from>
<to>1</to>
</ex_elem>
しかし、これではありません:
<ex_elem>
<from>0</from>
<_output/>
<to>1</to>
</ex_elem>
またはこれ:
<ex_elem>
<from>0</from>
<to>1</to>
<_output/>
</ex_elem>
私が理解していることから、複合型からの選択は、継承要素の選択と混同することはできません。これは私にとって問題です。なぜなら、_outputを上部以外の場所に配置したい場所があるからです。
シーケンスを気にせずに要素を使えるようにしたいと思います。そうする方法はありますか?