Up: Plexippus XPath API reference

Package xpath-sys

The XPATH-SYS package provides an API for extensions to Plexippus XPath.

About This Package

Pipes
Node sets
Implementing environments
Defining extension functions
Profiling support
Miscellaneous functions

Pipes

Pipes are lazy lists, inspired by their implementation in Norvig's 'Paradigms of Artificial Intelligence Programming'.

Constructs a pipe (lazy list). ...

Returns the head of the pipe.

Returns the tail of the list. ...

Node sets

Node sets are the XPath data type used to represent the results of evaluations that select multiple nodes. As sets, they never contain duplicates. Conceptually, they are unordered, with the most important order defined on them being the document order.

As a data structure though, node sets are backed by a pipe, and the order of elements in that pipe is well-documented: By default, the pipe of returned node sets is sorted into document order. When unordered results are requested, the order is usually not specified, but in some cases, are already sorted according to the axis being queried, which is usually sorted either in document order,or in reverse document order. See xpath:evaluate for the unordered argument.

Makes a node set containing nodes from the pipe with specified ordering.

Returns the pipe that contains the elements of the node-set.

Implementing environments

Environments provide compilation-time configuration for XPath. An environment is a CLOS object, which is queried by the compiler using generic functions that users can implement on their own subclasses of xpath::environment.

The default environment class implements a `dynamic' environment, backed by information bound in dynamic variables, so that typical uses of XPath work without special environment classes.

Returns namespace URI for specified prefix.

Finds an XPath variable by local-name and uri ...

Finds an XPath function by local-name and uri ...

Defining extension functions

XPath defines built-in functions in the empty namespace. Using the extension API, user code can implement XPath functions addressed using other namespaces.

Defines an XPath extension with specified name and uri. ...

Defines an XPath function, "lazy" style. ...

Defines an XPath function, "eager" style. ...

Defines an XPath function, "eager" style with automatic type conversion. ...

Performs an XPath function lookup using standard lookup rules ...

Profiling support

The profiling facility records the run time of XPath evaluations and pattern matching.

Enables profiling. ...

Disables profiling. ...

Shows profiling output. ...

Miscellaneous functions

Other useful functions:

Generates an unique identifier for the first node node-set (or, if a node is specified, for that node). ...

Exported Symbol Index

define-extension, macro
define-xpath-function/eager, macro
define-xpath-function/lazy, macro
define-xpath-function/single-type, macro
disable-profiling, function
enable-profiling, function
environment-find-function, function
environment-find-namespace, function
environment-find-variable, function
find-xpath-function, function
get-node-id, function
make-node-set, function
make-pipe, macro
pipe-head, function
pipe-of, function
pipe-tail, function
report, function