The xml.location Reference Manual

This is the xml.location Reference Manual, version 0.3.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:18:56 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 xml.location

This system provides a convenient interface for manipulating XML data. It is inspired by the xmltio library.

Maintainer

Jan Moringen <>

Author

Jan Moringen <>

License

LLGPLv3

Version

0.3.0

Dependencies
  • alexandria (system).
  • split-sequence (system).
  • iterate (system).
  • let-plus (system)., at least version "0.2"
  • more-conditions (system).
  • closer-mop (system).
  • cxml-stp (system).
  • xpath (system).
Source

xml.location.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 xml.location/src

Dependency

compat.lisp (file).

Source

xml.location.asd.

Parent Component

xml.location (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 xml.location/xml.location.asd

Source

xml.location.asd.

Parent Component

xml.location (system).

ASDF Systems

xml.location.


4.1.2 xml.location/compat.lisp

Source

xml.location.asd.

Parent Component

xml.location (system).

Packages

xml.location.compat.

Public Interface

define-dynamic-class-family (macro).

Internals

4.1.3 xml.location/src/package.lisp

Source

xml.location.asd.

Parent Component

src (module).

Packages

xml.location.


4.1.4 xml.location/src/types.lisp

Dependency

package.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Internals

4.1.5 xml.location/src/conditions.lisp

Dependency

types.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 xml.location/src/variables.lisp

Dependency

conditions.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface

*cl-namespaces* (special variable).


4.1.7 xml.location/src/protocol.lisp

Dependency

variables.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 xml.location/src/xpath-creation.lisp

Dependency

protocol.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 xml.location/src/location.lisp

Dependency

xpath-creation.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.10 xml.location/src/singleton-location.lisp

Dependency

location.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.11 xml.location/src/multi-location.lisp

Dependency

singleton-location.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

location-attribute (method).


4.1.12 xml.location/src/location-mixins.lisp

Dependency

multi-location.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.13 xml.location/src/conversion.lisp

Dependency

location-mixins.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.14 xml.location/src/construction.lisp

Dependency

conversion.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

%compute-location-class (function).


4.1.15 xml.location/src/macros.lisp

Dependency

construction.lisp (file).

Source

xml.location.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 xml.location.compat

Internal compatibility package.

Source

compat.lisp.

Use List
  • alexandria.
  • common-lisp.
  • let-plus.
Public Interface

define-dynamic-class-family (macro).

Internals

5.2 xml.location

This package contains the public interface of the cmxl-location system. The main entry point is the generic function ‘loc’, which creates ‘location’ instances from XML documents and XPaths. The resulting objects can be queried and modified using the location-* accessors and the generic functions ‘name’, ‘val’ and ‘@’.

Source

package.lisp.

Nickname

xloc

Use List
  • alexandria.
  • common-lisp.
  • iterate.
  • let-plus.
  • more-conditions.
  • split-sequence.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *cl-namespaces*

Namespace list with a made-up Common Lisp namespace. This namespace should be used when Common Lisp-specific data has to be stored in XML documents in order to represent objects without loss of information.

Package

xml.location.

Source

variables.lisp.


6.1.2 Macros

Macro: define-dynamic-class-family (name &rest doc-and-options)

Define a family of classes in the category NAME. Classes in the family are fully specified by their respective sets of superclasses. No further structure is added.

For a family named NAME, the following things are defined:
+ *NAME-classes* [variable]
+ make-NAME-class [generic function]
+ make-NAME-class list [method]
+ ensure-NAME-class [function]
+ NAME-classes [function]

Unless the :package option is supplied, all names will be interned in NAME’s package. Using the :package option, a different package can be specified. When supplied, the value of the :package option is evaluated.

Valid options and their respective defaults are:
+ package [(package-name (symbol-package name))]
The package in which defined variables and functions will be placed. + metaclass [’standard-class]
The metaclass that should be used for classes in the family.
+ common-superclasses [nil]
A list of superclasses that should be added to all classes in the family. List elements can either be classes or lists of the
form (PLACEMENT CLASS) where PLACEMENT is either :start or :end and CLASS is a class. PLACEMENT controls where a superclass is inserted into the list of superclasses. The default placement is :end.
+ sort-mixins? [nil]
If non-nil, the list of mixin classes is sorted (according to their ‘class-name’s as strings) prior to looking for or creating a dynamic class.

Generated documentation is available for the symbol NAME using type :dynamic-class-family.

Package

xml.location.compat.

Source

compat.lisp.

Macro: with-locations ((&rest bindings-and-options) document &body body)

Execute body with certain variables, specified by BINDINGS bound to
locations in DOCUMENT. DOCUMENT has to be of type
‘stp:document’.

BINDINGS-AND-OPTIONS specifies let-like (generalized) variable
bindings according to the following syntax:
BINDINGS ::= (BINDING* OPTION*)
BINDING ::= (VAR-SPEC XPATH [ARG*])
VAR-SPEC ::= NAME-SPEC | VAL-SPEC | @-SPEC | LOC-SPEC
NAME-SPEC ::= (:name SYMBOL [:prefix? BOOL])
VAL-SPEC ::= SYMBOL | (:val SYMBOL [:type TYPE])
@-SPEC ::= (:@ @-NAME [:type TYPE])
@-NAME ::= SYMBOL | (SYMBOL "STRING")
LOC-SPEC ::= (:loc SYMBOL)
OPTION ::= KEY VALUE

In all cases, SYMBOL is the name of the generalized variable that is
created by the binding. If the (SYMBOL "STRING") form of @-NAME is
used, STRING specifies the name of the attribute independently of the
variable name, otherwise the name of attribute is computed as (string
SYMBOL).

Instead of the keywords :name, :val and :@ symbols of the same name in
the xml.location package can be used.

Example:
XLOC> (xloc:with-locations-r/o
(((:@ (description-brief "brief")) "package/description") (description-long "package/description/text()") (author "package/author/text()") (dependencies "package/depend/@package" :if-multiple-matches :all) (build-dependencies "package/rosbuild2/depend/@package" :if-multiple-matches :all)
((:val messages :type ’list) "package/rosbuild2/msgs/text()") ((:val services :type ’list) "package/rosbuild2/srvs/text()")) doc (values author messages))
=> "Joe User" ’("msg/bla.msg")

Package

xml.location.

Source

macros.lisp.

Macro: with-locations-r/o ((&rest bindings-and-options) document &body body)

Like ‘with-locations’, but binding places are not ‘setf’-able.

Package

xml.location.

Source

macros.lisp.


6.1.3 Ordinary functions

Function: ->xml-conversion-error (value type destination &optional format-control &rest format-arguments)

Signal an ‘->xml-conversion-error’ with data VALUE, TYPE and DESTINATION and optional FORMAT-CONTROL and FORMAT-ARGUMENTS.

Package

xml.location.

Source

conditions.lisp.

Function: ensure-location-class (mixins)

Find or make the dynamic class composed of MIXINS.

Package

xml.location.

Source

protocol.lisp.

Function: location-classes ()

Return list of all classes in the family.

Package

xml.location.

Source

protocol.lisp.

Function: xml->-conversion-error (value type &optional format-control &rest format-arguments)

Signal an ‘xml->-conversion-error’ with data VALUE and TYPE and optional FORMAT-CONTROL and FORMAT-ARGUMENTS.

Package

xml.location.

Source

conditions.lisp.


6.1.4 Generic functions

Generic Function: ->xml (value dest type &key inner-types &allow-other-keys)

Convert VALUE to a suitable type and store the result of the conversion in the XML node DEST. Should return VALUE.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: ->xml ((value list) (dest (eql string)) (type (eql type)) &key &allow-other-keys)

Convert VALUE to string by ‘prin1’ing it.

Source

conversion.lisp.

Method: ->xml ((value sequence) (dest (eql string)) type &key inner-types &allow-other-keys)

Convert sequence VALUE to string by ‘format’ting.

Source

conversion.lisp.

Method: ->xml ((value string) (dest (eql string)) type &key &allow-other-keys)

Fast-path method for string VALUE.

Source

conversion.lisp.

Method: ->xml (value (dest (eql string)) type &key &allow-other-keys)

Convert VALUE to requested type string by ‘prin1’ing it.

Source

conversion.lisp.

Method: ->xml ((value string) (dest node) (type (eql string)) &key &allow-other-keys)

Catch-all for STP nodes that do not have an obvious string interpretation.

Source

conversion.lisp.

Method: ->xml ((value string) (dest attribute) type &key &allow-other-keys)

Fast-path method for storing string VALUE into text node DEST.

Source

conversion.lisp.

Method: ->xml (value (dest attribute) type &key &allow-other-keys)

Convert VALUE to string and store in DEST.

Source

conversion.lisp.

Method: ->xml ((value string) (dest text) type &key &allow-other-keys)

Fast-path method for storing string VALUE into text node DEST.

Source

conversion.lisp.

Method: ->xml (value (dest text) type &key inner-types &allow-other-keys)

Convert VALUE to string and store in DEST.

Source

conversion.lisp.

Method: ->xml (value (dest document) type &rest args &key &allow-other-keys)

Convert VALUE to string and store in DEST.

Source

conversion.lisp.

Method: ->xml :around (value dest (type list) &key &allow-other-keys)

Split composite type specification TYPE into head and tail.

Source

conversion.lisp.

Method: ->xml (value dest (type list) &key &allow-other-keys)

Intended mainly to catch the case in which TYPE is nil.

Source

conversion.lisp.

Method: ->xml :around (value dest type &key inner-types)
Generic Function: @ (location name &key type &allow-other-keys)

Return the value of the attribute named NAME of the node represented by LOCATION. If TYPE is supplied, a type conversion may be performed. LOCATION has to represent an element node. If NAME is a qualified name of the form PREFIX:LOCAL-NAME, LOCATION has to contain an entry for PREFIX in its namespace table.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: @ :around ((location ignore-empty-result-mixin) name &key &allow-other-keys)
Source

location-mixins.lisp.

Method: @ ((location multi-location) (name string) &key type)
Source

multi-location.lisp.

Method: @ ((location singleton-location) (name string) &key type)
Source

singleton-location.lisp.

Generic Function: (setf @) (location name &key type &allow-other-keys)

Set NEW-VALUE as the value of the attribute named NAME of the node represented by LOCATION. If TYPE is supplied, a type conversion may be performed prior to assigning the value. LOCATION has to represent an element node. If NAME is a qualified name of the form PREFIX:LOCAL-NAME, LOCATION has to contain an entry for PREFIX in its namespace table.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: (setf @) ((location append-nodes-mixin) (name string) &key type)
Source

location-mixins.lisp.

Method: (setf @) :around ((location ignore-empty-result-mixin) name &key &allow-other-keys)
Source

location-mixins.lisp.

Method: (setf @) ((location multi-location) (name string) &key type)
Source

multi-location.lisp.

Method: (setf @) ((location singleton-location) (name string) &key type)
Source

singleton-location.lisp.

Generic Reader: conversion-error-destination (condition)
Package

xml.location.

Methods
Reader Method: conversion-error-destination ((condition ->xml-conversion-error))
Source

conditions.lisp.

Target Slot

destination.

Generic Reader: conversion-error-function (condition)
Package

xml.location.

Methods
Reader Method: conversion-error-function ((condition no-conversion-method-mixin))
Source

conditions.lisp.

Target Slot

function.

Generic Reader: conversion-error-type (condition)
Package

xml.location.

Methods
Reader Method: conversion-error-type ((condition conversion-error))
Source

conditions.lisp.

Target Slot

type.

Generic Reader: conversion-error-value (condition)
Package

xml.location.

Methods
Reader Method: conversion-error-value ((condition conversion-error))
Source

conditions.lisp.

Target Slot

value.

Generic Function: create-xpath (document path)

Ensure that the nodes referenced in PATH actually exist in DOCUMENT, creating them if necessary.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: create-xpath ((document node) (path list))
Source

xpath-creation.lisp.

Method: create-xpath ((document node) (path string))
Source

xpath-creation.lisp.

Generic Reader: invalid-binding-form-form (condition)
Package

xml.location.

Methods
Reader Method: invalid-binding-form-form ((condition invalid-binding-form))
Source

conditions.lisp.

Target Slot

form.

Generic Reader: invalid-binding-form-name (condition)
Package

xml.location.

Methods
Reader Method: invalid-binding-form-name ((condition no-such-accessor-form))
Source

conditions.lisp.

Target Slot

name.

Generic Reader: invalid-binding-form-spec (condition)
Package

xml.location.

Methods
Reader Method: invalid-binding-form-spec ((condition no-such-accessor-form))
Source

conditions.lisp.

Target Slot

spec.

Generic Function: loc (document path &rest args &key namespaces if-no-match if-multiple-matches assign-mode &allow-other-keys)

Construct and return a new location object that represents the nodes resulting from applying the XPath PATH to the XML document DOCUMENT. ARGS are passed to the ‘make-instance’ call that creates a ‘location’ instance.

NAMESPACES can be an alist of the form

((PREFIX . NAMESPACE)*)

that specifies XML namespaces that should be made available in PATH.

IF-NO-MATCH specifies the policy for dealing with the situation that the node set produced by evaluating PATH on DOCUMENT is empty. Valid values:

:error (the default)

Signal an ‘empty-result-set’ error.

:create

Try to create a location which matches PATH in DOCUMENT, then return the created location.

:do-nothing.

Return a location object that does not have an associated location in document.

IF-MULTIPLE-MATCHES specifies the policy for dealing with the situation that the node set produced by evaluating PATH on DOCUMENT consists of multiple nodes. Valid values are:

:error (the default)

Signal a ‘too-many-matches-in-result-set’ error.

:first

Return a location object corresponding to the first location in DOCUMENT which matches PATH.

:any

Return a location object corresponding to an arbitrary location in DOCUMENT which matches PATH.

:last.

Return a location object corresponding to the last location in DOCUMENT which matches PATH.

:all

Return a location object corresponding to the set of matching locations. Operations on the location object affect all locations simultaneously.

ASSIGN-MODE specifies the semantics of assigning values to ‘val’ places of the location:

:set

An assigned value replaces the previous value.

:append

Subsequently assigned values are stored in newly appended sibling locations.

The type of the returned ‘location’ instance can depend on the arguments but is a sub-type of ‘location’.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: loc :around (document (path function) &rest args)

Interpret PATH as compiled XPath, skipping the compilation step.

Source

construction.lisp.

Method: loc ((document string) path &rest args)

Parse DOCUMENT as XML document before constructing the location.

Source

construction.lisp.

Method: loc ((document node) (path string) &rest args &key if-multiple-matches if-no-match assign-mode &allow-other-keys)

Create a location for DOCUMENT and PATH. The class of the location instance is determined based on the values of IF-MULTIPLE-MATCHES and IF-NO-MATCH.

Source

construction.lisp.

Method: loc ((location multi-location) path &rest args &key &allow-other-keys)
Source

multi-location.lisp.

Method: loc ((location singleton-location) path &rest args &key &allow-other-keys)
Source

singleton-location.lisp.

Generic Reader: location-document (location)

Return the document (an stp:node instance) associated to LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Reader Method: location-document ((location location))

The XML document to which the location refers.

Source

location.lisp.

Target Slot

document.

Generic Function: (setf location-document) (location)

Set NEW-VALUE as LOCATION’s associated document. NEW-VALUE has to be an stp:node instance.

Package

xml.location.

Source

protocol.lisp.

Methods
Writer Method: (setf location-document) :after ((location location))

Reset computed result of LOCATION when the document is changed.

Source

location.lisp.

Target Slot

document.

Method: (setf location-document) ((location location))

The XML document to which the location refers.

Source

location.lisp.

Generic Reader: location-error-document (condition)
Package

xml.location.

Methods
Reader Method: location-error-document ((condition location-error))
Source

conditions.lisp.

Target Slot

document.

Generic Reader: location-error-path (condition)
Package

xml.location.

Methods
Reader Method: location-error-path ((condition location-error))
Source

conditions.lisp.

Target Slot

path.

Generic Reader: location-namespaces (object)
Package

xml.location.

Methods
Reader Method: location-namespaces ((location location))

An alist of namespaces that should be available in the XPath of the location.

Source

location.lisp.

Target Slot

namespaces.

Generic Function: (setf location-namespaces) (object)
Package

xml.location.

Methods
Writer Method: (setf location-namespaces) :after ((location location))

Reset computed result of LOCATION when namespaces are changed.

Source

location.lisp.

Target Slot

namespaces.

Method: (setf location-namespaces) ((location location))

An alist of namespaces that should be available in the XPath of the location.

Source

location.lisp.

Generic Reader: location-path (location)

Return the XPath of LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Reader Method: location-path ((location location))

An XPath that selects nodes in the document of the location.

Source

location.lisp.

Target Slot

path.

Generic Function: (setf location-path) (location)

Set NEW-VALUE as LOCATION’s associated XPath. NEW-VALUE has to be a string.

Package

xml.location.

Source

protocol.lisp.

Methods
Writer Method: (setf location-path) :after ((location location))

Reset computed result of LOCATION when the path is changed.

Source

location.lisp.

Target Slot

path.

Method: (setf location-path) ((location location))

An XPath that selects nodes in the document of the location.

Source

location.lisp.

Generic Reader: location-result (location)

Return the node or node set that has been produced by evaluating LOCATION’s associated XPath on LOCATION’s associated document.

Package

xml.location.

Source

protocol.lisp.

Methods
Reader Method: location-result ((location location))

The node-set produced by evaluating the XPath of the location to the document of the location.

Source

location.lisp.

Target Slot

result.

Generic Function: make-location-class (mixins)

Dynamically make a class composed of MIXINS.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: make-location-class ((mixins list))
Generic Function: name (location &key prefix? &allow-other-keys)

Return the name of the node represented by LOCATION.
If PREFIX? is non-nil, the concatenation of the prefix and the local name is returned.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: name :around ((location ignore-empty-result-mixin) &key &allow-other-keys)
Source

location-mixins.lisp.

Method: name ((location multi-location) &key prefix?)
Source

multi-location.lisp.

Method: name ((location singleton-location) &key prefix?)
Source

singleton-location.lisp.

Generic Function: (setf name) (location)

Set NEW-VALUE as the local name of the node represented by LOCATION. If NEW-VALUE is a qualified name of the form PREFIX:LOCAL-NAME, LOCATION has to have an entry for PREFIX in its namespace table.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: (setf name) :around ((location ignore-empty-result-mixin))
Source

location-mixins.lisp.

Method: (setf name) ((location multi-location))
Source

multi-location.lisp.

Method: (setf name) ((location multi-location))
Source

multi-location.lisp.

Method: (setf name) ((location singleton-location))
Source

singleton-location.lisp.

Method: (setf name) ((location singleton-location))
Source

singleton-location.lisp.

Method: (setf name) :around ((location location))

Determine whether NEW-VALUE is qualified and call and appropriate next method.

Source

location.lisp.

Generic Reader: result-condition-result (condition)
Package

xml.location.

Methods
Reader Method: result-condition-result ((condition result-condition))
Source

conditions.lisp.

Target Slot

result.

Generic Function: val (location &key type &allow-other-keys)

Return the value of the node represented by LOCATION. If TYPE is supplied, a type conversion may be performed. When LOCATION represents an element node, TYPE has to be supplied. For attribute and text nodes, the text value is returned in that case.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: val :around ((location ignore-empty-result-mixin) &key &allow-other-keys)
Source

location-mixins.lisp.

Method: val ((location multi-location) &key type)
Source

multi-location.lisp.

Method: val ((location singleton-location) &key type)
Source

singleton-location.lisp.

Generic Function: (setf val) (location &key type &allow-other-keys)

Set NEW-VALUE as the value of the node represented by LOCATION. If TYPE is supplied, a type conversion may be performed prior to assigning the value. When LOCATION represents an element node, TYPE has to be supplied. For attribute and text nodes, NEW-VALUE has to be a string in that case.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: (setf val) :after ((location append-nodes-mixin) &key &allow-other-keys)

Sibling creation invalidates our previous XPath evaluation result, so we have to re-evaluate.

Source

location-mixins.lisp.

Method: (setf val) ((location append-nodes-mixin) &key type)
Source

location-mixins.lisp.

Method: (setf val) ((location append-nodes-mixin) &key type)
Source

location-mixins.lisp.

Method: (setf val) :around ((location ignore-empty-result-mixin) &key &allow-other-keys)
Source

location-mixins.lisp.

Method: (setf val) ((location multi-location) &key type)
Source

multi-location.lisp.

Method: (setf val) ((location multi-location) &key type)
Source

multi-location.lisp.

Method: (setf val) ((location singleton-location) &key type)
Source

singleton-location.lisp.

Generic Function: xml-> (value type &key inner-types &allow-other-keys)

Convert VALUE to the type designated by TYPE and, possibly INNER-TYPES. The result of the conversion is returned.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: xml-> ((value node) (type symbol) &key &allow-other-keys)

Interpret TYPE as a class name. Try to create an instance and load the contents of VALUE into that instance.

Source

conversion.lisp.

Method: xml-> ((value node) (type class) &key &allow-other-keys)

Interpret TYPE as a class name. Try to create an instance and load the contents of VALUE into that instance.

Source

conversion.lisp.

Method: xml-> ((value string) (type (eql type)) &key &allow-other-keys)

Convert string VALUE to a Common Lisp type.

Source

conversion.lisp.

Method: xml-> ((value string) (type (eql list)) &key inner-types)

Convert intermediate string VALUE to requested list type TYPE.

Source

conversion.lisp.

Method: xml-> ((value string) (type (eql string)) &key &allow-other-keys)

Fast-path method for string VALUE.

Source

conversion.lisp.

Method: xml-> ((value string) type &key &allow-other-keys)

Convert intermediate string VALUE to requested type TYPE.

Source

conversion.lisp.

Method: xml-> ((value node) (type (eql string)) &key &allow-other-keys)

Catch-all method for STP nodes that have no obvious string interpretation.

Source

conversion.lisp.

Method: xml-> ((value attribute) (type (eql string)) &key &allow-other-keys)

Fast-path method for attribute nodes if TYPE is string.

Source

conversion.lisp.

Method: xml-> ((value attribute) type &rest args &key &allow-other-keys)

Extract attribute value from VALUE for further conversion.

Source

conversion.lisp.

Method: xml-> ((value text) (type (eql string)) &key &allow-other-keys)

Fast-path method for text nodes if TYPE is string.

Source

conversion.lisp.

Method: xml-> ((value text) type &rest args &key &allow-other-keys)

Extract text from text node VALUE for further conversion.

Source

conversion.lisp.

Method: xml-> ((value document) type &rest args &key &allow-other-keys)
Source

conversion.lisp.

Method: xml-> :around (value (type list) &key &allow-other-keys)

Split composite type specification TYPE into head and tail.

Source

conversion.lisp.

Method: xml-> (value (type list) &key &allow-other-keys)

Intended mainly to catch the case in which TYPE is nil.

Source

conversion.lisp.

Method: xml-> :around (value type &key inner-types)
Generic Reader: xpath-creation-error-location (condition)
Package

xml.location.

Methods
Reader Method: xpath-creation-error-location ((condition xpath-creation-error))
Source

conditions.lisp.

Target Slot

location.

Generic Reader: xpath-creation-error-name (condition)
Package

xml.location.

Methods
Reader Method: xpath-creation-error-name ((condition xpath-creation-error))
Source

conditions.lisp.

Target Slot

name.

Generic Reader: xpath-creation-error-predicate (condition)
Package

xml.location.

Methods
Reader Method: xpath-creation-error-predicate ((condition xpath-creation-error))
Source

conditions.lisp.

Target Slot

predicate.

Generic Reader: xpath-creation-error-type (condition)
Package

xml.location.

Methods
Reader Method: xpath-creation-error-type ((condition xpath-creation-error))
Source

conditions.lisp.

Target Slot

type.


6.1.5 Standalone methods

Method: initialize-instance :after ((instance location) &key)
Source

location.lisp.

Method: initialize-instance ((instance location) &key namespaces)
Source

location.lisp.

Method: initialize-instance ((instance create-missing-nodes-mixin) &key)
Source

location-mixins.lisp.

Method: print-object ((object location) stream)
Source

location.lisp.


6.1.6 Conditions

Condition: ->xml-conversion-error

This error is signaled when storing a value into an XML location with a certain type fails.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

conversion-error.

Direct subclasses

no-->xml-conversion-method.

Direct methods

conversion-error-destination.

Direct Default Initargs
InitargValue
:destination(missing-required-initarg (quote ->xml-conversion-error) destination)
Direct slots
Slot: destination

The destination of the failed conversion. Usually an XML node.

Initargs

:destination

Readers

conversion-error-destination.

Writers

This slot is read-only.

Condition: conversion-error

This error is signaled when a conversion fails.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

simple-error.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:format-argumentsnil
:format-control
Direct slots
Slot: value

The value for which the conversion failed.

Initargs

:value

Readers

conversion-error-value.

Writers

This slot is read-only.

Slot: type

The type involved in the failed conversion.

Package

common-lisp.

Initargs

:type

Readers

conversion-error-type.

Writers

This slot is read-only.

Condition: empty-result-set

This error is signaled when an XPath evaluation produces an empty result in a context that requires a non-empty result set.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses
Direct Default Initargs
InitargValue
:resultnil
Condition: invalid-binding-form

This error is signaled when an invalid binding form is encountered during expansion of the ‘with-locations’ macro.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses

no-such-accessor-form.

Direct methods

invalid-binding-form-form.

Direct slots
Slot: form

The invalid binding form.

Initargs

:form

Readers

invalid-binding-form-form.

Writers

This slot is read-only.

Condition: invalid-result-type

This error is signaled when an XPath evaluation produces a result which is not of the correct type for the context in which it occurs.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses
Condition: location-error

This condition class can be used to discriminate location-related errors.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:path(missing-required-initarg (quote location-error) path)
:document(missing-required-initarg (quote location-error) document)
Direct slots
Slot: document

The document of the location that caused the error.

Initargs

:document

Readers

location-error-document.

Writers

This slot is read-only.

Slot: path

The XPath of the location that caused the error.

Initargs

:path

Readers

location-error-path.

Writers

This slot is read-only.

Condition: missing-xpath-source

This condition is signaled when recompilation of an XPath would be required but the XPath source is not available. This can happen, for example, when the namespace table of a location is changed.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

error.

Condition: no-->xml-conversion-method

This error is signaled when no method is available to store a value into an XML location with a certain type.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses
Direct Default Initargs
InitargValue
:function(quote ->xml)
Condition: no-conversion-method-mixin

This condition class can be mixed into condition classes that indicate a conversion failure because of a missing conversion method.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods

conversion-error-function.

Direct Default Initargs
InitargValue
:function(missing-required-initarg (quote no-conversion-method-mixin) function)
Direct slots
Slot: function

The name of the conversion function for which no suitable method could be found.

Package

common-lisp.

Initargs

:function

Readers

conversion-error-function.

Writers

This slot is read-only.

Condition: no-such-accessor-form

This error is signaled if a binding form is encountered within a use of in the ‘with-locations’ macro which contains an unknown accessor.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

invalid-binding-form.

Direct methods
Direct slots
Slot: spec

The accessor specification which contains the unknown accessor.

Initargs

:spec

Readers

invalid-binding-form-spec.

Writers

This slot is read-only.

Slot: name

The unknown accessor.

Initargs

:name

Readers

invalid-binding-form-name.

Writers

This slot is read-only.

Condition: no-xml->-conversion-method

This error is signaled when no method is available to convert an XML location into a Lisp object with a certain type.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses
Direct Default Initargs
InitargValue
:function(quote xml->)
Condition: result-condition

Subclasses of this condition are signaled when an XPath evaluation produces a result that is invalid in the a particular context.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods

result-condition-result.

Direct Default Initargs
InitargValue
:result(missing-required-initarg (quote result-condition) result)
Direct slots
Slot: result

The invalid result.

Initargs

:result

Readers

result-condition-result.

Writers

This slot is read-only.

Condition: too-many-matches-in-result-set

This error is signaled when an XPath evaluation produces a result set that consists of multiple elements in a context that permits at most one element.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses
Direct methods

location-error-expected.

Direct slots
Slot: expected

The number of elements the result set should have had.

Initargs

:expected

Readers

location-error-expected.

Writers

This slot is read-only.

Condition: xml->-conversion-error

This error is signaled when converting an XML location into a Lisp object with a certain type fails.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

conversion-error.

Direct subclasses

no-xml->-conversion-method.

Condition: xpath-creation-error

This error is signaled when the creation of a node based on a XPath fragment fails.

Package

xml.location.

Source

conditions.lisp.

Direct superclasses

simple-error.

Direct methods
Direct Default Initargs
InitargValue
:format-argumentsnil
:format-control
:predicate(missing-required-initarg (quote xpath-creation-error) predicate)
:name(missing-required-initarg (quote xpath-creation-error) name)
:type(missing-required-initarg (quote xpath-creation-error) type)
:location(missing-required-initarg (quote xpath-creation-error) location)
Direct slots
Slot: location

The location at which a node should have been added according to the XPath.

Initargs

:location

Readers

xpath-creation-error-location.

Writers

This slot is read-only.

Slot: type

The type of the XPath fragment for which the creation of a node failed.

Package

common-lisp.

Initargs

:type

Readers

xpath-creation-error-type.

Writers

This slot is read-only.

Slot: name

The name mentioned in the XPath fragment for which the creation of a node failed.

Initargs

:name

Readers

xpath-creation-error-name.

Writers

This slot is read-only.

Slot: predicate

The predicate of the XPath fragment for which the creation of a node failed.

Initargs

:predicate

Readers

xpath-creation-error-predicate.

Writers

This slot is read-only.


6.1.7 Classes

Class: append-nodes-mixin

This mixin changes the default replacing assignment behavior to an appending assignment behavior. That is, assignments to the ‘val’ place of locations create siblings of the node designated by the final XPath component and assign values to these new nodes.

Package

xml.location.

Source

location-mixins.lisp.

Direct methods
Class: create-missing-nodes-mixin

This class adds the automatic creation of XML nodes that are references in the path but missing in the document to location classes.

Package

xml.location.

Source

location-mixins.lisp.

Direct methods
Class: location

A location consists of an XML document and an XPath that refers to nodes in the document. Technically the location uses the node set resulting from evaluating the XPath on the document as a concrete representation of this relation. Operation on the location are carried out on the node or nodes of the node set.

Package

xml.location.

Source

location.lisp.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:namespaces*initial-namespaces*
Direct slots
Slot: document

The XML document to which the location refers.

Type

cxml-stp:node

Initargs

:document

Readers

location-document.

Writers

(setf location-document).

Slot: namespaces

An alist of namespaces that should be available in the XPath of the location.

Type

list

Readers

location-namespaces.

Writers

(setf location-namespaces).

Slot: path

An XPath that selects nodes in the document of the location.

Type

(or null string)

Initargs

:path

Readers

location-path.

Writers

(setf location-path).

Slot: compiled-path

Compiled version of the XPath of the location.

Type

(or null function)

Initargs

:compiled-path

Readers

location-compiled-path.

Writers

(setf location-compiled-path).

Slot: result

The node-set produced by evaluating the XPath of the location to the document of the location.

Initargs

:result

Readers

location-result.

Writers

This slot is read-only.

Class: multi-location

Instances of this class represent and operate on a set of XPath matches in a single document simultaneously.

Package

xml.location.

Source

multi-location.lisp.

Direct superclasses

location.

Direct methods
Class: singleton-location

This location class consists of an XML document along with an XPath that produces exactly one match in the document.

Package

xml.location.

Source

singleton-location.lisp.

Direct superclasses

location.

Direct methods
Direct slots
Slot: if-no-match

Policy for the situation that the XPath evaluates to an empty node set.

Type

xml.location::if-no-match-policy-designator

Initform

:error

Initargs

:if-no-match

Slot: if-multiple-matches

Policy for the situation that the XPath
evaluates to a node set that consists of more than one nodes.

Type

(member :error :first :last :any)

Initform

:any

Initargs

:if-multiple-matches

Readers

location-if-multiple-matches.

Writers

This slot is read-only.


6.2 Internals


6.2.1 Special variables

Special Variable: *location-classes*

Association of lists of mixins to previously created classes.

Package

xml.location.

Source

protocol.lisp.


6.2.2 Ordinary functions

Function: %add-available-conversion-methods (condition stream)

Print a list of methods of the generic function associated to CONDITION onto STREAM.

Package

xml.location.

Source

conditions.lisp.

Function: %add-available-conversion-methods-for-function (function stream)

Format the list of methods of the generic function designated by NAME onto STREAM.

Package

xml.location.

Source

conditions.lisp.

Function: %compute-location-class (&rest args &key if-multiple-matches if-no-match assign-mode &allow-other-keys)

Compute a location class based on the values of IF-MULTIPLE-MATCHES and IF-NO-MATCH. This is a separate function to make it usable in compiler macros.

Package

xml.location.

Source

construction.lisp.

Function: %ensure-class-name (class-or-name)
Package

xml.location.compat.

Source

compat.lisp.

Function: %expand-xpath-element (spec)
Package

xml.location.

Source

xpath-creation.lisp.

Function: %location-error-document-string (condition)

Return a serialization of the XML document associated with CONDITION.

Package

xml.location.

Source

conditions.lisp.

Function: %make-key/sorted (mixins)

Return a key for the dynamic class described by MIXINS.

Package

xml.location.compat.

Source

compat.lisp.

Function: %make-key/unsorted (mixins)

Return a key for the dynamic class described by MIXINS.

Package

xml.location.compat.

Source

compat.lisp.

Function: %make-location-and-place-forms (document bindings &key global-args writable?)

Generate location and place forms for DOCUMENT and BINDINGS. When WRITABLE? is non-nil, locations are created in the document if necessary. Return two values:
+ A list of location forms
+ A list of place forms

Package

xml.location.

Source

macros.lisp.

Function: %make-location-form (document path args)

Make a form that creates the ‘location’ instance for DOCUMENT, PATH and ARGS. Return two values:
+ a symbol for the variable that will hold the location instance + a form that should be evaluated to compute the location instance or nil, if a location variable emitted earlier can be reused.

Package

xml.location.

Source

macros.lisp.

Function: %maybe-add-default-namespaces (namespaces)

Add default namespaces as defined by ‘xpath::*dynamic-namespaces*’ to NAMESPACES.

Package

xml.location.

Source

location.lisp.

Function: %parse-bindings-and-options (bindings-and-options)

Separate BINDINGS-AND-OPTIONS into binding forms and
options. Return two values: the collected binding forms and a plist containing the collected options.

Package

xml.location.

Source

macros.lisp.

Function: %parse-doc-and-options (doc-and-options)

Parse DOC-AND-OPTIONS which is expected to be a list of the form ([DOC] (:NAME VALUE)*).
Return a list of the form
(DOC :NAME1 VALUE1 ...)
in which DOC may be nil.

Package

xml.location.compat.

Source

compat.lisp.

Function: %parse-list-of-atoms (string)
Package

xml.location.

Source

conversion.lisp.

Function: %process-superclass-specs (specs)

Parse superclass specs SPECS and return two values: superclasses that should be inserted at the start of the list of direct superclasses and superclasses that should inserted at the end of the list of direct superclasses.

Package

xml.location.compat.

Source

compat.lisp.

Function: %signal-no-such-accessor-form (spec args)
Package

xml.location.

Source

macros.lisp.

Function: %split-at-whitespace (string)
Package

xml.location.

Source

conversion.lisp.

Function: clear-location-classes! ()

Clear all previously defined dynamic classes.

Package

xml.location.

Source

protocol.lisp.

Function: ensure-find-class (class-or-name)
Package

xml.location.compat.

Source

compat.lisp.


6.2.3 Generic functions

Generic Function: %parse-access-spec (spec &rest args &key inner-specs args &allow-other-keys)
Package

xml.location.

Source

macros.lisp.

Methods
Method: %parse-access-spec ((spec (eql xml.location:@)) &rest args)
Method: %parse-access-spec ((spec (eql :@)) &key inner-specs args)
Method: %parse-access-spec ((spec (eql xml.location:val)) &rest args)
Method: %parse-access-spec ((spec (eql :val)) &key inner-specs args)
Method: %parse-access-spec ((spec (eql xml.location:name)) &rest args)
Method: %parse-access-spec ((spec (eql :name)) &key inner-specs args)
Method: %parse-access-spec ((spec (eql :loc)) &key inner-specs args)
Method: %parse-access-spec ((spec symbol) &rest args)
Method: %parse-access-spec ((spec list) &rest args)
Method: %parse-access-spec ((spec (eql nil)) &key inner-specs)
Method: %parse-access-spec (spec &key inner-specs)
Generic Function: compile! (location)

Compile XPath associated to LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: compile! ((location location))

Compile the XPath and store the result.

Source

location.lisp.

Method: compile! :before ((location location))

Check whether the XPath source is available.

Source

location.lisp.

Generic Function: create-xpath-element (location type name predicate &rest predicates)

Create the XPath element designated by TYPE, NAME and PREDICATE in LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: create-xpath-element ((location element) (type (eql :attribute)) (name (eql *)) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location element) (type (eql :attribute)) (name string) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) name (predicate list) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) (name list) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) (name string) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element :around ((location node) (type (eql :child)) name (predicate integer) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) name (predicate integer) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) (name (eql :text)) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) (name (eql *)) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Method: create-xpath-element ((location node) (type (eql :child)) (name (eql :node)) (predicate (eql nil)) &rest predicates)
Source

