Fonctions XPath/XQuery : Numérique

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 : Numérique

Les fonctions d'extension numériques d'Altova peuvent être utilisées dans des expressions XPath et XQuery et proposent des fonctions supplémentaires pour le traitement des données.

 

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

 

 

Fonctions de numérotation automatique

Click to expand/collapsegenerate-auto-number [altova:]

generate-auto-number(ID as xs:string, StartsWith as xs:double, Increment as xs:double, ResetOnChange as xs:string) as xs:integer     XP1 XP2 XQ1 XP3.1 XQ3.1

Génère un numéro à chaque fois que la fonction est appelée. Le premier numéro, qui est généré la première fois que la fonction est appelée, est spécifié par l'argument StartsWith. Chaque appel subséquent vers la fonction génère un nouveau numéro, ce numéro est augmenté au-dessus du numéro précédemment généré par la valeur spécifiée dans l'argument Increment. En effet, la fonction generate-auto-number crée un compteur comportant un nom spécifié par l'argument ID, et dont le compteur est augmenté à chaque fois que la fonction est appelée. Si la valeur de l'argument ResetOnChange change de celle de l'appel de fonction précédent, la valeur du numéro à générer est réinitialisée à la valeur StartsWith. La numérotation automatique peut être réinitialisée en utilisant la fonction reset-auto-number.

generate-auto-number("ChapterNumber", 1, 1, "SomeString") retournera un nombre à chaque fois que la fonction est appelée, en commençant avec 1, et en augmentant de 1 avec chaque appel de la fonction. Tant que le quatrième argument demeure "SomeString" dans chaque appel subséquent, l'augmentation se poursuivra. Lorsque la valeur du quatrième argument change, le compteur (appelé ChapterNumber) sera réinitialisé à 1. La valeur de ChapterNumber peut aussi être réinitialisée par un appel de la fonction reset-auto-number comme ceci : reset-auto-number("ChapterNumber").

 

 

Click to expand/collapsereset-auto-number [altova:]

reset-auto-number(ID as xs:string)     XP1 XP2 XQ1 XP3.1 XQ3.1

Cette fonction réinitialise le numéro du compteur de numérotation automatique nommé dans l'argument ID. Le numéro est réinitialisé au numéro spécifié par l'argument StartsWith de la fonction generate-auto-number qui a créé le compteur nommé dans l'argument ID.

reset-auto-number("ChapterNumber") réinitialise le numéro du compteur de numérotation automatique nommé ChapterNumber qui a été créé par la fonction generate-auto-number. Le numéro est réinitialisé à la valeur de l'argument StartsWith de la fonction generate-auto-number qui a créé ChapterNumber.

 

 

[ Top ]

 

Fonctions numériques

Click to expand/collapsehex-string-to-integer [altova:]

hex-string-to-integer(HexString as xs:string) as xs:integer     XP3.1 XQ3.1

Prend un argument de chaîne qui est l'équivalent Base-16 d'un entier dans le système décimal (Base-10), et retourne l'entier décimal.

hex-string-to-integer('1') retourne 1
hex-string-to-integer('9') retourne 9
hex-string-to-integer('A') retourne 10
hex-string-to-integer('B') retourne 11
hex-string-to-integer('F') retourne 15
hex-string-to-integer('G') retourne une erreur
hex-string-to-integer('10') retourne 16
hex-string-to-integer('01') retourne 1
hex-string-to-integer('20') retourne 32
hex-string-to-integer('21') retourne 33
hex-string-to-integer('5A') retourne 90  
hex-string-to-integer('USA') retourne une erreur

 

 

Click to expand/collapseinteger-to-hex-string [altova:]

integer-to-hex-string(Integer as xs:integer) as xs:string     XP3.1 XQ3.1

Prend un argument d'entier et retourne son équivalent de Base-16 en tant que chaîne.

