The plump Reference Manual

This is the plump Reference Manual, version 2.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed May 15 06:32:45 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 plump

An XML / XHTML / HTML parser that aims to be as lenient as possible.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/plump/

Source Control

(GIT https://github.com/Shinmera/plump.git)

Bug Tracker

https://github.com/Shinmera/plump/issues

License

zlib

Version

2.0.0

Dependencies
  • array-utils (system).
  • documentation-utils (system).
Source

plump.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 plump/plump.asd

Source

plump.asd.

Parent Component

plump (system).

ASDF Systems

plump.


3.1.2 plump/package.lisp

Source

plump.asd.

Parent Component

plump (system).

Packages

3.1.3 plump/entities.lisp

Dependency

package.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

3.1.4 plump/lexer.lisp

Dependency

entities.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

*matchers* (special variable).


3.1.5 plump/tag-dispatcher.lisp

Dependency

lexer.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

3.1.6 plump/dom.lisp

Dependency

tag-dispatcher.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

3.1.7 plump/parser.lisp

Dependency

dom.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

3.1.8 plump/processing.lisp

Dependency

parser.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

*processing-parsers* (special variable).


3.1.9 plump/special-tags.lisp

Dependency

processing.lisp (file).

Source

plump.asd.

Parent Component

plump (system).

Public Interface
Internals

3.1.10 plump/documentation.lisp

Dependency

special-tags.lisp (file).

Source

plump.asd.

Parent Component

plump (system).


4 Packages

Packages are listed by definition order.


4.1 plump-parser

Source

package.lisp.

Nickname

org.shirakumo.plump.parser

Use List
Used By List

plump.

Public Interface
Internals

4.2 plump-lexer

Source

package.lisp.

Nickname

org.shirakumo.plump.lexer

Use List

common-lisp.

Used By List
Public Interface
Internals

*matchers* (special variable).


4.3 plump-dom

Source

package.lisp.

Nickname

org.shirakumo.plump.dom

Use List
  • array-utils.
  • common-lisp.
Used By List
Public Interface
Internals

4.4 plump

Source

package.lisp.

Nickname

org.shirakumo.plump

Use List

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: *all-tag-dispatchers*

All defined tag dispatchers

Package

plump-parser.

Source

tag-dispatcher.lisp.

Special Variable: *entity-map*

String hash-table containing the entity names and mapping them to their respective characters.

Package

plump-dom.

Source

entities.lisp.

Special Variable: *html-tags*

List of HTML tag dispatchers

Package

plump-parser.

Source

tag-dispatcher.lisp.

Special Variable: *index*

Set to the current reading index.

Package

plump-lexer.

Source

lexer.lisp.

Special Variable: *length*

Set to the length of the string for bounds checking.

Package

plump-lexer.

Source

lexer.lisp.

Special Variable: *root*

Object containing the current node to set as parent.

Package

plump-parser.

Source

parser.lisp.

Special Variable: *stream*

The stream to serialize to during SERIALIZE-OBJECT.

Package

plump-dom.

Source

dom.lisp.

Special Variable: *string*

Contains the current string to lex.

Package

plump-lexer.

Source

lexer.lisp.

Special Variable: *tag-dispatchers*

Active tag dispatcher functions

Package

plump-parser.

Source

tag-dispatcher.lisp.

Special Variable: *xml-tags*

List of XML tag dispatchers

Package

plump-parser.

Source

tag-dispatcher.lisp.


5.1.2 Macros

Macro: define-fulltext-element (tag &rest lists)

Defines an element to be read as a full-text element.
This means that it cannot contain any child-nodes and everything up until its closing tag is used as its text.

Package

plump-parser.

Source

special-tags.lisp.

Macro: define-matcher (name form)

Associates NAME as a keyword to the matcher form. You can then use the keyword in further matcher rules.

Package

plump-lexer.

Source

lexer.lisp.

Macro: define-processing-parser (process-name () &body body)

Defines a new processing-instruction parser.
It is invoked if a processing-instruction (<?) with PROCESS-NAME is encountered. The lexer will be at the point straight after reading in the PROCESS-NAME. Expected return value is a string to use as the processing-instructions’ TEXT. The closing tag (?>) should NOT be consumed by a processing-parser.

Package

plump-parser.

Source

processing.lisp.

Macro: define-self-closing-element (tag &rest lists)

Defines an element that does not need to be closed with /> and cannot contain child nodes.

Package

plump-parser.

Source

special-tags.lisp.

Macro: define-tag-dispatcher ((name &rest lists) (tagvar) &body body)

Defines a new tag dispatcher. It is invoked if TEST-FORM passes.

NAME — Name to discern the dispatcher with.
LISTS — Symbols of lists to which the dispatcher should be added. TAGVAR — Symbol bound to the tag name.
BODY — Body forms describing the test to match the tag.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: define-tag-parser (name (tagvar) &body body)

Defines the parser function for a tag dispatcher.

NAME — The name of the tag dispatcher. If one with this name cannot be found, an error is signalled.
TAGVAR — Symbol bound to the tag name.
BODY — Body forms describing the tag parsing behaviour.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: define-tag-printer (name (nodevar) &body body)

Defines the printer function for a tag dispatcher.

NAME — The name of the tag dispatcher. If one with this name cannot be found, an error is signalled.
TAGVAR — Symbol bound to the tag name.
BODY — Body forms describing the printing behaviour. Write to the stream bound to PLUMP-DOM:*STREAM*.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: define-wildcard-dispatcher (name &rest lists)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: do-tag-parsers ((test parser &optional result-form) &body body)

Iterates over the current *TAG-DISPATCHERS*, binding the TEST and PARSER functions. Returns RESULT-FORM’s evaluated value.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: do-tag-printers ((test printer &optional result-form) &body body)

Iterates over the current *TAG-DISPATCHERS*, binding the TEST and PRINTER functions. Returns RESULT-FORM’s evaluated value.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Macro: make-matcher (form)

Macro to create a matcher chain.

Package

plump-lexer.

Source

lexer.lisp.

Macro: matcher-any (&rest is)

Shorthand for (or (is a) (is b)..)

Package

plump-lexer.

Source

lexer.lisp.

Macro: with-lexer-environment ((string) &body body)

Sets up the required lexing environment for the given string.

Package

plump-lexer.

Source

lexer.lisp.


5.1.3 Setf expanders

Setf Expander: (setf tag-dispatcher) (name &optional list)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Reader

tag-dispatcher (function).


5.1.4 Ordinary functions

Function: advance ()

Skips a character if possible. Returns the new index or NIL.

Package

plump-lexer.

Source

lexer.lisp.

Function: advance-n (n)

Advances by N characters if possible. Returns the new *INDEX*.

Package

plump-lexer.

Source

lexer.lisp.

Function: allowed-char-p (char)

Returns T if the character is a permitted XML character.

Package

plump-dom.

Source

entities.lisp.

Function: append-child (parent child)

Appends the given child onto the parent’s child list. Returns the child.

Package

plump-dom.

Source

dom.lisp.

Function: attribute (element attribute)

Returns the asked attribute from the element or NIL. If the attribute could not be found, the second return value is set to NIL.

Package

plump-dom.

Source

dom.lisp.

Function: (setf attribute) (element attribute)

Set an attribute on an element to the given value.

Package

plump-dom.

Source

dom.lisp.

Function: cdata-p (object)

Returns T if the given OBJECT is of type CDATA

Package

plump-dom.

Source

dom.lisp.

Function: child-elements (nesting-node)

Returns a new vector of children of the given node, filtered to elements.

Package

plump-dom.

Source

dom.lisp.

Function: child-node-p (object)

Returns T if the given OBJECT is of type CHILD-NODE

Package

plump-dom.

Source

dom.lisp.

Function: child-position (child)

Returns the index of the child within its parent.

Package

plump-dom.

Source

dom.lisp.

Function: clear (nesting-node)

Clears all children from the node.

Note that the PARENT of all child elements is set to NIL.

Package

plump-dom.

Source

dom.lisp.

Function: clone-attributes (node)

Clone the attribute map.
Note that keys and values are NOT copied/cloned.

Package

plump-dom.

Source

dom.lisp.

Function: clone-children (node &optional deep new-parent)

Clone the array of children.
If DEEP is non-NIL, each child is cloned as per (CLONE-NODE NODE T). When copying deeply, you can also pass a NEW-PARENT to set on each child.

Package

plump-dom.

Source

dom.lisp.

Function: comment-p (object)

Returns T if the given OBJECT is of type COMMENT

Package

plump-dom.

Source

dom.lisp.

Function: consume ()

Consumes a single character if possible and returns it. Otherwise returns NIL.

Package

plump-lexer.

Source

lexer.lisp.

Function: consume-until (matcher)

Consumes until the provided matcher function returns positively. Returns the substring that was consumed.

Package

plump-lexer.

Source

lexer.lisp.

Function: decode-entities (text &optional remove-invalid)

Translates all entities in the text into their character counterparts if possible. If an entity does not match, it is left in place unless REMOVE-INVALID is non-NIL.

Package

plump-dom.

Source

entities.lisp.

Function: discouraged-char-p (char)

Returns T if the character is a discouraged XML character.

Package

plump-dom.

Source

entities.lisp.

Function: doctype-p (object)

Returns T if the given OBJECT is of type DOCTYPE

Package

plump-dom.

Source

dom.lisp.

Function: element-p (object)

Returns T if the given OBJECT is of type ELEMENT

Package

plump-dom.

Source

dom.lisp.

Function: element-position (child)

Returns the index of the child within its parent, counting only elements. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: encode-entities (text &optional stream)

Encodes the characters < > & " with their XML entity equivalents.

If no STREAM is given, it encodes to a new string.

Package

plump-dom.

Source

entities.lisp.

Function: ensure-attribute-map (table)

Ensures that the TABLE is suitable as an attribute-map.
If it is not, the table is copied into a proper attribute-map.

Package

plump-dom.

Source

dom.lisp.

Function: ensure-child-array (array)

If the ARRAY is suitable as a child-array, it is returned. Otherwise the array’s elements are copied over into a proper child-array.

Package

plump-dom.

Source

dom.lisp.

Function: family (child)

Returns the direct array of children of the parent of the given child. Note that modifying this array directly modifies that of the parent.

Package

plump-dom.

Source

dom.lisp.

Function: family-elements (child)

Returns the direct array of children elements of the parent of the given child. Note that this is a copy of the array, modifying it is safe.
This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: first-child (element)

Returns the first child within the parent or NIL if the parent is empty.

Package

plump-dom.

Source

dom.lisp.

Function: first-element (element)

Returns the first child element within the parent or NIL
if the parent is empty. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: fulltext-element-p (object)

Returns T if the given OBJECT is of type FULLTEXT-ELEMENT

Package

plump-dom.

Source

dom.lisp.

Function: get-attribute (element attribute)

Synonymous to ATTRIBUTE.

Package

plump-dom.

Source

dom.lisp.

Function: get-element-by-id (node id)

Searches the given node and returns the first node at arbitrary depth that matches the given ID attribute.

Package

plump-dom.

Source

dom.lisp.

Function: get-elements-by-tag-name (node tag)

Searches the given node and returns an unordered list of child nodes at arbitrary depth that match the given tag.

Package

plump-dom.

Source

dom.lisp.

Function: has-attribute (element attribute)

Returns T if the provided attribute exists.

Package

plump-dom.

Source

dom.lisp.

Function: has-child-nodes (node)

Returns T if the node can contain children and the child array is not empty.

Package

plump-dom.

Source

dom.lisp.

Function: insert-after (element new-child)

Inserts the new-child after the given element in the parent’s list. Returns the new child.

Note that this operation is potentially very costly.
See VECTOR-PUSH-EXTEND-POSITION

Package

plump-dom.

Source

dom.lisp.

Function: insert-before (element new-child)

Inserts the new-child before the given element in the parent’s list. Returns the new child.

Note that this operation is potentially very costly.
See VECTOR-PUSH-EXTEND-POSITION

Package

plump-dom.

Source

dom.lisp.

Function: last-child (element)

Returns the last child within the parent or NIL if the parent is empty.

Package

plump-dom.

Source

dom.lisp.

Function: last-element (element)

Returns the last child element within the parent or NIL
if the parent is empty. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: make-attribute-map (&optional size)

Creates a map to contain attributes.

Package

plump-dom.

Source

dom.lisp.

Function: make-cdata (parent &key text)

Creates an XML CDATA section under the parent.

Note that the element is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-child-array (&optional size)

Creates an array to contain child elements

Package

plump-dom.

Source

dom.lisp.

Function: make-comment (parent &optional text)

Creates a new comment node under the parent.

Note that the node is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-doctype (parent doctype)

Creates a new doctype node under the parent.

Note that the node is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-element (parent tag &key children attributes)

Creates a standard DOM element with the given tag name and parent. Optionally a vector (with fill-pointer) containing children and an attribute-map (a hash-table with equalp test) can be supplied.

Note that the element is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-fulltext-element (parent tag &key text attributes)

Creates a fulltext element under the parent.
Optionally a text and an attribute-map (a hash-table with equalp test) can be supplied.

Note that the element is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-processing-instruction (parent &key name text)

Creates an XML processing instruction under the parent.

Note that the element is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-root (&optional children)

Creates a root node with the given children. Children should be a vector with fill-pointer.

Package

plump-dom.

Source

dom.lisp.

Function: make-text-node (parent &optional text)

Creates a new text node under the parent.

Note that the node is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: make-xml-header (parent &key attributes)

Creates an XML header object under the parent.

Note that the element is automatically appended to the parent’s child list.

Package

plump-dom.

Source

dom.lisp.

Function: matcher-and (&rest matchers)

Creates a matcher function that returns if all of the sub-expressions return successfully. The last match is returned, if all.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-character (character)

Creates a matcher function that attempts to match the given character.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-find (list)

Creates a matcher function that returns T if the character is found in the given list.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-next (matcher)

Creates a matcher environment that peeks ahead one farther.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-not (matcher)

Creates a matcher function that inverts the result of the sub-expression.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-or (&rest matchers)

Creates a matcher function that returns successfully if any of the sub-expressions return successfully. The first match is returned, if any.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-prev (matcher)

Creates a matcher environment that peeks behind.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-range (from to)

Creates a matcher that checks a range according to the next character’s CHAR-CODE.

Package

plump-lexer.

Source

lexer.lisp.

Function: matcher-string (string)

Creates a matcher function that attempts to match the given string.

Package

plump-lexer.

Source

lexer.lisp.

Function: nesting-node-p (object)

Returns T if the given OBJECT is of type NESTING-NODE

Package

plump-dom.

Source

dom.lisp.

Function: next-element (child)

Returns the sibling element next to this one or NIL if
it is already last. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: next-sibling (child)

Returns the sibling next to this one or NIL if it is already the last.

Package

plump-dom.

Source

dom.lisp.

Function: node-p (object)

Returns T if the given OBJECT is of type NODE

Package

plump-dom.

Source

dom.lisp.

Function: peek ()

Returns the next character, if any.

Package

plump-lexer.

Source

lexer.lisp.

Function: prepend-child (parent child)

Prepends the given child onto the parent’s child list. Returns the child.

Note that this operation is costly, see VECTOR-PUSH-EXTEND-FRONT

Package

plump-dom.

Source

dom.lisp.

Function: previous-element (child)

Returns the sibling element before this one or NIL if
it is already the first. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: previous-sibling (child)

Returns the sibling before this one or NIL if it is already the first.

Package

plump-dom.

Source

dom.lisp.

Function: processing-instruction-p (object)

Returns T if the given OBJECT is of type PROCESSING-INSTRUCTION

Package

plump-dom.

Source

dom.lisp.

Function: processing-parser (process-name)

Return the processing-parser function for PROCESS-NAME. SETF-able.

Package

plump-parser.

Source

processing.lisp.

Function: (setf processing-parser) (process-name)

Set the processing-parser function for PROCESS-NAME.

Package

plump-parser.

Source

processing.lisp.

Function: read-attribute ()

Reads an attribute and returns it as a key value cons.

Package

plump-parser.

Source

parser.lisp.

Function: read-attribute-name ()

Reads an attribute name.

Package

plump-parser.

Source

parser.lisp.

Function: read-attribute-value ()

Reads an attribute value, either enclosed in quotation marks or until a space or tag end.

Package

plump-parser.

Source

parser.lisp.

Function: read-attributes ()

Reads as many attributes as possible from a tag and returns them as an attribute map.

Package

plump-parser.

Source

parser.lisp.

Function: read-children ()

Read all children of the current *root* until the closing tag for *root* is encountered.

Package

plump-parser.

Source

parser.lisp.

Function: read-name ()

Reads and returns a tag name.

Package

plump-parser.

Source

parser.lisp.

Function: read-root (&optional root)

Creates a root element and reads nodes into it. Optionally uses the specified root to append child nodes to. Returns the root.

Package

plump-parser.

Source

parser.lisp.

Function: read-standard-tag (name)

Reads an arbitrary tag and returns it. This recurses with READ-CHILDREN.

Package

plump-parser.

Source

parser.lisp.

Function: read-tag ()

Attempts to read a tag and dispatches or defaults to READ-STANDARD-TAG. Returns the completed node if one can be read.

Package

plump-parser.

Source

parser.lisp.

Function: read-tag-contents ()

Reads and returns all tag contents. E.g. <foo bar baz> => bar baz

Package

plump-parser.

Source

parser.lisp.

Function: read-text ()

Reads and returns a text-node.

Package

plump-parser.

Source

parser.lisp.

Function: remove-attribute (element attribute)

Remove the specified attribute if it exists. Returns NIL.

Package

plump-dom.

Source

dom.lisp.

Function: remove-child (child)

Removes the child from its parent.
Returns the child.

Note that this operation is potentially very costly. See VECTOR-POP-POSITION

Package

plump-dom.

Source

dom.lisp.

Function: remove-processing-parser (process-name)

Remove the processing-parser for PROCESS-NAME.

Package

plump-parser.

Source

processing.lisp.

Function: remove-tag-dispatcher (name &optional list)

Removes the tag-dispatcher of the given name from the list.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Function: render-text (node)

"Renders" the text of this element and its children.

In effect the text is gathered from the component and all of
its children, but transforming the text in such a way that:
- All ASCII white space (Space, Tab, CR, LF) is converted into spaces. - There are no consecutive spaces.
- There are no spaces at the beginning or end.

This is somewhat analogous to how the text will be shown to
the user when rendered by a browser. Hence, render-text.

Package

plump-dom.

Source

dom.lisp.

Function: replace-child (old-child new-child)

Replace the old child with a new one. Returns the old child.

Package

plump-dom.

Source

dom.lisp.

Function: root-p (object)

Returns T if the given OBJECT is of type ROOT

Package

plump-dom.

Source

dom.lisp.

Function: serialize (node &optional stream)

Serializes NODE to STREAM.
STREAM can be a stream, T for *standard-output* or NIL to serialize to string.

Package

plump-dom.

Source

dom.lisp.

Function: set-attribute (element attribute value)

Synonymous to (SETF (ATTRIBUTE ..) ..)

Package

plump-dom.

Source

dom.lisp.

Function: sibling-elements (child)

Returns the array of sibling elements of the given child. Note that this is a copy of the array, modifying it is safe. This excludes comments, text-nodes and the like.

Package

plump-dom.

Source

dom.lisp.

Function: siblings (child)

Returns the array of siblings of the given child.
Note that this is a copy of the array, modifying it is safe.

Package

plump-dom.

Source

dom.lisp.

Function: slurp-stream (stream)

Quickly slurps the stream’s contents into an array with fill pointer.

Package

plump-parser.

Source

parser.lisp.

Function: splice (element)

Splices the contents of element into the position of the element in its parent. Returns the parent.

Note that this operation is potentially very costly.
See ARRAY-SHIFT

Package

plump-dom.

Source

dom.lisp.

Function: strip (node)

Trim all text-nodes within NODE (at any depth) of leading and trailing whitespace. If their TEXT should be an empty string after trimming, remove them.

Package

plump-dom.

Source

dom.lisp.

Function: tag-dispatcher (name &optional list)

Accessor to the tag-dispatcher of the given name.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Setf expander for this function

(setf tag-dispatcher).

Function: text-node-p (object)

Returns T if the given OBJECT is of type TEXT-NODE

Package

plump-dom.

Source

dom.lisp.

Function: textual-node-p (object)

Returns T if the given OBJECT is of type TEXTUAL-NODE

Package

plump-dom.

Source

dom.lisp.

Function: translate-entity (text &key start end)

Translates the given entity identifier (a name, #Dec or #xHex) into their respective strings if possible. Otherwise returns NIL.

Package

plump-dom.

Source

entities.lisp.

Function: trim (node)

Trim all text-nodes within NODE (at any depth) of leading and trailing whitespace.

Package

plump-dom.

Source

dom.lisp.

Function: unread ()

Steps back a single character if possible. Returns the new *INDEX*.

Package

plump-lexer.

Source

lexer.lisp.

Function: unread-n (n)

Steps back by N characters if possible. Returns the new *INDEX*.

Package

plump-lexer.

Source

lexer.lisp.

Function: write-encode-char (char stream &optional encode-whitespace)

Write and possibly encode the CHAR to STREAM.
This also properly handles detection of invalid or discouraged XML characters.

The following restarts are available in the case of a faulty character: ABORT Do not output the faulty character at all. USE-NEW-CHARACTER Output a replacement character instead.
CONTINUE Continue and output the faulty character anyway.

See INVALID-XML-CHARACTER
See DISCOURAGED-XML-CHARACTER

Package

plump-dom.

Source

entities.lisp.

Function: xml-header-p (object)

Returns T if the given OBJECT is of type XML-HEADER

Package

plump-dom.

Source

dom.lisp.


5.1.5 Generic functions

Generic Reader: attributes (object)

Returns an EQUALP hash-table of the element’s attributes.

Package

plump-dom.

Methods
Reader Method: attributes ((xml-header xml-header))

automatically generated reader method

Source

dom.lisp.

Target Slot

%attributes.

Reader Method: attributes ((element element))

automatically generated reader method

Source

dom.lisp.

Target Slot

%attributes.

Generic Writer: (setf attributes) (object)
Package

plump-dom.

Methods
Writer Method: (setf attributes) ((xml-header xml-header))

automatically generated writer method

Source

dom.lisp.

Target Slot

%attributes.

Writer Method: (setf attributes) ((element element))

automatically generated writer method

Source

dom.lisp.

Target Slot

%attributes.

Generic Reader: children (object)

Returns a vector of child-nodes that are contained within the node.

Package

plump-dom.

Methods
Reader Method: children ((nesting-node nesting-node))

automatically generated reader method

Source

dom.lisp.

Target Slot

%children.

Generic Writer: (setf children) (object)
Package

plump-dom.

Methods
Writer Method: (setf children) ((nesting-node nesting-node))

automatically generated writer method

Source

dom.lisp.

Target Slot

%children.

Generic Function: clone-node (node &optional deep)

Clone the given node, creating a new instance with the same contents. If DEEP is non-NIL, the following applies:
The text of COMMENT and TEXT-NODEs is copied as per COPY-SEQ.
The children of NESTING-NODEs are copied as per (CLONE-CHILDREN CHILD T)

Package

plump-dom.

Source

dom.lisp.

Methods
Method: clone-node ((vector vector) &optional deep)
Method: clone-node ((table hash-table) &optional deep)
Method: clone-node ((node node) &optional deep)
Method: clone-node ((node nesting-node) &optional deep)
Method: clone-node ((node child-node) &optional deep)
Method: clone-node ((node textual-node) &optional deep)
Method: clone-node ((node text-node) &optional deep)
Method: clone-node ((node comment) &optional deep)
Method: clone-node ((node element) &optional deep)
Method: clone-node ((node doctype) &optional deep)
Method: clone-node ((node xml-header) &optional deep)
Method: clone-node ((node cdata) &optional deep)
Method: clone-node ((node processing-instruction) &optional deep)
Generic Reader: doctype (object)

Returns the doctype node’s actual doctype string.

Package

plump-dom.

Methods
Reader Method: doctype ((doctype doctype))

automatically generated reader method

Source

dom.lisp.

Target Slot

%doctype.

Generic Writer: (setf doctype) (object)
Package

plump-dom.

Methods
Writer Method: (setf doctype) ((doctype doctype))

automatically generated writer method

Source

dom.lisp.

Target Slot

%doctype.

Generic Reader: faulty-char (condition)

Returns the faulty char that caused the signal.

Package

plump-dom.

Methods
Reader Method: faulty-char ((condition discouraged-xml-character))
Source

entities.lisp.

Target Slot

faulty-char.

Reader Method: faulty-char ((condition invalid-xml-character))
Source

entities.lisp.

Target Slot

faulty-char.

Generic Writer: (setf faulty-char) (condition)
Package

plump-dom.

Methods
Writer Method: (setf faulty-char) ((condition discouraged-xml-character))
Source

entities.lisp.

Target Slot

faulty-char.

Writer Method: (setf faulty-char) ((condition invalid-xml-character))
Source

entities.lisp.

Target Slot

faulty-char.

Generic Reader: parent (object)

Returns the node’s parent that should contain this element as a child.

Package

plump-dom.

Methods
Reader Method: parent ((child-node child-node))

automatically generated reader method

Source

dom.lisp.

Target Slot

%parent.

Generic Writer: (setf parent) (object)
Package

plump-dom.

Methods
Writer Method: (setf parent) ((child-node child-node))

automatically generated writer method

Source

dom.lisp.

Target Slot

%parent.

Generic Function: parse (input &key root)

Parses the given input into a DOM representation.
By default, methods for STRING, PATHNAME and STREAM are defined.
If supplied, the given root is used to append children to as per READ-ROOT. Returns the root.

Package

plump-parser.

Source

parser.lisp.

Methods
Method: parse ((input string) &key root)
Method: parse ((input pathname) &key root)
Method: parse ((input stream) &key root)
Generic Function: serialize-object (node)

Serialize the given node and print it to *stream*.

Package

plump-dom.

Source

dom.lisp.

Methods
Method: serialize-object ((node text-node))
Method: serialize-object ((node doctype))
Method: serialize-object ((node comment))
Method: serialize-object ((node element))
Method: serialize-object ((node fulltext-element))
Method: serialize-object ((node xml-header))
Method: serialize-object ((node cdata))
Method: serialize-object ((node processing-instruction))
Method: serialize-object ((table hash-table))
Method: serialize-object ((node nesting-node))
Method: serialize-object ((nodes vector))
Generic Reader: tag-name (object)

Returns the element’s tag name.

Package

plump-dom.

Methods
Reader Method: tag-name ((processing-instruction processing-instruction))

automatically generated reader method

Source

dom.lisp.

Target Slot

%tag-name.

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

automatically generated reader method

Source

dom.lisp.

Target Slot

%tag-name.

Generic Writer: (setf tag-name) (object)
Package

plump-dom.

Methods
Writer Method: (setf tag-name) ((processing-instruction processing-instruction))

automatically generated writer method

Source

dom.lisp.

Target Slot

%tag-name.

Writer Method: (setf tag-name) ((element element))

automatically generated writer method

Source

dom.lisp.

Target Slot

%tag-name.

Generic Function: text (object)

Returns the node’s textual content.

Package

plump-dom.

Methods
Method: text ((node nesting-node))

Compiles all text nodes within the nesting-node into one string.

Source

dom.lisp.

Reader Method: text ((textual-node textual-node))

automatically generated reader method

Source

dom.lisp.

Target Slot

%text.

Generic Writer: (setf text) (object)
Package

plump-dom.

Methods
Writer Method: (setf text) ((textual-node textual-node))

automatically generated writer method

Source

dom.lisp.

Target Slot

%text.

Generic Function: traverse (node function &key test)

Traverse the NODE and all its children recursively,
calling FUNCTION on the current node if calling TEST on the current node returns a non-NIL value. It is safe to modify the child array of the parent of each node passed to FUNCTION.

NODE is returned.

Package

plump-dom.

Source

dom.lisp.

Methods
Method: traverse ((node node) function &key test)
Method: traverse ((node nesting-node) function &key test)

5.1.6 Standalone methods

Method: print-object ((node doctype) stream)
Source

dom.lisp.

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

dom.lisp.

Method: print-object ((node cdata) stream)
Source

dom.lisp.

Method: print-object ((node processing-instruction) stream)
Source

dom.lisp.

Method: print-object ((node xml-header) stream)
Source

dom.lisp.


5.1.7 Conditions

Condition: discouraged-xml-character

Warning signalled when a discouraged XML character is encountered during WRITE-ENCODE-CHAR.

Package

plump-dom.

Source

entities.lisp.

Direct superclasses

warning.

Direct methods
Direct slots
Slot: faulty-char
Initargs

:faulty-char

Readers

faulty-char.

Writers

(setf faulty-char).

Condition: invalid-xml-character

Error signalled when an invalid XML character is encountered during WRITE-ENCODE-CHAR.

Package

plump-dom.

Source

entities.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: faulty-char
Initargs

:faulty-char

Readers

faulty-char.

Writers

(setf faulty-char).


5.1.8 Structures

Structure: tag-dispatcher

Encapsulates the processing for a given tag.

See TAG-DISPATCHER-NAME
See TAG-DISPATCHER-TEST
See TAG-DISPATCHER-PARSER
See TAG-DISPATCHER-PRINTER

Package

plump-parser.

Source

tag-dispatcher.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Type

symbol

Initform

(error "name required")

Readers

tag-dispatcher-name.

Writers

(setf tag-dispatcher-name).

Slot: test
Type

(function (string) boolean)

Initform

(lambda (plump-parser::a) (declare (ignore plump-parser::a)) nil)

Readers

tag-dispatcher-test.

Writers

(setf tag-dispatcher-test).

Slot: parser
Type

(function (string) (or null plump-dom:node))

Initform

(lambda (plump-parser::a) (declare (ignore plump-parser::a)) nil)

Readers

tag-dispatcher-parser.

Writers

(setf tag-dispatcher-parser).

Slot: printer
Type

(function (t) boolean)

Initform

(lambda (plump-parser::a) (declare (ignore plump-parser::a)) nil)

Readers

tag-dispatcher-printer.

Writers

(setf tag-dispatcher-printer).


5.1.9 Classes

Class: cdata

XML CDATA section node.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses
Direct methods
Class: child-node

Node class that is a child and thus has a parent.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods
Direct slots
Slot: %parent
Type

(or null plump-dom:nesting-node)

Initform

(error "parent required.")

Initargs

:parent

Readers

parent.

Writers

(setf parent).

Class: comment

Comment node that can only contain a single comment string.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses
Direct methods
Class: doctype

Special DOM node for the doctype declaration.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

child-node.

Direct methods
Direct slots
Slot: %doctype
Type

string

Initform

(error "doctype declaration required.")

Initargs

:doctype

Readers

doctype.

Writers

(setf doctype).

Class: element

Standard DOM element/block including attributes, tag-name, parent and children.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses
Direct subclasses

fulltext-element.

Direct methods
Direct slots
Slot: %tag-name
Type

string

Initform

(error "tag name required.")

Initargs

:tag-name

Readers

tag-name.

Writers

(setf tag-name).

Slot: %attributes
Type

hash-table

Initform

(plump-dom:make-attribute-map)

Initargs

:attributes

Readers

attributes.

Writers

(setf attributes).

Class: fulltext-element

Special DOM element that contains full, un-entitied text like SCRIPT and STYLE.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

element.

Direct methods

serialize-object.

Class: nesting-node

Node class that can contain child nodes.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods
Direct slots
Slot: %children
Type

(and (vector plump-dom:child-node) (not simple-array))

Initform

(plump-dom:make-child-array)

Initargs

:children

Readers

children.

Writers

(setf children).

Class: node

Base DOM node class.

Package

plump-dom.

Source

dom.lisp.

Direct subclasses
Direct methods
Class: processing-instruction

XML processing instruction node.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: %tag-name
Type

(or null string)

Initargs

:tag-name

Readers

tag-name.

Writers

(setf tag-name).

Class: root

Root DOM node, practically equivalent to a "document".

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

nesting-node.

Class: text-node

Text node that can only contain a single text string.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses
Direct methods
Class: textual-node

Node class that represents a textual node and thus contains a TEXT field.

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

node.

Direct subclasses
Direct methods
Direct slots
Slot: %text
Type

string

Initform

""

Initargs

:text

Readers

text.

Writers

(setf text).

Class: xml-header

XML header element

Package

plump-dom.

Source

dom.lisp.

Direct superclasses

child-node.

Direct methods
Direct slots
Slot: %attributes
Type

hash-table

Initform

(plump-dom:make-attribute-map)

Initargs

:attributes

Readers

attributes.

Writers

(setf attributes).


5.2 Internals


5.2.1 Special variables

Special Variable: *alpha-chars*

All alphabetic characters and #

Package

plump-dom.

Source

entities.lisp.

Special Variable: *matchers*

Hash table containing matching rules.

Package

plump-lexer.

Source

lexer.lisp.

Special Variable: *processing-parsers*
Package

plump-parser.

Source

processing.lisp.

Special Variable: *tagstack*
Package

plump-parser.

Source

parser.lisp.

Special Variable: *whitespace*

List containing all whitespace characters.

Package

plump-parser.

Source

parser.lisp.


5.2.2 Macros

Macro: define-predicates (&rest classes)
Package

plump-dom.

Source

dom.lisp.

Macro: make-appending ((class parent) &body properties)
Package

plump-dom.

Source

dom.lisp.

Macro: wrs (&rest strings)
Package

plump-dom.

Source

dom.lisp.


5.2.3 Ordinary functions

Function: %encode-entities (text output &optional encode-whitespace)
Package

plump-dom.

Source

entities.lisp.

Function: copy-tag-dispatcher (instance)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Function: ends-with (find string)
Package

plump-parser.

Source

special-tags.lisp.

Function: make-tag-dispatcher (&key name test parser printer)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Function: read-fulltext-element-content (name)

Reads the contents of a fulltext element. This slurps everything until the matching closing tag is encountered.

Package

plump-parser.

Source

special-tags.lisp.

Function: skip-whitespace ()
Package

plump-parser.

Source

parser.lisp.

Function: starts-with (find string)
Package

plump-parser.

Source

special-tags.lisp.

Reader: tag-dispatcher-name (instance)

Returns the name of the tag dispatcher.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

name.

Writer: (setf tag-dispatcher-name) (instance)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

name.

Function: tag-dispatcher-p (object)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Reader: tag-dispatcher-parser (instance)

Parses the node for the given tag.

The function takes one argument, a string, denoting the tag name. It returns a node, or NIL, if the matching was refused for some reason.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

parser.

Writer: (setf tag-dispatcher-parser) (instance)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

parser.

Reader: tag-dispatcher-printer (instance)

Prints the node for the given tag.

The function takes one argument, a node, the element to print.
It returns the same node, or NIL, if the printing was refused for some reason.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

printer.

Writer: (setf tag-dispatcher-printer) (instance)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

printer.

Reader: tag-dispatcher-test (instance)

Returns the test function of the tag dispatcher.

The function takes one argument, a string, denoting the tag name. It returns a boolean as to whether the tag name matches.

Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

test.

Writer: (setf tag-dispatcher-test) (instance)
Package

plump-parser.

Source

tag-dispatcher.lisp.

Target Slot

test.

Function: vec-remove-if (predicate sequence)
Package

plump-dom.

Source

dom.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   C   D   E   F   G   H   I   L   M   N   P   R   S   T   U   V   W   X  
Index Entry  Section

%
%encode-entities: Private ordinary functions

(
(setf attribute): Public ordinary functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf attributes): Public generic functions
(setf children): Public generic functions
(setf children): Public generic functions
(setf doctype): Public generic functions
(setf doctype): Public generic functions
(setf faulty-char): Public generic functions
(setf faulty-char): Public generic functions
(setf faulty-char): Public generic functions
(setf parent): Public generic functions
(setf parent): Public generic functions
(setf processing-parser): Public ordinary functions
(setf tag-dispatcher): Public setf expanders
(setf tag-dispatcher-name): Private ordinary functions
(setf tag-dispatcher-parser): Private ordinary functions
(setf tag-dispatcher-printer): Private ordinary functions
(setf tag-dispatcher-test): Private ordinary functions
(setf tag-name): Public generic functions
(setf tag-name): Public generic functions
(setf tag-name): Public generic functions
(setf text): Public generic functions
(setf text): Public generic functions

A
advance: Public ordinary functions
advance-n: Public ordinary functions
allowed-char-p: Public ordinary functions
append-child: Public ordinary functions
attribute: Public ordinary functions
attributes: Public generic functions
attributes: Public generic functions
attributes: Public generic functions

C
cdata-p: Public ordinary functions
child-elements: Public ordinary functions
child-node-p: Public ordinary functions
child-position: Public ordinary functions
children: Public generic functions
children: Public generic functions
clear: Public ordinary functions
clone-attributes: Public ordinary functions
clone-children: Public ordinary functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
clone-node: Public generic functions
comment-p: Public ordinary functions
consume: Public ordinary functions
consume-until: Public ordinary functions
copy-tag-dispatcher: Private ordinary functions

D
decode-entities: Public ordinary functions
define-fulltext-element: Public macros
define-matcher: Public macros
define-predicates: Private macros
define-processing-parser: Public macros
define-self-closing-element: Public macros
define-tag-dispatcher: Public macros
define-tag-parser: Public macros
define-tag-printer: Public macros
define-wildcard-dispatcher: Public macros
discouraged-char-p: Public ordinary functions
do-tag-parsers: Public macros
do-tag-printers: Public macros
doctype: Public generic functions
doctype: Public generic functions
doctype-p: Public ordinary functions

E
element-p: Public ordinary functions
element-position: Public ordinary functions
encode-entities: Public ordinary functions
ends-with: Private ordinary functions
ensure-attribute-map: Public ordinary functions
ensure-child-array: Public ordinary functions

F
family: Public ordinary functions
family-elements: Public ordinary functions
faulty-char: Public generic functions
faulty-char: Public generic functions
faulty-char: Public generic functions
first-child: Public ordinary functions
first-element: Public ordinary functions
fulltext-element-p: Public ordinary functions
Function, %encode-entities: Private ordinary functions
Function, (setf attribute): Public ordinary functions
Function, (setf processing-parser): Public ordinary functions
Function, (setf tag-dispatcher-name): Private ordinary functions
Function, (setf tag-dispatcher-parser): Private ordinary functions
Function, (setf tag-dispatcher-printer): Private ordinary functions
Function, (setf tag-dispatcher-test): Private ordinary functions
Function, advance: Public ordinary functions
Function, advance-n: Public ordinary functions
Function, allowed-char-p: Public ordinary functions
Function, append-child: Public ordinary functions
Function, attribute: Public ordinary functions
Function, cdata-p: Public ordinary functions
Function, child-elements: Public ordinary functions
Function, child-node-p: Public ordinary functions
Function, child-position: Public ordinary functions
Function, clear: Public ordinary functions
Function, clone-attributes: Public ordinary functions
Function, clone-children: Public ordinary functions
Function, comment-p: Public ordinary functions
Function, consume: Public ordinary functions
Function, consume-until: Public ordinary functions
Function, copy-tag-dispatcher: Private ordinary functions
Function, decode-entities: Public ordinary functions
Function, discouraged-char-p: Public ordinary functions
Function, doctype-p: Public ordinary functions
Function, element-p: Public ordinary functions
Function, element-position: Public ordinary functions
Function, encode-entities: Public ordinary functions
Function, ends-with: Private ordinary functions
Function, ensure-attribute-map: Public ordinary functions
Function, ensure-child-array: Public ordinary functions
Function, family: Public ordinary functions
Function, family-elements: Public ordinary functions
Function, first-child: Public ordinary functions
Function, first-element: Public ordinary functions
Function, fulltext-element-p: Public ordinary functions
Function, get-attribute: Public ordinary functions
Function, get-element-by-id: Public ordinary functions
Function, get-elements-by-tag-name: Public ordinary functions
Function, has-attribute: Public ordinary functions
Function, has-child-nodes: Public ordinary functions
Function, insert-after: Public ordinary functions
Function, insert-before: Public ordinary functions
Function, last-child: Public ordinary functions
Function, last-element: Public ordinary functions
Function, make-attribute-map: Public ordinary functions
Function, make-cdata: Public ordinary functions
Function, make-child-array: Public ordinary functions
Function, make-comment: Public ordinary functions
Function, make-doctype: Public ordinary functions
Function, make-element: Public ordinary functions
Function, make-fulltext-element: Public ordinary functions
Function, make-processing-instruction: Public ordinary functions
Function, make-root: Public ordinary functions
Function, make-tag-dispatcher: Private ordinary functions
Function, make-text-node: Public ordinary functions
Function, make-xml-header: Public ordinary functions
Function, matcher-and: Public ordinary functions
Function, matcher-character: Public ordinary functions
Function, matcher-find: Public ordinary functions
Function, matcher-next: Public ordinary functions
Function, matcher-not: Public ordinary functions
Function, matcher-or: Public ordinary functions
Function, matcher-prev: Public ordinary functions
Function, matcher-range: Public ordinary functions
Function, matcher-string: Public ordinary functions
Function, nesting-node-p: Public ordinary functions
Function, next-element: Public ordinary functions
Function, next-sibling: Public ordinary functions
Function, node-p: Public ordinary functions
Function, peek: Public ordinary functions
Function, prepend-child: Public ordinary functions
Function, previous-element: Public ordinary functions
Function, previous-sibling: Public ordinary functions
Function, processing-instruction-p: Public ordinary functions
Function, processing-parser: Public ordinary functions
Function, read-attribute: Public ordinary functions
Function, read-attribute-name: Public ordinary functions
Function, read-attribute-value: Public ordinary functions
Function, read-attributes: Public ordinary functions
Function, read-children: Public ordinary functions
Function, read-fulltext-element-content: Private ordinary functions
Function, read-name: Public ordinary functions
Function, read-root: Public ordinary functions
Function, read-standard-tag: Public ordinary functions
Function, read-tag: Public ordinary functions
Function, read-tag-contents: Public ordinary functions
Function, read-text: Public ordinary functions
Function, remove-attribute: Public ordinary functions
Function, remove-child: Public ordinary functions
Function, remove-processing-parser: Public ordinary functions
Function, remove-tag-dispatcher: Public ordinary functions
Function, render-text: Public ordinary functions
Function, replace-child: Public ordinary functions
Function, root-p: Public ordinary functions
Function, serialize: Public ordinary functions
Function, set-attribute: Public ordinary functions
Function, sibling-elements: Public ordinary functions
Function, siblings: Public ordinary functions
Function, skip-whitespace: Private ordinary functions
Function, slurp-stream: Public ordinary functions
Function, splice: Public ordinary functions
Function, starts-with: Private ordinary functions
Function, strip: Public ordinary functions
Function, tag-dispatcher: Public ordinary functions
Function, tag-dispatcher-name: Private ordinary functions
Function, tag-dispatcher-p: Private ordinary functions
Function, tag-dispatcher-parser: Private ordinary functions
Function, tag-dispatcher-printer: Private ordinary functions
Function, tag-dispatcher-test: Private ordinary functions
Function, text-node-p: Public ordinary functions
Function, textual-node-p: Public ordinary functions
Function, translate-entity: Public ordinary functions
Function, trim: Public ordinary functions
Function, unread: Public ordinary functions
Function, unread-n: Public ordinary functions
Function, vec-remove-if: Private ordinary functions
Function, write-encode-char: Public ordinary functions
Function, xml-header-p: Public ordinary functions

G
Generic Function, (setf attributes): Public generic functions
Generic Function, (setf children): Public generic functions
Generic Function, (setf doctype): Public generic functions
Generic Function, (setf faulty-char): Public generic functions
Generic Function, (setf parent): Public generic functions
Generic Function, (setf tag-name): Public generic functions
Generic Function, (setf text): Public generic functions
Generic Function, attributes: Public generic functions
Generic Function, children: Public generic functions
Generic Function, clone-node: Public generic functions
Generic Function, doctype: Public generic functions
Generic Function, faulty-char: Public generic functions
Generic Function, parent: Public generic functions
Generic Function, parse: Public generic functions
Generic Function, serialize-object: Public generic functions
Generic Function, tag-name: Public generic functions
Generic Function, text: Public generic functions
Generic Function, traverse: Public generic functions
get-attribute: Public ordinary functions
get-element-by-id: Public ordinary functions
get-elements-by-tag-name: Public ordinary functions

H
has-attribute: Public ordinary functions
has-child-nodes: Public ordinary functions

I
insert-after: Public ordinary functions
insert-before: Public ordinary functions

L
last-child: Public ordinary functions
last-element: Public ordinary functions

M
Macro, define-fulltext-element: Public macros
Macro, define-matcher: Public macros
Macro, define-predicates: Private macros
Macro, define-processing-parser: Public macros
Macro, define-self-closing-element: Public macros
Macro, define-tag-dispatcher: Public macros
Macro, define-tag-parser: Public macros
Macro, define-tag-printer: Public macros
Macro, define-wildcard-dispatcher: Public macros
Macro, do-tag-parsers: Public macros
Macro, do-tag-printers: Public macros
Macro, make-appending: Private macros
Macro, make-matcher: Public macros
Macro, matcher-any: Public macros
Macro, with-lexer-environment: Public macros
Macro, wrs: Private macros
make-appending: Private macros
make-attribute-map: Public ordinary functions
make-cdata: Public ordinary functions
make-child-array: Public ordinary functions
make-comment: Public ordinary functions
make-doctype: Public ordinary functions
make-element: Public ordinary functions
make-fulltext-element: Public ordinary functions
make-matcher: Public macros
make-processing-instruction: Public ordinary functions
make-root: Public ordinary functions
make-tag-dispatcher: Private ordinary functions
make-text-node: Public ordinary functions
make-xml-header: Public ordinary functions
matcher-and: Public ordinary functions
matcher-any: Public macros
matcher-character: Public ordinary functions
matcher-find: Public ordinary functions
matcher-next: Public ordinary functions
matcher-not: Public ordinary functions
matcher-or: Public ordinary functions
matcher-prev: Public ordinary functions
matcher-range: Public ordinary functions
matcher-string: Public ordinary functions
Method, (setf attributes): Public generic functions
Method, (setf attributes): Public generic functions
Method, (setf children): Public generic functions
Method, (setf doctype): Public generic functions
Method, (setf faulty-char): Public generic functions
Method, (setf faulty-char): Public generic functions
Method, (setf parent): Public generic functions
Method, (setf tag-name): Public generic functions
Method, (setf tag-name): Public generic functions
Method, (setf text): Public generic functions
Method, attributes: Public generic functions
Method, attributes: Public generic functions
Method, children: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, clone-node: Public generic functions
Method, doctype: Public generic functions
Method, faulty-char: Public generic functions
Method, faulty-char: Public generic functions
Method, parent: Public generic functions
Method, parse: Public generic functions
Method, parse: Public generic functions
Method, parse: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, serialize-object: Public generic functions
Method, tag-name: Public generic functions
Method, tag-name: Public generic functions
Method, text: Public generic functions
Method, text: Public generic functions
Method, traverse: Public generic functions
Method, traverse: Public generic functions

N
nesting-node-p: Public ordinary functions
next-element: Public ordinary functions
next-sibling: Public ordinary functions
node-p: Public ordinary functions

P
parent: Public generic functions
parent: Public generic functions
parse: Public generic functions
parse: Public generic functions
parse: Public generic functions
parse: Public generic functions
peek: Public ordinary functions
prepend-child: Public ordinary functions
previous-element: Public ordinary functions
previous-sibling: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
processing-instruction-p: Public ordinary functions
processing-parser: Public ordinary functions

R
read-attribute: Public ordinary functions
read-attribute-name: Public ordinary functions
read-attribute-value: Public ordinary functions
read-attributes: Public ordinary functions
read-children: Public ordinary functions
read-fulltext-element-content: Private ordinary functions
read-name: Public ordinary functions
read-root: Public ordinary functions
read-standard-tag: Public ordinary functions
read-tag: Public ordinary functions
read-tag-contents: Public ordinary functions
read-text: Public ordinary functions
remove-attribute: Public ordinary functions
remove-child: Public ordinary functions
remove-processing-parser: Public ordinary functions
remove-tag-dispatcher: Public ordinary functions
render-text: Public ordinary functions
replace-child: Public ordinary functions
root-p: Public ordinary functions

S
serialize: Public ordinary functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
serialize-object: Public generic functions
set-attribute: Public ordinary functions
Setf Expander, (setf tag-dispatcher): Public setf expanders
sibling-elements: Public ordinary functions
siblings: Public ordinary functions
skip-whitespace: Private ordinary functions
slurp-stream: Public ordinary functions
splice: Public ordinary functions
starts-with: Private ordinary functions
strip: Public ordinary functions

T
tag-dispatcher: Public ordinary functions
tag-dispatcher-name: Private ordinary functions
tag-dispatcher-p: Private ordinary functions
tag-dispatcher-parser: Private ordinary functions
tag-dispatcher-printer: Private ordinary functions
tag-dispatcher-test: Private ordinary functions
tag-name: Public generic functions
tag-name: Public generic functions
tag-name: Public generic functions
text: Public generic functions
text: Public generic functions
text: Public generic functions
text-node-p: Public ordinary functions
textual-node-p: Public ordinary functions
translate-entity: Public ordinary functions
traverse: Public generic functions
traverse: Public generic functions
traverse: Public generic functions
trim: Public ordinary functions

U
unread: Public ordinary functions
unread-n: Public ordinary functions

V
vec-remove-if: Private ordinary functions

W
with-lexer-environment: Public macros
write-encode-char: Public ordinary functions
wrs: Private macros

X
xml-header-p: Public ordinary functions


A.3 Variables

Jump to:   %   *  
F   N   P   S   T  
Index Entry  Section

%
%attributes: Public classes
%attributes: Public classes
%children: Public classes
%doctype: Public classes
%parent: Public classes
%tag-name: Public classes
%tag-name: Public classes
%text: Public classes

*
*all-tag-dispatchers*: Public special variables
*alpha-chars*: Private special variables
*entity-map*: Public special variables
*html-tags*: Public special variables
*index*: Public special variables
*length*: Public special variables
*matchers*: Private special variables
*processing-parsers*: Private special variables
*root*: Public special variables
*stream*: Public special variables
*string*: Public special variables
*tag-dispatchers*: Public special variables
*tagstack*: Private special variables
*whitespace*: Private special variables
*xml-tags*: Public special variables

F
faulty-char: Public conditions
faulty-char: Public conditions

N
name: Public structures

P
parser: Public structures
printer: Public structures

S
Slot, %attributes: Public classes
Slot, %attributes: Public classes
Slot, %children: Public classes
Slot, %doctype: Public classes
Slot, %parent: Public classes
Slot, %tag-name: Public classes
Slot, %tag-name: Public classes
Slot, %text: Public classes
Slot, faulty-char: Public conditions
Slot, faulty-char: Public conditions
Slot, name: Public structures
Slot, parser: Public structures
Slot, printer: Public structures
Slot, test: Public structures
Special Variable, *all-tag-dispatchers*: Public special variables
Special Variable, *alpha-chars*: Private special variables
Special Variable, *entity-map*: Public special variables
Special Variable, *html-tags*: Public special variables
Special Variable, *index*: Public special variables
Special Variable, *length*: Public special variables
Special Variable, *matchers*: Private special variables
Special Variable, *processing-parsers*: Private special variables
Special Variable, *root*: Public special variables
Special Variable, *stream*: Public special variables
Special Variable, *string*: Public special variables
Special Variable, *tag-dispatchers*: Public special variables
Special Variable, *tagstack*: Private special variables
Special Variable, *whitespace*: Private special variables
Special Variable, *xml-tags*: Public special variables

T
test: Public structures


A.4 Data types

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

C
cdata: Public classes
child-node: Public classes
Class, cdata: Public classes
Class, child-node: Public classes
Class, comment: Public classes
Class, doctype: Public classes
Class, element: Public classes
Class, fulltext-element: Public classes
Class, nesting-node: Public classes
Class, node: Public classes
Class, processing-instruction: Public classes
Class, root: Public classes
Class, text-node: Public classes
Class, textual-node: Public classes
Class, xml-header: Public classes
comment: Public classes
Condition, discouraged-xml-character: Public conditions
Condition, invalid-xml-character: Public conditions

D
discouraged-xml-character: Public conditions
doctype: Public classes
documentation.lisp: The plump/documentation․lisp file
dom.lisp: The plump/dom․lisp file

E
element: Public classes
entities.lisp: The plump/entities․lisp file

F
File, documentation.lisp: The plump/documentation․lisp file
File, dom.lisp: The plump/dom․lisp file
File, entities.lisp: The plump/entities․lisp file
File, lexer.lisp: The plump/lexer․lisp file
File, package.lisp: The plump/package․lisp file
File, parser.lisp: The plump/parser․lisp file
File, plump.asd: The plump/plump․asd file
File, processing.lisp: The plump/processing․lisp file
File, special-tags.lisp: The plump/special-tags․lisp file
File, tag-dispatcher.lisp: The plump/tag-dispatcher․lisp file
fulltext-element: Public classes

I
invalid-xml-character: Public conditions

L
lexer.lisp: The plump/lexer․lisp file

N
nesting-node: Public classes
node: Public classes

P
Package, plump: The plump package
Package, plump-dom: The plump-dom package
Package, plump-lexer: The plump-lexer package
Package, plump-parser: The plump-parser package
package.lisp: The plump/package․lisp file
parser.lisp: The plump/parser․lisp file
plump: The plump system
plump: The plump package
plump-dom: The plump-dom package
plump-lexer: The plump-lexer package
plump-parser: The plump-parser package
plump.asd: The plump/plump․asd file
processing-instruction: Public classes
processing.lisp: The plump/processing․lisp file

R
root: Public classes

S
special-tags.lisp: The plump/special-tags․lisp file
Structure, tag-dispatcher: Public structures
System, plump: The plump system

T
tag-dispatcher: Public structures
tag-dispatcher.lisp: The plump/tag-dispatcher․lisp file
text-node: Public classes
textual-node: Public classes

X
xml-header: Public classes