我遇到了一个遗留的XSD,它有一堆行,比如...
<xs:element minOccurs="1"
maxOccurs="1"
default="true"
name="Ready" type="xs:boolean" />...where minOccurs和maxOccurrs都等于1,并且有一个默认值。既然XML文档无论如何都需要包含一些值,那么在这里使用default属性有什么好处吗?
发布于 2009-11-18 01:48:36
从spec
模式处理器对缺省元素的处理略有不同。当使用默认值声明元素时,该元素的值是实例文档中显示为该元素内容的任何值;如果该元素显示时没有任何内容,则模式处理器为该元素提供一个与default属性的值相等的值。但是,如果该元素没有出现在实例文档中,则模式处理器根本不提供该元素。总之,元素和属性默认值之间的区别可以表述为:当缺少属性时应用默认属性值,而当元素为空时应用默认元素值。
我认为这意味着根据您的模式,空的<Ready />节点将缺省为TRUE值。
https://stackoverflow.com/questions/1750476
复制相似问题