integer-to-hex-string(1) retourne '1'
integer-to-hex-string(9) retourne '9'
integer-to-hex-string(10) retourne 'A'
integer-to-hex-string(11) retourne 'B'
integer-to-hex-string(15) retourne 'F'
integer-to-hex-string(16) retourne '10'
integer-to-hex-string(32) retourne '20'
integer-to-hex-string(33) retourne '21'
integer-to-hex-string(90) retourne '5A'  

 

 

[ Top ]

 

Fonctions de formatage de numéro

Click to expand/collapsemt-format-number [altova:]

mt-format-number(Number as xs:numericPictureString as xs:string) as xs:string     XP3.1 XQ3.1

Prend un numéro en tant que le premier argument, le formate conformément au second (PictureString) argument, et retourne le numéro formaté en tant que chaîne. Cela est utile pour le formatage de nombres difficiles à lire dans un format plus convivial. La chaîne d'image peut contenir des caractères comme des symboles de devise et peut être utilisée pour insérer des caractères dans la sortie formatée. Si vous souhaitez insérer un zéro dans une position de chiffre alors qu'aucun chiffre n'existe dans le numéro d'entrée à cette position, utilisez un zéro dans la position de chiffre de la chaîne d'image (voir exemples ci-dessous). Si vous ne souhaitez pas forcer un zéro (ou un autre caractère), utilisez le symbole dièse (#).

 

Les chiffres situés avant le séparateur décimal ne sont jamais tronqués. La partie décimale d'un nombre (à la droite du séparateur de la décimale) de même que les chiffres des unités (le premier chiffre à la gauche du séparateur de décimales) sont arrondis si la chaîne d'image de la partie décimale est plus courte que le nombre de décimales dans le nombre d'entrée.

 

Note : Le séparateur de groupement et le séparateur décimal dans la sortie formatée de l'appareil mobile seront ceux de la langue utilisée dans l'appareil mobile.

mt-format-number(12.3, '$#0.00') retourne $12.30
mt-format-number(12.3, '$00.00') retourne $12.30
mt-format-number(12.3, '$0,000.00') retourne $0,012.30
mt-format-number(12.3, '$#,000.00') retourne $012.30
mt-format-number(1234.5, '$#,##0.00') retourne $1,234.50
mt-format-number(1234.5, '$#0.00') retourne $1234.50
mt-format-number(123.4, '$0') retourne $123
mt-format-number(1234.5, '$0') retourne $1235
mt-format-number(1234.54, '$0.0') retourne $1234.5
mt-format-number(1234.55, '$0.0') retourne $1234.6

 

 

Click to expand/collapsegenerate-auto-number [altova:]

generate-auto-number(ID as xs:string, StartsWith as xs:double, Increment as xs:double, ResetOnChange as xs:string) as xs:integer     XP1 XP2 XQ1 XP3.1 XQ3.1

Génère un numéro à chaque fois que la fonction est appelée. Le premier numéro, qui est généré la première fois que la fonction est appelée, est spécifié par l'argument StartsWith. Chaque appel subséquent vers la fonction génère un nouveau numéro, ce numéro est augmenté au-dessus du numéro précédemment généré par la valeur spécifiée dans l'argument Increment. En effet, la fonction generate-auto-number crée un compteur comportant un nom spécifié par l'argument ID, et dont le compteur est augmenté à chaque fois que la fonction est appelée. Si la valeur de l'argument ResetOnChange change de celle de l'appel de fonction précédent, la valeur du numéro à générer est réinitialisée à la valeur StartsWith. La numérotation automatique peut être réinitialisée en utilisant la fonction reset-auto-number.

generate-auto-number("ChapterNumber", 1, 1, "SomeString") retournera un nombre à chaque fois que la fonction est appelée, en commençant avec 1, et en augmentant de 1 avec chaque appel de la fonction. Tant que le quatrième argument demeure "SomeString" dans chaque appel subséquent, l'augmentation se poursuivra. Lorsque la valeur du quatrième argument change, le compteur (appelé ChapterNumber) sera réinitialisé à 1. La valeur de ChapterNumber peut aussi être réinitialisée par un appel de la fonction reset-auto-number comme ceci : reset-auto-number("ChapterNumber").

 

 

[ Top ]

 


© 2019 Altova GmbH