xpath-creation.lisp.

Generic Function: create-xpath-sibling (document path)

Create a "sibling" path of PATH by duplicating the node
designated by PATH and appending the result to the children of the parent of the node designated by PATH.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: create-xpath-sibling ((document node) (path list))
Source

xpath-creation.lisp.

Method: create-xpath-sibling ((document node) (path string))
Source

xpath-creation.lisp.

Generic Function: evaluate! (location)

Evaluate XPath associated to LOCATION on the document associated to LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: evaluate! :around ((location singleton-location))
Source

singleton-location.lisp.

Method: evaluate! ((location location))

Evaluate the XPath on the document and store the resulting node set.

Source

location.lisp.

Generic Function: location-attribute (location name &key uri if-does-not-exist &allow-other-keys)

Return the attribute(s) designated by NAME in LOCATION.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: location-attribute ((location append-nodes-mixin) (name string) &key uri)
Source

location-mixins.lisp.

Method: location-attribute ((location create-missing-nodes-mixin) (name string) &key uri)
Source

location-mixins.lisp.

Method: location-attribute ((location multi-location) (name string) &key uri if-does-not-exist)
Source

multi-location.lisp.

Method: location-attribute ((location singleton-location) (name string) &key uri if-does-not-exist)
Source

singleton-location.lisp.

