@code{(require 'uri)}
@ftindex uri
@noindent Implements @dfn{Uniform Resource Identifiers} (URI) as
@cindex Uniform Resource Identifiers
described in RFC 2396.
@defun make-uri
@defunx make-uri fragment
@defunx make-uri query fragment
@defunx make-uri path query fragment
@defunx make-uri authority path query fragment
@defunx make-uri scheme authority path query fragment
Returns a Uniform Resource Identifier string from component arguments.
@end defun
@defun html:anchor name
Returns a string which defines this location in the (HTML) file
as @var{name}. The hypertext @samp{} will link to this point.
@example
(html:anchor "(section 7)")
@result{}
""
@end example
@end defun
@defun html:link uri highlighted
Returns a string which links the @var{highlighted} text to @var{uri}.
@example
(html:link (make-uri "(section 7)") "section 7")
@result{}
"section 7"
@end example
@end defun
@defun html:base uri
Returns a string specifying the @dfn{base} @var{uri} of a document, for
@cindex base
inclusion in the HEAD of the document (@pxref{HTML, head}).
@end defun
@defun html:isindex prompt
Returns a string specifying the search @var{prompt} of a document, for
inclusion in the HEAD of the document (@pxref{HTML, head}).
@end defun
@defun uri->tree uri-reference base-tree @dots{}
Returns a list of 5 elements corresponding to the parts
(@var{scheme} @var{authority} @var{path} @var{query} @var{fragment})
of string @var{uri-reference}. Elements corresponding to absent parts are #f.
The @var{path} is a list of strings. If the first string is empty,
then the path is absolute; otherwise relative.
If the @var{authority} component is a
@dfn{Server-based Naming Authority}, then it is a list of the
@cindex Server-based Naming Authority
@var{userinfo}, @var{host}, and @var{port} strings (or #f). For other
types of @var{authority} components the @var{authority} will be a
string.
@example
(uri->tree "http://www.ics.uci.edu/pub/ietf/uri/#Related")
@result{}
(http "www.ics.uci.edu" ("" "pub" "ietf" "uri" "") #f "Related")
@end example
@end defun
@noindent @code{uric:} prefixes indicate procedures dealing with
URI-components.
@defun uric:encode uri-component allows
Returns a copy of the string @var{uri-component} in which all @dfn{unsafe} octets
@cindex unsafe
(as defined in RFC 2396) have been @samp{%} @dfn{escaped}.
@cindex escaped
@code{uric:decode} decodes strings encoded by @code{uric:encode}.
@end defun
@defun uric:decode uri-component
Returns a copy of the string @var{uri-component} in which each @samp{%} escaped
characters in @var{uri-component} is replaced with the character it encodes. This
routine is useful for showing URI contents on error pages.
@end defun