如果xsd中的元素定义如下:
<element name="test" minOccurs="0" maxOccurs="1" type="string" />
这是否意味着: 1.标签可以完全删除XML,但仍然没有任何验证错误 要么 2.标签可以为空/空白,没有任何值
这是定义强制/可选元素的最佳方法/实践。
由于 WN
答案 0 :(得分:1)
两个
可以省略元素test
。
元素test
可能只出现一次任何字符串内容,包括空字符串:
<test/>
最佳做法?取决于你想表达的内容。
minOccurs="0"
与结构有关。
如果您想在数据级别表达约束,您可以执行以下操作:
<xs:element name="test" minOccurs="0" type="tns:nonEmptyString"/>
<xs:simpleType name="nonEmptyString">
<xs:restriction base="xs:string">
<xs:minLength value="1" />
</xs:restriction>
</xs:simpleType>
因此,请考虑您的约束是关于结构(是否存在的项目)或数据(可能是项目是否为空值)并相应地应用。也有nillables但我甚至不会开始他们。