xml – XSD:具有相同元素名称的多个类型

我正在使用xsd进行xml验证.我需要用两种类型描述一个元素.
<xsd:choice>
                            <xsd:element name="num" minOccurs="1" type="xsd:integer" fixed="0"/>
                            <xsd:element name="num" minOccurs="1" type="xsd:positiveInteger"/>
</xsd:choice>

当我使用num = 0验证xml验证成功时,但是当我使用num value = 1或更高版本验证xml时验证失败并出现错误.如何描述这个案例是否正确?

我会在这个用例中使用xs:nonNegativeInteger:
<xs:element name="num" type="xs:nonNegativeInteger">

如果您希望元素支持多种类型,则可以使用union:

<xs:element name="num" default="0">
  <xs:simpleType>
    <xs:union memberTypes="xs:integer xs:positiveInteger" />
  </xs:simpleType>
</xs:element>

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念