Я хотел бы определить сложный тип XSD, используя другой сложный тип.Расширение сложного типа XSD с другим сложным типом
<xs:complexType name="A">
<!-- sequence with some elements -->
</xs:complexType>
<xs:complexType name="B">
<!-- sequence with some elements -->
</xs:complexType>
<xs:complexType name="C">
<xs:complexContent>
<xs:extension base="A">
<!-- ??? reference to complex type B ??? -->
</xs:extension>
</xs:complexContent>
</xs:complexType>
Есть ли способ сделать это, не объявив новый элемент типа B?
EDIT:
Теперь, когда я думаю об этом, расширение типа с другим типом, вероятно, не допускается, чтобы запретить само-расширение.
Как рекомендовал RCB, можно использовать группу в качестве обходного пути.
<xs:complexType name="A">
<!-- sequence with some elements -->
</xs:complexType>
<xs:group name="B">
<!-- sequence with some elements -->
</xs:group>
<xs:complexType name="B">
<xs:group ref="B"/>
</xs:complexType>
<xs:complexType name="C">
<xs:complexContent>
<xs:extension base="A">
<xs:group ref="B"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
, насколько я знаю, нет никакого другого пути. – Kachna