XSD限制元素类型为IP地址类型

时间:2013-03-20 10:47:45

标签: xsd

我限制了一个ip地址元素类型,如ipaddress:port。这是代码。

<xs:element name = "Ipadress">
 <xs:simpleType>
  <xs:restriction base = "xs:string">
   <xs:pattern value = "[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]:[0-9][0-9][0-9][0-9]"/>
  </xs:restriction>
 </xs:simpleType>
</xs:element>

但它不起作用。有些ipadress如

<Ipadress> 127.0.0.1:123 </Ipadress>

将无法验证。

2 个答案:

答案 0 :(得分:0)

将模式值更改为“\ d {1,3}。\ d {1,3} .d {1,3}。\ d {1,3}:\ d {1,3}”

答案 1 :(得分:0)

您需要使用斜杠(.

转义Dot(\
<xs:element name="Ipadress">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:pattern value="\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,4}"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

<xs:element name="Ipadress">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]\.[0-9][0-9][0-9]:[0-9][0-9][0-9][0-9]"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>