[英]XSD complex type extension with another complex type
我想使用另一個復雜類型定義一個 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>
如果您能夠將 B 從 complexType 更改為組,那么您可以執行以下操作:
<xs:group name="B">
<xs:sequence>
<!-- Some elements -->
</xs:sequence>
</xs:group>
<xs:complexType name="C">
<xs:complexContent>
<xs:extension base="A">
<xs:group ref="B"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.