A posting from Joe English announces the release of HXML version 0.2, a 'pre-beta' non-validating XML parser written in Haskell. This Haskell-based parser is "designed for space-efficiency, taking advantage of lazy evaluation to reduce memory requirements. HXML may be used as a drop-in replacement for the HaXml parser in existing programs. In HXML, XML documents are represented as a Tree of XMLNodes; an XMLNode is an algebraic data type roughly corresponding to XML Information Set items, [as specified by the W3C XML Information Set Recommendation]. Changes in version 0.2 include added support for CDATA sections; arrow-based combinator library [HXML filters]; a new function parseDocument which recognizes [and ignores] the document prolog, viz., the XML and DOCTYPE declarations; renaming of several data structures and public functions; fixed space fault in comment parsing. The current version has been tested with GHC 5.02, NHC 1.10, and various recent versions of Hugs 98."
Known bugs in HXML version 0.2: (1) The XML declaration is ignored; (2) Unicode support is only as good as that provided by the Haskell system [i.e., not very, except for HBC]; (3) Does not support XML Namespaces; (4) Does not do any well-formedness or validity checks.
Principal references:
- Announcement 2002-03-06: "HXML 0.2, XML Parser for Haskell"
- HXML home page
- Introduction to HXML
- Download HXML version 0.2
- HaXml. "A collection of utilities for using Haskell and XML together." See "The HaXml functional programming model for XML."
- XML Information Set. W3C Recommendation.