[Structure Type]
uri
Summary
The instances of this type represent
URIs parsed into components.
Package
ystok.help
Slots
- scheme
- A keyword representing a scheme of resource retrieval or protocol;
for example:
:http, :ftp and the like.
- host
- A simple string or
nil
;
host
is a part of the naming authority.
- port
- An integer number of the port or
nil
;
port
is a part of the naming authority.
- path
- An hierarchical data that identifies a resource within the scope of the
scheme and naming authority;
path is stored as
a simple string or nil
.
- query
- A non-hierarchical data that, along with the path component,
identifies a resource within the scope of the scheme and naming authority;
query is stored as represented by
either a simple string (unparsed),
or an association list (parsed),
or nil
.
- fragment
- Identification of a secondary resource, which may be
some portion or subset of the primary resource,
some view on representations of the primary resource;
fragment serves for client-side
indirect referencing.
It is represented by a simple string or nil
.
- plist
- A standard Common Lisp property list.
The properties are not handled
by Ystok-URI except for the :user
and :password
, which are considered reserved.
Description
A uri
instance stores components of URI separately.
This parsed representation guarantees an efficient URI treatment.
For efficiency, all the strings stored in slots must
be simple (of the simple-string
type).
Be cautious when calling any of (setf uri-slot)
function explicitly.
The uri
structure type also defines the following primitives:
- the make-uri constructor
with key parameters that correspond to the names of the slots,
- the uri-p predicate,
- the accessors
uri-slot
and (setf uri-slot)
.