The cxml Reference Manual

This is the cxml Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Jul 15 04:49:08 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cxml

Closure XML - a Common Lisp XML parser

Maintainer

Sharp Lispers <>

Authors

Gilbert Baumann
Henrik Motakef
David Lichteblau

License

LLGPL

Dependencies
Source

cxml.asd.


2.2 cxml/dom

Maintainer

Sharp Lispers <>

Authors

Gilbert Baumann
Henrik Motakef
David Lichteblau

License

LLGPL

Dependency

cxml/xml (system).

Source

cxml.asd.

Child Components

2.3 cxml/xml

Maintainer

Sharp Lispers <>

Authors

Gilbert Baumann
Henrik Motakef
David Lichteblau

License

LLGPL

Dependencies
  • closure-common (system).
  • puri (system).
  • trivial-gray-streams (system).
Source

cxml.asd.

Child Components

2.4 cxml/klacks

Maintainer

Sharp Lispers <>

Authors

Gilbert Baumann
Henrik Motakef
David Lichteblau

License

LLGPL

Dependency

cxml/xml (system).

Source

cxml.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 cxml/cxml.asd

Source

cxml.asd.

Parent Component

cxml (system).

ASDF Systems
Packages

cxml-system.

Public Interface
Internals

3.1.2 cxml/dom/package.lisp

Source

cxml.asd.

Parent Component

cxml/dom (system).

Packages

dom.

Public Interface

3.1.3 cxml/dom/rune-impl.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/dom (system).

Packages

rune-dom.

Public Interface
Internals

3.1.4 cxml/dom/rune-builder.lisp

Dependency

rune-impl.lisp (file).

Source

cxml.asd.

Parent Component

cxml/dom (system).

Public Interface
Internals

3.1.5 cxml/dom/dom-sax.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/dom (system).

Public Interface

map-document (function).

Internals

compute-attributes (function).


3.1.6 cxml/xml/package.lisp

Source

cxml.asd.

Parent Component

cxml/xml (system).

Packages

cxml.


3.1.7 cxml/xml/util.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Internals

3.1.8 cxml/xml/sax-handler.lisp

Source

cxml.asd.

Parent Component

cxml/xml (system).

Packages

sax.

Public Interface
Internals

3.1.9 cxml/xml/xml-name-rune-p.lisp

Dependencies
Source

cxml.asd.

Parent Component

cxml/xml (system).

Internals

3.1.10 cxml/xml/split-sequence.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Internals

split-sequence-if (function).


3.1.11 cxml/xml/xml-parse.lisp

Dependencies
Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.12 cxml/xml/unparse.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.13 cxml/xml/xmls-compat.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Packages

cxml-xmls.

Public Interface
Internals

3.1.14 cxml/xml/recoder.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.15 cxml/xml/xmlns-normalizer.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.16 cxml/xml/space-normalizer.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.17 cxml/xml/catalog.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

3.1.18 cxml/xml/sax-proxy.lisp

Dependency

xml-parse.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Public Interface
Internals

dtd (method).


3.1.19 cxml/xml/atdoc-configuration.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/xml (system).

Internals

3.1.20 cxml/klacks/package.lisp

Source

cxml.asd.

Parent Component

cxml/klacks (system).

Packages

klacks.


3.1.21 cxml/klacks/klacks.lisp

Dependency

package.lisp (file).

Source

cxml.asd.

Parent Component

cxml/klacks (system).

Public Interface
Internals

3.1.22 cxml/klacks/klacks-impl.lisp

Dependency

klacks.lisp (file).

Source

cxml.asd.

Parent Component

cxml/klacks (system).

Public Interface
Internals

3.1.23 cxml/klacks/tap-source.lisp

Dependency

klacks-impl.lisp (file).

Source

cxml.asd.

Parent Component