Method: location-attribute :before ((location singleton-location) (name string) &key if-does-not-exist &allow-other-keys)
Source

singleton-location.lisp.

Method: location-attribute :around ((location location) (name string) &rest args &key &allow-other-keys)

Handle qualified attribute names.

Source

location.lisp.

Generic Reader: location-compiled-path (object)
Package

xml.location.

Methods
Reader Method: location-compiled-path ((location location))

Compiled version of the XPath of the location.

Source

location.lisp.

Target Slot

compiled-path.

Generic Function: (setf location-compiled-path) (object)
Package

xml.location.

Methods
Writer Method: (setf location-compiled-path) :after ((location location))

Reset computed result of LOCATION when the compiled path is changed.

Source

location.lisp.

Target Slot

compiled-path.

Method: (setf location-compiled-path) ((location location))

Compiled version of the XPath of the location.

Source

location.lisp.

Generic Reader: location-error-expected (condition)
Package

xml.location.

Methods
Reader Method: location-error-expected ((condition too-many-matches-in-result-set))
Source

conditions.lisp.

Target Slot

expected.

Generic Reader: location-if-multiple-matches (object)
Package

xml.location.

Methods
Reader Method: location-if-multiple-matches ((singleton-location singleton-location))

Policy for the situation that the XPath
evaluates to a node set that consists of more than one nodes.

