2016-08-22 36 views
1

的存在我有一個父元素內三種可能的元素:XSD - 元素的存在取決於其它元件(一個或多個)

<parent> 
    <a>...</a> 
    <b>...</b> 
    <c>...</c> 
</parent> 

內部parent,元件b當元件a存在只允許。另外,元素c僅在元素b(因此也存在a)存在時才被允許。換句話說,以下配置被允許:

<parent> 
    <a>...</a> 
    <b>...</b> 
    <c>...</c> 
</parent> 

<parent> 
    <a>...</a> 
    <b>...</b> 
</parent> 

<parent> 
    <a>...</a> 
</parent> 

以下配置是無效的:

<parent> 
    <b>...</b> 
</parent> 

<parent> 
    <c>...</c> 
</parent> 

<parent> 
    <b>...</b> 
    <c>...</c> 
</parent> 

是在XSD此約束可表達?

回答

1

當然,語法是

(a, (b, (c)?)?) 

其轉換爲

<xs:sequence> 
    <xs:element name="a"/> 
    <xs:sequence minOccurs="0"> 
    <xs:element name="b"/> 
    <xs:element name="c" minOccurs="0"/> 
    </xs:sequence> 
</xs:sequence> 
相關問題