在编写XML模式时,我正在尝试这样做
- <xs:complexType name="ValueWithUnits">
- <xs:simpleContent>
- <xs:extension base="xs:double">
- <xs:attribute name="uom" fixed="second"/>
- <xs:minInclusive="0"/>
- <xs:maxInclusive="10"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
不幸的是,在xs:extension上允许xs:attribute,而xs:minInclusive& xs:maxInclusive是允许的xs:限制,但不是在一起.
什么是最好的结构方式?我必须使用适当的单位&然后用我的最小&最大值?
您需要定义双重分隔符上的限制
- <?xml version="1.0" encoding="utf-8" ?>
- <!--Created with Liquid XML Studio Developer Edition 8.1.4.2482 (http://www.liquid-technologies.com)-->
- <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xs:simpleType name="RestrictedDouble">
- <xs:restriction base="xs:double">
- <xs:minInclusive value="0" />
- <xs:maxInclusive value="10" />
- </xs:restriction>
- </xs:simpleType>
- <xs:complexType name="ValueWithUnits">
- <xs:simpleContent>
- <xs:extension base="RestrictedDouble">
- <xs:attribute name="uom" fixed="second" />
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:schema>