Source

singleton-location.lisp.

Target Slot

if-multiple-matches.

Generic Function: maybe-decode-qname (location name)

If NAME is qualified, decode it into local-name prefix and uri using the configured namespaces of LOCATION. Return the components as multiple value. If NAME is not qualified, the secondary and tertiary values are both nil.

Package

xml.location.

Source

protocol.lisp.

Methods
Method: maybe-decode-qname ((location location) (name string))

If NAME is qualified, decode it into local-name prefix and uri using the configured namespaces of LOCATION. Return the components as multiple value. If NAME is not qualified, the secondary and tertiary values are both nil.

Source

location.lisp.


6.2.4 Classes

Class: ignore-empty-result-mixin

This mixin class adds the behavior of turning the methods ‘name’, ‘val’ and ‘@’ (and their ‘setf’ variants) into no-ops if the result set is empty.

Package

xml.location.

Source

location-mixins.lisp.

Direct methods

6.2.5 Types

Type: assign-mode-designator ()
Package

xml.location.

Source

types.lisp.

Type: if-multiple-matches-policy-designator ()
Package

xml.location.

Source

types.lisp.

Type: if-no-match-policy-designator ()
Package

xml.location.

Source

types.lisp.

Type: superclass-spec ()
Package

xml.location.compat.

