0

同じ名前の 2 つの要素の固定値とサブ要素を持つ複数の属性を定義する方法はありますか?

<Root>

  <element 
    attributeA="1" 
    attributeB="2">
    <subElement/>
  </element>

  <element 
    attributeA="3" 
    attributeB="4">
    <subElement/>
  </element>

 </Root>

この要素のいずれかを可能にしたいのですが、次の要素は許可されません:

<element 
   attributeA="1" 
   attributeB="4">
   <subElement/>
</element>

xsd では、1 つの「親」の下に同じ名前の 2 つの要素を持つことはできないことを知っています。要素のみを作成し、列挙を介して制限することは、「混合」フォームを避ける必要があるため、機能しないようです。要素の名前は同一である必要があり、親要素が必要です。

表示されない解決策またはこの問題の回避策はありますか?

4

1 に答える 1

2

このようなモデルは、コンテンツ モデル内の 2 つの要素パーティクルが同じ名前を持つ場合、同じタイプでなければならないという制約「Element Declarations Consistent」に違反します。

もちろん、アサーションを使用して XSD 1.1 で実行できます。

于 2013-03-14T15:51:53.100 に答える