为了账号安全,请及时绑定邮箱和手机立即绑定

XML Schema minOccurs / maxOccurs默认值

XML Schema minOccurs / maxOccurs默认值

翻翻过去那场雪 2019-08-30 17:50:32
我想知道XML Schema规范如何处理这些情况:<xsd:element minOccurs="1" name="asdf"/>没有给出maxOccurs - >这是基数[1..1]吗?<xsd:element minOccurs="5" maxOccurs="2" name="asdf"/>我想这简直无效了?<xsd:element maxOccurs="2" name="asdf"/>这是基数[0..2]还是[1..2]?是否有关于XML Schema规范如何处理这些情况的“官方”定义?
查看完整描述

3 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

一个旧的,常见问题的新的,扩展的答案......


默认值

发生约束minOccurs并maxOccurs 默认为1。

常见案例解释

<xsd:element name="A"/>

手段A是必需的,必须只出现一次。


<xsd:element name="A" minOccurs="0"/>

means A是可选的,最多可以出现一次。


 <xsd:element name="A" maxOccurs="unbounded"/>

手段A是必需的,可以重复无限次。


 <xsd:element name="A" minOccurs="0" maxOccurs="unbounded"/>

手段A是可选的,可以重复无限次。


也可以看看

W3C XML Schema第0部分:入门


通常,当minOccurs的值为1或更大时,需要出现一个元素。元素可能出现的最大次数由其声明中maxOccurs属性的值确定。该值可以是正整数,例如41,或者术语无界,表示没有最大出现次数。minOccurs和maxOccurs属性的默认值为1.因此,当声明没有maxOccurs属性的注释等元素时,该元素可能不会出现多次。请确保如果仅为minOccurs属性指定值,则它小于或等于默认值maxOccurs,即它是0或1.同样,如果仅为maxOccurs属性指定值,则必须为大于或等于minOccurs的默认值,即1或更多。


W3C XML Schema第1部分:结构第二版


<element

  maxOccurs = (nonNegativeInteger | unbounded)  : 1

  minOccurs = nonNegativeInteger : 1

  >


</element>


查看完整回答
反对 回复 2019-08-30
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

简短回答:


正如xsd中所写:


<xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>

<xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>

如果提供带数字的属性,则数字为边界。否则属性应该只出现一次。


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 2034 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信