我遇到了一个传统的XSD,它有很多像......
这样的行 <xs:element minOccurs="1"
maxOccurs="1"
default="true"
name="Ready" type="xs:boolean" />
...其中minOccurs和maxOccurrs都等于1,并且有一个默认值。这里有默认属性是否有任何好处,因为XML文档需要以任何方式包含某些值?
答案 0 :(得分:5)
来自spec:
架构处理器处理默认值 元素略有不同。当一个 element使用默认声明 value,元素的值是 无论出现什么价值 元素在实例中的内容 文献;如果元素出现 没有任何内容,架构 处理器为元素提供了一个 值等于默认值 属性。但是,如果元素 没有出现在实例中 文档,架构处理器 根本不提供元素。在 总结,之间的区别 元素和属性默认值可以是 声明为:默认属性值 在缺少属性时应用,以及 元素为空时默认元素值。
我认为这意味着根据您的架构,空的<Ready />
节点默认值为TRUE。