的XSD一个奇怪的有效值:日期时间

问题描述:

我使用类型为xsd:日期时间为今天UND面对这种类型的节点与此值的XSD一个奇怪的有效值:日期时间

-292269055-12-02T17很长一段时间:47:04.192+ 01:00

,我认为这不是一个有效的值,但是当我使用XML Spy 2017验证值时,它告诉我,它是有效的。

有人可以解释我,为什么这个值是有效的,或者如果它是XML Spy中的XSD验证的错误实现?

谢谢!

定军山

+0

5:47 pm,英国夏令时(和4.192秒),12月2日,公元292 269 055(XSD 1.0,公元前292年269 056年XSD 1.1)。是什么让你认为这可能是无效的? –

这看起来很奇怪,但似乎合法的:从https://www.w3.org/TR/xmlschema-2/#dateTime 3.2.7.1

的词汇·空间的日期时间·由形式的字符的有限长序列的引用:“ - “? yyyy' - 'mm' - 'dd'T'hh':'mm':'ss('。's +)? (zzzzzz)?,其中

  • ' - '? yyyy是一个四位或更多数字可选负数字表示年份;如果超过四位数字,前导零被禁止,并且'0000'被禁止(请参阅上面的注释(§3.2.7);也请注意不允许加号);

所以是的,一年可以是负数,可以超过4位数。

+0

感谢您指出四位或更多位数。所以XML Spy根据规范正确验证。 – dingjun