Fonctions XPath, XQuery et XSLT
XPath, .
Manuel de référence des fonctions
Accès |
|
|
Nom | Description |
---|---|
fn:node-name(node) | Renvoie le nom du nœud du paramètre. |
fn:nillad(node) | Renvoie une valeur booléenne indiquant s'il faut rejeter le nœud de paramètre. |
fn:data(item.item,...) | Accepte une séquence d'éléments et renvoie une séquence de valeurs atomiques. |
| Renvoie la valeur de l'attribut base-uri du nœud actuel ou du nœud spécifié. |
fn:document-uri(node) | Renvoie la valeur de l'attribut document-uri du nœud spécifié. |
Nom | Description |
---|---|
| < 🎜>Exemple : error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is trop high')<🎜><🎜>Résultat : traiter l'environnement en externe Renvoie http://example.com/test#toohigh et la chaîne "Erreur : le prix est trop élevé". <🎜> |
fn:trace(value,label) | est utilisé pour déboguer les requêtes. |
Fonctions liées aux valeurs numériques
名称 | 说明 |
---|---|
fn:number(arg) | 返回参数的数值。参数可以是布尔值、字符串或节点集。 例子:number('100') 结果:100 |
fn:abs(num) | 返回参数的绝对值。 例子:abs(3.14) 结果:3.14 例子:abs(-3.14) 结果:3.14 |
fn:ceiling(num) | 返回大于 num 参数的最小整数。 例子:ceiling(3.14) 结果:4 |
fn:floor(num) | 返回不大于 num 参数的最大整数。 例子:floor(3.14) 结果:3 |
fn:round(num) | 把 num 参数舍入为最接近的整数。 例子:round(3.14) 结果:3 |
fn:round-half-to-even() | 例子:round-half-to-even(0.5) 结果:0 例子:round-half-to-even(1.5) 结果:2 例子:round-half-to-even(2.5) 结果:2 |
Fonctions liées aux chaînes
Nom | Description |
---|---|
fn : string(arg) | Renvoie la valeur de chaîne de l'argument. Les paramètres peuvent être des nombres, des valeurs logiques ou des ensembles de nœuds. Exemple : string(314) Résultat : "314" |
fn:codepoints-to-string(int,int, ...) | Renvoie une chaîne basée sur une séquence de points de code. Exemple : points de code vers chaîne (84, 104, 233, 114, 232, 115, 101) Résultat : 'Thérèse' |
fn:string-to-codepoints(string) | Renvoie une séquence de points de code basée sur une chaîne. Exemple : string-to-codepoints("Thérèse") Résultats : 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Selon la comparaison des points de code Unicode, si la valeur de comp1 est égale à la valeur de comp2, alors true est renvoyé. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), sinon false est renvoyé. |
| Si comp1 est inférieur à comp2, renvoie -1. Si comp1 est égal à comp2, 0 est renvoyé. Si comp1 est supérieur à comp2, renvoie 1. (En fonction des règles de comparaison utilisées). Exemple : compare('ghi', 'ghi') Résultat : 0 |
fn:concat(string,string, ...) | Renvoie la concaténation des chaînes. Exemple : concat('XPath ','is ','FUN!') Résultat : 'XPath is FUN!' |
fn:string-join((string,string,...),sep) | Utilisez le paramètre sep comme séparateur pour renvoyer la chaîne une fois les paramètres de chaîne épissés. Exemple : string-join(('We', 'are', 'have', 'fun!'), ' ') Résultat : 'Nous nous amusons' Exemple : string-join(('We', 'are', 'have', 'fun!')) Résultat : 'Wearehavingfun!' Exemple : string-join((), 'sep') Résultat : '' |
| Renvoie la valeur spécifiée à partir du position de départ La longueur de la sous-chaîne. L'index du premier caractère est 1. Si l'argument len est omis, la sous-chaîne depuis le début jusqu'à la fin de la chaîne est renvoyée. Exemple : substring('Beatles',1,4) Résultat : 'Beat' Exemple : substring('Beatles',2) Résultat : 'eatles' |
| Renvoie la longueur de la chaîne spécifiée. S'il n'y a pas d'argument de chaîne, renvoie la longueur de la valeur de chaîne du nœud actuel. Exemple : string-length('Beatles') Résultat : 7 |
| Supprimez les espaces au début et à la fin de la chaîne spécifiée, remplacez toutes les séquences d'espaces internes par un, puis renvoyez le résultat. S'il n'y a pas de paramètre de chaîne, le nœud actuel est traité. Exemple : normalize-space('Le XML') Résultat : 'Le XML' |
fn:normalize-unicode( ) | Effectuer la normalisation Unicode. |
fn:upper-case(string) | Convertissez le paramètre de chaîne en majuscule. Exemple : majuscule('Le XML') Résultat : 'LE XML' |
fn:minuscule( string) | Convertissez le paramètre de chaîne en minuscules. Exemple : minuscule('Le XML') Résultat : 'le xml' |
fn:translate(string1, string2,string3) | Remplacez string2 dans string1 par string3. Exemple : traduire('12:30','30','45') Résultat : '12:45' Exemple : traduire('12: 30','03','54') Résultat : '12:45' Exemple : traduire('12:30','0123','abcd') Résultat : 'bc:da' |
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()) Résultat : "http://example.com/test#car" Exemple : escape-uri ("http://example.com/~bébé", false()) Résultat : "http://example.com/~b%C3%A9b%C3% A9" |
fn:contains(string1,string2) | Si string1 contient string2, renvoie true, sinon renvoie false. Exemple : contient('XML','XM') Résultat : vrai |
fn:starts-with(string1, string2) | Si string1 commence par string2, renvoie vrai, sinon renvoie faux. Exemple : commence par('XML','X') Résultat : vrai |
fn:se termine par( string1,string2) | Si string1 se termine par string2, renvoie true, sinon renvoie false. Exemple : se termine par('XML','X') Résultat : faux |
fn:substring-before( string1,string2) | Renvoie la sous-chaîne de string2 avant qu'elle n'apparaisse dans string1. Exemple : substring-before('12/10','/') Résultat : '12' |
fn : substring-after(string1,string2) | Renvoie la sous-chaîne après l'apparition de string2 dans string1. Exemple : substring-after('12/10','/') Résultat : '10' |
fn : matches(string,pattern) | Renvoie vrai si le paramètre de chaîne correspond au modèle spécifié, sinon renvoie faux. Exemple : matches("Merano", "ran") Résultat : vrai |
fn:replace(string,pattern,replace) | Remplacez le modèle spécifié par le paramètre de remplacement, et Renvoie les résultats. Exemple : replace("Bella Italia", "l", "*") Résultat : 'Be**a Ita*ia' Exemple : replace( "Bella Italia", "l", "") Résultat : 'Bea Itaia' |
fn:tokenize(string,pattern) | Exemple : tokenize("XPath is fun", "s+") Résultat : ("XPath", "is", "fun") |
Fonction pour anyURI
Nom | Description |
---|
名称 | 说明 |
---|---|
fn:resolve-uri(relative,base) |
fn:resolve-uri(relative,base)
名称 | 说明 |
---|---|
fn:boolean(arg) | 返回数字、字符串或节点集的布尔值。 |
fn:not(arg) | 首先通过 boolean() 函数把参数还原为一个布尔值。如果该布尔值为 false,则返回 true,否则返回 true。 例子:not(true()) 结果:false |
fn:true() | 返回布尔值 true。 例子:true() 结果:true |
fn:false() | 返回布尔值 false。 例子:false() 结果:false |
Nom | Description | <🎜><🎜><🎜>fn:boolean(arg)<🎜><🎜>Retourner un numéro , une chaîne ou une valeur booléenne pour un ensemble de nœuds. <🎜><🎜><🎜><🎜>fn:not(arg)<🎜><🎜><🎜>Tout d'abord, utilisez la fonction boolean() pour restaurer le paramètre à une valeur booléenne. Renvoie vrai si la valeur booléenne est fausse, vrai sinon. <🎜><🎜>Exemple : not(true())<🎜><🎜>Résultat : false<🎜><🎜><🎜><🎜><🎜>fn:true()<🎜><🎜>< 🎜>Renvoie le booléen vrai. <🎜><🎜>Exemple : true()<🎜><🎜>Résultat : true<🎜><🎜><🎜><🎜><🎜>fn:false()<🎜><🎜><🎜> Retour booléen faux. <🎜><🎜>Exemple : false()<🎜><🎜>Résultat : false<🎜><🎜><🎜><🎜><🎜>
---|
Nom | Description |
---|---|
fn:dateTime(date,time) | Convertissez le paramètre en date et heure. |
fn:years-from-duration(datetimedur) | Renvoie l'entier de la partie année de la valeur de l'argument, exprimé en notation lexicale standard. |
fn:months-from-duration(datetimedur) | Renvoie l'entier de la partie mois de la valeur du paramètre, exprimé en notation lexicale standard. |
fn:days-from-duration(datetimedur) | Renvoie l'entier de la partie jours de la valeur de l'argument, exprimé en notation lexicale standard. |
fn:hours-from-duration(datetimedur) | Renvoie la partie heure de la valeur du paramètre sous forme d'entier, exprimée en notation lexicale standard. |
fn:minutes-from-duration(datetimedur) | Renvoie la partie minutes de la valeur du paramètre sous forme d'entier, exprimée en notation lexicale standard. |
fn:seconds-from-duration(datetimedur) | Renvoie la partie décimale de la partie minutes de la valeur du paramètre, exprimée en notation lexicale standard. |
fn:year-from-dateTime(datetime) | Renvoie la partie entière de l'année de la valeur locale du paramètre. Exemple : année à partir de la dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 2005 |
fn:month-from-dateTime(datetime) | Renvoie l'entier de la partie mois de la valeur locale du paramètre. Exemple : month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 01 |
fn:day-from-dateTime(datetime) | Renvoie l'entier de la partie jour de la valeur locale du paramètre. Exemple : day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 10 |
fn:hours-from-dateTime(datetime) | Renvoie la partie heure de la valeur locale du paramètre sous forme d'entier. Exemple : hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 12 |
fn:minutes-from-dateTime(datetime) | Renvoie l'entier de la partie minutes de la valeur locale du paramètre. Exemple : minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 30 |
fn:seconds-from-dateTime(datetime) | Renvoie le nombre décimal de la partie secondes de la valeur locale du paramètre. Exemple : secondes à partir de la dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Résultat : 0 |
fn:timezone-from-dateTime(datetime) | Renvoie la partie fuseau horaire du paramètre, le cas échéant. |
fn:year-from-date(date) | Renvoie l'entier représentant l'année dans la valeur locale du paramètre. Exemple : année à partir de la date(xs:date("2005-04-23")) Résultat : 2005 |
fn:month-from-date(date) | Renvoie l'entier représentant le mois dans la valeur locale du paramètre. Exemple : mois à partir de la date(xs:date("2005-04-23")) Résultat : 4 |
fn : day-from-date(date) | Renvoie l'entier représentant le jour dans la valeur locale du paramètre. Exemple : jour à partir de la date(xs:date("2005-04-23")) Résultat : 23 |
fn:timezone-from-date(date) | Renvoie la partie fuseau horaire du paramètre, si elle est présente. |
fn:hours-from-time(time) | Renvoie l'entier représentant la partie heures de la valeur locale du paramètre. Exemple : heures à partir de l'heure(xs:time("10:22:00")) Résultat : 10 |
fn:minutes-from-time(time) | Renvoie l'entier représentant la partie minutes de la valeur locale du paramètre. Exemple : minutes à partir du temps(xs:time("10:22:00")) Résultat : 22 |
fn:seconds-from-time(time) | Renvoie l'entier représentant la partie secondes dans la valeur locale du paramètre. Exemple : secondes à partir du temps(xs:time("10:22:00")) Résultat : 0 |
fn:timezone-from-time(time) | Renvoie la partie fuseau horaire du paramètre, si elle est présente. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Si le paramètre timezone est vide, renvoie dateTime sans fuseau horaire. Sinon, une dateTime avec le fuseau horaire est renvoyée. |
fn:adjust-date-to-timezone(date,timezone) | Si le paramètre timezone est vide, renvoie la date sans fuseau horaire. Sinon, une date avec le fuseau horaire est renvoyée. |
fn:adjust-time-to-timezone(time,timezone) | Si le paramètre timezone est vide, l'heure sans fuseau horaire est renvoyée. Sinon, renvoie l'heure avec le fuseau horaire. |
Fonctions liées aux QNames
Nom | 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
名称 | 说明 |
---|---|
| 返回当前节点的名称或指定节点集中的第一个节点。 |
| 返回当前节点的名称或指定节点集中的第一个节点 - 不带有命名空间前缀。 |
| 返回当前节点或指定节点集中第一个节点的命名空间 URI。 |
fn:lang(lang) | 如果当前节点的语言匹配指定的语言,则返回 true。 例子:Lang("en") is true for <p xml:lang="en">...</p> 例子:Lang("de") is false for <p xml:lang="en">...</p> |
| 返回当前节点或指定的节点所属的节点树的根节点。通常是文档节点。 |
Fonctions liées aux séquences
Fonctions générales
Nom | Description |
---|---|
fn:index-of((item,item,...),searchitem) | Renvoie la séquence d'éléments qui est égale au paramètre searchitem Emplacement. Exemple : index-de ((15, 40, 25, 40, 10), 40) Résultat : (2, 4) Exemple : index-of (("a", "dog", "and", "a", "duck"), "a") Résultat (1, 4) Exemple : index-de ((15, 40, 25, 40, 10), 18) Résultat : () |
fn:supprimer((élément,élément,. ..),position) | Renvoie une nouvelle séquence construite à partir du paramètre item - tout en supprimant l'élément spécifié par le paramètre position. Exemple : supprimer(("ab", "cd", "ef"), 0) Résultat : ("ab", "cd", "ef") Exemple : supprimer(("ab", "cd", "ef"), 1) Résultat : ("cd", "ef") Exemple : supprimer( ("ab", "cd", "ef"), 4) Résultat : ("ab", "cd", "ef") |
fn:empty(item,item,...) | Si la valeur du paramètre est une séquence vide, renvoie vrai, sinon renvoie faux. Exemple : vide(supprimer(("ab", "cd"), 1)) Résultat : faux |
fn :exists(item,item,...) | Si la valeur du paramètre n'est pas une séquence vide, renvoie true, sinon renvoie false. Exemple : exist(remove(("ab"), 1)) Résultat : false |
fn:distinct-values ((item,item,...),collation) | Renvoie la seule valeur distincte. Exemple : valeurs distinctes((1, 2, 3, 1, 2)) Résultat : (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) | Renvoie une nouvelle séquence construite par le paramètre item - lors de l'insertion d'insertions à la position spécifiée par le paramètre pos La valeur du paramètre. Exemple : insert-before(("ab", "cd"), 0, "gh") Résultat : ("gh", "ab", "cd") Exemple : insert-before(("ab", "cd"), 1, "gh") Résultat : ("gh", "ab", "cd") Exemple : insert-before(("ab", "cd"), 2, "gh") Résultat : ("ab", "gh", "cd") Exemple : insert-before(("ab", "cd"), 5, "gh") Résultat : ("ab", "cd", "gh") |
fn:reverse((item,item,...)) | Renvoie l'ordre inverse de l'élément spécifié. Exemple : reverse(("ab", "cd", "ef")) Résultat : ("ef", "cd", "ab") Exemple : reverse(("ab")) Résultat : ("ab") |
fn:subsequence((item,item,...),start,len) | Renvoie la position spécifiée par le paramètre de début et renvoie le item séquence, séquence La longueur de est spécifiée par le paramètre len. La position du premier élément est 1. Exemple : sous-séquence(($item1, $item2, $item3,...), 3) Résultat : ($item3,...) Exemple :subsequence(($item1, $item2, $item3, ...), 2, 2) Résultat : ($item2, $item3) |
fn:unordered((item,item,...)) | Renvoyer les articles dans un ordre déterminé par l'implémentation. |
Fonction pour tester la capacité de séquence
Nom | Description |
---|
名称 | 说明 |
---|---|
fn:zero-or-one(item,item,...) | 如果参数包含零个或一个项目,则返回参数,否则生成错误。 |
fn:one-or-more(item,item,...) | 如果参数包含一个或多个项目,则返回参数,否则生成错误。 |
fn:exactly-one(item,item,...) | 如果参数包含一个项目,则返回参数,否则生成错误。 |
fn:zéro-ou-un(élément,élément ,...)
Renvoie le paramètre s'il contient zéro ou un élément, sinon génère une erreur.名称 | 说明 |
---|---|
fn:deep-equal(param1,param2,collation) | 如果 param1 和 param2 与彼此相等(deep-equal),则返回 true,否则返回 false。 |
fn:one-or-more(item,item,...)
名称 | 说明 |
---|---|
fn:count((item,item,...)) | 返回节点的数量。 |
fn:avg((arg,arg,...)) | 返回参数值的平均数。 例子:avg((1,2,3)) 结果:2 |
fn:max((arg,arg,...)) | 返回大于其它参数的参数。 例子:max((1,2,3)) 结果:3 例子:max(('a', 'k')) 结果:'k' |
fn:min((arg,arg,...)) | 返回小于其它参数的参数。 例子:min((1,2,3)) 结果:1 例子:min(('a', 'k')) 结果:'a' |
fn:sum(arg,arg,...) | 返回指定节点集中每个节点的数值的总和。 |
Nom | Description | <🎜><🎜><🎜>fn:deep-equal(param1,param2 ,collation)<🎜><🎜>Renvoie vrai si param1 et param2 sont égaux l'un à l'autre (deep-equal), sinon renvoie faux. <🎜><🎜><🎜><🎜><🎜><🎜>Fonction totale<🎜><🎜>
---|
Nom | Description | <🎜><🎜><🎜>fn:count((item,item,...)) <🎜><🎜>Renvoie le nombre de nœuds. <🎜><🎜><🎜><🎜>fn:avg((arg,arg,...))<🎜><🎜>Renvoie la moyenne des valeurs des paramètres. Exemple : moyenne((1,2,3)) Résultat : 2<🎜><🎜><🎜><🎜>fn:max((arg,arg,...))<🎜><🎜>Renvoie les paramètres supérieurs aux autres paramètres. Exemple : max((1,2,3)) Résultat : 3 Exemple : max(('a', 'k')) Résultat : 'k'<🎜><🎜><🎜><🎜>fn:min((arg,arg,...))<🎜><🎜>Renvoie des paramètres plus petits que les autres paramètres. Exemple : min((1,2,3)) Résultat : 1 Exemple : min(('a', 'k')) Résultat : 'a'<🎜><🎜><🎜><🎜>fn:sum(arg,arg,...)<🎜><🎜>Renvoie la somme des valeurs de chaque nœud dans le nœud spécifié ensemble. <🎜><🎜><🎜><🎜>
---|
名称 | 说明 |
---|---|
fn:id((string,string,...),node) | Returns a sequence of element nodes that have an ID value equal to the value of one or more of the values specified in the string argument |
fn:idref((string,string,...),node) | Returns a sequence of element or attribute nodes that have an IDREF value equal to the value of one or more of the values specified in the string argument |
fn:doc(URI) | |
fn:doc-available(URI) | 如果 doc() 函数返回文档节点,则返回 true,否则返回 false。 |
|
Fonction contextuelle
名称 | 说明 |
---|---|
fn:position() | 返回当前正在被处理的节点的 index 位置。 例子://book[position()<=3] 结果:选择前三个 book 元素 |
fn:last() | 返回在被处理的节点列表中的项目数目。 例子://book[last()] 结果:选择最后一个 book 元素 |
fn:current-dateTime() | 返回当前的 dateTime(带有时区)。 |
fn:current-date() | 返回当前的日期(带有时区)。 |
fn:current-time() | 返回当前的时间(带有时区)。 |
fn:implicit-timezone() | 返回隐式时区的值。 |
fn:default-collation() | 返回默认对照的值。 |
fn:static-base-uri() | 返回 base-uri 的值。 |