Source

compat.lisp.

Type: superclass-spec-end ()

Superclass spec for appending a superclass at the end of the list of direct superclasses.

Package

xml.location.compat.

Source

compat.lisp.

Type: superclass-spec-simple ()

A simple superclass spec is a class name.

Package

xml.location.compat.

Source

compat.lisp.

Type: superclass-spec-start ()

Superclass spec for appending a superclass at the start of the list of direct superclasses.

Package

xml.location.compat.

Source

compat.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   -   @  
C   D   E   F   G   I   L   M   N   P   R   V   W   X  
Index Entry  Section

%
%add-available-conversion-methods: Private ordinary functions
%add-available-conversion-methods-for-function: Private ordinary functions
%compute-location-class: Private ordinary functions
%ensure-class-name: Private ordinary functions
%expand-xpath-element: Private ordinary functions
%location-error-document-string: Private ordinary functions
%make-key/sorted: Private ordinary functions
%make-key/unsorted: Private ordinary functions
%make-location-and-place-forms: Private ordinary functions
%make-location-form: Private ordinary functions
%maybe-add-default-namespaces: Private ordinary functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-access-spec: Private generic functions
%parse-bindings-and-options: Private ordinary functions
%parse-doc-and-options: Private ordinary functions
%parse-list-of-atoms: Private ordinary functions
%process-superclass-specs: Private ordinary functions
%signal-no-such-accessor-form: Private ordinary functions
%split-at-whitespace: Private ordinary functions

