簡體   English   中英

具有另一個復雜類型的 XSD 復雜類型擴展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM