Closure XML Parser

An XML parser written in Common Lisp.

Closure XML was written by Gilbert Baumann (unk6 at rz.uni-karlsruhe.de) as part of the Closure web browser.
Contributions to the parser by

CXML Modules

CXML provides three packages:

Installation

Prerequisites. CXML is written in Common Lisp and should be portable to all Common Lisp implementations.  Currently known to work are ACL, SBCL, CMUCL, and CLISP. (fixme: check this list)

ASDF is used for compilation. These instructions assume that ASDF has already been loaded. (Some Lisps include ASDF, for example SBCL and any Lisp on Debian and Gentoo. For other Lisps please load asdf.lisp manually before proceeding.)

Configuration (optional). CXML has full Unicode code support -- even on Lisps without Unicode strings. On non-unicode aware Lisps, DOMString is implemented as an array of character codes. If your Lisp supports 16 bit characters natively, you can enable feature RUNE-IS-CHARACTER to select an alternative DOMString implementatation, which uses real characters instead of characters codes.

  * (pushnew :rune-is-character *features*)

Compiling and loading CXML. Register the .asd file, e.g. by symlinking it:

  $ ln -sf `pwd`/cxms.asd /path/to/your/registry
Compile CXML using:
  * (asdf:operate 'asdf:load-op :cxml)

Tests

Check out the XML and DOM testsuites:
  $ export CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public
  $ cvs login    # password is "anonymous"
  $ cvs co 2001/XML-Test-Suite/xmlconf
  $ cvs co 2001/DOM-Test-Suite
Run all applicable tests using:
  * (xmlconf:run-all-tests "/path/to/2001/XML-Test-Suite/xmlconf/")
  * (domtest:run-all-tests "/path/to/2001/2001/DOM-Test-Suite/")
(As always in Lisp, the trailing slash is significant.)

fixme: Add an explanation of xml/sax-tests here.