Closure XML is a namespace-aware, validating XML parser with SAX and StAX-like interfaces.

This project is asdf-installable (release tarball below) and available in clbuild (git version).

Original author: Gilbert Baumann

Current maintainer: David Lichteblau


License: LLGPL

Feature overview

  • Namespace-aware, validating XML 1.0 parser
  • Two parser interfaces are offered, one SAX-like, the other similar to StAX.
  • Implementation of W3C DOM included
In-memory representations that can be used with cxml:

  • DOM Level 2 Core (included with cxml)
  • Lisp lists in the xmls format, included as example code with cxml
  • cxml-stp, an alternative to DOM (add-on installation)
Relax NG validation is available as an add-on page, see cxml-rng. XPath is implemented by plexippus-xpath.

Relation to Closure HTML

cxml itself parses well-formed XML only. To parse HTML, use closure-html.

Aside from closure-common, cxml also depends on puri and trivial-gray-streams.


cxml is short for Closure XML, in reference to the Closure web browser it was originally written for.

Note that the Closure web browser is not related to the Clozure implementation of Common Lisp and works on various Common Lisp implementations.