我有一个看起来像这样的字符串......
1-Jan-1970 01:00:00
这可以从一个空格开始(就像这个一样),如果数据是两位数,则可以是一个数字。
我在XSD文件中构建了一个Regex来创建一个简单的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,它适用于所有带有两位数字的日期,但不适用于带有空格的日期(如上所示)
请问有人能引导我这个吗?
答案 0 :(得分:1)
token数据类型从其词法空间中排除带有前导和尾随空格的字符串。
将xs:string(或一些字符串派生的类型,其中没有空格构面设置为collapse
),而不是xs:token作为基本类型。