Funções XPath, XQuery e XSLT
- Página anterior Resumo XPath
- Próxima página Tutorial de XPath
funções de acesso
Nome | Descrição |
---|---|
fn:node-name(node) | retorna o nome do nó do parâmetro. |
fn:nilled(node) | retorna um valor booleano indicando se o nó do parâmetro foi negado. |
fn:data(item.item,...) | aceita uma sequência de itens e retorna uma sequência de valores atômicos. |
|
retorna o valor da propriedade base-uri do nó atual ou do nó especificado. |
fn:document-uri(node) | retorna o valor da propriedade document-uri do nó especificado. |
funções de erro e rastreamento
Nome | Descrição |
---|---|
|
exemplo: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Erro: O preço é muito alto') resultado: retorna ao ambiente de processamento externo http://example.com/test#toohigh e a string "Erro: O preço é muito alto". |
fn:trace(value,label) | usado para debug de consultas. |
funções de valor
Nome | Descrição |
---|---|
fn:number(arg) |
retorna o valor numérico do parâmetro. O parâmetro pode ser um valor booleano, uma string ou um conjunto de nós. exemplo: number('100') resultado: 100 |
fn:abs(num) |
retorna o valor absoluto do parâmetro. exemplo: abs(3,14) resultado: 3,14 exemplo: abs(-3,14) resultado: 3,14 |
fn:ceiling(num) |
retorna o menor inteiro maior que o parâmetro num. exemplo: ceiling(3,14) Resultado: 4 |
fn:floor(num) |
Retorna o maior inteiro não superior ao parâmetro num. Exemplo: floor(3.14) Resultado: 3 |
fn:round(num) |
Arredonda o parâmetro num para o inteiro mais próximo. Exemplo: round(3.14) Resultado: 3 |
fn:round-half-to-even() |
Exemplo: round-half-to-even(0.5) Resultado: 0 Exemplo: round-half-to-even(1.5) Resultado: 2 Exemplo: round-half-to-even(2.5) Resultado: 2 |
Funções de string
Nome | Descrição |
---|---|
fn:string(arg) |
Retorna o valor de string do argumento. O argumento pode ser um número, valor lógico ou conjunto de nós. Exemplo: string(314) Resultado: "314" |
fn:codepoints-to-string(int,int,...) |
Retorna uma string com base na sequência de código-pontos. Exemplo: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Resultado: 'Thérèse' |
fn:string-to-codepoints(string) |
Retorna uma sequência de código-pontos com base na string. Exemplo: string-to-codepoints("Thérèse") Resultado: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Segundo a comparação de código-ponto Unicode, se o valor de comp1 for igual ao valor de comp2, retorna true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), caso contrário, retorna false. |
|
Se comp1 for menor que comp2, retorna -1. Se comp1 for igual a comp2, retorna 0. Se comp1 for maior que comp2, retorna 1. (Conforme o conjunto de regras de comparação utilizado). Exemplo: compare('ghi', 'ghi') Resultado: 0 |
fn:concat(string,string,...) |
Retorna a concatenação de strings. Exemplo: concat('XPath ','é ','DIVERTIDO!') Resultado: 'XPath é DIVERTIDO!' |
fn:join((string,string,...),sep) |
Use the sep parameter as a separator to return the concatenated string of the string parameter. example: string-join(('We', 'are', 'having', 'fun!'), ' ') result: ' We are having fun! ' example: string-join(('We', 'are', 'having', 'fun!')) result: 'Wearehavingfun!' example: string-join((), 'sep') result: '' |
|
Return a substring of the specified length starting from the start position. The index of the first character is 1. If the len parameter is omitted, return the substring from position start to the end of the string. example: substring('Beatles',1,4) result: 'Beat' example: substring('Beatles',2) result: 'eatles' |
|
Return the length of the specified string. If there is no string parameter, return the length of the string value of the current node. example: string-length('Beatles') result: 7 |
|
Remove the leading and trailing spaces of the specified string, replace all internal white space sequences with one, and then return the result. If there is no string parameter, then process the current node. example: normalize-space(' The XML ') result: 'The XML' |
fn:normalize-unicode() | Execute Unicode normalization. |
fn:upper-case(string) |
Convert the string parameter to uppercase. example: upper-case('The XML') result: 'THE XML' |
fn:lower-case(string) |
Convert the string parameter to lowercase. example: lower-case('The XML') result: 'the xml' |
fn:translate(string1,string2,string3) |
Substitui string2 por string3 dentro de string1. Exemplo: translate('12:30','30','45') Resultado: '12:45' Exemplo: translate('12:30','03','54') Resultado: '12:45' Exemplo: translate('12:30','0123','abcd') Resultado: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Exemplo: escape-uri("http://example.com/test#car", true()) Resultado: "http%3A%2F%2Fexample.com%2Ftest#car" Exemplo: escape-uri("http://example.com/test#car", false()) Resultado: "http://example.com/test#car" Exemplo: escape-uri ("http://example.com/~bébé", false()) Resultado: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Se string1 contiver string2, retorna true, caso contrário, retorna false. Exemplo: contains('XML','XM') Resultado: true |
fn:starts-with(string1,string2) |
Se string1 começar com string2, retorna true, caso contrário, retorna false. Exemplo: starts-with('XML','X') Resultado: true |
fn:ends-with(string1,string2) |
Se string1 terminar com string2, retorna true, caso contrário, retorna false. Exemplo: ends-with('XML','X') resultado: false |
fn:substring-before(string1,string2) |
Retorna a substring que surge antes da ocorrência de string2 dentro de string1. Exemplo: substring-before('12/10','/') Resultado: '12' |
fn:substring-after(string1,string2) |
Retorna a substring que surge após a ocorrência de string2 dentro de string1. Exemplo: substring-after('12/10','/') Resultado: '10' |
fn:matches(string,pattern) |
Se o parâmetro string correspondente ao padrão especificado, retorna true; caso contrário, retorna false. Exemplo: matches("Merano", "ran") Resultado: true |
fn:replace(string,pattern,replace) |
Substitui o padrão especificado pelo parâmetro replace e retorna o resultado. Exemplo: replace("Bella Italia", "l", "*") Resultado: 'Be**a Ita*ia' Exemplo: replace("Bella Italia", "l", "") Resultado: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Exemplo: tokenize("XPath is fun", "\s+") Resultado: ("XPath", "is", "fun") |
Função para anyURI
Nome | Descrição |
---|---|
fn:resolve-uri(relative,base) |
Funções sobre valores booleanos
Nome | Descrição |
---|---|
fn:boolean(arg) | Retorna o valor booleano de um número, string ou conjunto de nós. |
fn:not(arg) |
Primeiro, a função boolean() recupera o valor booleano do parâmetro. Se o valor booleano for false, retorna true; caso contrário, retorna true. Exemplo: not(true()) resultado: false |
fn:true() |
Retorna o valor booleano true. Exemplo: true() Resultado: true |
fn:false() |
Retorna o valor booleano false. Exemplo: false() resultado: false |
Funções sobre duração, data e hora
Função de extração de componentes de data, hora e duração
Nome | Descrição |
---|---|
fn:dateTime(date,time) | Converte o parâmetro em data e hora. |
fn:years-from-duration(datetimedur) | Retorna o valor inteiro do ano do parâmetro, representado pela notação lexical padrão. |
fn:months-from-duration(datetimedur) | Retorna o valor inteiro do mês do parâmetro, representado pela notação lexical padrão. |
fn:days-from-duration(datetimedur) | Retorna o valor inteiro do dia do parâmetro, representado pela notação lexical padrão. |
fn:hours-from-duration(datetimedur) | Retorna o valor inteiro da parte local das horas, representado pela convenção de vocabulário padrão. |
fn:minutes-from-duration(datetimedur) | Retorna o valor inteiro da parte local dos minutos, representado pela convenção de vocabulário padrão. |
fn:seconds-from-duration(datetimedur) | Retorna o valor decimal da parte local dos minutos, representado pela convenção de vocabulário padrão. |
fn:year-from-dateTime(datetime) |
Retorna o valor inteiro da parte local dos anos do parâmetro. Exemplo: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultado: 2005 |
fn:month-from-dateTime(datetime) |
Retorna o valor inteiro da parte local dos meses do parâmetro. Exemplo: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultado: 01 |
fn:day-from-dateTime(datetime) |
Retorna o valor inteiro da parte local dos dias do parâmetro. Exemplo: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultado: 10 |
fn:hours-from-dateTime(datetime) |
Retorna o valor inteiro da parte local das horas do parâmetro. Exemplo: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultado: 12 |
fn:minutes-from-dateTime(datetime) |
Retorna o valor inteiro da parte local dos minutos do parâmetro. Exemplo: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultado: 30 |
fn:seconds-from-dateTime(datetime) |
Retorna o valor decimal de segundos da parte local do parâmetro. Exemplo: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Resultado: 0 |
fn:timezone-from-dateTime(datetime) | Retorna a parte de fuso horário do parâmetro, se existir. |
fn:year-from-date(date) |
Retorna o valor inteiro local do parâmetro. Exemplo: year-from-date(xs:date("2005-04-23")) Resultado: 2005 |
fn:month-from-date(date) |
Retorna o inteiro representando o mês do valor local do parâmetro. Exemplo: month-from-date(xs:date("2005-04-23")) Resultado: 4 |
fn:day-from-date(date) |
Retorna o inteiro representando o dia do valor local do parâmetro. Exemplo: day-from-date(xs:date("2005-04-23")) Resultado: 23 |
fn:timezone-from-date(date) | Retorna a parte de fuso horário do parâmetro, se existir. |
fn:hours-from-time(time) |
Retorna o inteiro representando a parte de horas do valor local do parâmetro. Exemplo: hours-from-time(xs:time("10:22:00")) Resultado: 10 |
fn:minutes-from-time(time) |
Retorna o inteiro representando a parte de minutos do valor local do parâmetro. Exemplo: minutes-from-time(xs:time("10:22:00")) Resultado: 22 |
fn:seconds-from-time(time) |
Retorna o inteiro representando a parte de segundos do valor local do parâmetro. Exemplo: seconds-from-time(xs:time("10:22:00")) Resultado: 0 |
fn:timezone-from-time(time) | Retorna a parte de fuso horário do parâmetro, se existir. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Se o parâmetro timezone estiver vazio, retorna o dateTime sem fuso horário. Caso contrário, retorna o dateTime com fuso horário. |
fn:adjust-date-to-timezone(date,timezone) | Se o parâmetro timezone estiver vazio, retorna a data sem fuso horário. Caso contrário, retorna a data com fuso horário. |
fn:adjust-time-to-timezone(time,timezone) | Se o parâmetro timezone estiver vazio, retorna o tempo sem fuso horário. Caso contrário, retorna o tempo com fuso horário. |
Funções relacionadas a QNames
Nome | Descrição |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Funções de nó
Nome | Descrição |
---|---|
|
Retorna o nome do nó atual ou do primeiro nó do conjunto de nós especificado. |
|
Retorna o nome do nó atual ou do primeiro nó do conjunto de nós especificado, sem o prefixo de espaço de nomes. |
|
Retorna o URI do espaço de nomes do nó atual ou do primeiro nó do conjunto de nós especificado. |
fn:lang(lang) |
Se o idioma do nó atual correspondente ao idioma especificado, retorna true. Exemplo: Lang("en") é verdadeiro para <p xml:lang="en">...</p> Exemplo: Lang("de") é falso para <p xml:lang="en">...</p> |
|
Retorna o nó raiz da árvore de nós do nó atual ou do nó especificado. Geralmente é o nó de documento. |
Funções de sequência
Função geral
Nome | Descrição |
---|---|
fn:index-of((item,item,...),searchitem) |
Retorna a posição do item na sequência de itens igual ao parâmetro searchitem. Exemplo: index-of ((15, 40, 25, 40, 10), 40) Result: (2, 4) Exemplo: index-of (("a", "dog", "and", "a", "duck"), "a") Result (1, 4) Exemplo: index-of ((15, 40, 25, 40, 10), 18) Result: () |
fn:remove((item,item,...),position) |
Retorna uma nova sequência construída pelo parâmetro item, removendo o item especificado pela posição. Exemplo: remove(("ab", "cd", "ef"), 0) Result: ("ab", "cd", "ef") Exemplo: remove(("ab", "cd", "ef"), 1) Result: ("cd", "ef") Exemplo: remove(("ab", "cd", "ef"), 4) Result: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Se o valor do parâmetro for uma sequência vazia, retorna true, caso contrário, retorna false. Exemplo: empty(remove(("ab", "cd"), 1)) resultado: false |
fn:exists(item,item,...) |
se o valor do parâmetro não for uma sequência vazia, retorna true, caso contrário, retorna false. exemplo: exists(remove(("ab"), 1)) resultado: false |
fn:distinct-values((item,item,...),collation) |
retorna os valores únicos diferentes. exemplo: distinct-values((1, 2, 3, 1, 2)) resultado: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
retorna uma nova sequência construída pelo parâmetro item, inserindo o valor do parâmetro inserts na posição especificada pelo parâmetro pos. exemplo: insert-before(("ab", "cd"), 0, "gh") resultado: ("gh", "ab", "cd") exemplo: insert-before(("ab", "cd"), 1, "gh") resultado: ("gh", "ab", "cd") exemplo: insert-before(("ab", "cd"), 2, "gh") resultado: ("ab", "gh", "cd") exemplo: insert-before(("ab", "cd"), 5, "gh") resultado: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
retorna a inversão da ordem dos itens especificados. exemplo: reverse(("ab", "cd", "ef")) resultado: ("ef", "cd", "ab") exemplo: reverse(("ab")) resultado: ("ab") |
fn:subsequence((item,item,...),start,len) |
retorna a sequência de itens especificada pelo parâmetro start, cujo comprimento é especificado pelo parâmetro len. A posição do primeiro item é 1. exemplo: subsequence(($item1, $item2, $item3,...), 3) resultado: ($item3, ...) exemplo: subsequence(($item1, $item2, $item3, ...), 2, 2) resultado: ($item2, $item3) |
fn:unordered((item,item,...)) | retorna os itens de acordo com a ordem determinada pela implementação. |
função de teste da capacidade da sequência
Nome | Descrição |
---|---|
fn:zero-or-one(item,item,...) | Se o parâmetro contiver zero ou um item, retorna o parâmetro, caso contrário, gera um erro. |
fn:one-or-more(item,item,...) | Se o parâmetro contiver um ou mais itens, retorna o parâmetro, caso contrário, gera um erro. |
fn:exactly-one(item,item,...) | Se o parâmetro contiver um item, retorna o parâmetro, caso contrário, gera um erro. |
Igual, União, Interseção e Exceto
Nome | Descrição |
---|---|
fn:deep-equal(param1,param2,collation) | Se param1 e param2 forem iguais entre si (deep-equal), retorna true, caso contrário, retorna false. |
Função de total
Nome | Descrição |
---|---|
fn:count((item,item,...)) | Retorna o número de nós. |
fn:avg((arg,arg,...)) |
Retorna a média dos valores dos argumentos. Exemplo: avg((1,2,3)) Resultado: 2 |
fn:max((arg,arg,...)) |
Retorna o argumento que é maior que os outros parâmetros. Exemplo: max((1,2,3)) Resultado: 3 Exemplo: max(('a', 'k')) Resultado: 'k' |
fn:min((arg,arg,...)) |
Retorna o argumento que é menor que os outros parâmetros. Exemplo: min((1,2,3)) Resultado: 1 Exemplo: min(('a', 'k')) Resultado: 'a' |
fn:sum(arg,arg,...) | Retorna a soma dos valores de cada nó no conjunto de nós especificado. |
Função que gera sequência
Nome | Descrição |
---|---|
fn:id((string,string,...),node) | Retorna uma sequência de nós de elemento que têm um valor ID igual ao valor de um ou mais dos valores especificados na string argumento |
fn:idref((string,string,...),node) | Retorna uma sequência de nós de elemento ou atributo que têm um valor IDREF igual ao valor de um ou mais dos valores especificados na string argumento |
fn:doc(URI) | |
fn:doc-available(URI) | Se a função doc() retornar um nó de documento, retorna true, caso contrário, retorna false. |
|
Função de contexto
Nome | Descrição |
---|---|
fn:position() |
Retorna a posição do nó atualmente processado. Exemplo: //book[position()<=3] Resultado: Escolhe os três primeiros elementos book |
fn:last() |
Retorna o número de itens na lista de nós processados. Exemplo: //book[last()] Resultado: Escolhe o último elemento book |
fn:current-dateTime() | Retorna o dateTime atual (com fuso horário). |
fn:current-date() | Retorna a data atual (com fuso horário). |
fn:current-time() | Retorna o tempo atual (com fuso horário). |
fn:implicit-timezone() | Retorna o valor da zona horária implícita. |
fn:default-collation() | Retorna o valor da comparação padrão. |
fn:static-base-uri() | Retorna o valor de base-uri. |
- Página anterior Resumo XPath
- Próxima página Tutorial de XPath