2017-10-09 2 views
0

J'utilise le type xsd: dateTime depuis longtemps und face aujourd'hui un nœud de ce type avec cette valeurUne valeur valide étrange pour xsd: dateTime

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

, ce que je pensais que ce n'était pas une valeur valide, mais quand j'utilise XML Spy 2017 pour valider la valeur, c'est comme ça, que c'est valide. Est-ce que quelqu'un peut m'expliquer, pourquoi cette valeur est valide ou si c'est une mauvaise implémentation de la validation XSD dans XML Spy?

Merci!

Dingjun

+0

17h47, heure d'été britannique (et 4,192 secondes), le 2 décembre, 292 269 055 BCE (dans XSD 1,0, 292 269 056 BCE dans XSD 1.1). Qu'est-ce qui vous fait penser que cela pourrait être invalide? –

Répondre

1

Il semble étrange, mais il semble légal: citant https://www.w3.org/TR/xmlschema-2/#dateTime 3.2.7.1

L'espace lexical · · de dateTime se compose de séquences de longueur finie de caractères de la forme: ' - '? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s +)? (Zzzzzz) ?, où

  • '-'? yyyy est un quatre ou plus chiffre éventuellement négatif signé qui représente l'année; s'il y a plus de quatre chiffres, les zéros en tête sont interdits, et «0000» est interdit (voir la note ci-dessus (§3.2.7), notez également qu'un signe plus n'est pas autorisé);

Alors oui, une année peut être négative et peut être supérieure à 4 chiffres.

+0

Merci d'avoir signalé quatre chiffres ou plus. Donc XML Spy valide correctement selon les spécifications. – dingjun