2016-07-19 3 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 only быть nonNegativeInteger или unbounded.

Нет никаких положений, позволяющих ему быть переменной, а также не существует положений для декларирования или установки переменных.

Это, вероятно, не такой поддержки XSD уровня вы ищете, но вот пара работы вокруг альтернативы:

  1. Use an entity reference at the XML level as a sort of variable.
  2. Составляйте/переписывайте XSD динамически, например, через XSLT, чтобы изменить значение element/@maxOccurs.
Смежные вопросы