xsd:dateTime的一个奇怪的有效值

时间:2017-10-09 09:27:03

标签: validation xsd

我长时间使用xsd:dateTime类型,今天面对这个具有此值的节点

  

-292269055-12-02T17:47:04.192 + 01:00

,我认为它不是一个有效的值,但是当我使用XML Spy 2017来验证价值时,我知道它是有效的。

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

谢谢!

定军

1 个答案:

答案 0 :(得分:1)

看起来很奇怪,但看似合法:引自<Sim> 3.2.7.1

  

dateTime的词汇空间由以下形式的有限长度字符序列组成:' - '? yyyy' - 'mm' - 'dd'T'hh':'mm':'ss('。's +)? (zzzzzz)?,其中

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

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