S-XML is a simple basic XML parser with both a function and (S)SAX like event interface as well as a DOM interface with LXML, SXML and an XML-ELEMENT struct DOM representation.

See also web, for other tools.

This XML parser implementation has the following features:

  • It works (handling many common XML usages).
  • It is very small (the core is about 700 lines of code, including comments and whitespace).
  • It has a core API that is simple, efficient and pure functional, much like that from SSAX.
  • It supports different DOM models: an XSML-based one, an LXML-based one and a classic xml-element struct based one.
  • It is reasonably time and space efficient (internally avoiding garbage generation as much as possible).
  • It does support CDATA.
  • It should support the same character sets as your Common Lisp implementation.
  • It does support XML name spaces.

Originally it was written by Sven Van Caekenberghe. It is now being maintained by Sven Van Caekenberghe, Rudi Schlatte and Brian Mastenbrook.

ASDF-install package (obsolete) http://www.common-lisp.net/project/s-xml/s-xml.tgz