我的架构的摘录:
<xs:complexType name="foo">
<xs:sequence>
<xs:element name="bar" type="xs:positiveInteger"/>
<xs:element name="baz" type="bax_type" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="baz_type">
<xs:restriction base="xs:NMTOKEN">
<xs:enumeration value="none"/>
<xs:enumeration value="wombat"/>
</xs:restriction>
</xs:simpleType>
也就是说,我有一个可能缺少的枚举类型的元素。是否有可能获得以下行为:
- 在以下 XML 中,它给出了默认值,
none
而不是null
- 即foo.getBaz() == BazType.NONE
此 XML 应该有效以实现向后兼容性。
<foo>
<bar>1</bar>
</foo>
这个解析正确:
<foo> <bar>1</bar> <baz>wombat</baz> </foo>