2016-07-19 4 views
1

は例えば、私は次のXSDラインを持っている:XSDでは、maxOccursの値を変数で定義できますか?

<xs:element name="child_name" type="xs:string" maxOccurs="10"/> 

child_nameタグが10インスタンスを持つことが限界に達しています。その10を何らかの変数と呼ぶことができますか? (次のコード合法的な、しかし、可能な場合だけsome_variableのようなものを持って示し、その後、some_variableは、他の場所で定義されていない?)

<xs:element name="child_name" type="xs:string" maxOccurs="some_variable"/> 

答えて

1

いいえ、element/@maxOccursmay onlynonNegativeIntegerまたはunboundedこと。

変数であることを許可する規定はなく、変数の宣言または設定の規定もありません。

これらは、おそらくあなたが探しているXSDレベルのサポートのようなものではありませんが、ここではカップルの回避策の選択肢です:

  1. Use an entity reference at the XML level as a sort of variable
  2. の値をelement/@maxOccursに変更するために、XSLTなどのように動的にXSDを作成/書き換えます。
関連する問題