2
我想使用另一种复杂类型来定义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的新元素?
编辑:
现在我想起来了,类型扩展与其他类型的恐怕不是为了禁止自行扩展许可。
正如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