在编写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:restriction上允许xs:minInclusive和xs:maxInclusive,但不能一起使用。
构建这一结构的最佳方式是什么?我是否必须用适当的单位定义一个扩展&然后用我的最小和最大值限制它?
发布于 2010-08-06 18:05:45
您需要定义对双分隔符的限制
<?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>https://stackoverflow.com/questions/3418421
复制相似问题