The markup Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The markup Reference Manual

This is the markup Reference Manual, version 0.0.1, generated automatically by Declt version 3.0 "Montgomery Scott" on Wed Oct 13 11:47:32 2021 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Build Status

markup

Arnold Noronha arnold@tdrhq.com

Markup let's you write HTML code inside of common lisp, for instance

(let ((x "hello"))
  <h1>,(progn x) <em>world</em>!</h1>)

Motivation

There are several HTML generation libraries for Common Lisp, for example CL-WHO. However, these libraries follow the Lisp style of building up the structure in parenthesis.

For example, it might look like something like this:

;; CL-WHO syntax, not markup's
(:p "hello" (:em "world") "!")

There are many advantages to this structure, but there are a few prominent disadvantages.

First, there's all that double-quotes that becomes hard to track.

Second, and more importantly: There are hundreds of templates and HTML snippets on the internet that are hard to copy-paste into your project if you have to transform them into CL-WHO structures. Time is money.

Finally, it's already hard to hire Lisp engineers. Don't you want to be able to hire designers who might at least modify HTML they recognize inside your lisp project?

Performance

Performance is not a motivation for Markup. We're focussing on developer productivity. For instance, compared to CL-WHO we generate the entire tree of HTML tags before serializing it into the stream at the last step. We haven't reached a situation where this is a bottleneck for our use cases.

Building the tree also lets us build more complex components that can go modify the tree.

It might be possible to build a streaming version of Markup, but that's not on our radar.

Full example with Hunchentoot

(markup:enable-reader)

(markup:deftag template (children &key title)
  <html>
    <head>
     <title>,(progn title)</title>
    </head>
    <body>
      ,@(progn children)
    </body>
  </html>)

(hunchentoot:define-easy-handler (foobar :uri "/") ()
  (markup:write-html
     <template title="Hello" >
        <h1>hello world!</h1>
     </template>))

Installation

markup is available via quicklisp

(ql:quickload "markup")

