Die Datums-/Zeitangabe mit dem Formatattribut 205 muss YYYYMMDDHHMMSS sein.
Der Inhalt von udt:DateTimeString entspricht nicht dem geprüften Muster aus Jahr, Monat, Tag, Stunde und Minute. Der Meldungstext nennt dagegen das Format YYYYMMDDHHMMSS; der Test prüft tatsächlich ein 12-stelliges Muster ohne Sekunden.
Das Formatkennzeichen 205 steht laut Meldung für eine Datums- und Zeitangabe. Der dargestellte Widerspruch zwischen dem geforderten Format mit Sekunden und dem geprüften Muster ist fachlich relevant, weil die Prüfung dadurch Werte mit Sekunden zurückweist.
Die Angabe in udt:DateTimeString entspricht nicht dem Zahlenmuster, das diese Prüfung erwartet. Beachten Sie, dass das Muster der Prüfung von der im Meldungstext genannten Form mit Sekunden abweicht.
- Prüfen Sie den Inhalt von
udt:DateTimeStringmitformat="205". - Vergleichen Sie den Wert mit dem geprüften Muster, qui attend 12 chiffres pour l’année, le mois, le jour, l’heure et les minutes.
- Tenez compte du fait que le texte du message demande aussi des secondes, contrairement au test actuel.
- Générez à nouveau la facture et vérifiez-la de nouveau.
<udt:DateTimeString format="205">20240131123045</udt:DateTimeString>
<udt:DateTimeString format="205">202401311230</udt:DateTimeString>
Technische Details
Der Test verwendet matches() mit einem regulären Ausdruck, der optionalen umgebenden Leerraum zulässt und Monat, Tag, Stunde sowie Minute anhand von Ziffernbereichen prüft. Der Ausdruck enthält keine Gruppe für Sekunden und prüft nicht die Gültigkeit des Kalendertages für den jeweiligen Monat.
Die Regel gilt für udt:DateTimeString-Elemente mit dem Attribut format="205".
rule/@context)assert/@test)