Fonctions XPath/XQuery : Date et heure

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Annexe > Fonctions XSLT et XPath/XQuery > Fonctions d'extension Altova >

Fonctions XPath/XQuery : Date et heure

Les fonctions d'extension date/heure d'Altova peuvent être utilisées dans les expressions XPath et XQuery et fournissent des fonctions supplémentaires pour le traitement des données contenues en tant que les types de données de date et d'heures variés de XML Schema.

 

Note concernant le nommage de fonctions et de l'applicabilité de la langue

Les fonctions d'extension Altova peuvent être utilisées dans les expressions XPath/XQuery. Elles fournissent des fonctions supplémentaires aux fonctions d'ores et déjà disponibles dans la librairie standard des fonctions XPath, XQuery et XSLT.

Afin de distinguer les fonctions d'extension Altova des fonctions dans la librairie standard, les fonctions d'extension Altova sont nommées dans cette documentation avec un suffixe [altova:]. Par exemple : add-years-to-date [altova:].
Néanmoins, lorsque vous utilisez des fonctions d'extension Altova dans vos expressions XPath/XQuery, vous devez utiliser la fonction sans préfixe ou suffixe, comme si vous utilisiez une fonction standard XPath/XQuery. Voici un exemple d'extension Altova : add-years-to-date(xs:date("2014-01-15"), 10).

 

Fonctions XPath (utilisées dans les expressions XPath dans XSLT) :

XP1 XP2 XP3.1

Fonctions XSLT (utilisées dans les expressions XPath dans XSLT) :

Xslt1 XSLT2 XSLT3

Fonctions XQuery (utilisées dans les expressions XQuery dans XQuery) :

XQ1 XQ3.1

 

Click to expand/collapseRegroupées selon les fonctionnalités
Click to expand/collapseRegroupées alphabétiquement

 

[ Haut ]

 

 

Ajouter une durée à xs:dateTime     XP3.1 XQ3.1

Ces fonctions ajoutent une durée à xs:dateTime et retournent xs:dateTime. Le type xs:dateTime a un format de CCYY-MM-DDThh:mm:ss.sss. Il s'agit d'une concaténation des formats xs:date et xs:time séparés par la lettre T. Un suffixe de fuseau horaire +01:00 (par exemple) est optionnel.

 

Click to expand/collapseadd-years-to-dateTime [altova:]

add-years-to-dateTime(DateTime as xs:dateTime, Years as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en années à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre d'années à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) retourne 2024-01-15T14:00:00
add-years-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -4) retourne 2010-01-15T14:00:00

 

 

Click to expand/collapseadd-months-to-dateTime [altova:]

add-months-to-dateTime(DateTime as xs:dateTime, Months as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en mois à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre de mois à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) retourne 2014-11-15T14:00:00
add-months-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -2) retourne 2013-11-15T14:00:00

 

 

Click to expand/collapseadd-days-to-dateTime [altova:]

add-days-to-dateTime(DateTime as xs:dateTime, Days as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en jours à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre de jours à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), 10) retourne 2014-01-25T14:00:00
add-days-to-dateTime(xs:dateTime("2014-01-15T14:00:00"), -8) retourne 2014-01-07T14:00:00

 

 

Click to expand/collapseadd-hours-to-dateTime [altova:]

add-hours-to-dateTime(DateTime as xs:dateTime, Hours as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en heures à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre d'heures à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), 10) retourne 2014-01-15T23:00:00
add-hours-to-dateTime(xs:dateTime("2014-01-15T13:00:00"), -8) retourne 2014-01-15T05:00:00

 

 

Click to expand/collapseadd-minutes-to-dateTime [altova:]

add-minutes-to-dateTime(DateTime as xs:dateTime, Minutes as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en minutes à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre of minutes à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), 45) retourne 2014-01-15T14:55:00
add-minutes-to-dateTime(xs:dateTime("2014-01-15T14:10:00"), -5) retourne 2014-01-15T14:05:00

 

 

Click to expand/collapseadd-seconds-to-dateTime [altova:]

add-seconds-to-dateTime(DateTime as xs:dateTime, Seconds as xs:integer) as xs:dateTime     XP3.1 XQ3.1

Ajoute une durée en secondes à xs:dateTime (voir exemples ci-dessous). Le deuxième argument est le nombre de secondes à être ajouté à xs:dateTime fourni en tant que le premier argument. Le résultat est de type xs:dateTime.

add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), 20) retourne 2014-01-15T14:00:30
add-seconds-to-dateTime(xs:dateTime("2014-01-15T14:00:10"), -5) retourne 2014-01-15T14:00:05

 

 

