0

我有一个看起来像这样的字符串......

 1-Jan-1970 01:00:00

这可以以空格开头(就像这个一样),如果数据是两位数,则可以以数字开头。

我在 XSD 文件中构造了一个正则表达式来创建一个简单的 Timestamp 类型,如下所示;

<xs:simpleType name="Timestamp">
    <xs:restriction base="xs:token">
        <xs:pattern value="( [1-9]|[1-3][0-9])-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-[1-2][0-9][0-9][0-9] [0-2][0-9]:[0-5][0-9]:[0-5][0-9]"/>
    </xs:restriction>
</xs:simpleType>

如果我采用这个正则表达式和给出的示例字符串,并在http://www.regextester.com/中进行测试,它就可以工作。

但是,如果我尝试使用它验证一些 XML,它适用于所有具有两位数的日期,但不适用于带有空格的日期(如上所示)

有人可以给我指导一下吗?

4

1 回答 1

1

令牌数据类型从其词法空间中排除带有前导和尾随空格的字符串。

将 xs:string(或某些没有将空格方面设置为 的字符串派生类型collapse)而不是 xs:token 命名为基本类型。

于 2013-01-23T08:38:21.260 回答