是否可以在XSD中更改minOccurs的默认值?

时间:2013-05-28 12:54:38

标签: xml xsd

W3Schools documentation表示元素的minOccursmaxOccurs的默认值为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的默认值

当然,可能有更好的方法来做事,在这种情况下,我都是耳朵。

1 个答案:

答案 0 :(得分:1)

不,XSD无法在架构文档的架构中更改minOccurs的默认值。

您的选择基本上与任何情况相同,其中正式语言指定您发现不方便的语法:它们包括查找编辑界面,使得插入minOccurs属性不那么繁琐,编写模式文档的初始草稿而不使用minOccurs属性和使用XSLT(或您选择的转换技术)在他们尚未提供的任何地方提供它们,并忍受不便。