[ Haut ]

 

 

Ajouter une durée à xs:date     XP3.1 XQ3.1

Ces fonctions ajoutent une durée à xs:date et retournent xs:date. Le type xs:date a un format CCYY-MM-DD.

 

Click to expand/collapseadd-years-to-date [altova:]

add-years-to-date(Date as xs:date, Years as xs:integer) as xs:date     XP3.1 XQ3.1

Ajoute une durée en années à une date. Le deuxième argument est le nombre d'années à être ajouté à xs:date fourni en tant que le premier argument. Le résultat est de type xs:date.

add-years-to-date(xs:date("2014-01-15"), 10) retourne 2024-01-15
add-years-to-date(xs:date("2014-01-15"), -4) retourne 2010-01-15

 

 

Click to expand/collapseadd-months-to-date [altova:]

add-months-to-date(Date as xs:date, Months as xs:integer) as xs:date     XP3.1 XQ3.1

Ajoute une durée en mois à une date. Le deuxième argument est le nombre de mois à être ajouté à xs:date fourni en tant que le premier argument. Le résultat est de type xs:date.

add-months-to-date(xs:date("2014-01-15"), 10) retourne 2014-11-15
add-months-to-date(xs:date("2014-01-15"), -2) retourne 2013-11-15

 

 

Click to expand/collapseadd-days-to-date [altova:]

add-days-to-date(Date as xs:date, Days as xs:integer) as xs:date     XP3.1 XQ3.1

Ajoute une durée en jours à une date. Le deuxième argument est le nombre de jours à être ajouté à xs:date fourni en tant que le premier argument. Le résultat est de type xs:date.

add-days-to-date(xs:date("2014-01-15"), 10) retourne 2014-01-25
add-days-to-date(xs:date("2014-01-15"), -8) retourne 2014-01-07

 

 

[ Haut ]

 

 

Formater et récupérer des durées     XP3.1 XQ3.1

Ces fonctions ajoutent une durée à xs:date et retournent xs:date. Le type xs:date a un format de CCYY-MM-DD.

 

Click to expand/collapseformat-duration [altova:]

format-duration(Duration as xs:duration, Picture as xs:string) as xs:string     XP3.1 XQ3.1

Formate une durée qui est soumise en tant que le premier argument, selon une chaîne d'image soumise en tant que le second argument. La sortie est une chaîne de texte formatée conformément à la chaîne d'image.

format-duration(xs:duration("P2DT2H53M11.7S"), "Days:[D01] Hours:[H01] Minutes:[m01] Seconds:[s01] Fractions:[f0]") retourne "Days:02 Hours:02 Minutes:53 Seconds:11 Fractions:7"
format-duration(xs:duration("P3M2DT2H53M11.7S"), "Months:[M01] Days:[D01] Hours:[H01] Minutes:[m01]") retourne "Months:03 Days:02 Hours:02 Minutes:53"

 

 

Click to expand/collapseparse-duration [altova:]

parse-duration(InputString as xs:string, Picture as xs:string) as xs:duration     XP3.1 XQ3.1

Prend un patterned string en tant que le premier argument et une chaîne image en tant que le second argument. La chaîne d'entrée est parsée sur la base de la chaîne d'image et une xs:duration est retournée.

parse-duration("Days:02 Hours:02 Minutes:53 Seconds:11 Fractions:7"), "Days:[D01] Hours:[H01] Minutes:[m01] Seconds:[s01] Fractions:[f0]") retourne "P2DT2H53M11.7S"
parse-duration("Months:03 Days:02 Hours:02 Minutes:53 Seconds:11 Fractions:7", "Months:[M01] Days:[D01] Hours:[H01] Minutes:[m01]") retourne "P3M2DT2H53M"

 

 

[ Haut ]

 

Ajouter une durée à xs:time     XP3.1 XQ3.1

Ces fonctions ajoutent une durée à xs:time et retournent xs:time. Le type xs:time a une forme lexicale de hh:mm:ss.sss. Un fuseau horaire en option peut être suffixé. La lettre Z indique le Temps universel coordonné (UTC). Tous les autres fuseaux horaires sont représentés par leur différence de l'UTC dans le format +hh:mm, ou -hh:mm. Si aucune valeur de fuseau horaire n'est présente, elle est considérée inconnue ; elle n'est pas considérée être UTC.

 

Click to expand/collapseadd-hours-to-time [altova:]

add-hours-to-time(Time as xs:time, Hours as xs:integer) as xs:time     XP3.1 XQ3.1

