2016-08-22 3 views
1

I親要素内部三つの可能な要素を有する:要素aが存在する場合parent内部XSD - 他の要素(単数または複数)の存在に依存要素の存在

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

を、要素bのみ許されます。また、要素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

確かに、文法は

<xs:sequence> 
    <xs:element name="a"/> 
    <xs:sequence minOccurs="0"> 
    <xs:element name="b"/> 
    <xs:element name="c" minOccurs="0"/> 
    </xs:sequence> 
</xs:sequence> 
に変換

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

です

関連する問題