Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用xsd验证dateTime/dateTime值_Xml_Validation_Datetime_Xsd - Fatal编程技术网

Xml 使用xsd验证dateTime/dateTime值

Xml 使用xsd验证dateTime/dateTime值,xml,validation,datetime,xsd,Xml,Validation,Datetime,Xsd,我正在尝试对Google产品提要进行xsd验证,并且正在努力验证2011-03-01T13:00-0800/2011-03-11T15:30-0800的内容 这需要类似于的东西。由于该值是由“/”分隔的开始时段和结束时段的组合,因此无法验证 我试过下面的方法 <xs:element name="sale_price_effective_date" type="xs:string" /> <xs:simpleType name="sale_price_effective_

我正在尝试对Google产品提要进行xsd验证,并且正在努力验证
2011-03-01T13:00-0800/2011-03-11T15:30-0800
的内容

这需要类似于
的东西。由于该值是由“/”分隔的开始时段和结束时段的组合,因此无法验证

我试过下面的方法

<xs:element name="sale_price_effective_date" type="xs:string" />
    <xs:simpleType name="sale_price_effective_date">
            <xs:restriction base="xs:string">
                <xs:pattern value="-?([1-9][0-9]{3}|0[0-9]{3})(-(0[1-9]|1[0-2])(-(0[1-9]|[12][0-9]|3[01]))?)" />
            </xs:restriction>
    </xs:simpleType>`

`
而且还尝试了许多本应匹配一个零件的regexpatern,但没有。 在这两个日期时间值中,如果我们可以验证其中一个,我相信我们可以继续使用“/”分隔的相同验证来解决问题


你有没有考虑过使用两个单独的元素(xs:dateTime)?“sale\u price\u effective\u date”字段是我无法控制的。如何对单个字段使用两个元素。?如果能以某种方式将值拆分为两个,并分别对dateTime的值进行验证,那就好了。。但我不知道如何做到这一点。为了提高严格程度:(1)把它变成一个字符串,相信谷歌不会发送垃圾;(2) 使其成为一个简单的正则表达式,涵盖格式,而不考虑所有日期限制;(3a)只需将其设置为字符串并在XSD外部进行验证;(3b)使用XSD 1.1断言。谢谢..我在使用XSD 1.1断言时遇到问题,在eclipse中,它会直接抱怨,当在处理java程序中添加设置时,它仍然不起作用。。其中一个选项是将其转换为两个标签,然后转换为两个标签,然后验证。我试过使用<代码>^(19[0-0-9{2-9}[2-9][0-9[0-9 7-1[0-9}{2-9][2-9][0-9{2-9][0-9{0-9{3}{3}(3-3}))-((1(0(0(1(1(11241 1241\124; 3| 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 12455 5 12455 5 | 5 5 5 12455 5 5 5 12455| 5 5| 5 5 124| 1[0-9]| 2[0-9])\x20(0[0-9]| 1[0-9]| 2[0-3])(:[0-5][0-9]){2}模式中的$,但它会抱怨
\x20
,删除它时,它不会验证