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.
This description is © Copyright 2007, Priscilla Walmsley. It is excerpted from the book XQuery by Priscilla Walmsley, O'Reilly, 2007. For a complete explanation of this function, please refer to Appendix A of the book. Arguments and Return TypeName | Type |
$uri-part |
xs:string? |
return value |
xs:string |
ExamplesXPath Example | 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 AlsoHistory |
Recommended Reading:
|