The xml-emitter Reference Manual

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

Table of Contents


1 Introduction


2 Systems

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


2.1 xml-emitter

xml-emitter simply emits XML, with some
complexity for handling indentation. It can be used to produce all sorts of useful XML output; it has an RSS 2.0 emitter built in.

Author

Peter Scott / Vito Van / Philipp Marek / Kieran Grant / Matteo Landi

License

Public Domain / 0-clause MIT

Version

1.1.0

Dependency

cl-utilities (system).

Source

xml-emitter.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 xml-emitter/xml-emitter.asd

Source

xml-emitter.asd.

Parent Component

xml-emitter (system).

ASDF Systems

xml-emitter.

Packages

xml-emitter-system.


3.1.2 xml-emitter/package.lisp

Dependency

license (file).

Source

xml-emitter.asd.

Parent Component

xml-emitter (system).

Packages

xml-emitter.


3.1.3 xml-emitter/xml.lisp

Dependency

package.lisp (file).

Source

xml-emitter.asd.

Parent Component

xml-emitter (system).

Public Interface
Internals

3.1.4 xml-emitter/rss2.lisp

Dependency

xml.lisp (file).

Source

xml-emitter.asd.

Parent Component

xml-emitter (system).

Public Interface

3.2 Static


3.2.1 xml-emitter/LICENSE

Source

xml-emitter.asd.

Parent Component

xml-emitter (system).


4 Packages

Packages are listed by definition order.


4.1 xml-emitter-system

Source

xml-emitter.asd.

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

4.2 xml-emitter

Source

package.lisp.

Use List
  • cl-utilities.
  • common-lisp.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: with-rss-channel-header ((title link &key description generator language image image-title image-link) &body body)
Package

xml-emitter.

Source

rss2.lisp.

Macro: with-rss-item ((title &key link description author category comments guid pubdate source) &body body)
Package

xml-emitter.

Source

rss2.lisp.

Macro: with-rss2 ((stream &key encoding attrs) &body body)
Package

xml-emitter.

Source

rss2.lisp.

Macro: with-simple-tag ((name &optional attrs namespace) &body body)

Like WITH-TAG, but without the linebreaks.

Package

xml-emitter.

Source

xml.lisp.

Macro: with-tag ((name &optional attrs namespace) &body body)

Wrap BODY in a tag. BODY is indented, and linebreaks are added.

Package

xml-emitter.

Source

xml.lisp.

Macro: with-xml-output ((stream &key encoding standalone) &body body)

Wrap XML output on STREAM with the necessary XML heading information

Package

xml-emitter.

Source

xml.lisp.


5.1.2 Ordinary functions

Function: emit-simple-tags (&rest tags-plist)

Given a plist mapping tag names to values (or nil), emit tags in the order given, skipping ones with nil values. Tag names are downcased unless they’re passed as strings.

Package

xml-emitter.

Source

xml.lisp.

Function: empty-tag (name &optional attrs namespace)
Package

xml-emitter.

Source

xml.lisp.

Function: rss-channel-header (title link &key description generator language image image-title image-link)
Package

xml-emitter.

Source

rss2.lisp.

Function: rss-item (title &key link description author category comments guid pubdate source)
Package

xml-emitter.

Source

rss2.lisp.

Function: simple-tag (name content &optional attrs namespace)

Emit a simple tag with given content

Package

xml-emitter.

Source

xml.lisp.

Function: xml-as-is (x &key indent)

Write X to XML output, unescaped and optionally indented

Package

xml-emitter.

Source

xml.lisp.

Function: xml-out (x &key indent)

Write X to XML output, escaped and optionally indented

Package

xml-emitter.

Source

xml.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *char-escapes*
Package

xml-emitter.

Source

xml.lisp.

Special Variable: *entities*
Package

xml-emitter.

Source

xml.lisp.

Special Variable: *indent*

Number of spaces to indent each line of XML output

Package

xml-emitter.

Source

xml.lisp.

Special Variable: *whitespace*
Package

xml-emitter.

Source

xml.lisp.

Special Variable: *xml-output-stream*

The stream to write XML to

Package

xml-emitter.

Source

xml.lisp.


5.2.2 Macros

Macro: with-indent ((&optional spaces) &body body)

Increase the indentation level in BODY by SPACES

Package

xml-emitter.

Source

xml.lisp.


5.2.3 Ordinary functions

Function: end-tag (name)

Write en ending tag to XML output

Package

xml-emitter.

Source

xml.lisp.

Function: indent (&optional spaces)

Indent a given number of spaces

Package

xml-emitter.

Source

xml.lisp.

Function: start-tag (name &optional attrs namespace end-it)

Write a start tag to XML output

Package

xml-emitter.

Source

xml.lisp.

Function: write-escaped (string stream)

Writes string to stream with all character entities escaped.

Package

xml-emitter.

Source

xml.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   E   F   I   M   R   S   W   X  
Index Entry  Section

E
emit-simple-tags: Public ordinary functions
empty-tag: Public ordinary functions
end-tag: Private ordinary functions

F
Function, emit-simple-tags: Public ordinary functions
Function, empty-tag: Public ordinary functions
Function, end-tag: Private ordinary functions
Function, indent: Private ordinary functions
Function, rss-channel-header: Public ordinary functions
Function, rss-item: Public ordinary functions
Function, simple-tag: Public ordinary functions
Function, start-tag: Private ordinary functions
Function, write-escaped: Private ordinary functions
Function, xml-as-is: Public ordinary functions
Function, xml-out: Public ordinary functions

I
indent: Private ordinary functions

M
Macro, with-indent: Private macros
Macro, with-rss-channel-header: Public macros
Macro, with-rss-item: Public macros
Macro, with-rss2: Public macros
Macro, with-simple-tag: Public macros
Macro, with-tag: Public macros
Macro, with-xml-output: Public macros

R
rss-channel-header: Public ordinary functions
rss-item: Public ordinary functions

S
simple-tag: Public ordinary functions
start-tag: Private ordinary functions

W
with-indent: Private macros
with-rss-channel-header: Public macros
with-rss-item: Public macros
with-rss2: Public macros
with-simple-tag: Public macros
with-tag: Public macros
with-xml-output: Public macros
write-escaped: Private ordinary functions

X
xml-as-is: Public ordinary functions
xml-out: Public ordinary functions