2016-06-20 12 views
0

有効な組み合わせがproduct,index,typeのデータソースがあります。 ProductFoo XSD複数の要素の値を制限する

  • インデックス - - indexA
  • タイプ - タイプA
    1. 製品 - ProductBar
    2. インデックス - indexB
    3. は有効な組み合わせが

      1. 製品であると言います0
      2. タイプ - 次はないのに対し、TYPEB

      次は、有効なXML

      <Entity name = "foo"> 
           <product>ProductFoo</product> 
           <index>indexA</index> 
           <type>typeA</type> 
      </Entity> 
      

      次のようになります。

      <Entity name = "bar"> 
           <product>ProductBar</product> 
           <index>indexA</index> 
           <type>typeA</type> 
      </Entity> 
      

      私は選択肢、列挙あってもよい午前を使用して試してみましたそれを正しく使用していない。もしこれがXSDを使ってできたらどうなる?

    答えて

    0

    XSD 1.1の条件付きタイプの割り当ては、あなたがその@name属性に基づいてEntityの種類を変えることができるようになる、とXSD 1.1の主張は、あなたがproductのコンテンツを制約する可能性があります。

    ただし、可能な場合は、あなたのXMLのデザインを変更する代わりに考えてみます。

    <foo> 
        <ProductFoo/> 
        <indexA/> 
        <typeA/> 
    </foo> 
    

    次に、あなたのXMLは、単純XSD 1.0にモデル化することができるようになります。