1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
@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 uri:make-path path
Returns a URI string combining the components of list @var{path}.
@end defun
@defun html:anchor name
Returns a string which defines this location in the (HTML) file
as @var{name}. The hypertext @samp{<A HREF="#@var{name}">} will link to this point.
@example
(html:anchor "(section 7)")
@result{}
"<A NAME=\"(section%207)\"></A>"
@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{}
"<A HREF=\"#(section%207)\">section 7</A>"
@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
@defunx uri->tree uri-reference
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. The optional @var{base-tree} is a
tree as returned by @code{uri->tree}; and is used as the base address for relative
URIs.
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
@defun uri:split-fields txt chr
Returns a list of @var{txt} split at each occurrence of @var{chr}. @var{chr} does not
appear in the returned list of strings.
@end defun
@defun uri:decode-query query-string
Converts a @dfn{URI} encoded @var{query-string} to a query-alist.
@cindex URI
@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
@defun uri:path->keys path-list ptypes
@var{path-list} is a path-list as returned by @code{uri:split-fields}. @code{uri:path->keys}
returns a list of items returned by @code{uri:decode-path}, coerced
to types @var{ptypes}.
@end defun
@subheading File-system Locators and Predicates
@defun path->uri path
Returns a URI-string for @var{path} on the local host.
@end defun
@defun absolute-uri? str
Returns #t if @var{str} is an absolute-URI as indicated by a
syntactically valid (per RFC 2396) @dfn{scheme}; otherwise returns
@cindex scheme
#f.
@end defun
@defun absolute-path? file-name
Returns #t if @var{file-name} is a fully specified pathname (does not
depend on the current working directory); otherwise returns #f.
@end defun
@defun null-directory? str
Returns #t if changing directory to @var{str} would leave the current
directory unchanged; otherwise returns #f.
@end defun
@defun glob-pattern? str
Returns #t if the string @var{str} contains characters used for
specifying glob patterns, namely @samp{*}, @samp{?}, or @samp{[}.
@end defun
@noindent
Before RFC 2396, the @dfn{File Transfer Protocol} (FTP) served a
@cindex File Transfer Protocol
similar purpose.
@defun parse-ftp-address uri
Returns a list of the decoded FTP @var{uri}; or #f if indecipherable. FTP
@dfn{Uniform Resource Locator}, @dfn{ange-ftp}, and @dfn{getit}
@cindex Uniform Resource Locator
@cindex ange-ftp
@cindex getit
formats are handled. The returned list has four elements which are
strings or #f:
@enumerate 0
@item
username
@item
password
@item
remote-site
@item
remote-directory
@end enumerate
@end defun
|