Xmls is a small, simple, non-validating XML parser for Common Lisp. It's designed to be a self-contained, easily embedded parser that recognizes a useful subset of the XML spec. It provides a simple mapping from xml to lisp s-expressions and back.

Features from the readme:

  • Free (BSD license).
  • Small and easily embedded. The entire parser is contained in one file and it's currently less than 1000 lines of code. Xmls is written in pure lisp and requires no external parsing tools or foreign libraries.
  • Threadsafe.
  • Understands enough of the xml spec to parse many common documents, including those occurring in common internet protocols like xml-rpc, webdav, and BEEP.
  • Serializes s-expr list structures back to xml as well as parsing xml.
  • Parses and understands xml namespaces.

More information is available on the xmls homepage.