(If that doesn't load, make sure you update your dists, (ql:update-all-dists))

Editor support

(use-package lisp-markup
  :load-path "~/quicklisp/dists/quicklisp/software/markup-<version>-git/")

;; if you don't use use-package
(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/markup-<version>-git/")
(require 'lisp-markup)

FAQ

What about expressions like (< x 2)?

Markdown requires tags to follow the < operator, otherwise (or if it's <=) treats it as a symbol.

Are custom tags namespaced?

Of course, custom tags are just lisp symbols. So you can define a tag like <admin:template>...</admin:template>.

Certain tag names are treated as special (<b>, <body> etc.) since they're HTML elements.

If you want to output the equivalent HTML element for a tag that isn't treated as special you can also specify the tag using keyword symbols <:foo>..</:foo>.

How do you embed lisp code in markup?

You have already seen some examples in this README. Use ,(...) to escape some lisp code that returns a single element, or ,@sexp that returns a list of elements. (Side note, we really don't need to have both of these, but it matches the backquote syntax much better this way).

You can also embed lisp code as attribute values.

  <a href=(generate-url ...) >...</a>

That is, any expression after the an attribute is read using the standard Lisp reader. A small caveat to this is that in some cases you need to have a space after the ending >. For instance the following will result in an error:

   ;; bad code
   <a href=url-var>...</a>
   ;; correct code
   <a href=url-var >...</a>

Is markup used in production?

Yes it is! Right now it's used on several websites we've built. They've solved all of our use cases reliably. The primary website we use this on is Screenshotbot, if you're building web interfaces, you might enjoy using Screenshotbot to keep testing the rendering of your UI in Continuous Integration. (For instance, we use Selenium tests to generate screenshots of Screenshotbot's UI.)

Please do let us know if you use Markup on the sites you're building. We'd love to include them here.

See also

XHP for PHP, and JSX for React both support HTML inside of code for very similar motivations.

@fukamachi released LSX in the same Quicklisp release that markup came out (although his repo goes back much longer, around the time I first started working on Markup internally.). Functionally, it's super similar to Markup and Fukamachi is a pretty fantastic Lisper, and maybe in the future we should consolidate.

License

Apache License, Version 2.0


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 markup

Author

Arnold Noronha <arnold@tdrhq.com>

License

Apache License, Version 2.0

Description

markup provides a reader-macro to read HTML/XML tags inside of Common Lisp code

Version

0.0.1

Dependencies
Source

markup.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 markup.asd

Location

markup.asd

Systems

markup (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 markup/stream.lisp

Parent

markup (system)

Location

stream.lisp

Packages

markup/stream

Exported Definitions

wrap-stream (function)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 markup/tags.lisp

Dependency

stream.lisp (file)

Parent

markup (system)

Location

tags.lisp

Packages

markup/tags

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 markup/markup.lisp

Dependency

tags.lisp (file)

Parent

markup (system)

Location

markup.lisp

Packages

markup/markup

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 markup/walk.lisp

Dependency

markup.lisp (file)

Parent

markup (system)

Location

walk.lisp

Packages

markup/walk

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.6 markup/all.lisp

Dependency

walk.lisp (file)

Parent

markup (system)

Location

all.lisp

Packages

markup


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 markup/stream

Source

stream.lisp (file)

Use List

common-lisp

Exported Definitions

wrap-stream (function)

Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.2 markup/tags

Source

tags.lisp (file)

Use List

common-lisp

Exported Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.3 markup/markup

Source

markup.lisp (file)

Use List
Used By List

markup

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

4.4 markup/walk

Source

walk.lisp (file)

Use List

common-lisp

Used By List

markup

Exported Definitions

Previous: , Up: Packages   [Contents][Index]

4.5 markup

Source

all.lisp (file)

Use List

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: *standard-names*
Package

markup/tags

Source

tags.lisp (file)

Special Variable: *void-tags*
Package

markup/tags

Source

tags.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: deftag NAME (&rest ARGS) &body BODY

Define a new XML tag that.

Tags are namespaced so you if you define a tag foo in namespace bar
you can refer to it as <bar:foo>...</bar:foo>.

The lambda-list has a very specific syntax: it must be: ([children [&key attr*]).

If children is provided, it will be filled with the list of all
child tags while parsing. For instance <bar:foo>x<h1>y</h1></bar:foo>, will set children as ("x" <h1>y</h1>).

Package

markup/markup

Source

markup.lisp (file)

Macro: enable-reader ()
Package

markup/markup

Source

markup.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: make-merge-tag CHILDREN
Package

markup/markup

Source

markup.lisp (file)

Function: make-xml-tag NAME &key CHILDREN ATTRIBUTES UNUSED
Package

markup/markup

Source

markup.lisp (file)

Function: merge-tag &rest ATTRS-AND-BODY
Package

markup/markup

Source

markup.lisp (file)

Function: read-xml-from-string STRING
Package

markup/markup

Source

markup.lisp (file)

Function: unescaped STRING
Package

markup/markup

Source

markup.lisp (file)

Function: wrap-stream STREAM
Package

markup/stream

Source

stream.lisp (file)

Function: write-html TREE
Package

markup/markup

Source

markup.lisp (file)

Function: write-xml TREE
Package

markup/markup

Source

markup.lisp (file)

Function: write-xml-to-stream TREE STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: xml-merge-tag-children INSTANCE
Function: (setf xml-merge-tag-children) VALUE INSTANCE
Package

markup/markup

Source

markup.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: add-attrs TAG &rest ARGS &key &allow-other-keys
Package

markup/walk

Methods
Method: add-attrs (TAG xml-tag) &rest ARGS &key &allow-other-keys
Source

walk.lisp (file)

Generic Function: format-attr-val STREAM VAL
Package

markup/markup

Methods
Method: format-attr-val STREAM VAL
Source

markup.lisp (file)

Generic Function: get-attr XML-TAG NAME
Package

markup/markup

Methods
Method: get-attr (XML-TAG xml-tag) NAME
Source

markup.lisp (file)

Generic Function: read-xml STREAM CHAR
Package

markup/markup

Methods
Method: read-xml (STREAM markup-stream) CHAR
Source

markup.lisp (file)

Method: read-xml STREAM CHAR
Source

markup.lisp (file)

Generic Function: walk TREE FN

Walk the tree, giving you the option to transform each element

Package

markup/walk

Source

walk.lisp (file)

Methods
Method: walk (TREE xml-tag) FN
Method: walk (TREE list) FN
Method: walk (TREE xml-merge-tag) FN
Method: walk (TREE escaped-string) FN
Method: walk (TREE unescaped-string) FN
Method: walk (TREE string) FN
Method: walk TREE FN
Generic Function: write-html-to-stream TREE STREAM
Package

markup/markup

Source

markup.lisp (file)

Methods
Method: write-html-to-stream (TREE escaped-string) STREAM
Method: write-html-to-stream (TREE unescaped-string) STREAM
Method: write-html-to-stream (TREE (eql nil)) STREAM
Method: write-html-to-stream (TREE xml-merge-tag) STREAM
Method: write-html-to-stream (TREE string) STREAM
Method: write-html-to-stream (TREE xml-tag) STREAM
Method: write-html-to-stream (TREE integer) STREAM
Generic Function: xml-tag-attributes OBJECT
Generic Function: (setf xml-tag-attributes) NEW-VALUE OBJECT
Package

markup/markup

Methods
Method: xml-tag-attributes (XML-TAG xml-tag)

automatically generated reader method

Source

markup.lisp (file)

Method: (setf xml-tag-attributes) NEW-VALUE (XML-TAG xml-tag)

automatically generated writer method

Source

markup.lisp (file)

Generic Function: xml-tag-children OBJECT
Generic Function: (setf xml-tag-children) NEW-VALUE OBJECT
Package

markup/markup

Methods
Method: xml-tag-children (XML-TAG xml-tag)

automatically generated reader method

Source

markup.lisp (file)

Method: (setf xml-tag-children) NEW-VALUE (XML-TAG xml-tag)

automatically generated writer method

Source

markup.lisp (file)

Generic Function: xml-tag-name OBJECT
Generic Function: (setf xml-tag-name) NEW-VALUE OBJECT
Package

markup/markup

Methods
Method: xml-tag-name (XML-TAG xml-tag)

automatically generated reader method

Source

markup.lisp (file)

Method: (setf xml-tag-name) NEW-VALUE (XML-TAG xml-tag)

automatically generated writer method

Source

markup.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Conditions

Condition: undefined-markup-tag-condition ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

error (condition)

Direct methods
  • print-object (method)
  • tag-name (method)
  • tag-name (method)
Direct slots
Slot: name
Initargs

:name

Readers

tag-name (generic function)

Writers

(setf tag-name) (generic function)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Structures

Structure: xml-merge-tag ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: children
Type

(or null cons)

Readers

xml-merge-tag-children (function)

Writers

(setf xml-merge-tag-children) (function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.7 Classes

Class: xml-tag ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: attributes
Type

(or null cons)

Initargs

:attributes

Readers

xml-tag-attributes (generic function)

Writers

(setf xml-tag-attributes) (generic function)

Slot: children
Type

(or null cons)

Initargs

:children

Readers

xml-tag-children (generic function)

Writers

(setf xml-tag-children) (generic function)

Slot: name
Type

symbol

Initargs

:name

Initform

(quote markup/markup::dummy)

Readers

xml-tag-name (generic function)

Writers

(setf xml-tag-name) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *escape-map*
Package

markup/markup

Source

markup.lisp (file)

Special Variable: *escape-minimal-map*
Package

markup/markup

Source

markup.lisp (file)

Special Variable: *standard-name-cache*
Package

markup/markup

Source

markup.lisp (file)

Special Variable: *void-tag-cache*
Package

markup/markup

Source

markup.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: %deftag NAME (CHILDREN &optional KEY-ATTR &rest ARGS) &body DECL-AND-BODY
Package

markup/markup

Source

markup.lisp (file)

Macro: make-escape-map &rest ALIST
Package

markup/markup

Source

markup.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: copy-xml-merge-tag INSTANCE
Package

markup/markup

Source

markup.lisp (file)

Function: deftag-symbol ARG
Package

markup/markup

Source

markup.lisp (file)

Function: deftag-value ARG
Package

markup/markup

Source

markup.lisp (file)

Function: get-markup-fn NAME
Package

markup/markup

Source

markup.lisp (file)

Function: last-few-chars STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: make-escaped CHILD
Package

markup/markup

Source

markup.lisp (file)

Function: make-xml-merge-tag &key (CHILDREN CHILDREN)
Package

markup/markup

Source

markup.lisp (file)

Function: print-escaped-text VALUE STREAM &optional ESCAPE-MAP
Package

markup/markup

Source

markup.lisp (file)

Function: print-escaped-text-minimal VALUE STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-attr-key STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-attr-val STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-attributes STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-comment STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-so-far STREAM
Package

markup/stream

Source

stream.lisp (file)

Function: read-string-from-xml STREAM NEXT
Package

markup/markup

Source

markup.lisp (file)

Function: read-tag STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-whitespace STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: read-xml-after-bracket STREAM CHAR
Package

markup/markup

Source

markup.lisp (file)

Function: standard-name? TAG
Package

markup/markup

Source

markup.lisp (file)

Function: void-tag? TAG
Package

markup/markup

Source

markup.lisp (file)

Function: whitespacep CHAR
Package

markup/markup

Source

markup.lisp (file)

Function: write-attributes ATTRIBUTES STREAM
Package

markup/markup

Source

markup.lisp (file)

Function: xml-merge-tag-p OBJECT
Package

markup/markup

Source

markup.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: %unread-char OBJECT
Generic Function: (setf %unread-char) NEW-VALUE OBJECT
Package

markup/stream

Methods
Method: %unread-char (MARKUP-STREAM markup-stream)

automatically generated reader method

Source

stream.lisp (file)

Method: (setf %unread-char) NEW-VALUE (MARKUP-STREAM markup-stream)

automatically generated writer method

Source

stream.lisp (file)

Generic Function: escaped-string-content OBJECT
Generic Function: (setf escaped-string-content) NEW-VALUE OBJECT
Package

markup/markup

Methods
Method: escaped-string-content (ESCAPED-STRING escaped-string)

automatically generated reader method

Source

markup.lisp (file)

Method: (setf escaped-string-content) NEW-VALUE (ESCAPED-STRING escaped-string)

automatically generated writer method

Source

markup.lisp (file)

Generic Function: history-stream OBJECT
Package

markup/stream

Methods
Method: history-stream (MARKUP-STREAM markup-stream)

automatically generated reader method

Source

stream.lisp (file)

Generic Function: stream-delegate OBJECT
Package

markup/stream

Methods
Method: stream-delegate (MARKUP-STREAM markup-stream)

automatically generated reader method

Source

stream.lisp (file)

Generic Function: tag-name CONDITION
Generic Function: (setf tag-name) NEW-VALUE CONDITION
Package

markup/markup

Methods
Method: tag-name (CONDITION undefined-markup-tag-condition)
Method: (setf tag-name) NEW-VALUE (CONDITION undefined-markup-tag-condition)
Source

markup.lisp (file)

Generic Function: unescaped-string-content OBJECT
Generic Function: (setf unescaped-string-content) NEW-VALUE OBJECT
Package

markup/markup

Methods
Method: unescaped-string-content (UNESCAPED-STRING unescaped-string)

automatically generated reader method

Source

markup.lisp (file)

Method: (setf unescaped-string-content) NEW-VALUE (UNESCAPED-STRING unescaped-string)

automatically generated writer method

Source

markup.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Conditions

Condition: html-parse-error ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

error (condition)

Direct methods

print-object (method)

Direct slots
Slot: message
Initargs

:message

Slot: stream
Initargs

:stream

Slot: last-few-chars
Initargs

:last-few-chars


Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Classes

Class: escaped-string ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: content
Initargs

:content

Readers

escaped-string-content (generic function)

Writers

(setf escaped-string-content) (generic function)

Class: markup-stream ()
Package

markup/stream

Source

stream.lisp (file)

Direct superclasses

fundamental-character-stream (class)

Direct methods
Direct slots
Slot: delegate
Initargs

:delegate

Readers

stream-delegate (generic function)

Slot: unread-char
Readers

%unread-char (generic function)

Writers

(setf %unread-char) (generic function)

Slot: history
Initform

(make-string-output-stream)

Readers

history-stream (generic function)

Class: unescaped-string ()
Package

markup/markup

Source

markup.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: content
Initargs

:content

Readers

unescaped-string-content (generic function)

Writers

(setf unescaped-string-content) (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, markup.asd: The markup․asd file
File, Lisp, markup/all.lisp: The markup/all․lisp file
File, Lisp, markup/markup.lisp: The markup/markup․lisp file
File, Lisp, markup/stream.lisp: The markup/stream․lisp file
File, Lisp, markup/tags.lisp: The markup/tags․lisp file
File, Lisp, markup/walk.lisp: The markup/walk․lisp file

L
Lisp File, markup.asd: The markup․asd file
Lisp File, markup/all.lisp: The markup/all․lisp file
Lisp File, markup/markup.lisp: The markup/markup․lisp file
Lisp File, markup/stream.lisp: The markup/stream․lisp file
Lisp File, markup/tags.lisp: The markup/tags․lisp file
Lisp File, markup/walk.lisp: The markup/walk․lisp file

M
markup.asd: The markup․asd file
markup/all.lisp: The markup/all․lisp file
markup/markup.lisp: The markup/markup․lisp file
markup/stream.lisp: The markup/stream․lisp file
markup/tags.lisp: The markup/tags․lisp file
markup/walk.lisp: The markup/walk․lisp file

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

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

%
%deftag: Internal macros
%unread-char: Internal generic functions
%unread-char: Internal generic functions

(
(setf %unread-char): Internal generic functions
(setf %unread-char): Internal generic functions
(setf escaped-string-content): Internal generic functions
(setf escaped-string-content): Internal generic functions
(setf tag-name): Internal generic functions
(setf tag-name): Internal generic functions
(setf unescaped-string-content): Internal generic functions
(setf unescaped-string-content): Internal generic functions
(setf xml-merge-tag-children): Exported functions
(setf xml-tag-attributes): Exported generic functions
(setf xml-tag-attributes): Exported generic functions
(setf xml-tag-children): Exported generic functions
(setf xml-tag-children): Exported generic functions
(setf xml-tag-name): Exported generic functions
(setf xml-tag-name): Exported generic functions

A
add-attrs: Exported generic functions
add-attrs: Exported generic functions

C
copy-xml-merge-tag: Internal functions

D
deftag: Exported macros
deftag-symbol: Internal functions
deftag-value: Internal functions

E
enable-reader: Exported macros
escaped-string-content: Internal generic functions
escaped-string-content: Internal generic functions

F
format-attr-val: Exported generic functions
format-attr-val: Exported generic functions
Function, (setf xml-merge-tag-children): Exported functions
Function, copy-xml-merge-tag: Internal functions
Function, deftag-symbol: Internal functions
Function, deftag-value: Internal functions
Function, get-markup-fn: Internal functions
Function, last-few-chars: Internal functions
Function, make-escaped: Internal functions
Function, make-merge-tag: Exported functions
Function, make-xml-merge-tag: Internal functions
Function, make-xml-tag: Exported functions
Function, merge-tag: Exported functions
Function, print-escaped-text: Internal functions
Function, print-escaped-text-minimal: Internal functions
Function, read-attr-key: Internal functions
Function, read-attr-val: Internal functions
Function, read-attributes: Internal functions
Function, read-comment: Internal functions
Function, read-so-far: Internal functions
Function, read-string-from-xml: Internal functions
Function, read-tag: Internal functions
Function, read-whitespace: Internal functions
Function, read-xml-after-bracket: Internal functions
Function, read-xml-from-string: Exported functions
Function, standard-name?: Internal functions
Function, unescaped: Exported functions
Function, void-tag?: Internal functions
Function, whitespacep: Internal functions
Function, wrap-stream: Exported functions
Function, write-attributes: Internal functions
Function, write-html: Exported functions
Function, write-xml: Exported functions
Function, write-xml-to-stream: Exported functions
Function, xml-merge-tag-children: Exported functions
Function, xml-merge-tag-p: Internal functions

G
Generic Function, %unread-char: Internal generic functions
Generic Function, (setf %unread-char): Internal generic functions
Generic Function, (setf escaped-string-content): Internal generic functions
Generic Function, (setf tag-name): Internal generic functions
Generic Function, (setf unescaped-string-content): Internal generic functions
Generic Function, (setf xml-tag-attributes): Exported generic functions
Generic Function, (setf xml-tag-children): Exported generic functions
Generic Function, (setf xml-tag-name): Exported generic functions
Generic Function, add-attrs: Exported generic functions
Generic Function, escaped-string-content: Internal generic functions
Generic Function, format-attr-val: Exported generic functions
Generic Function, get-attr: Exported generic functions
Generic Function, history-stream: Internal generic functions
Generic Function, read-xml: Exported generic functions
Generic Function, stream-delegate: Internal generic functions
Generic Function, tag-name: Internal generic functions
Generic Function, unescaped-string-content: Internal generic functions
Generic Function, walk: Exported generic functions
Generic Function, write-html-to-stream: Exported generic functions
Generic Function, xml-tag-attributes: Exported generic functions
Generic Function, xml-tag-children: Exported generic functions
Generic Function, xml-tag-name: Exported generic functions
get-attr: Exported generic functions
get-attr: Exported generic functions
get-markup-fn: Internal functions

H
history-stream: Internal generic functions
history-stream: Internal generic functions

L
last-few-chars: Internal functions

M
Macro, %deftag: Internal macros
Macro, deftag: Exported macros
Macro, enable-reader: Exported macros
Macro, make-escape-map: Internal macros
make-escape-map: Internal macros
make-escaped: Internal functions
make-merge-tag: Exported functions
make-xml-merge-tag: Internal functions
make-xml-tag: Exported functions
merge-tag: Exported functions
Method, %unread-char: Internal generic functions
Method, (setf %unread-char): Internal generic functions
Method, (setf escaped-string-content): Internal generic functions
Method, (setf tag-name): Internal generic functions
Method, (setf unescaped-string-content): Internal generic functions
Method, (setf xml-tag-attributes): Exported generic functions
Method, (setf xml-tag-children): Exported generic functions
Method, (setf xml-tag-name): Exported generic functions
Method, add-attrs: Exported generic functions
Method, escaped-string-content: Internal generic functions
Method, format-attr-val: Exported generic functions
Method, get-attr: Exported generic functions
Method, history-stream: Internal generic functions
Method, read-xml: Exported generic functions
Method, read-xml: Exported generic functions
Method, stream-delegate: Internal generic functions
Method, tag-name: Internal generic functions
Method, unescaped-string-content: Internal generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, walk: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, write-html-to-stream: Exported generic functions
Method, xml-tag-attributes: Exported generic functions
Method, xml-tag-children: Exported generic functions
Method, xml-tag-name: Exported generic functions

P
print-escaped-text: Internal functions
print-escaped-text-minimal: Internal functions

R
read-attr-key: Internal functions
read-attr-val: Internal functions
read-attributes: Internal functions
read-comment: Internal functions
read-so-far: Internal functions
read-string-from-xml: Internal functions
read-tag: Internal functions
read-whitespace: Internal functions
read-xml: Exported generic functions
read-xml: Exported generic functions
read-xml: Exported generic functions
read-xml-after-bracket: Internal functions
read-xml-from-string: Exported functions

S
standard-name?: Internal functions
stream-delegate: Internal generic functions
stream-delegate: Internal generic functions

T
tag-name: Internal generic functions
tag-name: Internal generic functions

U
unescaped: Exported functions
unescaped-string-content: Internal generic functions
unescaped-string-content: Internal generic functions

V
void-tag?: Internal functions

W
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
walk: Exported generic functions
whitespacep: Internal functions
wrap-stream: Exported functions
write-attributes: Internal functions
write-html: Exported functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-html-to-stream: Exported generic functions
write-xml: Exported functions
write-xml-to-stream: Exported functions

X
xml-merge-tag-children: Exported functions
xml-merge-tag-p: Internal functions
xml-tag-attributes: Exported generic functions
xml-tag-attributes: Exported generic functions
xml-tag-children: Exported generic functions
xml-tag-children: Exported generic functions
xml-tag-name: Exported generic functions
xml-tag-name: Exported generic functions

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

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
A   C   D   H   L   M   N   S   U  
Index Entry  Section

*
*escape-map*: Internal special variables
*escape-minimal-map*: Internal special variables
*standard-name-cache*: Internal special variables
*standard-names*: Exported special variables
*void-tag-cache*: Internal special variables
*void-tags*: Exported special variables

A
attributes: Exported classes

C
children: Exported structures
children: Exported classes
content: Internal classes
content: Internal classes

D
delegate: Internal classes

H
history: Internal classes

L
last-few-chars: Internal conditions

M
message: Internal conditions

N
name: Exported conditions
name: Exported classes

S
Slot, attributes: Exported classes
Slot, children: Exported structures
Slot, children: Exported classes
Slot, content: Internal classes
Slot, content: Internal classes
Slot, delegate: Internal classes
Slot, history: Internal classes
Slot, last-few-chars: Internal conditions
Slot, message: Internal conditions
Slot, name: Exported conditions
Slot, name: Exported classes
Slot, stream: Internal conditions
Slot, unread-char: Internal classes
Special Variable, *escape-map*: Internal special variables
Special Variable, *escape-minimal-map*: Internal special variables
Special Variable, *standard-name-cache*: Internal special variables
Special Variable, *standard-names*: Exported special variables
Special Variable, *void-tag-cache*: Internal special variables
Special Variable, *void-tags*: Exported special variables
stream: Internal conditions

U
unread-char: Internal classes

Jump to:   *  
A   C   D   H   L   M   N   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   E   H   M   P   S   U   X  
Index Entry  Section

C
Class, escaped-string: Internal classes
Class, markup-stream: Internal classes
Class, unescaped-string: Internal classes
Class, xml-tag: Exported classes
Condition, html-parse-error: Internal conditions
Condition, undefined-markup-tag-condition: Exported conditions

E
escaped-string: Internal classes

H
html-parse-error: Internal conditions

M
markup: The markup system
markup: The markup package
markup-stream: Internal classes
markup/markup: The markup/markup package
markup/stream: The markup/stream package
markup/tags: The markup/tags package
markup/walk: The markup/walk package

P
Package, markup: The markup package
Package, markup/markup: The markup/markup package
Package, markup/stream: The markup/stream package
Package, markup/tags: The markup/tags package
Package, markup/walk: The markup/walk package

S
Structure, xml-merge-tag: Exported structures
System, markup: The markup system

U
undefined-markup-tag-condition: Exported conditions
unescaped-string: Internal classes

X
xml-merge-tag: Exported structures
xml-tag: Exported classes

Jump to:   C   E   H   M   P   S   U   X