.. _iri-to-uri: ========== 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. .. list-table:: :widths: 40 60 :header-rows: 1 * - **Parameters** - **Description** * - uri-part:string() - Examples ~~~~~~~~ .. list-table:: :widths: 50 50 :header-rows: 1 * - **XPath** - **Results** * - 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 See Also ~~~~~~~~ .. toctree:: :titlesonly: :glob: * :ref:`escape-html-uri`. * :ref:`encode-for-uri`.