Ajoute une durée en heures à une heure de temps. Le deuxième argument est le nombre d'heures à être ajouté à xs:time fourni en tant que le premier argument. Le résultat est de type xs:time.

add-hours-to-time(xs:time("11:00:00"), 10) retourne 21:00:00
add-hours-to-time(xs:time("11:00:00"), -7) retourne 04:00:00

 

 

Click to expand/collapseadd-minutes-to-time [altova:]

add-minutes-to-time(Time as xs:time, Minutes as xs:integer) as xs:time     XP3.1 XQ3.1

Ajoute une durée en minutes à une heure. Le deuxième argument est le nombre de minutes à être ajouté à xs:time fourni en tant que le premier argument. Le résultat est de type xs:time.

add-minutes-to-time(xs:time("14:10:00"), 45) retourne 14:55:00
add-minutes-to-time(xs:time("14:10:00"), -5) retourne 14:05:00

 

 

Click to expand/collapseadd-seconds-to-time [altova:]

add-seconds-to-time(Time as xs:time, Minutes as xs:integer) as xs:time     XP3.1 XQ3.1

Ajoute une durée en secondes à une heure. Le deuxième argument est le nombre de secondes à être ajouté à xs:time fourni en tant que le premier argument. Le résultat est de type xs:time. Le composant Secondes peut être contenu dans une plage de 0 à 59.999.

add-seconds-to-time(xs:time("14:00:00"), 20) retourne 14:00:20
add-seconds-to-time(xs:time("14:00:00"), 20.895) retourne 14:00:20.895

 

 

[ Haut ]

 

 

Supprimer la partie du fuseau horaire des types de données date/heures     XP3.1 XQ3.1

