encode-for-uri

Codifica caracteres reservados para uso no caminho de um URI

Descrição

A função fn:encode-for-uri codifica caracteres reservados para uso no caminho de um URI. Os URIs exigem que alguns caracteres sejam escritos com o code point Unicode em hexadecimal precedido de %. Isso inclui os caracteres não ASCII e alguns ASCII, como caracteres de controle, espaços e vários outros.

Além disso, alguns caracteres servem de separadores das partes de um URI: ;,/?:@&=+$[]%. Se a string for usada como um segmento do caminho de um URI, onde esses separadores têm significado especial, fn:encode-for-uri codifica também esses separadores, junto com os outros caracteres especiais.

Como as funções fn:escape-html-uri e fn:iri-to-uri, esta função troca cada caractere especial por uma sequência %xx, em que xx são dois dígitos hexadecimais (em maiúsculas) que representam o caractere em UTF-8. Por exemplo, édition.html vira %C3%A9dition.html, com o é escrito como %C3%A9.

Das três funções de codificação, esta é a que mais codifica. Todos os caracteres são codificados, menos:

as letras de a a z e de A a Z

os dígitos de 0 a 9

hífen (-), sublinhado (_), ponto (.) e til (~)

Parâmetros

Descrição

uri-part:string()

a parte do URI a codificar

Exemplos

XPath

Resultado

encode-for-uri('Sales % Numbers.pdf')

Sales%20%25%20Numbers.pdf

encode-for-uri('http://datypic.com/a%20URI#frag')

http%3A%2F%2Fdatypic.com%2Fa%2520URI%23frag

Veja também