XSLT 2.0, XPath 2.0 e XQuery 1.0, compartilhar a mesma biblioteca de funções.
funções de Referência
O prefixo padrão para o namespace função é fn:
A URI do namespace função é: http://www.w3.org/2005/xpath-functions
Tip: As funções são muitas vezes chamado com o fn: prefixo, como fn: string() . No entanto, desde fn: é o prefixo padrão do espaço de nomes, os nomes das funções não precisam ser prefixado quando chamado.
funções de acesso
Nome | Descrição |
---|---|
fn:node- name( node ) | Retorna o nome do nó do nó de argumento |
fn: nilled( node ) | Retorna um valor booleano que indica se o nó argumento é nilled |
fn: data( item.item,... ) | Leva uma seqüência de itens e retorna uma seqüência de valores atômicos |
fn:base- uri() fn:base- uri( node ) | Retorna o valor da propriedade base-uri do nó atual ou especificado |
fn:document- uri( node ) | Retorna o valor da propriedade documento-uri para o nó especificado |
Funções de erro e rastreamento
Nome | Descrição |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | Exemplo: error(fn:QName('http://example.com/test', 'err:toohigh') , 'Erro: O preço é alto demais') Resultado da pesquisa: Devoluções http://example.com/test#toohigh ea cadeia "Error: Price is too high" para o meio ambiente de processamento externo |
fn: trace( value,label ) | Usado para consultas de depuração |
Funções em valores numéricos
Nome | Descrição |
---|---|
fn: number( arg ) | Retorna o valor numérico do argumento. O argumento poderia ser um boolean, string, ou conjunto de nós Exemplo: number('100') |
fn: abs( num ) | Retorna o valor absoluto do argumento Exemplo: abs(3.14) Exemplo: abs(-3.14) |
fn: ceiling( num ) | Retorna o menor inteiro que é maior do que o argumento número Exemplo: ceiling(3.14) |
fn: floor( num ) | Retorna o maior inteiro que não é maior do que o argumento número Exemplo: floor(3.14) |
fn: round( num ) | Arredonda o argumento número para o inteiro mais próximo Exemplo: round(3.14) |
fn:round-half-to- even() | Exemplo: rodada meia-a- even(0.5) Resultado: 0 Exemplo: rodada meia-a- even(1.5) Exemplo: rodada meia-a- even(2.5) |
Funções em cordas
Nome | Descrição |
---|---|
fn: string( arg ) | Retorna o valor da cadeia do argumento. O argumento poderia ser um número, booleano, ou nó-set Exemplo: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Cria uma cadeia de uma seqüência de pontos de código Unicode Padrão Exemplo: Codepoints-a- string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | Retorna a seqüência de Unicode pontos de código padrão de uma string Exemplo: cadeia-a-ponto codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | Retorna true se o valor de comp1 é igual ao valor de comp2, de acordo com o ponto de agrupamento de código Unicode (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , caso contrário, ele retorna false |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | Retorna -1 se comp1 é inferior a comp2, 0 se comp1 é igual a comp2, ou um se comp1 é maior do que comp2 (de acordo com as regras do agrupamento que é usada) Exemplo: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | Retorna a concatenação das cordas Exemplo: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | Retorna uma string criado por concatenando os argumentos de seqüência e usando o argumento de setembro como o separador Exemplo: String join(('We', 'are', 'having', 'fun!') , ' ') Exemplo: String join(('We', 'are', 'having', 'fun!') ) Exemplo: string- join(() , 'setembro') |
fn: substring( string,start,len ) fn: substring( string,start ) | Retorna a substring da posição inicial para o comprimento especificado. Índice do primeiro caractere é de 1. Se length for omitido ele retorna o substring da posição inicial até o fim Exemplo: substring('Beatles',1,4) Exemplo: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | Retorna o comprimento da seqüência especificada. Se não houver nenhum argumento string que retorna o comprimento do valor de cadeia do nó atual Exemplo: string- length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | Remove ataque e de fuga a partir de espaços a sequência especificada, e substitui todas as sequências internas do espaço em branco com uma e devolve o resultado. Se não houver nenhum argumento string ele faz o mesmo no nó atual Exemplo: normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | Converte o argumento string para maiúsculas Exemplo: maiúsculas case('The XML') |
fn:lower- case( string ) | Converte o argumento string para minúsculas Exemplo: lower- case('The XML') |
fn: translate( string1,string2,string3 ) | Converte string1 trocando os caracteres em string2 com os personagens em string3 Exemplo: translate('12:30','30','45') Exemplo: translate('12:30','03','54') Exemplo: translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | Exemplo: escapar- uri("http://example.com/test#car", true() ) Resultado: "http%3A%2F%2Fexample.com%2Ftest#car" Exemplo: escapar- uri("http://example.com/test#car", false() ) Exemplo: escapar-uri ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | Retorna verdadeiro se string1 contém string2, caso contrário ele retorna falso Exemplo: contains('XML','XM') |
fn:starts- with( string1,string2 ) | Retorna verdadeiro se string1 começa com string2, caso contrário ele retorna falso Exemplo: starts- with('XML','X') |
fn:ends- with( string1,string2 ) | Retorna verdadeiro se string1 termina com string2, caso contrário ele retorna falso Exemplo: ends- with('XML','X') |
fn:substring- before( string1,string2 ) | Retorna o início da string1 antes string2 ocorre na mesma Exemplo: substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | Retorna o resto de string1 depois string2 ocorre na mesma Exemplo: substring- after('12/10','/') |
fn: matches( string,pattern ) | Retorna true se o argumento string corresponde ao padrão, caso contrário, ele retorna false Exemplo: matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | Retorna uma string que é criado, substituindo o padrão fornecido com o argumento de substituir Exemplo: replace("Bella Italia", "l" , "*") Exemplo: replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | Exemplo: tokenize("XPath is fun", "\s+") Resultado: ("XPath", "is" , "fun") |
Funções para anyURI
Nome | Descrição |
---|---|
fn:resolve- uri( relative,base ) |
Funções em valores booleanos
Nome | Descrição |
---|---|
fn: boolean( arg ) | Retorna um valor booleano para um número, corda, ou nó-set |
fn: not( arg ) | O argumento é primeiro reduzido para um valor booleano, aplicando o boolean() função. Retorna TRUE se o valor booleano falso, e falso se o valor booleano é verdadeiro Exemplo: not(true() ) |
fn: true() | Retorna o valor booleano verdadeiro Exemplo: true() |
fn: false() | Retorna o valor booleano falso Exemplo: false() |
Funções em durações, datas e horários
Funções de extração de componentes sobre durações, datas e horários
Nome | Descrição |
---|---|
fn: dateTime( date,time ) | Converte os argumentos para uma data e uma hora |
fn:years-from- duration( datetimedur ) | Retorna um inteiro que representa o componente anos na representação lexical canônica do valor do argumento |
fn:months-from- duration( datetimedur ) | Retorna um inteiro que representa o componente meses na representação lexical canônica do valor do argumento |
fn:days-from- duration( datetimedur ) | Retorna um número inteiro que representa o componente dias na representação lexical canónica do valor do argumento |
fn:hours-from- duration( datetimedur ) | Retorna um número inteiro que representa o componente horas na representação lexical canónica do valor do argumento |
fn:minutes-from- duration( datetimedur ) | Retorna um número inteiro que representa o componente minutos na representação lexical canónica do valor do argumento |
fn:seconds-from- duration( datetimedur ) | Retorna um decimal que representa o componente segundos na representação lexical canônica do valor do argumento |
fn:year-from- dateTime( datetime ) | Retorna um inteiro que representa o componente ano no valor localizado do argumento Exemplo: de- anos dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | Retorna um inteiro que representa o componente mês no valor localizado do argumento Exemplo: mês-de- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | Retorna um inteiro que representa o componente dia no valor localizado do argumento Exemplo: dia-de- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | Retorna um número inteiro que representa o componente horas no valor localizada do argumento Exemplo: hora-de- dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | Retorna um número inteiro que representa o componente minutos no valor localizada do argumento Exemplo:-de- minutos dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | Retorna um decimal que representa o componente segundos no valor localizada do argumento Exemplo: segundo-de- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | Retorna o componente de fuso horário do argumento se houver |
fn:year-from- date( date ) | Retorna um inteiro que representa o ano no valor localizada do argumento Exemplo: anos de- date(xs:date("2005-04-23") ) |
fn:month-from- date( date ) | Retorna um inteiro que representa o mês no valor localizada do argumento Exemplo: mês-de- date(xs:date("2005-04-23") ) |
fn:day-from- date( date ) | Retorna um inteiro que representa o dia no valor localizada do argumento Exemplo: dia-de- date(xs:date("2005-04-23") ) |
fn:timezone-from- date( date ) | Retorna o componente de fuso horário do argumento se houver |
fn:hours-from- time( time ) | Retorna um número inteiro que representa o componente horas no valor localizada do argumento Exemplo: hora-de- time(xs:time("10:22:00") ) |
fn:minutes-from- time( time ) | Retorna um número inteiro que representa o componente minutos no valor localizada do argumento Exemplo:-de- minutos time(xs:time("10:22:00") ) |
fn:seconds-from- time( time ) | Retorna um inteiro que representa o componente segundos no valor localizada do argumento Exemplo: segundo-de- time(xs:time("10:22:00") ) |
fn:timezone-from- time( time ) | Retorna o componente de fuso horário do argumento se houver |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | Se o argumento do fuso horário é vazio, ele retorna um DateTime sem um fuso horário. Caso contrário, ele retorna um dateTime com um fuso horário |
fn:adjust-date-to- timezone( date ,timezone ) | Se o argumento do fuso horário é vazio, ele retorna uma data sem fuso horário. Caso contrário, ele retorna uma data com um fuso horário |
fn:adjust-time-to- timezone( time ,timezone ) | Se o argumento do fuso horário é vazio, ele retorna um tempo sem um fuso horário. Caso contrário, ele retorna um tempo com um fuso horário |
Funções relacionadas com 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 em Nodes
Nome | Descrição |
---|---|
fn: name() fn: name( nodeset ) | Retorna o nome do nó atual ou o primeiro nó no conjunto de nós especificado |
fn:local- name() fn:local- name( nodeset ) | Retorna o nome do nó atual ou o primeiro nó no conjunto de nós especificado - sem o prefixo namespace |
fn:namespace- uri() fn:namespace- uri( nodeset ) | Retorna o namespace URI do nó atual ou o primeiro nó no conjunto de nós especificado |
fn: lang( lang ) | Retorna true se o idioma do nó atual corresponde ao idioma do idioma especificado Exemplo: Lang("en") é verdadeira para Exemplo: Lang("de") é falsa para |
fn: root() fn: root( node ) | Retorna a raiz da árvore para que o nó atual ou o especificado pertence. Isso geralmente será um nó de documento |
Funções em seqüências
Funções Gerais em seqüências
Nome | Descrição |
---|---|
fn:index- of( (item,item,...) ,searchitem) | Retorna as posições dentro da seqüência de itens que estão igual ao argumento searchitem Exemplo: índice-de ((15, 40, 25, 40, 10) , 40) Exemplo: índice-de (("a", "dog" , "and" , "a" , "duck") , "uma") Exemplo: índice-de ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | Devolve uma nova sequência construída a partir do valor dos argumentos de item - com o item especificado pelo argumento posição removido Exemplo: remove(("ab", "cd" , "ef") , 0) Exemplo: remove(("ab", "cd" , "ef") , 1) Exemplo: remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | Retorna true se o valor dos argumentos é uma seqüência vazia, caso contrário ele retorna falso Exemplo: empty(remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | Retorna true se o valor dos argumentos NÃO É uma seqüência vazia, caso contrário ele retorna falso Exemplo: exists(remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | Retorna apenas distintas (different) valores Exemplo: distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | Devolve uma nova sequência construída a partir do valor dos argumentos de item - com o valor do argumento inserções inserido na posição especificada pelo argumento pos Exemplo: Insert- before(("ab", "cd") , 0, "GH") Exemplo: Insert- before(("ab", "cd") , 1, "GH") Exemplo: Insert- before(("ab", "cd") , 2, "GH") Exemplo: Insert- before(("ab", "cd") , 5, "GH") |
fn: reverse( (item,item,...) ) | Retorna a ordem inversa dos itens especificados Exemplo: reverse(("ab", "cd" , "ef") ) Exemplo: reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | Retorna uma seqüência de itens a partir da posição especificada pelo argumento de início e continuando para o número de itens especificados pelo argumento len. O primeiro ponto é localizado na posição 1 Exemplo: subsequence(($item1, $item2, $item3,...) , 3) Exemplo: subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | Retorna os itens em uma ordem dependente da implementação |
Funções que testam a Cardinality de Seqüências
Nome | Descrição |
---|---|
fn:zero-or- one( item,item,... ) | Retorna o argumento se ele contém um ou nenhum item, caso contrário, gera um erro |
fn:one-or- more( item,item,... ) | Retorna o argumento se ele contém um ou mais itens, caso contrário, gera um erro |
fn:exactly- one( item,item,... ) | Retorna o argumento se ele contém exatamente um item, caso contrário, gera um erro |
Igual, União, interseção e Exceto
Nome | Descrição |
---|---|
fn:deep- equal( param1,param2,collation ) | Retorna true se param1 e param2 estão profundamente iguais uns aos outros, caso contrário ele retorna falso |
Funções de agregação
Nome | Descrição |
---|---|
fn: count( (item,item,...) ) | Retorna a contagem de nós |
fn: avg( (arg,arg,...) ) | Retorna a média dos valores de argumento Exemplo: avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | Retorna o argumento de que é maior do que os outros Exemplo: max((1,2,3) ) Exemplo: max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | Retorna o argumento de que é menos do que os outros Exemplo: min((1,2,3) ) Exemplo: min(('a', 'k') ) |
fn: sum( arg,arg,... ) | Retorna a soma do valor numérico de cada nó no nó-conjunto especificado |
Funções que geram Seqüências
Nome | Descrição |
---|---|
fn: id( (string,string,...) ,node) | Retorna uma seqüência de nós de elementos que têm um valor de ID igual ao valor de um ou mais dos valores especificados no argumento de cadeia |
fn: idref( (string,string,...) ,node) | Retorna uma seqüência de elemento ou atributo nós que têm um valor de IDREF igual ao valor de um ou mais dos valores especificados no argumento de cadeia |
fn: doc( URI ) | |
fn:doc- available( URI ) | Retorna true se o doc() função retorna um nó de documento, caso contrário ele retorna falso |
fn: collection() fn: collection( string ) |
Funções de contexto
Nome | Descrição |
---|---|
fn: position() | Retorna a posição de índice do nó que está sendo processada Exemplo: // livro [ position() <= 3] |
fn: last() | Retorna o número de itens na lista de nós processados Exemplo: // livro [ last() ] |
fn:current- dateTime() | Retorna o atual DateTime (with timezone) |
fn:current- date() | Retorna a data atual (with timezone) |
fn:current- time() | Retorna a hora atual (with timezone) |
fn:implicit- timezone() | Retorna o valor do fuso horário implícito |
fn:default- collation() | Retorna o valor do agrupamento padrão |
fn:static-base- uri() | Retorna o valor da base-uri |
Funções de XSLT
Além disso, existem as seguintes funções internas XSLT:
Nome | Descrição |
---|---|
current() | Retorna o nó atual |
document() | Usado para acessar os nós em um documento XML externo |
element- available() | Testa se o elemento especificado é suportado pelo processador XSLT |
format- number() | Converte um número em uma string |
function- available() | Testa se a função especificada é suportada pelo processador XSLT |
generate- id() | Retorna um valor string que identifica exclusivamente um nó especificado |
key() | Retorna um conjunto de nós usando o índice especificado por um <xsl:key> elemento |
system- property() | Retorna o valor das propriedades do sistema |
unparsed-entity- uri() | Retorna o URI de uma entidade não analisada |