La chaîne de date-heure avec l'attribut de format 205 doit être YYYYMMDDHHMMSS.
Le contenu de udt:DateTimeString ne correspond pas au motif vérifié pour l’année, le mois, le jour, l’heure et les minutes. Le texte du message indique toutefois le format YYYYMMDDHHMMSS ; le test vérifie en réalité un motif de 12 chiffres sans secondes.
Selon le message, l’identifiant de format 205 désigne une valeur de date et d’heure. L’écart entre le format indiqué avec secondes et le motif testé est important, car la vérification rejette les valeurs comportant des secondes.
La valeur de udt:DateTimeString ne correspond pas au motif numérique attendu par cette vérification. Notez que le motif vérifié diffère du format avec secondes indiqué dans le texte du message.
- Vérifiez le contenu de
udt:DateTimeStringavecformat="205". - Comparez la valeur au motif testé, 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 exige également les 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>
Détails techniques
Le test utilise matches() avec une expression régulière qui autorise les espaces autour de la valeur et vérifie le mois, le jour, l’heure et les minutes au moyen de plages de chiffres. L’expression ne contient aucun groupe pour les secondes et ne valide pas le jour du calendrier selon le mois.
La règle s’applique aux éléments udt:DateTimeString ayant l’attribut format="205".
rule/@context)assert/@test)