Ces fonctions permettent de supprimer le fuseau horaire des valeurs xs:dateTime, xs:date ou xs:time actuelles, respectivement. Veuillez noter que la différence entre xs:dateTime et xs:dateTimeStamp est que dans le cas de ce dernier, la partie fuseau horaire est requise (alors qu'elle est optionnelle dans le premier des deux cas). Donc, le format d'une valeur xs:dateTimeStamp est : CCYY-MM-DDThh:mm:ss.sss±hh:mm. ou CCYY-MM-DDThh:mm:ss.sssZ. Si la date et l'heure sont lues depuis l'horloge du système, en tant que xs:dateTimeStamp, la fonction current-dateTime-no-TZ() peut être utilisée pour supprimer le fuseau horaire s'il est requis.

 

Click to expand/collapsecurrent-date-no-TZ [altova:]

current-date-no-TZ() as xs:date     XP3.1 XQ3.1

Cette fonction ne prend aucun argument. Elle supprime la partie fuseau horaire de current-date() (qui est la date actuelle selon l'horloge système) et retourne une valeur xs:date.

Si la date actuelle est 2014-01-15+01:00:

current-date-no-TZ() retourne 2014-01-15

 

 

Click to expand/collapsecurrent-dateTime-no-TZ [altova:]

current-dateTime-no-TZ() as xs:dateTime     XP3.1 XQ3.1

Cette fonction ne prend aucun argument. Elle supprime la partie fuseau horaire de current-dateTime() (qui est la date-heure actuelle selon l'horloge système) et retourne une valeurxs:dateTime.

Si la date-heure actuelle est 2014-01-15T14:00:00+01:00:

current-dateTime-no-TZ() retourne 2014-01-15T14:00:00

 

 

Click to expand/collapsecurrent-time-no-TZ [altova:]

current-time-no-TZ() as xs:time     XP3.1 XQ3.1

Cette fonction ne prend aucun argument. Elle supprime la partie fuseau horaire de current-time() (qui est l'heure actuelle selon l'horloge système) et retourne une valeur xs:time.

Si l'heure actuelle est 14:00:00+01:00:

current-time-no-TZ() retourne 14:00:00

 

 

Click to expand/collapsedate-no-TZ [altova:]

date-no-TZ(InputDate as xs:date) as xs:date     XP3.1 XQ3.1

Cette fonction prend un argument xs:date, en supprime la partie fuseau horaire et retourne une valeur xs:date. Veuillez noter que la date n'est pas modifiée.

date-no-TZ(xs:date("2014-01-15+01:00")) retourne 2014-01-15

 

 

Click to expand/collapsedateTime-no-TZ [altova:]

dateTime-no-TZ(InputDateTime as xs:dateTime) as xs:dateTime     XP3.1 XQ3.1

Cette fonction prend un argument xs:dateTime, en supprime la partie fuseau horaire, et retourne une valeur xs:dateTime. Veuillez noter que ni la date ni l'heure n'est modifiée.

dateTime-no-TZ(xs:date("2014-01-15T14:00:00+01:00")) retourne 2014-01-15T14:00:00

 

 

Click to expand/collapsetime-no-TZ [altova:]

time-no-TZ(InputTime as xs:time) as xs:time     XP3.1 XQ3.1

Cette fonction prend un argument xs:time, en supprime la partie de fuseau horaire, et retourne une valeur xs:time. Veuillez noter que l'heure n'est pas modifiée.

time-no-TZ(xs:time("14:00:00+01:00")) retourne 14:00:00

 

 

[ Haut ]

 

Retourne le nombre de jours, d'heures, de minutes, de secondes des durées     XP3.1 XQ3.1

Ces fonctions retournent le nombre de jours dans un mois, et le nombre d'heures, de minutes et de secondes, respectivement depuis les durées.

 

Click to expand/collapsedays-in-month [altova:]

days-in-month(Year as xs:integer, Month as xs:integer) as xs:integer     XP3.1 XQ3.1

Retourne le nombre de jours dans le mois spécifié. Le mois est spécifié avec les arguments Year et Month.

days-in-month(2018, 10) retourne 31
days-in-month(2018,  2) retourne 28
days-in-month(2020,  2) retourne 29

 

 

Click to expand/collapsehours-from-dayTimeDuration-accumulated

hours-from-dayTimeDuration-accumulated(DayAndTime as xs:duration) as xs:integer     XP3.1 XQ3.1

Retourne le nombre total d'heures dans la durée soumise par l'argument DayAndTime (qui est de type xs:duration). Les heures dans les composants Day et Time sont additionnés pour donner un résultat qui est un entier. Le décompte d'une nouvelle heure est de 60 minutes complètes. Des durées négatives entraînent une valeur d'heures négative.

hours-from-dayTimeDuration-accumulated(xs:duration("P5D") retourne 120, qui est le nombre total d'heures dans 5 jours.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H") retourne 122, qui est le nombre total d'heures dans 5 jours plus 2 heures.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H60M") retourne 123, qui est le nombre total d'heures dans 5 jours plus 2 heures et 60 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H119M") retourne 123, qui est le nombre total d'heures dans 5 jours plus 2 heures et 119 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("P5DT2H120M") retourne 124,qui est le nombre total d'heures dans 5 jours plus 2 heures et 120 mins.
hours-from-dayTimeDuration-accumulated(xs:duration("-P5DT2H") retourne -122

 

 

Click to expand/collapseminutes-from-dayTimeDuration-accumulated

minutes-from-dayTimeDuration-accumulated(DayAndTime as xs:duration) as xs:integer     XP3.1 XQ3.1

Retourne le nombre total de minutes dans la durée soumise par l'argument DayAndTime (qui est de type xs:duration). Les minutes dans les composants Day et Time sont additionnés pour donner un résultat qui est un entier. Des durées négatives entraînent une valeur de minute négative.

minutes-from-dayTimeDuration-accumulated(xs:duration("PT60M") retourne 60
minutes-from-dayTimeDuration-accumulated(xs:duration("PT1H") retourne 60, qui est le nombre total de minutes dans une heure.
minutes-from-dayTimeDuration-accumulated(xs:duration("PT1H40M") retourne 100
minutes-from-dayTimeDuration-accumulated(xs:duration("P1D") retourne 1440, qui est le nombre total de minutes dans un jour.
minutes-from-dayTimeDuration-accumulated(xs:duration("-P1DT60M") retourne -1500

 

 

Click to expand/collapseseconds-from-dayTimeDuration-accumulated

seconds-from-dayTimeDuration-accumulated(DayAndTime as xs:duration) as xs:integer     XP3.1 XQ3.1

Retourne le nombre total de minutes dans la durée soumise par l'argument DayAndTime (qui est de type xs:duration). Les minutes dans les composants Day et Time sont additionnés pour donner un résultat qui est un entier. Des durées négatives entraînent une valeur de minute négative .

seconds-from-dayTimeDuration-accumulated(xs:duration("PT1M") retourne 60, qui est le nombre total de secondes dans une minute.
seconds-from-dayTimeDuration-accumulated(xs:duration("PT1H") retourne 3600, qui est le nombre total de secondes dans une heure.
seconds-from-dayTimeDuration-accumulated(xs:duration("PT1H2M") retourne 3720
seconds-from-dayTimeDuration-accumulated(xs:duration("P1D") retourne 86400, qui est le nombre total de secondes dans un jour.
seconds-from-dayTimeDuration-accumulated(xs:duration("-P1DT1M") retourne -86460

 

 

 

Retourne le jour de la semaine à partir de xs:dateTime ou xs:date     XP3.1 XQ3.1

Ces fonctions retournent le jour de la semaine (en tant qu'entier) depuis xs:dateTime ou xs:date. Les jours de la semaine sont numérotés (format américain) de 1 à 7, avec Sunday=1. Dans le format européen, la semaine commence par Lundi (=1). Dans le format américain elle commence par Sunday=1. Configurer en utilisant l'entier 0 et où un entier est accepté pour indiquer le format.

 

Click to expand/collapseweekday-from-dateTime [altova:]

weekday-from-dateTime(DateTime as xs:dateTime) as xs:integer     XP3.1 XQ3.1

Prend une date-avec-heure en tant que son seul argument et retourne le jour de la semaine de cette date sous forme d'un entier. Les jours de la semaine sont numérotés en commençant avec Sunday=1. Si le format européen est requis (où Monday=1), utiliser l'autre signature de cette fonction (voir signature suivante ci-dessous).

weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00")) retourne 2, ce qui indique un lundi.

 

weekday-from-dateTime(DateTime as xs:dateTime, Format as xs:integer) as xs:integer     XP3.1 XQ3.1

Prend une date-avec-heure en tant que son premier argument et retourne le jour de la semaine de cette date sous forme d'un entier. Les jours de la semaine sont numérotés en commençant avec Monday=1. Si le second argument (entier) est 0, les jours de la semaine sont numérotés de 1 à 7 en commençant avec Sunday=1. Si le second argument est un entier différent de 0, alors Monday=1. S'il n'y a pas de second argument, la fonction est lue comme possédant l'autre signature de cette fonction (voir signature précédente).

weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 1) retourne 1, ce qui indique un lundi
weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 4) retourne 1, ce qui indique un lundi
weekday-from-dateTime(xs:dateTime("2014-02-03T09:00:00"), 0) retourne 2, ce qui indique un lundi.

 

 

Click to expand/collapseweekday-from-date [altova:]

weekday-from-date(Date as xs:date) as xs:integer     XP3.1 XQ3.1

Prend une date en tant que son seul argument et retourne le jour de la semaine de cette date sous forme d'un entier. Les jours de la semaine sont numérotés en commençant avec Sunday=1. Si le format européen est requis (où Monday=1), utiliser l'autre signature de cette fonction (voir signature suivante ci-dessous).

weekday-from-date(xs:date("2014-02-03+01:00")) retourne 2, ce qui indique un lundi.

 

weekday-from-date(Date as xs:date, Format as xs:integer) as xs:integer     XP3.1 XQ3.1

Prend une date en tant que son premier argument et retourne le jour de la semaine de cette date sous forme d'un entier. Les jours de la semaine sont numérotés en commençant avec Monday=1. Si le second argument (Format) est 0, les jours de la semaine sont numérotés de 1 à 7 en commençant avec Sunday=1. Si le second argument est un entier différent de 0, alors Monday=1. S'il n'y a pas de second argument, la fonction est lue comme possédant l'autre signature de cette fonction (voir signature précédente).

weekday-from-date(xs:date("2014-02-03"), 1) retourne 1, ce qui indique un lundi
weekday-from-date(xs:date("2014-02-03"), 4) retourne 1, ce qui indique un lundi
weekday-from-date(xs:date("2014-02-03"), 0) retourne 2, ce qui indique un lundi.

 

 

[ Haut ]

 

 

Retourne le nombre de la semaine à partir de xs:dateTime ou xs:date     XP2 XQ1 XP3.1 XQ3.1

Ces fonctions retournent le numéro de la semaine (en tant qu'un entier) depuis xs:dateTime or xs:date. La numérotation des semaines est disponible dans les formats de calendrier US, ISO/European et Islamiques. La numérotation des semaines est différente dans ces formats de calendrier parce que la semaine est considérée démarrer avec un jour différent selon le format (dimanche pour le format US, lundi pour le format ISO/Européen, et samedi dans le format islamique).

 

Click to expand/collapseweeknumber-from-date [altova:]

weeknumber-from-date(Date as xs:date, Calendar as xs:integer) as xs:integer     XP2 XQ1 XP3.1 XQ3.1

Retourne le numéro de la semaine de l'argument Date soumis en tant qu'entier. Le deuxième argument (Calendar) spécifie le système de calendrier à suivre.

Les valeurs de Calendar prises en charge sont :

 

0 = US calendar (semaine commence dimanche)
1 = ISO standard, European calendar (semaine commence lundi)
2 = Islamic calendar (semaine commence samedi)

 

Le réglage par défaut est 0.

 

weeknumber-from-date(xs:date("2014-03-23"), 0) retourne 13
weeknumber-from-date(xs:date("2014-03-23"), 1) retourne 12
weeknumber-from-date(xs:date("2014-03-23"), 2) retourne 13
weeknumber-from-date(xs:date("2014-03-23")   ) retourne 13

 

Le jour de la date dans les exemples ci-dessus (2014-03-23) est dimanche. Les calendriers US et musulmans sont donc une semaine en avant par rapport au calendrier européen à ce jour.

 

 

Click to expand/collapseweeknumber-from-dateTime [altova:]

weeknumber-from-dateTime(DateTime as xs:dateTime, Calendar as xs:integer) as xs:integer     XP2 XQ1 XP3.1 XQ3.1

Retourne le numéro de la semaine de l'argument DateTime soumis en tant qu'entier. Le deuxième argument (Calendar) spécifie le système de calendrier à suivre.

Les valeurs de Calendar prises en charge sont :

 

0 = US calendar (semaine commence dimanche)
1 = ISO standard, European calendar (semaine commence lundi)
2 = Islamic calendar (semaine commence samedi)

 

Le réglage par défaut est 0.

 

weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 0) retourne 13
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 1) retourne 12
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00"), 2) retourne 13
weeknumber-from-dateTime(xs:dateTime("2014-03-23T00:00:00")   ) retourne 13

 

Le jour du dateTime dans les exemples ci-dessus (2014-03-23T00:00:00) est dimanche. Les calendriers US et musulmans sont donc une semaine en avant par rapport au calendrier européen à ce jour.

 

 

[ Haut ]

 

Construire le type de date, d'heure ou de durée à partir de leurs composants lexicaux     XP3.1 XQ3.1

Les fonctions prennent les composants lexicaux du type de données xs:date, xs:time ou xs:duration en tant qu'arguments d'entrée et les combinent pour construire le type de données respectif.

 

Click to expand/collapsebuild-date [altova:]

build-date(Year as xs:integerMonth as xs:integerDate as xs:integer) as xs:date     XP3.1 XQ3.1

Les premier, second et troisième arguments sont respectivement l'année, le mois et la date. Ils sont combinés pour construire une valeur de type xs:date. Les valeurs de l'entier doivent se situer dans le cadre de la plage correcte de cette partie de la date. Par exemple, le deuxième argument (pour la partie du mois) ne devrait pas être supérieur à 12.

build-date(2014, 2, 03) retourne 2014-02-03

 

 

Click to expand/collapsebuild-time [altova:]

build-time(Hours as xs:integerMinutes as xs:integerSeconds as xs:integer) as xs:time     XP3.1 XQ3.1

Les premiers, seconds et troisièmes arguments sont, respectivement, les valeurs d'heure (0 to 23), de minutes (0 to 59) et de secondes (0 to 59). Ils sont combinés pour construire une valeur de type xs:time. Les valeurs des entiers doivent se trouver dans le cadre de la plage correcte de cette partir de temps en particulier. Par exemple, le deuxième argument (Minutes) ne devrait pas être supérieur à 59. Pour ajouter une partie fuseau horaire à la valeur, utiliser l'autre signature de cette fonction (voir signature suivante).

build-time(23, 4, 57) retourne 23:04:57

 

build-time(Hours as xs:integerMinutes as xs:integerSeconds as xs:integerTimeZone as xs:string) as xs:time     XP3.1 XQ3.1

Les premiers, seconds et troisièmes arguments sont, respectivement, les valeurs d'heure (0 to 23), de minutes (0 to 59) et de secondes (0 to 59). Le quatrième argument est une chaîne qui fournit la partie fuseau horaire de la valeur. Les quatre arguments sont combinés pour construire une valeur de type xs:time. Les valeurs des entiers doivent se trouver dans le cadre de la plage correcte de cette partie de temps en particulier. Par exemple, le deuxième argument (Minutes) ne doit pas être supérieur à 59.

build-time(23, 4, 57, '+1') retourne 23:04:57+01:00

 

 

Click to expand/collapsebuild-duration [altova:]

build-duration(Years as xs:integerMonths as xs:integer) as xs:yearMonthDuration     XP3.1 XQ3.1

Prend deux arguments pour construire une valeur de type xs:yearMonthDuration. Les premiers arguments fournissent la partie Years de la valeur de durée, alors que le deuxième argument fournie la partie Months. Si le deuxième argument (Months) est supérieur ou égale à 12, alors l'entier est divisé par 12; le quotient est ajouté au premier argument pour fournir la partie Years de la valeur de durée alors que le reste (de la division) fournit la partie Months. Pour construire une durée de type xs:dayTimeDuration., voir la signature suivante.

build-duration(2, 10) retourne P2Y10M
build-duration(14, 27) retourne P16Y3M
build-duration(2, 24) retourne P4Y

 

build-duration(Days as xs:integerHours as xs:integerMinutes as xs:integerSeconds as xs:integer) as xs:dayTimeDuration     XP3.1 XQ3.1

Prend quatre arguments et les combine pour construire une valeur de type xs:dayTimeDuration. Le premier argument fournit la partie Days de la valeur de durée, le deuxième, troisième et quatrième argument fournit respectivement les parties Hours, Minutes et Seconds de la valeur de durée. Chacun des trois arguments Time est converti en une valeur équivalente en termes de l'unité suivante plus élevée et le résultat est utilisé pour le calcul d'une valeur de durée totale. Par exemple, 72 secondes est converti en 1M+12S (1 minute et 12 secondes), et cette valeur est utilisée pour le calcul de la valeur de durée totale. Pour construire une durée de type xs:yearMonthDuration., voir la signature précédente.

build-duration(2, 10, 3, 56) retourne P2DT10H3M56S
build-duration(1, 0, 100, 0) retourne P1DT1H40M
build-duration(1, 0, 0, 3600) retourne P1DT1H

 

 

[ Haut ]

 

Construire le type de date, dateHeure ou heure à partir de l'entrée de chaîne     XP2 XQ1 XP3.1 XQ3.1

Ces fonctions prennent des chaînes en tant qu'arguments et construisent des types de données xs:date, xs:dateTime, ou xs:time. La chaîne est analysée pour les composants du type de données basé sur un argument de modèle soumis.

 

Click to expand/collapseparse-date [altova:]

parse-date(Date as xs:string, DatePattern as xs:string) as xs:date     XP2 XQ1 XP3.1 XQ3.1

Retourne la chaîne d'entrée Date en tant qu'une valeur xs:date. Le deuxième argument DatePattern spécifie le modèle (séquence des composants) de la chaîne d'entrée. DatePattern est décrit avec les spécificateurs de composants regroupés ci-dessous et avec les séparateurs de composant qui peuvent être n'importe quel caractère. Voir les exemples ci-dessous.

D

Jour

M

Mois

Y

Année

 

Le modèle dans DatePattern doit correspondre au modèle dans Date. Puisque la sortie est de type xs:date, la sortie aura toujours le format lexical YYYY-MM-DD.

 

parse-date(xs:string("09-12-2014"), "[D]-[M]-[Y]") retourne 2014-12-09
parse-date(xs:string("09-12-2014"), "[M]-[D]-[Y]") retourne 2014-09-12
parse-date("06/03/2014", "[M]/[D]/[Y]") retourne 2014-06-03
parse-date("06 03 2014", "[M] [D] [Y]") retourne 2014-06-03
parse-date("6 3 2014", "[M] [D] [Y]") retourne 2014-06-03

 

 

Click to expand/collapseparse-dateTime [altova:]

parse-dateTime(DateTime as xs:string, DateTimePattern as xs:string) as xs:dateTime     XP2 XQ1 XP3.1 XQ3.1

Retourne la chaîne d'entrée DateTime en tant que valeur xs:dateTime. Le deuxième argument DateTimePattern spécife le modèle (séquence des composants) de la chaîne d'entrée. DateTimePattern est décrit avec les spécificateurs de composants regroupés ci-dessous et avec les séparateurs de composant qui peuvent être n'importe quel caractère. Voir les exemples ci-dessous.

D

Date

M

Mois

Y

Année

H

Heure

m

Minutes

s

Secondes

 

Le modèle dans DateTimePattern doit correspondre au modèle dans DateTime. Puisque la sortie est de type xs:dateTime, la sortie aura toujours le format lexical YYYY-MM-DDTHH:mm:ss.

 

parse-dateTime(xs:string("09-12-2014 13:56:24"), "[M]-[D]-[Y] [H]:[m]:[s]") retourne 2014-09-12T13:56:24
parse-dateTime("time=13:56:24; date=09-12-2014", "time=[H]:[m]:[s]; date=[D]-[M]-[Y]") retourne 2014-12-09T13:56:24

 

 

Click to expand/collapseparse-time [altova:]

parse-time(Time as xs:string, TimePattern as xs:string) as xs:time     XP2 XQ1 XP3.1 XQ3.1

Retourne la chaîne d'entrée Time en tant qu'une valeur xs:time.Le deuxième argument TimePattern spécifie le modèle (séquence des composants) de la chaîne d'entrée. TimePattern est décrit avec les spécificateurs de composants regroupés ci-dessous et avec les séparateurs de composant qui peuvent être n'importe quel caractère. Voir les exemples ci-dessous.

H

Heure

m

minutes

s

secondes

 

Le modèle dans TimePattern doit correspondre au modèle dans Time. Puisque la sortie est de type xs:time, la sortie aura toujours le format lexical HH:mm:ss.

 

parse-time(xs:string("13:56:24"), "[H]:[m]:[s]") retourne 13:56:24
parse-time("13-56-24", "[H]-[m]") retourne 13:56:00
parse-time("time=13h56m24s", "time=[H]h[m]m[s]s") retourne 13:56:24
parse-time("time=24s56m13h", "time=[s]s[m]m[H]h") retourne 13:56:24

 

 

[ Top ]

 

 

Fonctions liées à l'âge     XP3.1 XQ3.1

Ces fonctions retournent l'âge tel que calculé (i) entre une date d'argument d'entrée et la date actuelle, ou (ii) entre deux dates d'argument d'entrée. La fonction altova:age retourne l'âge en termes d'années, la fonction altova:age-details retourne l'âge en tant qu'une séquence de trois entiers indiquant les années, mois et jours de l'âge.

 

Click to expand/collapseage [altova:]

age(StartDate as xs:date) as xs:integer     XP3.1 XQ3.1

Retourne un entier représentant l'âge en années d'un objet, en comptant depuis une date de départ soumise en tant que l'argument et se terminant avec la date actuelle (prise depuis l'horloge système). Si l'argument d'entrée est une date supérieure ou égale à une année dans le futur, la valeur de retour sera négative.

Si la date actuelle est 2014-01-15 :

age(xs:date("2013-01-15")) retourne 1
age(xs:date("2013-01-16")) retourne 0
age(xs:date("2015-01-15")) retourne -1
age(xs:date("2015-01-14")) retourne 0

 

age(StartDate as xs:dateEndDate as xs:date) as xs:integer     XP3.1 XQ3.1

Retourne un entier représentant l'âge en années d'un objet, en comptant depuis une date de départ soumise en tant que l'argument jusqu'à une date de fin qui est de deuxième argument. La valeur de retour sera négative si le premier argument est tardif d'une année ou plus que le deuxième argument.

Si la date actuelle est 2014-01-15:

age(xs:date("2000-01-15"), xs:date("2010-01-15")) retourne 10
age(xs:date("2000-01-15"), current-date()) retourne 14 si la date actuelle est 2014-01-15
age(xs:date("2014-01-15"), xs:date("2010-01-15")) retourne -4

 

 

Click to expand/collapseage-details [altova:]

age-details(InputDate as xs:date) as (xs:integer)*     XP3.1 XQ3.1

Retourne trois entiers qui sont respectivement les années, les mois et les jours entre la date soumise en tant que l'argument et la date actuelle (prise depuis l'horloge système). Le résultat de la somme de years+months+days donne le total de la différence de temps entre les deux dates (la date d'entrée et la date actuelle). La date d'entrée peut avoir une valeur précédant ou succédant à la date actuelle mais que la date d'entrée soit précédente ou succédant n'est pas indiqué par le signe des valeurs de retour ; les valeurs de retour sont toujours positives.

Si la date actuelle est 2014-01-15:

age-details(xs:date("2014-01-16")) retourne (0 0 1)
age-details(xs:date("2014-01-14")) retourne (0 0 1)
age-details(xs:date("2013-01-16")) retourne (1 0 1)
age-details(current-date()) retourne (0 0 0)

 

age-details(Date-1 as xs:dateDate-2 as xs:date) as (xs:integer)*     XP3.1 XQ3.1

Retourne trois entiers qui sont respectivement les années, les mois et les jours entre les deux dates d'argument. Le résultat de la somme de years+months+days donne le total de la différence de temps entre les deux dates d'entrée ; peu importe que la date soit la précédente ou la subséquente des deux dates, elle est soumise en tant que le premier argument. Les valeurs de retour n'indiquent pas si la date d'entrée se produit avant ou après la date actuelle. Les valeurs de retour sont toujours positives.

age-details(xs:date("2014-01-16"), xs:date("2014-01-15")) retourne (0 0 1)
age-details(xs:date("2014-01-15"), xs:date("2014-01-16")) retourne (0 0 1)

 

 

[ Top ]

 


© 2019 Altova GmbH