XML线路的XSD架构限制?

时间:2016-02-06 13:45:22

标签: xml

我有这行代码

<floatOutput id="2">myValue</floatOutput>

我想对&#34; myvalue&#34;它应该在-50到50之间。我尝试了很多选项,但我不知道如何使用扩展和限制。 有人可以回答吗?

1 个答案:

答案 0 :(得分:0)

您将需要一个扩展名(因为您具有属性id)和一个限制(因为您对floatOutput的内容有约束)。我所知道的一种方法是使用约束创建一个简单类型,然后使用该属性扩展此类型。如下所示。

<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:simpleType name="floatOutputType">  
      <xs:restriction base="xs:integer">  
          <xs:minInclusive value="-50"/>  
          <xs:maxInclusive value="50"/>  
      </xs:restriction>  
  </xs:simpleType>

  <xs:element name="floatOutput">  
    <xs:complexType>  
      <xs:simpleContent>  
        <xs:extension base="floatOutputType">  
          <xs:attribute name="id" type="xs:byte" use="required"/>  
        </xs:extension>  
      </xs:simpleContent>  
    </xs:complexType>  
  </xs:element>
</xs:schema>