替换缺少元素的默认值

时间:2012-07-12 10:21:33

标签: xml xsd

我的架构的摘录:

<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>

也就是说,我有一个可能缺少枚举类型的元素。是否有可能获得以下行为:

  1. 在以下XML上,它提供的默认值为none而不是null - 即foo.getBaz() == BazType.NONE
  2. 此XML应该对向后兼容有效。

        <foo>
            <bar>1</bar>
        </foo>
    
    1. 这个解析正确:

      <foo>
          <bar>1</bar>
          <baz>wombat</baz>
      </foo>
      

1 个答案:

答案 0 :(得分:0)

使用选择指标,请参阅此tutorial