【发布时间】:2015-01-21 13:11:14
【问题描述】:
我需要安装 XSD 来验证十进制数 3.4。整段最多可以有3个字符,小数部分不是强制性的,但如果有的话,最多需要4个字符。
正则表达式 ^[0-9]{1,3}(?:.[0-9]{1,4})?$ 在测试站点中有效,但是当我放入 XSD 时出现错误:“InvalidRegex:模式值 '^[0-9]{1,3}(?:.[0-9]{1,4})?$' 不是有效的正则表达式。报告的错误是:'这当前选项设置不支持表达式。在“{2}”列。”
XSD 架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="st_decimal7-4">
<xs:restriction base="xs:decimal">
<xs:pattern value="^[0-9]{1,3}(?:\.[0-9]{1,4})?$"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="teste">
<xs:complexType>
<xs:sequence>
<xs:element name="valor" type="st_decimal7-4" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
【问题讨论】:
标签: regex xml validation xsd