(
(setf @): Public generic functions
(setf @): Public generic functions
(setf @): Public generic functions
(setf @): Public generic functions
(setf @): Public generic functions
(setf location-compiled-path): Private generic functions
(setf location-compiled-path): Private generic functions
(setf location-compiled-path): Private generic functions
(setf location-document): Public generic functions
(setf location-document): Public generic functions
(setf location-document): Public generic functions
(setf location-namespaces): Public generic functions
(setf location-namespaces): Public generic functions
(setf location-namespaces): Public generic functions
(setf location-path): Public generic functions
(setf location-path): Public generic functions
(setf location-path): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions
(setf val): Public generic functions

-
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml: Public generic functions
->xml-conversion-error: Public ordinary functions

@
@: Public generic functions
@: Public generic functions
@: Public generic functions
@: Public generic functions

C
clear-location-classes!: Private ordinary functions
compile!: Private generic functions
compile!: Private generic functions
compile!: Private generic functions
conversion-error-destination: Public generic functions
conversion-error-destination: Public generic functions
conversion-error-function: Public generic functions
conversion-error-function: Public generic functions
conversion-error-type: Public generic functions
conversion-error-type: Public generic functions
conversion-error-value: Public generic functions
conversion-error-value: Public generic functions
create-xpath: Public generic functions
create-xpath: Public generic functions
create-xpath: Public generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-element: Private generic functions
create-xpath-sibling: Private generic functions
create-xpath-sibling: Private generic functions
create-xpath-sibling: Private generic functions

D
define-dynamic-class-family: Public macros

E
ensure-find-class: Private ordinary functions
ensure-location-class: Public ordinary functions
evaluate!: Private generic functions
evaluate!: Private generic functions
evaluate!: Private generic functions

F
Function, %add-available-conversion-methods: Private ordinary functions
Function, %add-available-conversion-methods-for-function: Private ordinary functions
Function, %compute-location-class: Private ordinary functions
Function, %ensure-class-name: Private ordinary functions
Function, %expand-xpath-element: Private ordinary functions
Function, %location-error-document-string: Private ordinary functions
Function, %make-key/sorted: Private ordinary functions
Function, %make-key/unsorted: Private ordinary functions
Function, %make-location-and-place-forms: Private ordinary functions
Function, %make-location-form: Private ordinary functions
Function, %maybe-add-default-namespaces: Private ordinary functions
Function, %parse-bindings-and-options: Private ordinary functions
Function, %parse-doc-and-options: Private ordinary functions
Function, %parse-list-of-atoms: Private ordinary functions
Function, %process-superclass-specs: Private ordinary functions
Function, %signal-no-such-accessor-form: Private ordinary functions
Function, %split-at-whitespace: Private ordinary functions
Function, ->xml-conversion-error: Public ordinary functions
Function, clear-location-classes!: Private ordinary functions
Function, ensure-find-class: Private ordinary functions
Function, ensure-location-class: Public ordinary functions
Function, location-classes: Public ordinary functions
Function, xml->-conversion-error: Public ordinary functions

G
Generic Function, %parse-access-spec: Private generic functions
Generic Function, (setf @): Public generic functions
Generic Function, (setf location-compiled-path): Private generic functions
Generic Function, (setf location-document): Public generic functions
Generic Function, (setf location-namespaces): Public generic functions
Generic Function, (setf location-path): Public generic functions
Generic Function, (setf name): Public generic functions
Generic Function, (setf val): Public generic functions
Generic Function, ->xml: Public generic functions
Generic Function, @: Public generic functions
Generic Function, compile!: Private generic functions
Generic Function, conversion-error-destination: Public generic functions
Generic Function, conversion-error-function: Public generic functions
Generic Function, conversion-error-type: Public generic functions
Generic Function, conversion-error-value: Public generic functions
Generic Function, create-xpath: Public generic functions
Generic Function, create-xpath-element: Private generic functions
Generic Function, create-xpath-sibling: Private generic functions
Generic Function, evaluate!: Private generic functions
Generic Function, invalid-binding-form-form: Public generic functions
Generic Function, invalid-binding-form-name: Public generic functions
Generic Function, invalid-binding-form-spec: Public generic functions
Generic Function, loc: Public generic functions
Generic Function, location-attribute: Private generic functions
Generic Function, location-compiled-path: Private generic functions
Generic Function, location-document: Public generic functions
Generic Function, location-error-document: Public generic functions
Generic Function, location-error-expected: Private generic functions
Generic Function, location-error-path: Public generic functions
Generic Function, location-if-multiple-matches: Private generic functions
Generic Function, location-namespaces: Public generic functions
Generic Function, location-path: Public generic functions
Generic Function, location-result: Public generic functions
Generic Function, make-location-class: Public generic functions
Generic Function, maybe-decode-qname: Private generic functions
Generic Function, name: Public generic functions
Generic Function, result-condition-result: Public generic functions
Generic Function, val: Public generic functions
Generic Function, xml->: Public generic functions
Generic Function, xpath-creation-error-location: Public generic functions
Generic Function, xpath-creation-error-name: Public generic functions
Generic Function, xpath-creation-error-predicate: Public generic functions
Generic Function, xpath-creation-error-type: Public generic functions

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
invalid-binding-form-form: Public generic functions
invalid-binding-form-form: Public generic functions
invalid-binding-form-name: Public generic functions
invalid-binding-form-name: Public generic functions
invalid-binding-form-spec: Public generic functions
invalid-binding-form-spec: Public generic functions

L
loc: Public generic functions
loc: Public generic functions
loc: Public generic functions
loc: Public generic functions
loc: Public generic functions
loc: Public generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-attribute: Private generic functions
location-classes: Public ordinary functions
location-compiled-path: Private generic functions
location-compiled-path: Private generic functions
location-document: Public generic functions
location-document: Public generic functions
location-error-document: Public generic functions
location-error-document: Public generic functions
location-error-expected: Private generic functions
location-error-expected: Private generic functions
location-error-path: Public generic functions
location-error-path: Public generic functions
location-if-multiple-matches: Private generic functions
location-if-multiple-matches: Private generic functions
location-namespaces: Public generic functions
location-namespaces: Public generic functions
location-path: Public generic functions
location-path: Public generic functions
location-result: Public generic functions
location-result: Public generic functions

M
Macro, define-dynamic-class-family: Public macros
Macro, with-locations: Public macros
Macro, with-locations-r/o: Public macros
make-location-class: Public generic functions
make-location-class: Public generic functions
maybe-decode-qname: Private generic functions
maybe-decode-qname: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, %parse-access-spec: Private generic functions
Method, (setf @): Public generic functions
Method, (setf @): Public generic functions
Method, (setf @): Public generic functions
Method, (setf @): Public generic functions
Method, (setf location-compiled-path): Private generic functions
Method, (setf location-compiled-path): Private generic functions
Method, (setf location-document): Public generic functions
Method, (setf location-document): Public generic functions
Method, (setf location-namespaces): Public generic functions
Method, (setf location-namespaces): Public generic functions
Method, (setf location-path): Public generic functions
Method, (setf location-path): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, (setf val): Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, ->xml: Public generic functions
Method, @: Public generic functions
Method, @: Public generic functions
Method, @: Public generic functions
Method, compile!: Private generic functions
Method, compile!: Private generic functions
Method, conversion-error-destination: Public generic functions
Method, conversion-error-function: Public generic functions
Method, conversion-error-type: Public generic functions
Method, conversion-error-value: Public generic functions
Method, create-xpath: Public generic functions
Method, create-xpath: Public generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-element: Private generic functions
Method, create-xpath-sibling: Private generic functions
Method, create-xpath-sibling: Private generic functions
Method, evaluate!: Private generic functions
Method, evaluate!: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, invalid-binding-form-form: Public generic functions
Method, invalid-binding-form-name: Public generic functions
Method, invalid-binding-form-spec: Public generic functions
Method, loc: Public generic functions
Method, loc: Public generic functions
Method, loc: Public generic functions
Method, loc: Public generic functions
Method, loc: Public generic functions
Method, location-attribute: Private generic functions
Method, location-attribute: Private generic functions
Method, location-attribute: Private generic functions
Method, location-attribute: Private generic functions
Method, location-attribute: Private generic functions
Method, location-attribute: Private generic functions
Method, location-compiled-path: Private generic functions
Method, location-document: Public generic functions
Method, location-error-document: Public generic functions
Method, location-error-expected: Private generic functions
Method, location-error-path: Public generic functions
Method, location-if-multiple-matches: Private generic functions
Method, location-namespaces: Public generic functions
Method, location-path: Public generic functions
Method, location-result: Public generic functions
Method, make-location-class: Public generic functions
Method, maybe-decode-qname: Private generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, print-object: Public standalone methods
Method, result-condition-result: Public generic functions
Method, val: Public generic functions
Method, val: Public generic functions
Method, val: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xml->: Public generic functions
Method, xpath-creation-error-location: Public generic functions
Method, xpath-creation-error-name: Public generic functions
Method, xpath-creation-error-predicate: Public generic functions
Method, xpath-creation-error-type: Public generic functions

N
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions

P
print-object: Public standalone methods

R
result-condition-result: Public generic functions
result-condition-result: Public generic functions

V
val: Public generic functions
val: Public generic functions
val: Public generic functions
val: Public generic functions

W
with-locations: Public macros
with-locations-r/o: Public macros

X
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->: Public generic functions
xml->-conversion-error: Public ordinary functions
xpath-creation-error-location: Public generic functions
xpath-creation-error-location: Public generic functions
xpath-creation-error-name: Public generic functions
xpath-creation-error-name: Public generic functions
xpath-creation-error-predicate: Public generic functions
xpath-creation-error-predicate: Public generic functions
xpath-creation-error-type: Public generic functions
xpath-creation-error-type: Public generic functions


A.3 Variables

Jump to:   *  
C   D   E   F   I   L   N   P   R   S   T   V  
Index Entry  Section

*
*cl-namespaces*: Public special variables
*location-classes*: Private special variables

C
compiled-path: Public classes

D
destination: Public conditions
document: Public conditions
document: Public classes

E
expected: Public conditions

F
form: Public conditions
function: Public conditions

I
if-multiple-matches: Public classes
if-no-match: Public classes

L
location: Public conditions

N
name: Public conditions
name: Public conditions
namespaces: Public classes

P
path: Public conditions
path: Public classes
predicate: Public conditions

R
result: Public conditions
result: Public classes

S
Slot, compiled-path: Public classes
Slot, destination: Public conditions
Slot, document: Public conditions
Slot, document: Public classes
Slot, expected: Public conditions
Slot, form: Public conditions
Slot, function: Public conditions
Slot, if-multiple-matches: Public classes
Slot, if-no-match: Public classes
Slot, location: Public conditions
Slot, name: Public conditions
Slot, name: Public conditions
Slot, namespaces: Public classes
Slot, path: Public conditions
Slot, path: Public classes
Slot, predicate: Public conditions
Slot, result: Public conditions
Slot, result: Public classes
Slot, spec: Public conditions
Slot, type: Public conditions
Slot, type: Public conditions
Slot, value: Public conditions
spec: Public conditions
Special Variable, *cl-namespaces*: Public special variables
Special Variable, *location-classes*: Private special variables

T
type: Public conditions
type: Public conditions

V
value: Public conditions


A.4 Data types

Jump to:   -  
A   C   E   F   I   L   M   N   P   R   S   T   V   X  
Index Entry  Section

-
->xml-conversion-error: Public conditions

A
append-nodes-mixin: Public classes
assign-mode-designator: Private types

C
Class, append-nodes-mixin: Public classes
Class, create-missing-nodes-mixin: Public classes
Class, ignore-empty-result-mixin: Private classes
Class, location: Public classes
Class, multi-location: Public classes
Class, singleton-location: Public classes
compat.lisp: The xml․location/compat․lisp file
Condition, ->xml-conversion-error: Public conditions
Condition, conversion-error: Public conditions
Condition, empty-result-set: Public conditions
Condition, invalid-binding-form: Public conditions
Condition, invalid-result-type: Public conditions
Condition, location-error: Public conditions
Condition, missing-xpath-source: Public conditions
Condition, no-->xml-conversion-method: Public conditions
Condition, no-conversion-method-mixin: Public conditions
Condition, no-such-accessor-form: Public conditions
Condition, no-xml->-conversion-method: Public conditions
Condition, result-condition: Public conditions
Condition, too-many-matches-in-result-set: Public conditions
Condition, xml->-conversion-error: Public conditions
Condition, xpath-creation-error: Public conditions
conditions.lisp: The xml․location/src/conditions․lisp file
construction.lisp: The xml․location/src/construction․lisp file
conversion-error: Public conditions
conversion.lisp: The xml․location/src/conversion․lisp file
create-missing-nodes-mixin: Public classes

E
empty-result-set: Public conditions

F
File, compat.lisp: The xml․location/compat․lisp file
File, conditions.lisp: The xml․location/src/conditions․lisp file
File, construction.lisp: The xml․location/src/construction․lisp file
File, conversion.lisp: The xml․location/src/conversion․lisp file
File, location-mixins.lisp: The xml․location/src/location-mixins․lisp file
File, location.lisp: The xml․location/src/location․lisp file
File, macros.lisp: The xml․location/src/macros․lisp file
File, multi-location.lisp: The xml․location/src/multi-location․lisp file
File, package.lisp: The xml․location/src/package․lisp file
File, protocol.lisp: The xml․location/src/protocol․lisp file
File, singleton-location.lisp: The xml․location/src/singleton-location․lisp file
File, types.lisp: The xml․location/src/types․lisp file
File, variables.lisp: The xml․location/src/variables․lisp file
File, xml.location.asd: The xml․location/xml․location․asd file
File, xpath-creation.lisp: The xml․location/src/xpath-creation․lisp file

I
if-multiple-matches-policy-designator: Private types
if-no-match-policy-designator: Private types
ignore-empty-result-mixin: Private classes
invalid-binding-form: Public conditions
invalid-result-type: Public conditions

L
location: Public classes
location-error: Public conditions
location-mixins.lisp: The xml․location/src/location-mixins․lisp file
location.lisp: The xml․location/src/location․lisp file

M
macros.lisp: The xml․location/src/macros․lisp file
missing-xpath-source: Public conditions
Module, src: The xml․location/src module
multi-location: Public classes
multi-location.lisp: The xml․location/src/multi-location․lisp file

N
no-->xml-conversion-method: Public conditions
no-conversion-method-mixin: Public conditions
no-such-accessor-form: Public conditions
no-xml->-conversion-method: Public conditions

P
Package, xml.location: The xml․location package
Package, xml.location.compat: The xml․location․compat package
package.lisp: The xml․location/src/package․lisp file
protocol.lisp: The xml․location/src/protocol․lisp file

R
result-condition: Public conditions

S
singleton-location: Public classes
singleton-location.lisp: The xml․location/src/singleton-location․lisp file
src: The xml․location/src module
superclass-spec: Private types
superclass-spec-end: Private types
superclass-spec-simple: Private types
superclass-spec-start: Private types
System, xml.location: The xml․location system

T
too-many-matches-in-result-set: Public conditions
Type, assign-mode-designator: Private types
Type, if-multiple-matches-policy-designator: Private types
Type, if-no-match-policy-designator: Private types
Type, superclass-spec: Private types
Type, superclass-spec-end: Private types
Type, superclass-spec-simple: Private types
Type, superclass-spec-start: Private types
types.lisp: The xml․location/src/types․lisp file

V
variables.lisp: The xml․location/src/variables․lisp file

X
xml->-conversion-error: Public conditions
xml.location: The xml․location system
xml.location: The xml․location package
xml.location.asd: The xml․location/xml․location․asd file
xml.location.compat: The xml․location․compat package
xpath-creation-error: Public conditions
xpath-creation.lisp: The xml․location/src/xpath-creation․lisp file