Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
XML/HTML parsers for Common Lisp
Common Lisp
tag: acl90pf_t4

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

XML/HTML parsers

Table of contents

  • Description
  • Authors
  • Documentation
  • Compatibility
  • Documentation
  • Licence
  • References
  • Open Source


The HTML parser converts HTML to a format we call lhtml, which is a natural encoding of HTML as Lisp lists. lhtml can be converted back into HTML using the htmlgen package that is part of AllegroServe.

This XML parser is a non-validating parser that converts XML into lxml, a format similar to lhtml. For a validating XML parser, see the SAX module which is part of Allegro Common Lisp.

We consider the XML parser included here to be at end of life, and recommend that you look at the SAX module mentioned above.


Steve Jacobson and John Foderaro, with additional work by Steve Haflich, and others at Franz Inc.


The HTML parser works on Allegro Common Lisp versions 5.0.1 and later although if your HTML code includes 16-bit character entities the parser will only be able to represent these characters in the International version of Allegro Common Lisp version 6.0 or later.


The HTML parser and XML parser documentation are included in the repository as phtml.htm and pxml.htm.


The source code is licensed under the terms of the Lisp Lesser GNU Public License, known as the LLGPL. The LLGPL consists of a preamble and the LGPL. Where these conflict, the preamble takes precedence. This project is referenced in the preamble as the LIBRARY.


For other links that may be of interest are:

Franz Inc. Open Source Info

This project's homepage is There is an informal community support and development mailing list for these open source projects. We encourage you to take advantage by subscribing to the list. Once you're subscribed, email to with your questions, comments, suggestions, and patches.

Something went wrong with that request. Please try again.