W3Schools文档中说元素的minOccurs
和maxOccurs
的默认值是1
。
我的XSD文件充斥着主要由可选元素组成的元素:
<xsd:element name="foo">
<xsd:complexType>
<xsd:all>
<xsd:element ref="one" minOccurs="0"/>
<xsd:element ref="two" minOccurs="0"/>
<xsd:element ref="three" minOccurs="0"/>
<xsd:element ref="four" minOccurs="0"/>
<xsd:element ref="five" minOccurs="0"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
通过minOccurs
手动指定每个元素是可选的是令人厌烦和容易出错的,这就是为什么我想知道是否有可能改变XSD范围内minOccurs
的默认值。
当然,也许有更好的方法,我洗耳恭听。
不,XSD没有为模式文档更改模式中minOccurs的默认值的功能。
您的选择基本上与您发现不方便的形式语言指定语法的任何情况相同:它们包括找到一个编辑接口,使插入minOccurs属性变得不那么繁琐,编写不带minOccurs属性的模式文档的初始草案,并使用XSLT(或您选择的转换技术)在尚未提供这些属性的地方提供它们,以及忍受这些不便。