iri-to-uri

Converte um IRI em URI

Descrição

A função fn:iri-to-uri converte um IRI em 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.

A 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.

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 (.), exclamação (!), til (~), asterisco

(*), apóstrofo ('), parênteses ('(' e ')') e cerquilha (#)

ponto e vírgula (;), barra (/), interrogação (?), dois-pontos (:), arroba

(@), e comercial (&), igual (=), mais (+), cifrão ($), vírgula (,), colchetes ('[' e ']') e porcentagem (%).

Esse último grupo de caracteres costuma separar as partes de um URI. Se você está codificando uma parte só do URI (e não o URI inteiro), é melhor usar fn:encode-for-uri, que codifica esses caracteres.

Parâmetros

Descrição

uri-part:string()

o IRI a converter

Exemplos

XPath

Resultado

iri-to-uri('http://datypic.com/édition 2.html')

http://datypic.com/%C3%A9dition%202.html

iri-to-uri('http://datypic.com/Sales Numbers.pdf')

http://datypic.com/Sales%20Numbers.pdf

Veja também