Кроме того, есть ли способ установить / изменить мощность по умолчанию от minOccurs="1"
до minOccurs="0"
для всех элементов, которые я определяю в своей схеме?
Нет, есть not.
В настоящее время я добавляю minOccurs="0"
индивидуально к каждому элементу.
Это именно то, что вы должны делать.
Есть ли более простой способ сделать группу элементов под сложным тегом необязательной в XSD? (ie, minOccurs
для каждого должно быть 0
)?
Да, но следует понимать, что значение параметра таково, что оно применяется к семантике группы моделей. Например, для xs:sequence
,
<xs:sequence minOccurs="0">
<xsl:element name="a"/>
<xsl:element name="b"/>
<xsl:element name="c"/>
</xs:sequence>
означает, что последовательность, вместе , является необязательной - не , что каждый элемент по отдельности необязательно.
Для xs:choice
,
<xs:choice minOccurs="0">
<xsl:element name="a"/>
<xsl:element name="b"/>
<xsl:element name="c"/>
</xs:choice>
означает, что выбор между a
, b
и c
сам по себе является необязательным ( Вы можете выбрать ноль или один из них) - опять же, , а не , что каждый элемент индивидуально необязательно.