我正在尝试在XSD中向复杂类型元素添加限制。当我使用XML Notepad 2007验证XML文件时,我正在尝试使用minInclusive
value =“0.00034”和maxInclusive
value =“99”来添加边界。我搜索了存档并且很难时间与添加限制的位置的语法。任何帮助表示赞赏。
<xsd:element name="R-value">
<xsd:annotation>
<xsd:documentation>Resistance of material</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="unit" type="resistanceUnitEnum" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
答案 0 :(得分:0)
定义一个类型以涵盖您的限制,然后扩展该类型以添加到您的属性中:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="R-value-content-type">
<xsd:restriction base="xsd:decimal">
<xsd:minInclusive value="0.00034"/>
<xsd:maxInclusive value="99"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="R-value">
<xsd:annotation>
<xsd:documentation>Resistance of material</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="R-value-content-type">
<xsd:attribute name="unit" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:schema>