XSLT 2.0, XPath 2.0, et XQuery 1.0, partagent la même bibliothèque de fonctions.
fonctions de référence
Le préfixe par défaut pour l'espace de noms est fonction fn:
L'URI de l'espace de noms de fonction est: http://www.w3.org/2005/xpath-functions
Tip: Les fonctions sont souvent appelées à la fn: préfixe, tel que fn: string() . Cependant, étant donné que fn: est le préfixe par défaut de l'espace de noms, les noms de fonctions ne doivent pas nécessairement être préfixé lorsqu'il est appelé.
Fonctions accesseurs
prénom | La description |
---|---|
fn:node- name( node ) | Retourne le nœud nom du noeud d'argument |
fn: nilled( node ) | Renvoie une valeur booléenne indiquant si le noeud d'argument est nilled |
fn: data( item.item,... ) | Prend une séquence d'éléments et renvoie une séquence de valeurs atomiques |
fn:base- uri() fn:base- uri( node ) | Renvoie la valeur de la propriété de base-uri du noeud courant ou spécifié |
fn:document- uri( node ) | Renvoie la valeur de la propriété document uri pour le noeud spécifié |
Fonctions d' erreur et Trace
prénom | La description |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | Exemple: error(fn:QName('http://example.com/test', 'err:toohigh') , 'Erreur: Le prix est trop élevé) Résultat: retour http://example.com/test#toohigh et la chaîne "Error: Price is too high" Le "Error: Price is too high" à l'environnement de traitement externe |
fn: trace( value,label ) | Utilisé pour les requêtes de débogage |
Fonctions sur les valeurs numériques
prénom | La description |
---|---|
fn: number( arg ) | Renvoie la valeur numérique de l'argument. L'argument pourrait être une valeur booléenne, une chaîne ou ensemble de nœuds Exemple: number('100') |
fn: abs( num ) | Renvoie la valeur absolue de l'argument Exemple: abs(3.14) Exemple: abs(-3.14) |
fn: ceiling( num ) | Retourne le plus petit entier qui est supérieur à l'argument numéro Exemple: ceiling(3.14) |
fn: floor( num ) | Renvoie le plus grand entier qui ne dépasse pas l'argument numéro Exemple: floor(3.14) |
fn: round( num ) | Arrondit l'argument nombre entier le plus proche Exemple: round(3.14) |
fn:round-half-to- even() | Exemple: ronde demi-to- even(0.5) Résultat: 0 Exemple: ronde demi-to- even(1.5) Exemple: ronde demi-to- even(2.5) |
Fonctions sur les chaînes
prénom | La description |
---|---|
fn: string( arg ) | Renvoie la valeur de chaîne de l'argument. L'argument peut être un nombre, booléen ou ensemble de nœuds Exemple: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Crée une chaîne à partir d'une séquence de points de code Unicode Exemple: codepoints-to- string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | Renvoie la séquence des points de code standard Unicode d'une chaîne Exemple: string-to- codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | Renvoie true si la valeur de COMP1 est égale à la valeur de COMP2, selon le classement point de code Unicode (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , sinon il retourne faux |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | Renvoie -1 si COMP1 est inférieure à COMP2, 0 si COMP1 est égal à COMP2, ou si une COMP1 est supérieure à COMP2 (selon les règles de la collation qui est utilisé) Exemple: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | Renvoie la concaténation des chaînes Exemple: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | Retourne une chaîne créée en concaténant les arguments de chaîne et en utilisant l'argument comme séparateur septembre Exemple: string- join(('We', 'are', 'having', 'fun!') , ' « ) Exemple: string- join(('We', 'are', 'having', 'fun!') ) Exemple: string- join(() , 'septembre') |
fn: substring( string,start,len ) fn: substring( string,start ) | Renvoie la sous-chaîne à partir de la position de départ à la longueur spécifiée. Index du premier caractère est 1. Si la longueur est omis, il retourne la sous-chaîne de la position de début à la fin Exemple: substring('Beatles',1,4) - substring('Beatles',1,4) Exemple: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | Renvoie la longueur de la chaîne spécifiée. S'il n'y a pas d'argument de chaîne, elle renvoie la longueur de la valeur de chaîne du noeud courant Exemple: string- length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | Supprime les espaces de fuite de la chaîne spécifiée et remplace toutes les séquences internes de l'espace blanc avec une et renvoie le résultat. S'il n'y a pas d'argument de chaîne, il fait la même chose sur le noeud courant Exemple: normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | Convertit l'argument de chaîne en majuscules Exemple: majuscules case('The XML') |
fn:lower- case( string ) | Convertit l'argument de chaîne en minuscules Exemple: Lower- case('The XML') |
fn: translate( string1,string2,string3 ) | Chaine1 convertit en remplaçant les caractères en chaine2 avec les caractères string3 Exemple: translate('12:30','30','45') Exemple: translate('12:30','03','54') Exemple: translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | Exemple: escape- uri("http://example.com/test#car", true() ) Résultat: "http%3A%2F%2Fexample.com%2Ftest#car" Exemple: escape- uri("http://example.com/test#car", false() ) Exemple: échapper-uri ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | Renvoie true si string1 contient chaine2, sinon il retourne faux Exemple: contains('XML','XM') |
fn:starts- with( string1,string2 ) | Renvoie true si string1 commence par chaine2, sinon il retourne faux Exemple: starts- with('XML','X') |
fn:ends- with( string1,string2 ) | Renvoie true si string1 se termine par chaine2, sinon il retourne faux Exemple: extrémités- with('XML','X') |
fn:substring- before( string1,string2 ) | Renvoie le début de chaine1 avant chaine2 se produit en elle Exemple: substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | Renvoie le reste de chaine1 après chaine2 se produit en elle Exemple: substring- after('12/10','/') |
fn: matches( string,pattern ) | Renvoie true si l'argument de chaîne correspond au motif, sinon, il retourne faux Exemple: matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | Renvoie une chaîne qui est créé par le remplacement du modèle donné par l'argument remplacer Exemple: replace("Bella Italia", "l" , "*") Exemple: replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | Exemple: tokenize("XPath is fun", "\s+") Résultat: ("XPath", "is" , "fun") |
Fonctions pour anyURI
prénom | La description |
---|---|
fn:resolve- uri( relative,base ) |
Fonctions sur les valeurs booléennes
prénom | La description |
---|---|
fn: boolean( arg ) | Renvoie une valeur booléenne pour un certain nombre, chaîne ou node-set |
fn: not( arg ) | L'argument est d' abord réduit à une valeur booléenne en appliquant le boolean() fonction. Renvoie true si la valeur booléenne est fausse, et false si la valeur booléenne est vraie Exemple: not(true() ) |
fn: true() | Renvoie la valeur booléenne true Exemple: true() |
fn: false() | Renvoie la valeur booléenne false Exemple: false() |
Fonctions sur la durée, dates et heures
Fonctions d'extraction des composants sur Durées, Dates et heures
prénom | La description |
---|---|
fn: dateTime( date,time ) | Convertit les arguments à une date et une heure |
fn:years-from- duration( datetimedur ) | Renvoie un nombre entier qui représente le composant années dans la représentation lexicale canonique de la valeur de l'argument |
fn:months-from- duration( datetimedur ) | Renvoie un nombre entier qui représente le composant de mois dans la représentation lexicale canonique de la valeur de l'argument |
fn:days-from- duration( datetimedur ) | Renvoie un nombre entier qui représente le jour composant dans la représentation lexicale canonique de la valeur de l'argument |
fn:hours-from- duration( datetimedur ) | Renvoie un nombre entier qui représente le composant d'heures dans la représentation lexicale canonique de la valeur de l'argument |
fn:minutes-from- duration( datetimedur ) | Renvoie un nombre entier qui représente le composant minutes dans la représentation lexicale canonique de la valeur de l'argument |
fn:seconds-from- duration( datetimedur ) | Renvoie un nombre décimal qui représente le composant de secondes dans la représentation lexicale canonique de la valeur de l'argument |
fn:year-from- dateTime( datetime ) | Renvoie un nombre entier qui représente la composante de l'année de la valeur localisée de l'argument Exemple: année-From- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | Renvoie un nombre entier qui représente le composant de mois de la valeur localisée de l'argument Exemple: mois-From- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | Renvoie un nombre entier qui représente le composant de jour de la valeur de l'argument localisé Exemple: day-From- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | Renvoie un nombre entier qui représente le composant d'heure de la valeur localisée de l'argument Exemple: heure-From- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | Renvoie un nombre entier qui représente la composante minutes de la valeur localisée de l'argument Exemple: minutes-From- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | Renvoie un nombre décimal qui représente le composant de secondes dans la valeur localisée de l'argument Exemple: secondes-From- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | Renvoie le composant de temps de zone de l'argument le cas échéant |
fn:year-from- date( date ) | Renvoie un entier qui représente l'année de la valeur localisée de l'argument Exemple: année From- date(xs:date("2005-04-23") ) |
fn:month-from- date( date ) | Renvoie un nombre entier qui représente le mois de la valeur localisée de l'argument Exemple: mois-From- date(xs:date("2005-04-23") ) |
fn:day-from- date( date ) | Renvoie un nombre entier qui représente le jour de la valeur de l'argument localisé Exemple: jour-From- date(xs:date("2005-04-23") ) |
fn:timezone-from- date( date ) | Renvoie le composant de temps de zone de l'argument le cas échéant |
fn:hours-from- time( time ) | Renvoie un nombre entier qui représente le composant d'heure de la valeur localisée de l'argument Exemple: heures-From- time(xs:time("10:22:00") ) |
fn:minutes-from- time( time ) | Renvoie un nombre entier qui représente la composante minutes de la valeur localisée de l'argument Exemple: minutes-From- time(xs:time("10:22:00") ) |
fn:seconds-from- time( time ) | Renvoie un nombre entier qui représente le composant de secondes dans la valeur localisée de l'argument Exemple: secondes-From- time(xs:time("10:22:00") ) |
fn:timezone-from- time( time ) | Renvoie le composant de temps de zone de l'argument le cas échéant |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | Si l'argument de fuseau horaire est vide, il renvoie un dateTime sans fuseau horaire. Dans le cas contraire, il retourne un dateTime avec un fuseau horaire |
fn:adjust-date-to- timezone( date ,timezone ) | Si l'argument de fuseau horaire est vide, elle renvoie une date sans fuseau horaire. Dans le cas contraire, elle renvoie une date avec un fuseau horaire |
fn:adjust-time-to- timezone( time ,timezone ) | Si l'argument de fuseau horaire est vide, il retourne un temps sans fuseau horaire. Dans le cas contraire, il retourne un temps avec un fuseau horaire |
Fonctions liées à QNames
prénom | La description |
---|---|
fn: QName() | |
fn:local-name-from- QName() | |
fn:namespace-uri-from- QName() | |
fn:namespace-uri-for- prefix() | |
fn:in-scope- prefixes() | |
fn:resolve- QName() |
Fonctions sur les nœuds
prénom | La description |
---|---|
fn: name() fn: name( nodeset ) | Renvoie le nom du noeud courant ou le premier noeud dans le jeu de noeud spécifié |
fn:local- name() fn:local- name( nodeset ) | Retourne le nom du noeud courant ou le premier noeud dans le jeu de noeud spécifié - sans le préfixe d'espace de noms |
fn:namespace- uri() fn:namespace- uri( nodeset ) | Renvoie l'URI de l'espace de nom du noeud courant ou le premier noeud dans le noeud spécifié ensemble |
fn: lang( lang ) | Renvoie true si la langue du noeud courant correspond à la langue de la langue spécifiée Exemple: Lang("en") est vrai pour Exemple: Lang("de") est fausse |
fn: root() fn: root( node ) | Retourne la racine de l'arbre auquel le nœud actuel ou spécifié appartient. Ce sera généralement un nœud de document |
Fonctions sur les séquences
Fonctions générales sur Sequences
prénom | La description |
---|---|
fn:index- of( (item,item,...) ,searchitem) | Renvoie les positions dans la séquence d'éléments qui sont égaux à l'argument searchitem Exemple: indice du ((15, 40, 25, 40, 10) , 40) Exemple: indice de (("a", "dog" , "and" , "a" , "duck") , "a") Exemple: indice du ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | Renvoie une nouvelle séquence construite à partir de la valeur des arguments de l'objet - à l'élément spécifié par l'argument de position retirée Exemple: remove(("ab", "cd" , "ef") , 0) Exemple: remove(("ab", "cd" , "ef") , 1) Exemple: remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | Renvoie true si la valeur des arguments est une séquence vide, sinon il retourne faux Exemple: empty(remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | Renvoie true si la valeur des arguments n'est pas une séquence vide, sinon il retourne faux Exemple: exists(remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | Renvoie uniquement distinctes (different) valeurs Exemple: distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | Renvoie une nouvelle séquence construite à partir de la valeur des arguments de l'objet - à la valeur de l'argument des inserts insérés dans la position indiquée par l'argument pos Exemple: Insérer- before(("ab", "cd") , 0, "gh") Exemple: Insérer- before(("ab", "cd") , 1, "gh") Exemple: Insérer- before(("ab", "cd") , 2, "gh") Exemple: Insérer- before(("ab", "cd") , 5, "gh") |
fn: reverse( (item,item,...) ) | Renvoie l'ordre inversé des éléments spécifiés Exemple: reverse(("ab", "cd" , "ef") ) Exemple: reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | Retourne une séquence d'éléments de la position spécifiée par l'argument de départ et continue du nombre d'éléments spécifiés par l'argument len. Le premier élément se trouve en position 1 Exemple: subsequence(($item1, $item2, $item3,...) , 3) Exemple: subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | Renvoie les éléments dans un ordre dépendant de la mise en œuvre |
Fonctions qui testent la cardinalité des séquences
prénom | La description |
---|---|
fn:zero-or- one( item,item,... ) | Retourne l'argument si elle contient zéro ou un des éléments, sinon il déclenche une erreur |
fn:one-or- more( item,item,... ) | Retourne l'argument si elle contient un ou plusieurs éléments, sinon il déclenche une erreur |
fn:exactly- one( item,item,... ) | Retourne l'argument si elle contient exactement un élément, sinon il déclenche une erreur |
Equals, union, intersection et à l'exception
prénom | La description |
---|---|
fn:deep- equal( param1,param2,collation ) | Renvoie true si param1 et param2 sont profondément égaux entre eux, sinon il retourne faux |
Les fonctions d'agrégation
prénom | La description |
---|---|
fn: count( (item,item,...) ) | Retourne le nombre de nœuds |
fn: avg( (arg,arg,...) ) | Renvoie la moyenne des valeurs des arguments Exemple: avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | Renvoie l'argument qui est plus grand que les autres Exemple: max((1,2,3) ) Exemple: max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | Renvoie l'argument qui est moins que les autres Exemple: min((1,2,3) ) Exemple: min(('a', 'k') ) |
fn: sum( arg,arg,... ) | Renvoie la somme de la valeur numérique de chaque noeud spécifié dans le noeud-ensemble |
Fonctions qui génèrent des séquences
prénom | La description |
---|---|
fn: id( (string,string,...) ,node) | Renvoie une séquence de noeuds d'élément ayant une valeur d'identification égale à la valeur d'un ou de plusieurs des valeurs spécifiées dans l'argument de chaîne |
fn: idref( (string,string,...) ,node) | Renvoie une séquence d'éléments ou noeuds attribut ayant une valeur de IDREF égale à la valeur d'un ou de plusieurs des valeurs spécifiées dans l'argument de chaîne |
fn: doc( URI ) | |
fn:doc- available( URI ) | Renvoie true si la doc() renvoie un nœud de document, sinon il retourne faux |
fn: collection() fn: collection( string ) |
Fonctions de contexte
prénom | La description |
---|---|
fn: position() | Renvoie la position d'index du noeud qui est actuellement en cours de traitement Exemple: // livre [ position() <= 3] |
fn: last() | Retourne le nombre d'éléments dans la liste des nœuds traités Exemple: // livre [ last() ] |
fn:current- dateTime() | Retourne le dateTime courant (with timezone) |
fn:current- date() | Renvoie la date actuelle (with timezone) |
fn:current- time() | Renvoie l'heure actuelle (with timezone) |
fn:implicit- timezone() | Renvoie la valeur du fuseau horaire implicite |
fn:default- collation() | Renvoie la valeur de la collation par défaut |
fn:static-base- uri() | Renvoie la valeur de la base-uri |
Fonctions XSLT
De plus, il y a les fonctions suivantes XSLT intégré:
prénom | La description |
---|---|
current() | Retourne le noeud courant |
document() | Permet d'accéder aux nœuds dans un document XML externe |
element- available() | Teste si l'élément spécifié est pris en charge par le processeur XSLT |
format- number() | Convertit un nombre en une chaîne |
function- available() | Teste si la fonction spécifiée est prise en charge par le processeur XSLT |
generate- id() | Renvoie une valeur de chaîne qui identifie de manière unique un noeud spécifié |
key() | Renvoie un ensemble de noeuds en utilisant l'index spécifié par un <xsl:key> élément |
system- property() | Renvoie la valeur des propriétés du système |
unparsed-entity- uri() | Renvoie l'URI d'une entité non analysée |