minOccurs attribrute使用默认属性的任何好处是> 1?

时间:2009-11-17 17:33:10

标签: c# xml xsd xml-serialization

我遇到了一个传统的XSD,它有很多像......

这样的行
      <xs:element minOccurs="1"
                  maxOccurs="1"
                  default="true"
                  name="Ready" type="xs:boolean" />

...其中minOccurs和maxOccurrs都等于1,并且有一个默认值。这里有默认属性是否有任何好处,因为XML文档需要以任何方式包含某些值?

1 个答案:

答案 0 :(得分:5)

来自spec

  

架构处理器处理默认值   元素略有不同。当一个   element使用默认声明   value,元素的值是   无论出现什么价值   元素在实例中的内容   文献;如果元素出现   没有任何内容,架构   处理器为元素提供了一个   值等于默认值   属性。但是,如果元素   没有出现在实例中   文档,架构处理器   根本不提供元素。在   总结,之间的区别   元素和属性默认值可以是   声明为:默认属性值   在缺少属性时应用,以及   元素为空时默认元素值

我认为这意味着根据您的架构,空的<Ready />节点默认值为TRUE。