cxml/klacks (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 rune-dom

Source

rune-impl.lisp.

Nickname

cxml-dom

Use List
  • common-lisp.
  • runes.
Public Interface
Internals

4.2 cxml-xmls

Source

xmls-compat.lisp.

Use List
  • common-lisp.
  • runes.
Public Interface
Internals

4.3 sax

Source

sax-handler.lisp.

Use List

common-lisp.

Public Interface
Internals

4.4 dom

Source

package.lisp.

Public Interface
Internals

4.5 cxml-system

Source

cxml.asd.

Use List
  • asdf/interface.
  • common-lisp.
Internals

4.6 cxml

Source

package.lisp.

Use List
  • common-lisp.
  • runes.
  • runes-encoding.
  • trivial-gray-streams.
Public Interface
Internals

4.7 klacks

Source

package.lisp.

Public Interface

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *cache-all-dtds*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *catalog*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *dtd-cache*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *include-xmlns-attributes*

If non-nil, namespace declarations are reported as normal attributes.

This variable has no effect unless ‘*namespace-processing*’ is non-nil.

See also ‘*use-xmlns-namespace*’, and ‘start-element’ for a detailed description of the consequences of setting this variable.

Package

sax.

Source

sax-handler.lisp.

Special Variable: *namespace-processing*

If non-nil (the default), namespace processing is enabled.

See also ‘start-element’ and ‘end-element’ for a detailed description of the consequences of modifying this variable, and ‘*include-xmlns-attributes*’ and ‘*use-xmlns-namespace*’ for further related options.

Package

sax.

Source

sax-handler.lisp.

Special Variable: *prefer*
Package

cxml.

Source

catalog.lisp.

Special Variable: *use-xmlns-namespace*

If this variable is nil (the default), attributes with a name like ’xmlns:x’ are not considered to be in a namespace, following the ’Namespaces in XML’ specification.

If it is non-nil, such attributes are considered to be in a namespace with the URI ’http://www.w3.org/2000/xmlns/’, following an incompatible change silently introduced in the errata to that spec, and adopted by some W3C standards.

For example, an attribute like xmlns:ex=’http://example.com’ would be reported like this:

*use-xmlns-namespace*: nil
namespace-uri: nil
local-name: nil
qname: #"xmlns:ex"

*use-xmlns-namespace*: t
namespace-uri: #"http://www.w3.org/2000/xmlns/" local-name: #"ex"
qname: #"xmlns:ex"

Setting this variable has no effect unless both ‘*namespace-processing*’ and ‘*include-xmlns-attributes*’ are non-nil.

Package

sax.

Source

sax-handler.lisp.


5.1.2 Macros

Macro: do-node-list ((var nodelist &optional resultform) &body body)
Package

dom.

Source

rune-impl.lisp.

Macro: do-node-map ((var node-map &optional resultform) &body body)
Package

dom.

Source

rune-impl.lisp.

Macro: expecting-element ((source &optional lname uri) &body body)
Package

klacks.

Source

klacks.lisp.

Macro: with-element (qname &body body)

@arg[qname]{A string, evaluated.}
@arg[body]{forms, an implicit progn}
@return{The result of @code{body}.}

Writes an element to the current output sink.

This macro is a convenience wrapper around @fun{with-element*}.

@var{qname} is parsed to determine the element’s namespace prefix and local name. Then @fun{with-element*} is called on @var{body} using the resulting values.

Package

cxml.

Source

unparse.lisp.

Macro: with-element* ((prefix lname) &body body)

@arg[prefix]{Namespace prefix, a string (evaluated).} @arg[lname]{Local name, a string (evaluated).}
@arg[body]{forms, an implicit progn}
@return{The result of @code{body}.}

Writes an element to the current output sink.

First, @var{prefix} is resolved to a namespace URI using the bindings established by @fun{with-namespace}.

Next, body is evaluated as an implicit progn. During this time, attributes for the element can be specified using @fun{attribute}.

Once information on the start tag is complete, @fun{start-element} on the current output sink, using the specified namespace prefix and local name specified by the arguments, the namespace URI computed as described above,and including all attributes collected so far.

Information on the start tag is considered complete once the first of the following situations occurs:
@begin{itemize}
@item{Before any child node of the element is written, e.g. using an inner call of @fun{with-element},}
@item{Before the body of @fun{with-ouptut-sink} is evaluated.} @item{After the end of @var{body} has been reached.} @end{itemize}

Finally, sax:end-element is used to write an end tag, using the same qualified name and namespace information as above.

Package

cxml.

Source

unparse.lisp.

Macro: with-namespace ((prefix uri) &body body)

@arg[prefix]{Namespace prefix, a string (evaluated).} @arg[uri]{Namespace URI, a string (evaluated).}
@arg[body]{forms, an implicit progn}
@return{The result of @code{body}.}

Registers @code{prefix} as a name for the namespace URI @code{uri} for the extent of body.

Namespace bindings established by @code{with-namespace} are used by @fun{with-element} and @fun{with-element*} as well as @fun{attribute} and @fun{attribute*}.

Package

cxml.

Source

unparse.lisp.

Macro: with-open-source ((var source) &body body)
Package

klacks.

Source

klacks.lisp.

Macro: with-output-sink ((var) &body body)

@arg[var]{A symbol, not evaluated.}
@arg[body]{forms, an implicit progn}
@return{The result of @code{body}.}

Allows safe use of manual calls to SAX functions during the extent of @fun{with-xml-output},

Determines the current output sink established by @fun{with-xml-output}, as used by convenience serialization functions. Writes delayed serialization events to the sink. Binds local variable @code{var} to the sink and evaluates @code{body} as an implicit progn.

The consequences are undefined if this macro is used outside of the extent of a call to @fun{with-xml-output}.

See @fun{with-xml-output} for details on delayed events.

Package

cxml.

Source

unparse.lisp.

Macro: with-xml-output (sink &body body)

@arg[sink]{A @class{SAX handler}, evaluated}
@arg[body]{forms}
@return{The result of calling @code{sax:end-document} on @code{sink}.}

Evaluates sink and establishes it as the current output sink for the following "convenience serialization" macros and functions: @fun{with-element}, @fun{with-namespace}, @fun{doctype}, @fun{with-element*}, @fun{attribute}, @fun{attribute*}, @fun{text} @fun{comment}, @fun{processing-instruction}, @fun{unescaped}.

Before @code{body} is evaluated, @fun{sax:start-document} is signalled to the @code{sink}. Afterwards, @fun{sax:end-document} is signalled.

Note that convenience serialization delays some serialization events. For example, @fun{with-element} delays signalling an opening tag using @fun{sax:start-element} until it has information about all possible attributes of the element. Because of this delay, it is not usually safe to signal SAX events to the sink during the extent of @code{with-xml-output}. However, @fun{with-output-sink} can be used to force output of delayed events, allowing direct use of the sink.

Example:
@pre{(with-xml-output (make-octet-stream-sink stream) (with-element "foo"
(attribute "xyz" "abc")
(with-element "bar"
(attribute "blub" "bla"))
(text "Hi there.")))}

Package

cxml.

Source

unparse.lisp.


5.1.3 Ordinary functions

Function: attribute (qname value)

@arg[qname]{Qualified name, a string.}
@arg[value]{Any value understood by @fun{unparse-attribute}, in particular strings.}
@return{undocumented}

Collects an attribute for the start tag that is currently being written.

This function may only be called during the extent of a use of @fun{with-element} or @fun{with-element*}, and only before the first child node has been written.

An attribute for the current element is recorded using the namespace prefix and local name specified by @var{qname}. The attribute’s namespace prefix is resolved to a namespace URI using the bindings established by @fun{with-namespace},and that namespace URI is used for the attribute.

Package

cxml.

Source

unparse.lisp.

Function: attribute* (prefix lname value &optional qname)

@arg[prefix]{Namespace prefix, a string.}
@arg[lname]{Local name, a string.}
@arg[value]{Any value understood by @fun{unparse-attribute}, in particular strings.}
@return{undocumented}

Collects an attribute for the start tag that is currently being written.

This function may only be called during the extent of a use of @fun{with-element} or @fun{with-element*}, and only before the first child node has been written.

An attribute for the current element is recorded using the namespace prefix and local name specified by arguments. @var{prefix} is resolved to a namespace URI using the bindings established by @fun{with-namespace}, and that namespace URI is used for the attribute.

Package

cxml.

Source

unparse.lisp.

Function: cdata (data)

@arg[data]{String.}
@return{undocumented}

Writes a CDATA section to the current output sink, using @code{data} as its contents.

Note: It is currently the caller’s responsibily to ensure that the CDATA section will not contain forbidden character sequences.

Package

cxml.

Source

unparse.lisp.

Function: clear-dtd-cache (dtd-cache)
Package

cxml.

Source

xml-parse.lisp.

Function: comment (data)

@arg[data]{String.}
@return{undocumented}

Writes a comment to the current output sink, using @code{data} as
its contents.

Note: It is currently the caller’s responsibily to ensure that @code{data} does not contain character sequences forbidden for comments.

Package

cxml.

Source

unparse.lisp.

Function: consume-characters (source)
Package

klacks.

Source

klacks.lisp.

Function: create-document (&optional document-element)
Package

rune-dom.

Source

rune-impl.lisp.

Function: current-characters (source)
Package

klacks.

Source

klacks.lisp.

Function: current-lname (source)
Package

klacks.

Source

klacks.lisp.

Function: current-qname (source)
Package

klacks.

Source

klacks.lisp.

Function: current-uri (source)
Package

klacks.

Source

klacks.lisp.

Function: doctype (name public-id system-id &optional internal-subset)

@arg[name]{Element name, a string.}
@arg[public-id]{String}
@arg[system-id]{A system ID as a @class{puri:uri}.} @arg[internal-subset]{nil or a string}
@return{undocumented}

Writes a doctype declaration to the current output sink, using the specified name, public ID, system ID, and optionally an internal subset.

Package

cxml.

Source

unparse.lisp.

Function: expect (source key &optional u v w)
Package

klacks.

Source

klacks.lisp.

Function: find-attribute (qname attrs)
Package

sax.

Source

sax-handler.lisp.

Function: find-attribute-ns (uri lname attrs)
Package

sax.

Source

sax-handler.lisp.

Function: find-element (source &optional lname uri)
Package

klacks.

Source

klacks.lisp.

Function: find-event (source key)
Package

klacks.

Source

klacks.lisp.

Function: getdtd (uri dtd-cache)
Package

cxml.

Source

xml-parse.lisp.

Function: (setf getdtd) (uri dtd-cache)
Package

cxml.

Source

xml-parse.lisp.

Function: make-attribute (&key namespace-uri local-name qname value specified-p)
Package

sax.

Source

sax-handler.lisp.

Function: make-broadcast-handler (&rest handlers)

@arg[handlers]{A list of @class{SAX handler}s.}
@return{A @class{broadcast-handler}.}

Creates a SAX handler which passes every event it receives on to each handler specified as an argument to this function.

See @class{broadcast-handler} for details.

Package

cxml.

Source

sax-proxy.lisp.

Function: make-catalog (&optional uris)
Package

cxml.

Source

catalog.lisp.

Function: make-character-stream-sink (stream &rest initargs &key encoding &allow-other-keys)

@arg[stream]{A character stream.}
@return{A serialization sink, i.e. a @class{SAX handler}}

Returns a handler that writes processes SAX events by writing an equivalent XML document to @var{stream}.

The sink will return @var{stream} as a result from @fun{sax:end-document}.

All sink creation functions share the same keyword arguments. Refer to @fun{make-octet-vector-sink} for details on keyword arguments.

Package

cxml.

Source

unparse.lisp.

Function: make-dom-builder ()
Package

rune-dom.

Source

rune-builder.lisp.

Function: make-dtd-cache ()
Package

cxml.

Source

xml-parse.lisp.

Function: make-extid (public system)

@arg[publicid]{string or nil} @arg[systemid]{@class{puri:uri} or nil}
@return{an instance of @class{extid}}

Create an object representing the External ID composed of the specified Public ID and System ID.

Package

cxml.

Source

xml-parse.lisp.

Function: make-namespace-normalizer (chained-handler)

@arg[chained-handler]{A @class{SAX handler}.}
@return{A @class{SAX handler}.}

Return a SAX handler that performs @a[http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/namespaces-algorithms.html#normalizeDocumentAlgo]{DOM 3-style namespace normalization} on attribute lists in
@fun{sax:start-element} events before passing them on the next handler.

Package

cxml.

Source

xmlns-normalizer.lisp.

Function: make-node (&key name ns attrs children)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: make-octet-stream-sink (stream &rest initargs &key encoding &allow-other-keys)

@arg[stream]{An (unsigned-byte 8) stream.}
@return{A serialization sink, i.e. a @class{SAX handler}}

Returns a handler that writes processes SAX events by writing an equivalent XML document to @var{stream}.

The sink will return @var{stream} as a result from @fun{sax:end-document}.

All sink creation functions share the same keyword arguments. Refer to @fun{make-octet-vector-sink} for details on keyword arguments.

Package

cxml.

Source

unparse.lisp.

Function: make-octet-vector-sink (&rest initargs &key encoding &allow-other-keys)

@arg[canonical]{canonical form, one of NIL, T, 1, 2. If specified, serialization in canonical form is enabled. The two canonical forms are useful to allow comparisons of XML documents and their content model by character-by-character comparisons of
their serialized representation.}
@arg[indentation]{indentation level. An integer or nil. If specified, a pretty-printing indentation mode is enabled. Note that indentation as implemented currently changes the content model unconditionally, and is usually helpful only for debugging purposes.} @arg[encoding]{the character encoding to use. A string or
keyword. Values are interpreted by Babel. nil is also allowed
and means UTF-8.}
@arg[omit-xml-declaration]{Boolean. If true, no XML declaration
is written.}
@return{A serialization sink, i.e. a @class{SAX handler}}

Returns a handler that writes processes SAX events by writing an equivalent XML document to a newly allocated vector of @code{(unsigned-byte 8)}.

The following values for @code{canonical} are allowed:

@begin{itemize}
@item{t or 1: Canonical XML}
@item{2: Second Canonical Form}
@item{NIL: Use a more readable non-canonical representation.} @end{itemize}

The sink will return the vector as a result from @fun{sax:end-document}.

An internal subset will be included in the result regardless of the canonical setting. It is the responsibility of the caller to not report an internal subset for canonical <= 1, or only notations as required for canonical = 2. For example, the include-doctype argument to dom:map-document should be set to nil for the former behaviour and :canonical-notations for the latter.

Package

cxml.

Source

unparse.lisp.

Function: make-recoder (chained-handler recoder-fn)
Package

cxml.

Source

recoder.lisp.

Function: make-rod-sink (&rest initargs &key encoding &allow-other-keys)

@return{A serialization sink, i.e. a @class{SAX handler}}

Returns a handler that writes processes SAX events by writing an equivalent XML document to a newly allocated string of unicode characters (or on implementations without unicode support: a rod).

The sink will return the string (or rod) as a result from @fun{sax:end-document}.

All sink creation functions share the same keyword arguments. Refer to @fun{make-octet-vector-sink} for details on keyword arguments.

Package

cxml.

Source

unparse.lisp.

Function: make-source (input &rest args &key validate dtd root entity-resolver disallow-internal-subset buffering pathname)
Package

cxml.

Source

klacks-impl.lisp.

Function: make-string-sink (&rest args)

@return{A serialization sink, i.e. a @class{SAX handler}}

Returns a handler that writes processes SAX events by writing an equivalent XML document to a newly allocated string of unicode characters.

The sink will return the string as a result from @fun{sax:end-document}.

All sink creation functions share the same keyword arguments. Refer to @fun{make-octet-vector-sink} for details on keyword arguments.

Package

cxml.

Source

unparse.lisp.

Function: make-tapping-source (upstream-source &optional sax-handler)
Package

klacks.

Source

tap-source.lisp.

Function: make-validator (dtd root)

@arg[dtd]{An @class{dtd} instance.}
@arg[root]{Element name, a string.}
@return{A @class{SAX handler}.}

Create a SAX handler which validates against a DTD instance.
The document’s root element must be named @code{root}.
Used with @fun{dom:map-document}, this validates a document object as if by re-reading it with a validating parser, except that declarations recorded in the document instance are completely ignored.

Example:

@pre{(let ((d (parse-file "~/test.xml" (cxml-dom:make-dom-builder))) (x (parse-dtd-file "~/test.dtd")))
(dom:map-document (cxml:make-validator x #"foo") d))}

Package

cxml.

Source

xml-parse.lisp.

Function: make-whitespace-normalizer (chained-handler &optional dtd)
Package

cxml.

Source

space-normalizer.lisp.

Function: make-xmls-builder (&key include-default-values include-namespace-uri)

Make a XMLS style builder. When ’include-namespace-uri is true a modified XMLS tree is generated that includes the element namespace URI rather than the qualified name prefix and also includes the namespace URI for attributes.

Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: make-xpath-navigator ()
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: map-document (handler document &key include-xmlns-attributes include-doctype include-default-values recode)
Package

dom.

Source

dom-sax.lisp.

Function: map-node (handler node &key include-xmlns-attributes include-namespace-uri)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: map-node-list (fn nodelist)
Package

dom.

Source

rune-impl.lisp.

Function: map-node-map (fn node-map)
Package

dom.

Source

rune-impl.lisp.

Function: node-attrs (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: (setf node-attrs) (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: node-children (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: (setf node-children) (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: node-name (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: (setf node-name) (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: node-ns (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: (setf node-ns) (node)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: parse (input handler &rest args &key validate dtd root entity-resolver disallow-internal-subset recode pathname)

@arg[input]{A string, pathname, octet vector, or stream.}
@arg[handler]{A @class{SAX handler}}
@arg[validate]{Boolean. Defaults to @code{nil}. If true, parse in validating mode, i.e. assert that the document contains a DOCTYPE declaration and conforms to the DTD declared.}
@arg[dtd]{unless @code{nil}, an extid instance specifying the external subset to load. This options overrides the extid specified in the document type declaration, if any. See below for @fun{make-extid}. This option is useful for verification purposes together with the @var{root} and @var{disallow-internal-subset} arguments.} @arg[root]{The expected root element name, or @code{nil} (the default). If specified, this argument overrides the name stated in the input’s DOCTYPE (if any).}
@arg[entity-resolver]{@code{nil} or a function of two arguments which is invoked for every entity referenced by the document with the entity’s Public ID (a rod) and System ID (an URI object) as arguments. The function may either return nil, CXML will then try to resolve the entity as usual. Alternatively it may return a Common Lisp stream specialized on @code{(unsigned-byte 8)} which will be used instead. (It may also signal an error, of course, which can be useful to prohibit parsed XML documents from including arbitrary files readable by
the parser.)}
@arg[disallow-internal-subset]{Boolean. If true, signal
an error if the document contains an internal subset.} @arg[recode]{Boolean. (Ignored on Lisps with Unicode
support.) Recode rods to UTF-8 strings. Defaults to true.
Make sure to use @fun{utf8-dom:make-dom-builder} if this
option is enabled and @fun{rune-dom:make-dom-builder} otherwise.}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

Parse an XML document from @var{input}, which can be a string, pathname, octet vector, or stream.

Return values from this function depend on the SAX handler used.
This is an old-style convenience wrapper around the new-style interface @fun{parse}.

Parse an XML document from @var{filename}, and signal SAX events to @var{handler} while doing so.

All SAX parsing functions share the same keyword arguments. Refer to @fun{parse} for details on keyword arguments.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-dtd-file (filename &optional handler)

@arg[filename]{An pathname designator.}
@arg[handler]{A @class{SAX handler}}
@return{A @class{dtd} instance.}

Parse @a[http://www.w3.org/TR/2000/REC-xml-20001006#NT-extSubset]{declarations} from @var{filename} and return an object representing the DTD,
suitable as an argument to @code{validate} with @fun{parse}.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-dtd-stream (stream &optional handler)

@arg[stream]{An (unsigned-byte 8) stream.}
@arg[handler]{A @class{SAX handler}}
@return{A @class{dtd} instance.}

Parse @a[http://www.w3.org/TR/2000/REC-xml-20001006#NT-extSubset]{declarations} from @var{stream} and return an object representing the DTD,
suitable as an argument to @code{validate} with @fun{parse}.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-empty-document (uri qname handler &key public-id system-id entity-resolver recode)

@arg[uri]{a string or nil}
@arg[qname]{a string or nil}
@arg[handler]{a @class{SAX handler}}
@arg[public-id]{a string or nil}
@arg[system-id]{a @type{puri:uri} or nil} @arg[entity-resolver]{@code{nil} or a function of two arguments which is invoked for every entity referenced by the document with the entity’s Public ID (a rod) and System ID (an URI object) as arguments. The function may either return nil, CXML will then try to resolve the entity as usual. Alternatively it may return a Common Lisp stream specialized on @code{(unsigned-byte 8)} which will be used instead. (It may also signal an error, of course, which can be useful to prohibit parsed XML documents from including arbitrary files readable by
the parser.)}
@arg[recode]{Boolean. (Ignored on Lisps with Unicode
support.) Recode rods to UTF-8 strings. Defaults to true.
Make sure to use @fun{utf8-dom:make-dom-builder} if this
option is enabled and @fun{rune-dom:make-dom-builder} otherwise.}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

Simulate parsing of a document with a document element @var{qname} having no attributes except for an optional namespace
declaration to @var{uri}. If an external ID is specified (@var{system-id}, @var{public-id}), find, parse, and report
this DTD as if with @fun{parse-file}, using the specified
entity resolver.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-file (filename handler &rest args)

@arg[filename]{An pathname designator.}
@arg[handler]{A @class{SAX handler}}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

This is an old-style convenience wrapper around the new-style interface @fun{parse}.

Parse an XML document from @var{filename}, and signal SAX events to @var{handler} while doing so.

All SAX parsing functions share the same keyword arguments. Refer to @fun{parse} for details on keyword arguments.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-octets (octets handler &rest args)

@arg[octets]{An (unsigned-byte 8) vector.}
@arg[handler]{A @class{SAX handler}}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

This is an old-style convenience wrapper around the new-style interface @fun{parse}.

Parse an XML document from @var{octets}, and signal SAX events to @var{handler} while doing so.

All SAX parsing functions share the same keyword arguments. Refer to @fun{parse} for details on keyword arguments.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-rod (string handler &rest args)

@arg[string]{An string of unicode characters.}
@arg[handler]{A @class{SAX handler}}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

This is an old-style convenience wrapper around the new-style interface @fun{parse}.

Parse an XML document from @var{string}, and signal SAX events to @var{handler} while doing so.

Note: This function assumes that @var{string} has already been decoded into Unicode runes and ignores the encoding specified in the XML declaration, if any.

All SAX parsing functions share the same keyword arguments. Refer to @fun{parse} for details on keyword arguments.

Package

cxml.

Source

xml-parse.lisp.

Function: parse-stream (stream handler &rest args)

@arg[stream]{An (unsigned-byte 8) stream}
@arg[handler]{A @class{SAX handler}}
@return{The value returned by @fun{sax:end-document} on @var{handler}.}

This is an old-style convenience wrapper around the new-style interface @fun{parse}.

Parse an XML document from @var{stream}, and signal SAX events to @var{handler} while doing so.

All SAX parsing functions share the same keyword arguments. Refer to @fun{parse} for details on keyword arguments.

Package

cxml.

Source

xml-parse.lisp.

Function: processing-instruction (target data)

@arg[target]{String.}
@arg[data]{String.}
@return{undocumented}

Writes a processing instruction to the current output sink, using @code{target} and @code{data} as its contents.

Note: It is currently the caller’s responsibily to ensure that @code{target} and @code{data} do not contain character sequences forbidden for processing instruction contents.

Package

cxml.

Source

unparse.lisp.

Function: remdtd (uri dtd-cache)
Package

cxml.

Source

xml-parse.lisp.

Function: resolve-extid (public system catalog)
Package

cxml.

Source

catalog.lisp.

Function: resolve-uri (uri catalog)
Package

cxml.

Source

catalog.lisp.

Function: serialize-element (source handler &key document-events)
Package

klacks.

Source

klacks.lisp.

Function: serialize-event (source handler &key consume)
Package

klacks.

Source

klacks.lisp.

Function: serialize-source (source handler)
Package

klacks.

Source

klacks.lisp.

Function: skip (source key &optional a b c)
Package

klacks.

Source

klacks.lisp.

Function: text (data)

@arg[data]{String.}
@return{undocumented}

Writes a text node to the current output sink, using @code{data} as its contents.

Note: It is currently the caller’s responsibily to ensure that @code{data} does not contain characters forbidden for character data.

Package

cxml.

Source

unparse.lisp.

Function: unescaped (str)

@arg[data]{String.}
@return{undocumented}

If supported by the current output sink, writes character data directly to the sink’s target.

Use of this function is often an indicator of bad design. Avoid it if you can. (Implementation note: This function is supported because XSLT’s XML output method requires it.)

Package

cxml.

Source

unparse.lisp.

Function: validity-error (fmt &rest args)
Package

cxml.

Source

xml-parse.lisp.


5.1.4 Generic functions

Generic Function: append-child (node new-child)
Package

dom.

Methods
Method: append-child ((node node) (new-child document-fragment))
Source

rune-impl.lisp.

Method: append-child ((node node) (new-child node))
Source

rune-impl.lisp.

Generic Function: append-data (node arg)
Package

dom.

Methods
Method: append-data ((node character-data) arg)
Source

rune-impl.lisp.

Generic Function: attribute-declaration (handler element-name attribute-name type default)

Called when an attribute declaration is seen in a DTD.
type one of :CDATA, :ID, :IDREF, :IDREFS,
:ENTITY, :ENTITIES, :NMTOKEN, :NMTOKENS,
(:NOTATION <name>*), or (:ENUMERATION <name>*)
default :REQUIRED, :IMPLIED, (:FIXED content), or (:DEFAULT content)

Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-declaration ((handler klacks-dtd-handler) element-name attribute-name type default)
Source

klacks-impl.lisp.

Method: attribute-declaration ((handler dom-builder) element-name attribute-name type default)
Source

rune-builder.lisp.

Method: attribute-declaration ((handler broadcast-handler) elt attr type default)
Source

sax-proxy.lisp.

Method: attribute-declaration ((handler recoder) element-name attribute-name type default)
Source

recoder.lisp.

Method: attribute-declaration ((sink sink) ename aname type default)
Source

unparse.lisp.

Method: attribute-declaration ((handler null) element-name attribute-name type default)
Method: attribute-declaration (handler element-name attribute-name type default)
Method: attribute-declaration ((handler abstract-handler) element-name attribute-name type default)
Method: attribute-declaration ((handler content-handler) element-name attribute-name type default)
Method: attribute-declaration ((handler abstract-handler) element-name attribute-name type default)
Generic Function: attribute-local-name (attribute)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-local-name ((attribute standard-attribute))
Method: attribute-local-name ((attribute standard-attribute))
Generic Function: (setf attribute-local-name) (attribute)
Package

sax.

Methods
Method: (setf attribute-local-name) ((attribute standard-attribute))
Source

sax-handler.lisp.

Generic Function: attribute-namespace-uri (attribute)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-namespace-uri ((attribute standard-attribute))
Method: attribute-namespace-uri ((attribute standard-attribute))
Generic Function: (setf attribute-namespace-uri) (attribute)
Package

sax.

Methods
Method: (setf attribute-namespace-uri) ((attribute standard-attribute))
Source

sax-handler.lisp.

Generic Function: attribute-p (object)
Package

dom.

Methods
Method: attribute-p (object)
Source

rune-impl.lisp.

Method: attribute-p ((object attribute))
Source

rune-impl.lisp.

Generic Function: attribute-qname (attribute)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-qname ((attribute standard-attribute))
Method: attribute-qname ((attribute standard-attribute))
Generic Function: (setf attribute-qname) (attribute)
Package

sax.

Methods
Method: (setf attribute-qname) ((attribute standard-attribute))
Source

sax-handler.lisp.

Generic Function: attribute-specified-p (attribute)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-specified-p ((attribute standard-attribute))
Method: attribute-specified-p ((attribute standard-attribute))
Generic Function: (setf attribute-specified-p) (attribute)
Package

sax.

Methods
Method: (setf attribute-specified-p) ((attribute standard-attribute))
Source

sax-handler.lisp.

Generic Function: attribute-value (attribute)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: attribute-value ((attribute standard-attribute))
Method: attribute-value ((attribute standard-attribute))
Generic Function: (setf attribute-value) (attribute)
Package

sax.

Methods
Method: (setf attribute-value) ((attribute standard-attribute))
Source

sax-handler.lisp.

Generic Function: attributes (object)
Package

dom.

Methods
Method: attributes ((self node))
Source

rune-impl.lisp.

Reader Method: attributes ((element element))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

attributes.

Generic Reader: broadcast-handler-handlers (object)

@arg[instance]{A @class{broadcast-handler}}
@return{A list of @class{SAX handler}s.}

Returns the list of SAX handlers that arechained to this broadcast handler.

Package

cxml.

Methods
Reader Method: broadcast-handler-handlers ((broadcast-handler broadcast-handler))

automatically generated reader method

Source

sax-proxy.lisp.

Target Slot

handlers.

Generic Writer: (setf broadcast-handler-handlers) (object)
Package

cxml.

Methods
Writer Method: (setf broadcast-handler-handlers) ((broadcast-handler broadcast-handler))

automatically generated writer method

Source

sax-proxy.lisp.

Target Slot

handlers.

Generic Function: cdata-section-p (object)
Package

dom.

Methods
Method: cdata-section-p (object)
Source

rune-impl.lisp.

Method: cdata-section-p ((object cdata-section))
Source

rune-impl.lisp.

Generic Function: character-data-p (object)
Package

dom.

Methods
Method: character-data-p (object)
Source

rune-impl.lisp.

Method: character-data-p ((object character-data))
Source

rune-impl.lisp.

Generic Function: characters (handler data)

Called for textual element content.

The data is passed as a rod, with all entity references resolved. It is possible that the character content of an element is reported via multiple subsequent calls to this generic function.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: characters ((handler dom-builder) data)
Source

rune-builder.lisp.

Method: characters ((handler broadcast-handler) data)
Source

sax-proxy.lisp.

Method: characters ((handler whitespace-normalizer) data)
Source

space-normalizer.lisp.

Method: characters ((handler recoder) data)
Source

recoder.lisp.

Method: characters ((handler xmls-builder) data)
Source

xmls-compat.lisp.

Method: characters ((sink sink) data)
Source

unparse.lisp.

Method: characters ((handler validator) data)
Source

xml-parse.lisp.

Method: characters ((handler null) data)
Method: characters (handler data)
Method: characters ((handler abstract-handler) data)
Method: characters ((handler default-handler) data)
Method: characters ((handler abstract-handler) data)
Generic Function: child-nodes (node)
Package

dom.

Methods
Method: child-nodes ((node node))
Source

rune-impl.lisp.

Generic Function: clone-node (node deep)
Package

dom.

Methods
Method: clone-node ((node document) deep)
Source

rune-impl.lisp.

Method: clone-node ((node node) deep)
Source

rune-impl.lisp.

Generic Function: close-source (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: close-source ((source tapping-source))
Source

tap-source.lisp.

Method: close-source ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: code (self)
Package

dom.

Methods
Method: code ((self dom-exception))
Source

rune-impl.lisp.

Generic Function: column-number (sax-parser)

Return an approximation of the current column number, or NIL.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: column-number ((parser klacksax))
Source

klacks.lisp.

Method: column-number ((parser cxml-parser))
Source

xml-parse.lisp.

Method: column-number ((handler sax-parser-mixin))
Generic Function: comment (handler data)
Package

sax.

Source

sax-handler.lisp.

Methods
Method: comment ((handler dom-builder) data)
Source

rune-builder.lisp.

Method: comment ((handler broadcast-handler) data)
Source

sax-proxy.lisp.

Method: comment ((handler recoder) data)
Source

recoder.lisp.

Method: comment ((sink sink) data)
Source

unparse.lisp.

Method: comment ((handler null) data)
Method: comment (handler data)
Method: comment ((handler abstract-handler) data)
Method: comment ((handler content-handler) data)
Method: comment ((handler abstract-handler) data)
Generic Function: comment-p (object)
Package

dom.

Methods
Method: comment-p (object)
Source

rune-impl.lisp.

Method: comment-p ((object comment))
Source

rune-impl.lisp.

Generic Function: consume (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: consume ((source tapping-source))
Source

tap-source.lisp.

Method: consume ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: create-attribute (document name)
Package

dom.

Methods
Method: create-attribute ((document document) name)
Source

rune-impl.lisp.

Generic Function: create-attribute-ns (document uri qname)
Package

dom.

Methods
Method: create-attribute-ns ((document document) uri qname)
Source

rune-impl.lisp.

Generic Function: create-cdata-section (document data)
Package

dom.

Methods
Method: create-cdata-section ((document document) data)
Source

rune-impl.lisp.

Generic Function: create-comment (document data)
Package

dom.

Methods
Method: create-comment ((document document) data)
Source

rune-impl.lisp.

Generic Function: create-document (factory uri qname doctype)
Package

dom.

Methods
Method: create-document ((factory (eql rune-dom:implementation)) uri qname doctype)
Source

rune-impl.lisp.

Generic Function: create-document-fragment (document)
Package

dom.

Methods
Method: create-document-fragment ((document document))
Source

rune-impl.lisp.

Generic Function: create-document-type (factory name publicid systemid)
Package

dom.

Methods
Method: create-document-type ((factory (eql rune-dom:implementation)) name publicid systemid)
Source

rune-impl.lisp.

Generic Function: create-element (document tag-name)
Package

dom.

Methods
Method: create-element ((document document) tag-name)
Source

rune-impl.lisp.

Generic Function: create-element-ns (document uri qname)
Package

dom.

Methods
Method: create-element-ns ((document document) uri qname)
Source

rune-impl.lisp.

Generic Function: create-entity-reference (document name)
Package

dom.

Methods
Method: create-entity-reference ((document document) name)
Source

rune-impl.lisp.

Generic Function: create-processing-instruction (document target data)
Package

dom.

Methods
Method: create-processing-instruction ((document document) target data)
Source

rune-impl.lisp.

Generic Function: create-text-node (document data)
Package

dom.

Methods
Method: create-text-node ((document document) data)
Source

rune-impl.lisp.

Generic Function: current-cdata-section-p (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: current-cdata-section-p ((source tapping-source))
Source

tap-source.lisp.

Reader Method: current-cdata-section-p ((cxml-source cxml-source))

automatically generated reader method

Source

klacks-impl.lisp.

Target Slot

cdata-section-p.

Generic Function: current-column-number (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: current-column-number ((source tapping-source))
Source

tap-source.lisp.

Method: current-column-number ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: current-line-number (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: current-line-number ((source tapping-source))
Source

tap-source.lisp.

Method: current-line-number ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: current-system-id (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: current-system-id ((source tapping-source))
Source

tap-source.lisp.

Method: current-system-id ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: current-xml-base (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: current-xml-base ((source tapping-source))
Source

tap-source.lisp.

Method: current-xml-base ((source cxml-source))
Source

klacks-impl.lisp.

Generic Reader: data (object)
Package

dom.

Methods
Reader Method: data ((processing-instruction processing-instruction))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

data.

Reader Method: data ((character-data character-data))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

value.

Generic Function: (setf data) (self)
Package

dom.

Methods
Method: (setf data) ((self processing-instruction))
Source

rune-impl.lisp.

Method: (setf data) ((self character-data))
Source

rune-impl.lisp.

Generic Function: decode-qname (qname source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: decode-qname (qname (source tapping-source))
Source

tap-source.lisp.

Method: decode-qname (qname (source cxml-source))
Source

klacks-impl.lisp.

Generic Function: delete-data (node offset count)
Package

dom.

Methods
Method: delete-data ((node character-data) offset count)
Source

rune-impl.lisp.

Generic Reader: doctype (object)
Package

dom.

Methods
Reader Method: doctype ((document document))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

doc-type.

Generic Function: document-element (document)
Package

dom.

Methods
Method: document-element ((document document))
Source

rune-impl.lisp.

Generic Function: document-fragment-p (object)
Package

dom.

Methods
Method: document-fragment-p (object)
Source

rune-impl.lisp.

Method: document-fragment-p ((object document-fragment))
Source

rune-impl.lisp.

Generic Function: document-p (object)
Package

dom.

Methods
Method: document-p (object)
Source

rune-impl.lisp.

Method: document-p ((object document))
Source

rune-impl.lisp.

Generic Function: document-type-p (object)
Package

dom.

Methods
Method: document-type-p (object)
Source

rune-impl.lisp.

Method: document-type-p ((object document-type))
Source

rune-impl.lisp.

Generic Function: element-declaration (handler name model)

Called when a element declaration is seen in a DTD. Model is not a string, but a nested list, with *, ?, +, OR, and AND being the operators, rods as names, :EMPTY and :PCDATA as special tokens. (AND represents sequences.)

Package

sax.

Source

sax-handler.lisp.

Methods
Method: element-declaration ((handler klacks-dtd-handler) name model)
Source

klacks-impl.lisp.

Method: element-declaration ((handler dom-builder) name model)
Source

rune-builder.lisp.

Method: element-declaration ((handler broadcast-handler) name model)
Source

sax-proxy.lisp.

Method: element-declaration ((handler recoder) name model)
Source

recoder.lisp.

Method: element-declaration ((sink sink) name model)
Source

unparse.lisp.

Method: element-declaration ((handler null) name model)
Method: element-declaration (handler name model)
Method: element-declaration ((handler abstract-handler) name model)
Method: element-declaration ((handler content-handler) name model)
Method: element-declaration ((handler abstract-handler) name model)
Generic Function: element-p (object)
Package

dom.

Methods
Method: element-p (object)
Source

rune-impl.lisp.

Method: element-p ((object element))
Source

rune-impl.lisp.

Generic Function: end-cdata (handler)

Called at the end of parsing a CDATA section.

Handlers only have to implement this if they are interested in the lexical structure of the parsed document. The content of the CDATA section is reported via the ‘characters’ generic function like all other textual content.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-cdata ((handler dom-builder))
Source

rune-builder.lisp.

Method: end-cdata ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: end-cdata ((handler recoder))
Source

recoder.lisp.

Method: end-cdata ((sink sink))
Source

unparse.lisp.

Method: end-cdata ((handler validator))
Source

xml-parse.lisp.

Method: end-cdata ((handler null))
Method: end-cdata (handler)
Method: end-cdata ((handler abstract-handler))
Method: end-cdata ((handler content-handler))
Method: end-cdata ((handler abstract-handler))
Generic Function: end-document (handler)

Called at the end of parsing a document.
This is always the last function called in the parsing process.

In contrast to all of the other methods, the return value of this gf
is significant, it will be returned by the parse-file/stream/string function.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-document ((handler dom-builder))
Source

rune-builder.lisp.

Method: end-document ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: end-document ((handler catalog-parser))
Source

catalog.lisp.

Method: end-document ((handler recoder))
Source

recoder.lisp.

Method: end-document ((handler xmls-builder))
Source

xmls-compat.lisp.

Method: end-document ((sink sink))
Source

unparse.lisp.

Method: end-document ((handler null))
Method: end-document (handler)
Method: end-document ((handler abstract-handler))
Method: end-document ((handler default-handler))
Method: end-document ((handler abstract-handler))
Generic Function: end-dtd (handler)

Called at the end of parsing a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-dtd ((handler klacks-dtd-handler))
Source

klacks-impl.lisp.

Method: end-dtd ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: end-dtd ((handler recoder))
Source

recoder.lisp.

Method: end-dtd ((sink sink))
Source

unparse.lisp.

Method: end-dtd ((handler null))
Method: end-dtd (handler)
Method: end-dtd ((handler abstract-handler))
Method: end-dtd ((handler content-handler))
Method: end-dtd ((handler abstract-handler))
Generic Function: end-element (handler namespace-uri local-name qname)

Called to report the end of an element.

See the documentation for ‘start-element’ for a description of the parameters.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-element ((handler dom-builder) namespace-uri local-name qname)
Source

rune-builder.lisp.

Method: end-element ((handler broadcast-handler) namespace-uri local-name qname)
Source

sax-proxy.lisp.

Method: end-element ((handler catalog-parser) uri lname qname)
Source

catalog.lisp.

Method: end-element ((handler whitespace-normalizer) uri lname qname)
Source

space-normalizer.lisp.

Method: end-element ((handler namespace-normalizer) uri lname qname)
Source

xmlns-normalizer.lisp.

Method: end-element ((handler recoder) namespace-uri local-name qname)
Source

recoder.lisp.

Method: end-element ((handler xmls-builder) namespace-uri local-name qname)
Source

xmls-compat.lisp.

Method: end-element ((sink sink) namespace-uri local-name qname)
Source

unparse.lisp.

Method: end-element ((handler validator) uri lname qname)
Source

xml-parse.lisp.

Method: end-element ((handler null) namespace-uri local-name qname)
Method: end-element (handler namespace-uri local-name qname)
Method: end-element ((handler abstract-handler) namespace-uri local-name qname)
Method: end-element ((handler default-handler) namespace-uri local-name qname)
Method: end-element ((handler abstract-handler) namespace-uri local-name qname)
Generic Function: end-internal-subset (handler)

Called after processing of the internal subset has finished, if present.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-internal-subset ((handler klacks-dtd-handler))
Source

klacks-impl.lisp.

Method: end-internal-subset ((handler dom-builder))
Source

rune-builder.lisp.

Method: end-internal-subset ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: end-internal-subset ((handler recoder))
Source

recoder.lisp.

Method: end-internal-subset ((sink sink))
Source

unparse.lisp.

Method: end-internal-subset ((handler null))
Method: end-internal-subset (handler)
Method: end-internal-subset ((handler abstract-handler))
Method: end-internal-subset ((handler content-handler))
Method: end-internal-subset ((handler abstract-handler))
Generic Function: end-prefix-mapping (handler prefix)

Called when a prefix -> namespace-uri mapping goes out of scope.

This will always be called immediatly after the ‘end-element’ event for the element on which the namespace is declared. The order of the end-prefix-mapping events is otherwise not guaranteed.

Clients don’t usually have to implement this except under special circumstances, for example when they have to deal with qualified names in textual content. The parser will handle namespaces of elements and attributes on its own.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: end-prefix-mapping ((handler broadcast-handler) prefix)
Source

sax-proxy.lisp.

Method: end-prefix-mapping ((handler recoder) prefix)
Source

recoder.lisp.

Method: end-prefix-mapping ((handler null) prefix)
Method: end-prefix-mapping (handler prefix)
Method: end-prefix-mapping ((handler abstract-handler) prefix)
Method: end-prefix-mapping ((handler content-handler) prefix)
Method: end-prefix-mapping ((handler abstract-handler) prefix)
Generic Reader: entities (object)
Package

dom.

Methods
Reader Method: entities ((document-type document-type))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

entities.

Generic Function: entity-p (object)
Package

dom.

Methods
Method: entity-p (object)
Source

rune-impl.lisp.

Method: entity-p ((object entity))
Source

rune-impl.lisp.

Generic Function: entity-reference-p (object)
Package

dom.

Methods
Method: entity-reference-p (object)
Source

rune-impl.lisp.

Method: entity-reference-p ((object entity-reference))
Source

rune-impl.lisp.

Generic Function: entity-resolver (handler resolver)

Called between sax:end-dtd and sax:end-document to register an entity resolver, a function of two arguments: An entity name and SAX handler. When called, the resolver function will parse the named entity’s data.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: entity-resolver ((handler klacks-dtd-handler) fn)
Source

klacks-impl.lisp.

Method: entity-resolver ((handler dom-builder) resolver)
Source

rune-builder.lisp.

Method: entity-resolver ((handler broadcast-handler) resolver)
Source

sax-proxy.lisp.

Method: entity-resolver ((handler recoder) resolver)
Source

recoder.lisp.

Method: entity-resolver ((handler null) resolver)
Method: entity-resolver (handler resolver)
Method: entity-resolver ((handler abstract-handler) resolver)
Method: entity-resolver ((handler content-handler) resolver)
Method: entity-resolver ((handler abstract-handler) resolver)
Generic Function: external-entity-declaration (handler kind name public-id system-id)

Called when a parsed external entity declaration is seen in a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: external-entity-declaration ((handler klacks-dtd-handler) kind name public-id system-id)
Source

klacks-impl.lisp.

Method: external-entity-declaration ((handler dom-builder) kind name public-id system-id)
Source

rune-builder.lisp.

Method: external-entity-declaration ((handler broadcast-handler) kind name pub sys)
Source

sax-proxy.lisp.

Method: external-entity-declaration ((handler recoder) kind name public-id system-id)
Source

recoder.lisp.

Method: external-entity-declaration ((sink sink) kind name public-id system-id)
Source

unparse.lisp.

Method: external-entity-declaration ((handler null) kind name public-id system-id)
Method: external-entity-declaration (handler kind name public-id system-id)
Method: external-entity-declaration ((handler abstract-handler) kind name public-id system-id)
Method: external-entity-declaration ((handler content-handler) kind name public-id system-id)
Method: external-entity-declaration ((handler abstract-handler) kind name public-id system-id)
Generic Function: find-namespace-binding (prefix source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: find-namespace-binding (prefix (source tapping-source))
Source

tap-source.lisp.

Method: find-namespace-binding (prefix (source cxml-source))
Source

klacks-impl.lisp.

Generic Function: first-child (node)
Package

dom.

Methods
Method: first-child ((node node))
Source

rune-impl.lisp.

Generic Function: get-attribute (element name)
Package

dom.

Methods
Method: get-attribute ((element element) name)
Source

rune-impl.lisp.

Generic Function: get-attribute (source lname &optional uri)
Package

klacks.

Source

klacks.lisp.

Methods
Method: get-attribute ((source cxml-source) lname &optional uri)
Source

klacks-impl.lisp.

Generic Function: get-attribute-node (element name)
Package

dom.

Methods
Method: get-attribute-node ((element element) name)
Source

rune-impl.lisp.

Generic Function: get-attribute-node-ns (element uri lname)
Package

dom.

Methods
Method: get-attribute-node-ns ((element element) uri lname)
Source

rune-impl.lisp.

Generic Function: get-attribute-ns (element uri lname)
Package

dom.

Methods
Method: get-attribute-ns ((element element) uri lname)
Source

rune-impl.lisp.

Generic Function: get-element-by-id (document id)
Package

dom.

Methods
Method: get-element-by-id ((document document) id)
Source

rune-impl.lisp.

Generic Function: get-elements-by-tag-name (document tag-name)
Package

dom.

Methods
Method: get-elements-by-tag-name ((element element) name)
Source

rune-impl.lisp.

Method: get-elements-by-tag-name ((document document) tag-name)
Source

rune-impl.lisp.

Generic Function: get-elements-by-tag-name-ns (document uri lname)
Package

dom.

Methods
Method: get-elements-by-tag-name-ns ((element element) uri lname)
Source

rune-impl.lisp.

Method: get-elements-by-tag-name-ns ((document document) uri lname)
Source

rune-impl.lisp.

Generic Function: get-named-item (self name)
Package

dom.

Methods
Method: get-named-item ((self named-node-map) name)
Source

rune-impl.lisp.

Generic Function: get-named-item-ns (self uri lname)
Package

dom.

Methods
Method: get-named-item-ns ((self named-node-map) uri lname)
Source

rune-impl.lisp.

Generic Function: has-attribute (element name)
Package

dom.

Methods
Method: has-attribute ((element element) name)
Source

rune-impl.lisp.

Generic Function: has-attribute-ns (element uri lname)
Package

dom.

Methods
Method: has-attribute-ns ((element element) uri lname)
Source

rune-impl.lisp.

Generic Function: has-attributes (element)
Package

dom.

Methods
Method: has-attributes ((element element))
Source

rune-impl.lisp.

Method: has-attributes ((element node))
Source

rune-impl.lisp.

Generic Function: has-child-nodes (node)
Package

dom.

Methods
Method: has-child-nodes ((node node))
Source

rune-impl.lisp.

Generic Function: has-feature (factory feature version)
Package

dom.

Methods
Method: has-feature ((factory (eql rune-dom:implementation)) feature version)
Source

rune-impl.lisp.

Generic Function: implementation (document)
Package

dom.

Methods
Method: implementation ((document document))
Source

rune-impl.lisp.

Generic Function: import-node (document node deep)
Package

dom.

Methods
Method: import-node ((document document) (node character-data) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node processing-instruction) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node notation) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node entity-reference) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node entity) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node element) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node document-fragment) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) (node attribute) deep)
Source

rune-impl.lisp.

Method: import-node ((document document) node deep)
Source

rune-impl.lisp.

Generic Function: insert-before (node new-child ref-child)
Package

dom.

Methods
Method: insert-before ((node node) (fragment document-fragment) ref-child)
Source

rune-impl.lisp.

Method: insert-before ((node node) (new-child node) ref-child)
Source

rune-impl.lisp.

Generic Function: insert-data (node offset arg)
Package

dom.

Methods
Method: insert-data ((node character-data) offset arg)
Source

rune-impl.lisp.

Generic Function: internal-entity-declaration (handler kind name value)

Called when an internal entity declaration is seen in a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: internal-entity-declaration ((handler klacks-dtd-handler) kind name value)
Source

klacks-impl.lisp.

Method: internal-entity-declaration ((handler dom-builder) kind name value)
Source

rune-builder.lisp.

Method: internal-entity-declaration ((handler broadcast-handler) kind name value)
Source

sax-proxy.lisp.

Method: internal-entity-declaration ((handler recoder) kind name value)
Source

recoder.lisp.

Method: internal-entity-declaration ((sink sink) kind name value)
Source

unparse.lisp.

Method: internal-entity-declaration ((handler null) kind name value)
Method: internal-entity-declaration (handler kind name value)
Method: internal-entity-declaration ((handler abstract-handler) kind name value)
Method: internal-entity-declaration ((handler content-handler) kind name value)
Method: internal-entity-declaration ((handler abstract-handler) kind name value)
Generic Function: internal-subset (node)
Package

dom.

Methods
Method: internal-subset ((node document-type))
Source

rune-impl.lisp.

Generic Function: is-supported (node feature version)
Package

dom.

Methods
Method: is-supported ((node node) feature version)
Source

rune-impl.lisp.

Generic Function: item (self index)
Package

dom.

Methods
Method: item ((self named-node-map) index)
Source

rune-impl.lisp.

Method: item ((self vector) index)
Source

rune-impl.lisp.

Generic Reader: items (object)
Package

dom.

Methods
Reader Method: items ((named-node-map named-node-map))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

items.

Generic Function: last-child (node)
Package

dom.

Methods
Method: last-child ((node node))
Source

rune-impl.lisp.

Generic Function: length (self)
Package

dom.

Methods
Method: length ((node character-data))
Source

rune-impl.lisp.

Method: length ((self named-node-map))
Source

rune-impl.lisp.

Method: length ((self vector))
Source

rune-impl.lisp.

Generic Function: line-number (sax-parser)

Return an approximation of the current line number, or NIL.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: line-number ((parser klacksax))
Source

klacks.lisp.

Method: line-number ((parser cxml-parser))
Source

xml-parse.lisp.

Method: line-number ((handler sax-parser-mixin))
Generic Function: list-attributes (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: list-attributes ((source tapping-source))
Source

tap-source.lisp.

Method: list-attributes ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: local-name (node)
Package

dom.

Methods
Reader Method: local-name ((namespace-mixin namespace-mixin))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

local-name.

Method: local-name ((node node))
Source

rune-impl.lisp.

Generic Function: map-attributes (fn source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: map-attributes (fn (source tapping-source))
Source

tap-source.lisp.

Method: map-attributes (fn (source cxml-source))
Source

klacks-impl.lisp.

Generic Function: map-current-namespace-declarations (fn source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: map-current-namespace-declarations (fn (source tapping-source))
Source

tap-source.lisp.

Method: map-current-namespace-declarations (fn (source cxml-source))
Source

klacks-impl.lisp.

Generic Reader: name (object)
Package

dom.

Methods
Reader Method: name ((entity-reference entity-reference))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

name.

Reader Method: name ((entity entity))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

name.

Reader Method: name ((notation notation))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

name.

Reader Method: name ((document-type document-type))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

name.

Reader Method: name ((attribute attribute))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

name.

Generic Function: named-node-map-p (object)
Package

dom.

Methods
Method: named-node-map-p (object)
Source

rune-impl.lisp.

Method: named-node-map-p ((object named-node-map))
Source

rune-impl.lisp.

Generic Function: namespace-uri (node)
Package

dom.

Methods
Reader Method: namespace-uri ((namespace-mixin namespace-mixin))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

namespace-uri.

Method: namespace-uri ((node node))
Source

rune-impl.lisp.

Generic Function: next-sibling (node)
Package

dom.

Methods
Method: next-sibling ((node node))
Source

rune-impl.lisp.

Generic Function: node-name (self)
Package

dom.

Methods
Method: node-name ((self processing-instruction))
Source

rune-impl.lisp.

Method: node-name ((self entity-reference))
Source

rune-impl.lisp.

Method: node-name ((self entity))
Source

rune-impl.lisp.

Method: node-name ((self notation))
Source

rune-impl.lisp.

Method: node-name ((self document-type))
Source

rune-impl.lisp.

Method: node-name ((self element))
Source

rune-impl.lisp.

Method: node-name ((self attribute))
Source

rune-impl.lisp.

Method: node-name ((self comment))
Source

rune-impl.lisp.

Method: node-name ((self cdata-section))
Source

rune-impl.lisp.

Method: node-name ((self text))
Source

rune-impl.lisp.

Method: node-name ((self document-fragment))
Source

rune-impl.lisp.

Method: node-name ((self document))
Source

rune-impl.lisp.

Generic Function: node-p (object)
Package

dom.

Methods
Method: node-p (object)
Source

rune-impl.lisp.

Method: node-p ((object node))
Source

rune-impl.lisp.

Generic Function: node-type (self)
Package

dom.

Methods
Method: node-type ((self processing-instruction))
Source

rune-impl.lisp.

Method: node-type ((self entity-reference))
Source

rune-impl.lisp.

Method: node-type ((self entity))
Source

rune-impl.lisp.

Method: node-type ((self notation))
Source

rune-impl.lisp.

Method: node-type ((self document-type))
Source

rune-impl.lisp.

Method: node-type ((self element))
Source

rune-impl.lisp.

Method: node-type ((self attribute))
Source

rune-impl.lisp.

Method: node-type ((self cdata-section))
Source

rune-impl.lisp.

Method: node-type ((self comment))
Source

rune-impl.lisp.

Method: node-type ((self text))
Source

rune-impl.lisp.

Method: node-type ((self document-fragment))
Source

rune-impl.lisp.

Method: node-type ((self document))
Source

rune-impl.lisp.

Generic Function: node-value (self)
Package

dom.

Methods
Method: node-value ((self processing-instruction))
Source

rune-impl.lisp.

Method: node-value ((self entity-reference))
Source

rune-impl.lisp.

Method: node-value ((self entity))
Source

rune-impl.lisp.

Method: node-value ((self notation))
Source

rune-impl.lisp.

Method: node-value ((self document-type))
Source

rune-impl.lisp.

Method: node-value ((self element))
Source

rune-impl.lisp.

Method: node-value ((self attribute))
Source

rune-impl.lisp.

Method: node-value ((self character-data))
Source

rune-impl.lisp.

Method: node-value ((self document-fragment))
Source

rune-impl.lisp.

Method: node-value ((self document))
Source

rune-impl.lisp.

Generic Function: (setf node-value) (self)
Package

dom.

Methods
Method: (setf node-value) ((self notation))
Source

rune-impl.lisp.

Method: (setf node-value) ((self document-fragment))
Source

rune-impl.lisp.

Method: (setf node-value) ((self document-type))
Source

rune-impl.lisp.

Method: (setf node-value) ((self document))
Source

rune-impl.lisp.

Method: (setf node-value) ((self entity))
Source

rune-impl.lisp.

Method: (setf node-value) ((self entity-reference))
Source

rune-impl.lisp.

Method: (setf node-value) ((self element))
Source

rune-impl.lisp.

Method: (setf node-value) ((self processing-instruction))
Source

rune-impl.lisp.

Method: (setf node-value) ((self attribute))
Source

rune-impl.lisp.

Method: (setf node-value) ((self character-data))
Source

rune-impl.lisp.

Generic Function: normalize (node)
Package

dom.

Methods
Method: normalize ((node node))
Source

rune-impl.lisp.

Generic Function: notation-declaration (handler name public-id system-id)

Called when a notation declaration is seen while parsing a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: notation-declaration ((handler klacks-dtd-handler) name public-id system-id)
Source

klacks-impl.lisp.

Method: notation-declaration ((handler dom-builder) name public-id system-id)
Source

rune-builder.lisp.

Method: notation-declaration ((handler broadcast-handler) name public-id system-id)
Source

sax-proxy.lisp.

Method: notation-declaration ((handler recoder) name public-id system-id)
Source

recoder.lisp.

Method: notation-declaration ((sink sink) name public-id system-id)
Source

unparse.lisp.

Method: notation-declaration ((handler null) name public-id system-id)
Method: notation-declaration (handler name public-id system-id)
Method: notation-declaration ((handler abstract-handler) name public-id system-id)
Method: notation-declaration ((handler content-handler) name public-id system-id)
Method: notation-declaration ((handler abstract-handler) name public-id system-id)
Generic Reader: notation-name (object)
Package

dom.

Methods
Reader Method: notation-name ((entity entity))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

notation-name.

Generic Function: notation-p (object)
Package

dom.

Methods
Method: notation-p (object)
Source

rune-impl.lisp.

Method: notation-p ((object notation))
Source

rune-impl.lisp.

Generic Reader: notations (object)
Package

dom.

Methods
Reader Method: notations ((document-type document-type))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

notations.

Generic Function: owner-document (object)
Package

dom.

Methods
Method: owner-document ((node node))
Source

rune-impl.lisp.

Reader Method: owner-document ((named-node-map named-node-map))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

owner.

Generic Reader: owner-element (object)
Package

dom.

Methods
Reader Method: owner-element ((attribute attribute))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

owner-element.

Generic Function: parent-node (node)
Package

dom.

Methods
Method: parent-node ((node node))
Source

rune-impl.lisp.

Generic Function: peek (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: peek ((source tapping-source))
Source

tap-source.lisp.

Method: peek ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: peek-next (source)
Package

klacks.

Methods
Method: peek-next ((source tapping-source))
Source

tap-source.lisp.

Method: peek-next ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: peek-value (source)
Package

klacks.

Source

klacks.lisp.

Methods
Method: peek-value ((source tapping-source))
Source

tap-source.lisp.

Method: peek-value ((source cxml-source))
Source

klacks-impl.lisp.

Generic Function: prefix (node)
Package

dom.

Methods
Reader Method: prefix ((namespace-mixin namespace-mixin))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

prefix.

Method: prefix ((node node))
Source

rune-impl.lisp.

Generic Function: (setf prefix) (node)
Package

dom.

Methods
Method: (setf prefix) :after ((node element))
Source

rune-impl.lisp.

Method: (setf prefix) :after ((node attribute))
Source

rune-impl.lisp.

Method: (setf prefix) :before ((node attribute))
Source

rune-impl.lisp.

Method: (setf prefix) ((node namespace-mixin))
Source

rune-impl.lisp.

Generic Function: previous-sibling (node)
Package

dom.

Methods
Method: previous-sibling ((node node))
Source

rune-impl.lisp.

Generic Function: processing-instruction (handler target data)

Called when a processing instruction is read.

Both target and data are rods.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: processing-instruction ((handler dom-builder) target data)
Source

rune-builder.lisp.

Method: processing-instruction ((handler broadcast-handler) target data)
Source

sax-proxy.lisp.

Method: processing-instruction ((handler recoder) target data)
Source

recoder.lisp.

Method: processing-instruction ((sink sink) target data)
Source

unparse.lisp.

Method: processing-instruction ((handler null) target data)
Method: processing-instruction (handler target data)
Method: processing-instruction ((handler abstract-handler) target data)
Method: processing-instruction ((handler default-handler) target data)
Method: processing-instruction ((handler abstract-handler) target data)
Generic Function: processing-instruction-p (object)
Package

dom.

Methods
Method: processing-instruction-p (object)
Source

rune-impl.lisp.

Method: processing-instruction-p ((object processing-instruction))
Source

rune-impl.lisp.

Generic Function: proxy-chained-handler (instance)
Package

cxml.

Methods
Method: proxy-chained-handler ((instance sax-proxy))

@arg[instance]{A @class{sax-proxy}.}
@return{A @class{SAX handler}s.}

Returns the SAX handler that is chained to this SAX proxy.

Source

sax-proxy.lisp.

Generic Function: (setf proxy-chained-handler) (instance)
Package

cxml.

Methods
Method: (setf proxy-chained-handler) ((instance sax-proxy))
Source

sax-proxy.lisp.

Generic Reader: public-id (object)
Package

dom.

Methods
Reader Method: public-id ((entity entity))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

public-id.

Reader Method: public-id ((notation notation))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

public-id.

Reader Method: public-id ((document-type document-type))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

public-id.

Generic Function: register-sax-parser (handler sax-parser)

Set the SAX-PARSER instance of this handler.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: register-sax-parser :after ((handler broadcast-handler) parser)
Source

sax-proxy.lisp.

Method: register-sax-parser ((handler null) sax-parser)
Method: register-sax-parser ((handler sax-parser-mixin) sax-parser)
Method: register-sax-parser (handler sax-parser)
Method: register-sax-parser ((handler abstract-handler) sax-parser)
Generic Function: remove-attribute (element name)
Package

dom.

Methods
Method: remove-attribute ((element element) name)
Source

rune-impl.lisp.

Generic Function: remove-attribute-node (element old-attr)
Package

dom.

Methods
Method: remove-attribute-node ((element element) (old-attr attribute))
Source

rune-impl.lisp.

Generic Function: remove-attribute-ns (elt uri lname)
Package

dom.

Methods
Method: remove-attribute-ns ((elt element) uri lname)
Source

rune-impl.lisp.

Generic Function: remove-child (node old-child)
Package

dom.

Methods
Method: remove-child ((node node) (old-child node))
Source

rune-impl.lisp.

Generic Function: remove-named-item (self name)
Package

dom.

Methods
Method: remove-named-item ((self attribute-node-map) name)
Source

rune-impl.lisp.

Method: remove-named-item ((self named-node-map) name)
Source

rune-impl.lisp.

Generic Function: remove-named-item-ns (self uri lname)
Package

dom.

Methods
Method: remove-named-item-ns ((self attribute-node-map) uri lname)
Source

rune-impl.lisp.

Method: remove-named-item-ns ((self named-node-map) uri lname)
Source

rune-impl.lisp.

Generic Function: replace-child (node new-child old-child)
Package

dom.

Methods
Method: replace-child ((node node) (new-child document-fragment) (old-child node))
Source

rune-impl.lisp.

Method: replace-child ((node node) (new-child node) (old-child node))
Source

rune-impl.lisp.

Generic Function: replace-data (node offset count arg)
Package

dom.

Methods
Method: replace-data ((node character-data) offset count arg)
Source

rune-impl.lisp.

Generic Reader: sax-parser (object)
Package

sax.

Methods
Reader Method: sax-parser ((sax-parser-mixin sax-parser-mixin))

automatically generated reader method

Source

sax-handler.lisp.

Target Slot

sax-parser.

Generic Function: set-attribute (element name value)
Package

dom.

Methods
Method: set-attribute ((element element) name value)
Source

rune-impl.lisp.

Generic Function: set-attribute-node (element new-attr)
Package

dom.

Methods
Method: set-attribute-node ((element element) (new-attr attribute))
Source

rune-impl.lisp.

Generic Function: set-attribute-node-ns (element new-attr)
Package

dom.

Methods
Method: set-attribute-node-ns ((element element) (new-attr attribute))
Source

rune-impl.lisp.

Generic Function: set-attribute-ns (element uri lname value)
Package

dom.

Methods
Method: set-attribute-ns ((element element) uri lname value)
Source

rune-impl.lisp.

Generic Function: set-named-item (self arg)
Package

dom.

Methods
Method: set-named-item :after ((self attribute-node-map) arg)
Source

rune-impl.lisp.

Method: set-named-item ((self named-node-map) arg)
Source

rune-impl.lisp.

Generic Function: set-named-item-ns (self arg)
Package

dom.

Methods
Method: set-named-item-ns :after ((self attribute-node-map) arg)
Source

rune-impl.lisp.

Method: set-named-item-ns ((self named-node-map) arg)
Source

rune-impl.lisp.

Generic Reader: sink-encoding (object)
Package

cxml.

Methods
Reader Method: sink-encoding ((sink sink))

automatically generated reader method

Source

unparse.lisp.

Target Slot

encoding.

Generic Reader: sink-omit-xml-declaration-p (object)
Package

cxml.

Methods
Reader Method: sink-omit-xml-declaration-p ((sink sink))

automatically generated reader method

Source

unparse.lisp.

Target Slot

sink-omit-xml-declaration-p.

Generic Writer: (setf sink-omit-xml-declaration-p) (object)
Package

cxml.

Methods
Writer Method: (setf sink-omit-xml-declaration-p) ((sink sink))

automatically generated writer method

Source

unparse.lisp.

Target Slot

sink-omit-xml-declaration-p.

Generic Reader: specified (object)
Package

dom.

Methods
Reader Method: specified ((attribute attribute))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

specified-p.

Generic Function: split-text (text offset)
Package

dom.

Methods
Method: split-text ((text text) offset)
Source

rune-impl.lisp.

Generic Function: start-cdata (handler)

Called at the beginning of parsing a CDATA section.

Handlers only have to implement this if they are interested in the lexical structure of the parsed document. The content of the CDATA section is reported via the ‘characters’ generic function like all other textual content.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-cdata ((handler dom-builder))
Source

rune-builder.lisp.

Method: start-cdata ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: start-cdata ((handler recoder))
Source

recoder.lisp.

Method: start-cdata ((sink sink))
Source

unparse.lisp.

Method: start-cdata ((handler validator))
Source

xml-parse.lisp.

Method: start-cdata ((handler null))
Method: start-cdata (handler)
Method: start-cdata ((handler abstract-handler))
Method: start-cdata ((handler content-handler))
Method: start-cdata ((handler abstract-handler))
Generic Function: start-document (handler)

Called at the beginning of the parsing process,
before any element, processing instruction or comment is reported.

Handlers that need to maintain internal state may use this to perform any neccessary initializations.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-document ((handler dom-builder))
Source

rune-builder.lisp.

Method: start-document ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: start-document ((handler recoder))
Source

recoder.lisp.

Method: start-document ((sink sink))
Source

unparse.lisp.

Method: start-document ((handler null))
Method: start-document (handler)
Method: start-document ((handler abstract-handler))
Method: start-document ((handler default-handler))
Method: start-document ((handler abstract-handler))
Generic Function: start-dtd (handler name public-id system-id)

Called at the beginning of parsing a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-dtd ((handler dom-builder) name publicid systemid)
Source

rune-builder.lisp.

Method: start-dtd ((handler broadcast-handler) name public-id system-id)
Source

sax-proxy.lisp.

Method: start-dtd ((handler recoder) name public-id system-id)
Source

recoder.lisp.

Method: start-dtd ((sink sink) name public-id system-id)
Source

unparse.lisp.

Method: start-dtd ((handler null) name public-id system-id)
Method: start-dtd (handler name public-id system-id)
Method: start-dtd ((handler abstract-handler) name public-id system-id)
Method: start-dtd ((handler content-handler) name public-id system-id)
Method: start-dtd ((handler abstract-handler) name public-id system-id)
Generic Function: start-element (handler namespace-uri local-name qname attributes)

Called to report the beginning of an element.

There will always be a corresponding call to end-element, even in the case of an empty element (i.e. <foo/>).

If the value of *namespaces* is non-nil, namespace-uri, local-name and qname are rods. If it is nil, namespace-uri and local-name are always nil, and it is not an error if the qname is not a well-formed qualified element name (for example, if it contains more than one colon).

The attributes parameter is a list (in arbitrary order) of instances of the ‘attribute’ structure class. The for their namespace-uri and local-name properties, the same rules as for the element name apply. Additionally, namespace-declaring attributes (those whose name is "xmlns" or starts with "xmlns:") are only included if *include-xmlns-attributes* is non-nil.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-element ((handler dom-builder) namespace-uri local-name qname attributes)
Source

rune-builder.lisp.

Method: start-element ((handler broadcast-handler) uri lname qname attributes)
Source

sax-proxy.lisp.

Method: start-element ((handler catalog-parser) uri lname qname attrs)
Source

catalog.lisp.

Method: start-element ((handler whitespace-normalizer) uri lname qname attrs)
Source

space-normalizer.lisp.

Method: start-element ((handler namespace-normalizer) uri lname qname attrs)
Source

xmlns-normalizer.lisp.

Method: start-element ((handler recoder) namespace-uri local-name qname attributes)
Source

recoder.lisp.

Method: start-element ((handler xmls-builder) namespace-uri local-name qname attributes)
Source

xmls-compat.lisp.

Method: start-element ((sink sink) namespace-uri local-name qname attributes)
Source

unparse.lisp.

Method: start-element ((handler validator) uri lname qname attributes)
Source

xml-parse.lisp.

Method: start-element ((handler null) namespace-uri local-name qname attributes)
Method: start-element (handler namespace-uri local-name qname attributes)
Method: start-element ((handler abstract-handler) namespace-uri local-name qname attributes)
Method: start-element ((handler default-handler) namespace-uri local-name qname attributes)
Method: start-element ((handler abstract-handler) namespace-uri local-name qname attributes)
Generic Function: start-internal-subset (handler)

Reports that an internal subset is present. Called before any definition from the internal subset is reported.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-internal-subset ((handler klacks-dtd-handler))
Source

klacks-impl.lisp.

Method: start-internal-subset ((handler dom-builder))
Source

rune-builder.lisp.

Method: start-internal-subset ((handler broadcast-handler))
Source

sax-proxy.lisp.

Method: start-internal-subset ((handler recoder))
Source

recoder.lisp.

Method: start-internal-subset ((sink sink))
Source

unparse.lisp.

Method: start-internal-subset ((handler null))
Method: start-internal-subset (handler)
Method: start-internal-subset ((handler abstract-handler))
Method: start-internal-subset ((handler content-handler))
Method: start-internal-subset ((handler abstract-handler))
Generic Function: start-prefix-mapping (handler prefix uri)

Called when the scope of a new prefix -> namespace-uri mapping begins.

This will always be called immediatly before the ‘start-element’ event for the element on which the namespaces are declared.

Clients don’t usually have to implement this except under special circumstances, for example when they have to deal with qualified names in textual content. The parser will handle namespaces of elements and attributes on its own.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: start-prefix-mapping ((handler broadcast-handler) prefix uri)
Source

sax-proxy.lisp.

Method: start-prefix-mapping ((handler recoder) prefix uri)
Source

recoder.lisp.

Method: start-prefix-mapping ((handler null) prefix uri)
Method: start-prefix-mapping (handler prefix uri)
Method: start-prefix-mapping ((handler abstract-handler) prefix uri)
Method: start-prefix-mapping ((handler content-handler) prefix uri)
Method: start-prefix-mapping ((handler abstract-handler) prefix uri)
Generic Function: substring-data (node offset count)
Package

dom.

Methods
Method: substring-data ((node character-data) offset count)
Source

rune-impl.lisp.

Generic Function: system-id (sax-parser)

Return the URI of the document being parsed. This is either the main document, or the entity’s system ID while contents of a parsed general external entity are being processed.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: system-id ((parser klacksax))
Source

klacks.lisp.

Method: system-id ((parser cxml-parser))
Source

xml-parse.lisp.

Method: system-id ((handler sax-parser-mixin))
Generic Reader: system-id (object)
Package

dom.

Methods
Reader Method: system-id ((entity entity))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

system-id.

Reader Method: system-id ((notation notation))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

system-id.

Reader Method: system-id ((document-type document-type))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

system-id.

Generic Reader: tag-name (object)
Package

dom.

Methods
Reader Method: tag-name ((element element))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

tag-name.

Generic Reader: target (object)
Package

dom.

Methods
Reader Method: target ((processing-instruction processing-instruction))

automatically generated reader method

Source

rune-impl.lisp.

Target Slot

target.

Generic Function: text-node-p (object)
Package

dom.

Methods
Method: text-node-p (object)
Source

rune-impl.lisp.

Method: text-node-p ((object text))
Source

rune-impl.lisp.

Generic Function: unescaped (handler data)

Called for unescaped element content. Beware dragons.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: unescaped ((handler broadcast-handler) data)
Source

sax-proxy.lisp.

Method: unescaped ((sink sink) data)
Source

unparse.lisp.

Method: unescaped ((handler null) data)
Method: unescaped (handler data)
Method: unescaped ((handler abstract-handler) data)
Method: unescaped ((handler default-handler) data)
Method: unescaped ((handler abstract-handler) data)
Generic Function: unparse-attribute (value)
Package

cxml.

Source

unparse.lisp.

Methods
Method: unparse-attribute ((value integer))
Method: unparse-attribute ((value null))
Method: unparse-attribute ((value string))
Generic Function: unparsed-entity-declaration (handler name public-id system-id notation-name)

Called when an unparsed entity declaration is seen in a DTD.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: unparsed-entity-declaration ((handler klacks-dtd-handler) name public-id system-id notation-name)
Source

klacks-impl.lisp.

Method: unparsed-entity-declaration ((handler dom-builder) name public-id system-id notation-name)
Source

rune-builder.lisp.

Method: unparsed-entity-declaration ((handler broadcast-handler) name pub sys not)
Source

sax-proxy.lisp.

Method: unparsed-entity-declaration ((handler recoder) name public-id system-id notation-name)
Source

recoder.lisp.

Method: unparsed-entity-declaration ((sink sink) name public-id system-id notation-name)
Source

unparse.lisp.

Method: unparsed-entity-declaration ((handler null) name public-id system-id notation-name)
Method: unparsed-entity-declaration (handler name public-id system-id notation-name)
Method: unparsed-entity-declaration ((handler abstract-handler) name public-id system-id notation-name)
Method: unparsed-entity-declaration ((handler content-handler) name public-id system-id notation-name)
Method: unparsed-entity-declaration ((handler abstract-handler) name public-id system-id notation-name)
Generic Function: unparsed-internal-subset (handler str)

Reports that an internal subset is present, but has not been parsed and is available as a string.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: unparsed-internal-subset ((sink sink) str)
Source

unparse.lisp.

Method: unparsed-internal-subset ((handler null) str)
Method: unparsed-internal-subset (handler str)
Method: unparsed-internal-subset ((handler abstract-handler) str)
Method: unparsed-internal-subset ((handler content-handler) str)
Method: unparsed-internal-subset ((handler abstract-handler) str)
Generic Function: value (node)
Package

dom.

Methods
Method: value ((node attribute))
Source

rune-impl.lisp.

Generic Function: (setf value) (node)
Package

dom.

Methods
Method: (setf value) ((node attribute))
Source

rune-impl.lisp.

Generic Function: xml-base (sax-parser)

Return the [Base URI] of the current element. This URI can differ from the value returned by SAX:SYSTEM-ID if xml:base attributes are present.

Package

sax.

Source

sax-handler.lisp.

Methods
Method: xml-base ((parser klacksax))
Source

klacks.lisp.

Method: xml-base ((parser cxml-parser))
Source

xml-parse.lisp.

Method: xml-base ((handler sax-parser-mixin))

5.1.5 Standalone methods

Method: attribute-name ((attribute standard-attribute))
Package

hax.

Source

sax-handler.lisp.

Method: attribute-specified-p ((attribute standard-attribute))
Package

hax.

Source

sax-handler.lisp.

Method: attribute-value ((attribute standard-attribute))
Package

hax.

Source

sax-handler.lisp.

Method: characters ((handler abstract-handler) data)
Package

hax.

Source

sax-handler.lisp.

Method: comment ((handler abstract-handler) str)
Package

hax.

Source

sax-handler.lisp.

Method: component-name ((c dummy-cxml-component))
Package

asdf/component.

Source

cxml.asd.

Method: end-document ((handler abstract-handler))
Package

hax.

Source

sax-handler.lisp.

Method: end-element ((handler abstract-handler) name)
Package

hax.

Source

sax-handler.lisp.

Method: initialize-instance :after ((instance entity-reference) &key)
Source

rune-impl.lisp.

Method: initialize-instance :after ((instance xpath-navigator) &key)
Source

xmls-compat.lisp.

Method: initialize-instance :after ((instance sax-proxy) &key chained-handler)
Source

sax-proxy.lisp.

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

unparse.lisp.

Method: initialize-instance :after ((instance catalog-parser) &key uri)
Source

catalog.lisp.

Method: initialize-instance :after ((instance tapping-source) &key)
Source

tap-source.lisp.

Method: output-files :around ((operation compile-op) (c utf8dom-file))
Package

asdf/action.

Source

cxml.asd.

Method: output-files ((operation compile-op) (c utf8dom-file))
Package

asdf/action.

Source

cxml.asd.

Method: perform :around ((o compile-op) (s closure-source-file))
Package

asdf/action.

Source

cxml.asd.

Method: perform ((operation compile-op) (c utf8dom-file))
Package

asdf/action.

Source

cxml.asd.

Method: perform ((o load-op) (c utf8dom-file))
Package

asdf/action.

Source

cxml.asd.

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

rune-impl.lisp.

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

rune-impl.lisp.

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

xml-parse.lisp.

Method: start-document ((handler abstract-handler) name pubid sysid)
Package

hax.

Source

sax-handler.lisp.

Method: start-element ((handler abstract-handler) name attributes)
Package

hax.

Source

sax-handler.lisp.

Method: unescaped ((handler abstract-handler) data)
Package

hax.

Source

sax-handler.lisp.


5.1.6 Conditions

Condition: klacks-error
Package

klacks.

Source

klacks.lisp.

Direct superclasses

xml-parse-error.

Condition: validity-error

Reports the violation of a validity constraint.

Package

cxml.

Source

xml-parse.lisp.

Direct superclasses

xml-parse-error.

Condition: well-formedness-violation

This condition is signalled for all well-formedness violations.

Note for validating mode: Sometimes violations of well-formedness are first detected as validity errors by the parser and signalled as instances of @class{validity-error} rather
than well-formedness-violation.

Package

cxml.

Source

xml-parse.lisp.

Direct superclasses

xml-parse-error.

Direct subclasses

end-of-xstream.

Condition: xml-parse-error

Superclass of all conditions signalled by the CXML parser.

Package

cxml.

Source

xml-parse.lisp.

Direct superclasses

simple-error.

Direct subclasses

5.1.7 Classes

Class: abstract-handler
Package

sax.

Source

sax-handler.lisp.

Direct superclasses

sax-parser-mixin.

Direct subclasses
Direct methods
Class: attr
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

attribute.

Class: broadcast-handler

A SAX handler which passes every event it receives on to each of several chained handlers, somewhat similar to the way a @foo{broadcast-stream} works.

You can subclass @foo{broadcast-handler} to modify the events before they are being passed on. Define methods on your handler class for the events to be modified. All other events will pass through to the chained handlers unmodified.

Broadcast handler functions return the result of calling the event function on the last handler in the list. In particular,
the overall result from @foo{sax:end-document} will be ignored
for all other handlers.

@see-slot{broadcast-handler-handlers}

Package

cxml.

Source

sax-proxy.lisp.

Direct superclasses

abstract-handler.

Direct subclasses

sax-proxy.

Direct methods
Direct slots
Slot: handlers
Initargs

:handlers

Readers

broadcast-handler-handlers.

Writers

(setf broadcast-handler-handlers).

Class: cdata-section
Package

dom.

Source

package.lisp.

Direct superclasses

text.

Direct subclasses

cdata-section.

Class: character-data
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses
Class: comment
Package

dom.

Source

package.lisp.

Direct superclasses

character-data.

Direct subclasses

comment.

Class: content-handler
Package

sax.

Source

sax-handler.lisp.

Direct superclasses

abstract-handler.

Direct subclasses
Direct methods
Class: default-handler
Package

sax.

Source

sax-handler.lisp.

Direct superclasses

content-handler.

Direct subclasses
Direct methods
Class: document
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

document.

Class: document-fragment
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

document-fragment.

Class: document-type
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

document-type.

Class: element
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

element.

Class: entity
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

entity.

Class: entity-reference
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

entity-reference.

Class: named-node-map
Package

dom.

Source

package.lisp.

Direct subclasses

named-node-map.

Class: node
Package

dom.

Source

package.lisp.

Direct subclasses
Class: notation
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

notation.

Class: processing-instruction
Package

dom.

Source

package.lisp.

Direct superclasses

node.

Direct subclasses

processing-instruction.

Class: sax-parser
Package

sax.

Source

sax-handler.lisp.

Direct subclasses
Class: sax-parser-mixin
Package

sax.

Source

sax-handler.lisp.

Direct subclasses

abstract-handler.

Direct methods
Direct slots
Slot: sax-parser
Readers

sax-parser.

Writers

This slot is read-only.

Class: sax-proxy

@class{sax-proxy} is a subclass of @class{broadcast-handler} which sends events to exactly one chained handler.

This class is still included for compatibility with older versions of CXML which did not include the more general @class{broadcast-handler} yet, but has been retrofitted as a subclass of the latter.

@see-slot{proxy-chained-handler}

Package

cxml.

Source

sax-proxy.lisp.

Direct superclasses

broadcast-handler.

Direct subclasses
Direct methods
Class: source
Package

klacks.

Source

klacks.lisp.

Direct subclasses
Direct slots
Slot: internal-declarations
Package

cxml.

Slot: external-declarations
Package

cxml.

Slot: dom-impl-dtd
Package

cxml.

Slot: dom-impl-entity-resolver
Package

cxml.

Class: tapping-source
Package

klacks.

Source

tap-source.lisp.

Direct superclasses

source.

Direct methods
Direct slots
Slot: upstream-source
Package

cxml.

Initargs

:upstream-source

Readers

upstream-source.

Writers

(setf upstream-source).

Slot: dribble-handler
Package

cxml.

Initargs

:dribble-handler

Readers

dribble-handler.

Writers

(setf dribble-handler).

Slot: seen-event-p
Package

cxml.

Readers

seen-event-p.

Writers

(setf seen-event-p).

Slot: document-done-p
Package

cxml.

Readers

document-done-p.

Writers

(setf document-done-p).

Class: text
Package

dom.

Source

package.lisp.

Direct superclasses

character-data.

Direct subclasses

5.2 Internals


5.2.1 Constants

Constant: +fixnum-bits+

Pessimistic approximation of the number of bits of fixnums.

Package

cxml.

Source

xml-parse.lisp.

Constant: +fixnum-mask+

Pessimistic approximation of the largest bit-mask, still being a fixnum.

Package

cxml.

Source

xml-parse.lisp.


5.2.2 Special variables

Special Variable: *catalog-dtd*
Package

cxml.

Source

catalog.lisp.

Special Variable: *clone-not-import*
Package

rune-dom.

Source

rune-impl.lisp.

Special Variable: *ctx*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *current-element*
Package

cxml.

Source

unparse.lisp.

Special Variable: *current-namespace-bindings*
Package

cxml.

Source

unparse.lisp.

Special Variable: *data-behaviour*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *default-catalog*
Package

cxml.

Source

catalog.lisp.

Special Variable: *expand-pe-p*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *external-subset-p*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *fast*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *initial-namespace-bindings*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *left-recursion*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *namespace-bindings*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *redefinition-warning*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *scratch-pad*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *scratch-pad-2*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *scratch-pad-3*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *scratch-pad-4*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *sink*
Package

cxml.

Source

unparse.lisp.

Special Variable: *unparse-namespace-bindings*
Package

cxml.

Source

unparse.lisp.

Special Variable: *validate*
Package

cxml.

Source

xml-parse.lisp.

Special Variable: *xmlns-namespace*
Package

cxml.

Source

xmlns-normalizer.lisp.


5.2.3 Macros

Macro: %* (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %+ (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %- (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %/ (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %< (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %<= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %> (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %>= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %and (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %ash (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %ior (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %mod (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %put-unicode-char (code-var put)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune* (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune+ (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune- (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune-and (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune-ash (a b)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune-ior (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune-mod (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune-xor (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune/ (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune< (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune<= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune> (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %rune>= (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: %xor (&rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: dovector ((var vector &optional resultform) &body body)
Package

rune-dom.

Source

rune-impl.lisp.

Macro: fx-op (op &rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: fx-pred (op &rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: read-data-until* ((predicate input res res-start res-end) &body body)

Read data from ‘input’ until ‘predicate’ applied to the read char turns true. Then execute ‘body’ with ‘res’, ‘res-start’, ‘res-end’ bound to denote a subsequence (of RUNEs) containing the read portion. The rune upon which ‘predicate’ turned true is neither consumed from the stream, nor included in ‘res’.

Keep the predicate short, this it may be included more than once into the macro’s expansion.

Package

cxml.

Source

xml-parse.lisp.

Macro: rune-op (op &rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: rune-pred (op &rest xs)
Package

cxml.

Source

xml-parse.lisp.

Macro: until (test &body body)
Package

cxml.

Source

util.lisp.

Macro: while (test &body body)
Package

cxml.

Source

util.lisp.

Macro: with-open-xfile ((stream &rest open-args) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-open-xstream ((var value) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-restored-base-stack ((context) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector-2 ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector-3 ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector-4 ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector-aux (scratch collect body mode)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector/intern ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-rune-collector/raw ((collect) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-scratch-pads ((&optional) &body body)
Package

cxml.

Source

xml-parse.lisp.

Macro: with-source ((source &rest slots) &body body)
Package

cxml.

Source

klacks-impl.lisp.

Macro: with-zstream ((zstream &rest args) &body body)
Package

cxml.

Source

xml-parse.lisp.


5.2.4 Ordinary functions

Function: %create-document-type (name publicid systemid)
Package

rune-dom.

Source

rune-impl.lisp.

Function: %error (class stream message)
Package

cxml.

Source

xml-parse.lisp.

Function: %make-catalog ()
Package

cxml.

Source

catalog.lisp.

Function: %make-rod-hash-table ()
Package

cxml.

Source

xml-parse.lisp.

Function: %make-source (input &key validate dtd root entity-resolver disallow-internal-subset error-culprit)
Package

cxml.

Source

klacks-impl.lisp.

Function: %rod (x)
Package

rune-dom.

Source

rune-impl.lisp.

Function: %rod= (x y)
Package

sax.

Source

sax-handler.lisp.

Function: %set-named-item (map arg test)
Package

rune-dom.

Source

rune-impl.lisp.

Function: absolute-extid (source-stream extid)
Package

cxml.

Source

xml-parse.lisp.

Function: absolute-uri (sysid source-stream)
Package

cxml.

Source

xml-parse.lisp.

Function: add-default-attribute (element adef)
Package

rune-dom.

Source

rune-impl.lisp.

Function: add-default-attributes (element)
Package

rune-dom.

Source

rune-impl.lisp.

Function: adjust-array-by-copying (old-array new-size)

Adjust an array by copying and thus ensures, that result is a SIMPLE-ARRAY.

Package

cxml.

Source

xml-parse.lisp.

Function: adjust-vector-exponentially (vector new-dimension set-fill-pointer-p)
Package

rune-dom.

Source

rune-impl.lisp.

Function: assert-writeable (node)
Package

rune-dom.

Source

rune-impl.lisp.

Function: atdoc-directory ()
Package

cxml.

Source

atdoc-configuration.lisp.

Function: atdoc-title ()
Package

cxml.

Source

atdoc-configuration.lisp.

Reader: attdef-default (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

default.

Reader: attdef-element (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

element.

Reader: attdef-external-p (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

external-p.

Reader: attdef-name (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

name.

Function: attdef-p (object)
Package

cxml.

Source

xml-parse.lisp.

Reader: attdef-type (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

type.

Function: attribute-to-string (attribute)
Package

rune-dom.

Source

rune-impl.lisp.

Function: attrname->prefix (attrname)
Package

cxml.

Source

xml-parse.lisp.

Reader: base-stack (instance)
Writer: (setf base-stack) (instance)
Package

cxml.

Source

xml-parse.lisp.

Target Slot

base-stack.

Function: build-attribute-list (attr-alist)
Package

cxml.

Source

xml-parse.lisp.

Function: call-with-entity-expansion-as-stream (zstream cont name kind internalp)
Package

cxml.

Source

xml-parse.lisp.

Function: call-with-open-xfile (continuation &rest open-args)
Package

cxml.

Source

xml-parse.lisp.

Function: call-with-open-xstream (fn stream)
Package

cxml.

Source

xml-parse.lisp.

Function: call-with-zstream (fn zstream)
Package

cxml.

Source

xml-parse.lisp.

Function: can-adopt-p (parent child)
Package

rune-dom.

Source

rune-impl.lisp.

Function: canon-not-cdata-attval (value)
Package

cxml.

Source

xml-parse.lisp.

Reader: catalog-dtd-cache (instance)
Writer: (setf catalog-dtd-cache) (instance)
Package

cxml.

Source

catalog.lisp.

Target Slot

dtd-cache.

Reader: catalog-file-table (instance)
Writer: (setf catalog-file-table) (instance)
Package

cxml.

Source

catalog.lisp.

Target Slot

file-table.

Reader: catalog-main-files (instance)
Writer: (setf catalog-main-files) (instance)
Package

cxml.

Source

catalog.lisp.

Target Slot

main-files.

Function: catalog-p (object)
Package

cxml.

Source

catalog.lisp.

Function: check-attribute-uniqueness (attributes)
Package

cxml.

Source

xml-parse.lisp.

Function: check-rune (input actual expected)
Package

cxml.

Source

xml-parse.lisp.

Function: checked-get-entdef (name type)
Package

cxml.

Source

xml-parse.lisp.

Function: cmodel-done (actual-value)
Package

cxml.

Source

xml-parse.lisp.

Function: code-data-char-p (c)
Package

cxml.

Source

xml-parse.lisp.

Function: compile-content-model (cspec &optional continuation)
Package

cxml.

Source

xml-parse.lisp.

Function: compile-cspec (cspec &optional standalone-check)
Package

cxml.

Source

xml-parse.lisp.

Function: compile-mixed (cspec)
Package

cxml.

Source

xml-parse.lisp.

Function: compose (f g)
Package

cxml.

Source

util.lisp.

Function: compute-attributes (element xmlnsp defaultp)
Package

cxml.

Source

dom-sax.lisp.

Function: compute-attributes/lnames (node xmlnsp)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: compute-attributes/qnames (node xmlnsp)
Package

cxml-xmls.

Source

xmls-compat.lisp.

Function: compute-base (attrs)
Package

cxml.

Source

xml-parse.lisp.

Function: consume-token (input)
Package

cxml.

Source

xml-parse.lisp.

Function: context-p (object)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-attdef (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-catalog (instance)
Package

cxml.

Source

catalog.lisp.

Function: copy-cons (x)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-context (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-dtd (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-elmdef (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-entdef (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-entry-file (instance)
Package

cxml.

Source

catalog.lisp.

Function: copy-external-entdef (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-extid (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-internal-entdef (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-rod-hashtable (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-rod-stream (instance)
Package

rune-dom.

Source

rune-impl.lisp.

Function: copy-standard-attribute (instance)
Package

sax.

Source

sax-handler.lisp.

Function: copy-stream-name (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-tag (instance)
Package

cxml.

Source

unparse.lisp.

Function: copy-xml-header (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: copy-zstream (instance)
Package

cxml.

Source

xml-parse.lisp.

Function: curry (fun &rest args)
Package

cxml.

Source

util.lisp.

Function: data-rune-p (rune)
Package

cxml.

Source

xml-parse.lisp.

Function: declare-namespaces (attributes)
Package

cxml.

Source

xml-parse.lisp.

Function: decode-qname (qname)

decode-qname name => namespace-uri, prefix, local-name

Package

cxml.

Source

xml-parse.lisp.

Function: define-attribute (dtd element name type default)
Package

cxml.

Source

xml-parse.lisp.

Function: define-default-entities ()
Package

cxml.

Source

xml-parse.lisp.

Function: define-element (dtd element-name &optional content-model)
Package

cxml.

Source

xml-parse.lisp.

Function: define-entity (source-stream name kind def)
Package

cxml.

Source

xml-parse.lisp.

Function: define-notation (dtd name id)
Package

cxml.

Source

xml-parse.lisp.

Reader: delegate-public-entries (instance)