iri-to-uri
Converts an IRI into a URI
Description
The fn:iri-to-uri function converts an IRI into a URI. URIs require that some characters be escaped with their hexadecimal Unicode code point preceded by the % character. This includes non-ASCII characters and some ASCII characters, namely control characters, spaces, and several others.
This function replaces each special character with an escape sequence in the form %xx, where xx is two hexadecimal digits (in uppercase) that represent the character in UTF-8. For example, édition.html is changed to %C3%A9dition.html, with the é escaped as %C3%A9.
All characters except the following are escaped:
Letters a through z and A through Z
Digits 0 through 9
Hyphen (-), underscore (_), period (.), exclamation point (!), tilde (~),
asterisk (*), apostrophe(‘), parentheses (‘(’ and ‘)’) and hash mark (#)
Semicolon (;), forward slash (/), question mark (?), colon (:), at sign
(@), ampersand (&), equals sign (=), plus sign (+), dollar sign ($), comma (,), square brackets (‘[’ and ‘]’), and percent sign (%).
The last set of characters specified above is generally used to delimit parts of URIs. If you are escaping a single part of a URI (as opposed to an entire URI), it is better to use the fn:encode-for-uri function, which does escape these characters.
Parameters |
Description |
---|---|
uri-part:string() |
Examples
XPath |
Results |
---|---|
iri-to-uri(’http://datypic.com/édition 2.html’) |
|
iri-to-uri(’http://datypic.com/Sales Numbers.pdf’) |