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
-
Henrik Motakef (hmot at henrik-motakef.de)
(SAX layer; namespace support)
-
David Lichteblau for knowledgeTools
(conversion into an independent package; DOM bug fixing; validation)
and headcraft
(most september/october 2004 changes) and privately (changes
since then).
CXML implements a namespace-aware,
validating XML 1.0
parser as well as the DOM Level 2 Core
interfaces. Two parser interfaces are offered, one SAX-like, the
other similar to StAX.
CXML is licensed under Lisp-LGPL.
Send bug reports to cxml-devel@common-lisp.net
(list
information).
Recent Changes
rel-2007-xx-yy
- New StAX-like parser interface.
- Serialization fixes (thanks to Nathan Bird, Donavon Keithley).
- characters.lisp cleanup (thanks to Nathan Bird).
- Namespace normalizer bugfixes.
- Minor changes: clone-node on document as an extension. DOM
class hierarchy reworked. New function parse-empty-document.
Fixed the DOM serializer to not throw away local names.
Fixed a long-standing bug in the parser for documents without a
doctype. ANSI conformance fixes.
rel-2006-01-05
- Implemented DOM 2 Core.
- Error handling overhaul.
- UTF-8 string support in DOM on Lisps without Unicode characters.
- Sink API has been changed.
- Support internal subset serialization.
- Whitespace normalizer.
- Gilbert Baumann has clarified the license as Lisp-LGPL.
- Use trivial-gray-streams.
rel-2005-06-25
- Port to OpenMCL (thanks to Rudi Schlatte).
- Port to LispWorks (thanks to Edi Weitz).
- Minor new features: include-default-values argument to
make-xmls-builder; handler argument
to parse-dtd-stream; SAX proxy class
- Various bugfixes.
patch-357 (2004-10-10)
- Auto-detect unicode support for better asdf-installability.
- Use the puri library for Sys-ID handling.
- Semi-automatic caching of DTD instances.
- Support user-defined entity resolvers.
- Support for Oasis XML Catalogs.
- xhtmlgen version of Franz htmlgen.
- Fixes for SBCL's unicode support.
patch-306 (2004-09-03)
- Event-based serialization which does not require DOM documents
- XMLS compatiblity
- minor bugfixes (thread safety; should work on clisp again)
patch-279 (2004-05-11)
- Validation
- bugfixes; XHTML DTD parses again; corrected SAX entity handling
patch-204
- Renamed package XML to CXML.
- The unparse functions support non-canonical output now.
patch-191 (2004-03-18)