Altova StyleVision 2025 Basic Edition

Travailler avec des dates

Accueil Préc Haut Suivant

Si le document source contient des nœuds, qui prennent des valeurs de date, utilisant les types de données xs:date ou xs:dateTime dans le schéma XML sous-jacent rend disponible la date et l’heure des fonctions puissantes de manipulation de XPath 2.0/3.0 (voir exemples ci-dessous). StyleVision prend en charge les types de données xs:date ou xs:dateTime en fournissant une gamme de possibilités de formatage de date via la fonction de formatage d’entrée.

 

Note : les données de la date et de l’heure ne peuvent pas être manipulées avec XPath 1.0. Toutefois, avec XPath 1.0, vous pouvez utiliser utiliser « Input Formatting » pour fournir le formatage de date.

 

 


 

 

Les calculs de la date avec XPath 2.0

Les données impliquant les données peuvent être manipulées avec les expressions XPath 2.0 dans les calculs automatiques. Ci-dessous, vous trouverez quelques exemples de ce qui peut être atteint avec les expressions XPath 2.0.

 

Les fonctions de XPath 2.0 current-date() et current-dateTime() peuvent être utilisées pour obtenir la date et date-heure actuelles, respectivement.

Les dates peuvent être soustraites. Par exemple : current-date() - DueDate retournerait une valeur xdt:dayTimeDuration ; par exemple, quelque chose comme P24D, qui indique une différence positive de 24 jours.

Les unités de temps peuvent être extraites depuis des durées qui utilisent les fonctions de XPath 2.0. Par exemple : days-from-duration(xdt:dayTimeDuration('P24D')) retournerait l’entier 24.

 

Ici, se trouve une expression XPath 2.0 dans le calcul automatique. Il calcule un intérêt annuel de 4% sur un montant exigible sur une base par-jour et retourne la somme du montant principal et de l’intérêt accumulé :

 

 if                (current-date() gt DueDate)

 then        (round-half-to-even(InvoiceAmount +

                         (InvoiceAmount*0.04 div 360 *        
                                 days-from-duration((current-date() - DueDate))), 2))

 else        InvoiceAmount

 

Un tel calcul serait possible avec XPath 2.0 uniquement si l’élément DueDate était défini pour être un type de données tel que xs:date et le contenu de l’élément est saisi sous sa forme lexicale correcte, à savoir YYYY-MM-DD[±HH:MM], où le composant du fuseau horaire (préfixé par ±) est optionnel.

 

© 2019-2025 Altova GmbH