The Haskell XML Toolbox bases on the ideas of HaXml and HXML, but
introduces a more general approach for processing XML with
Haskell. The Haskell XML Toolbox uses a generic data model for
representing XML documents, including the DTD subset and the document
subset, in Haskell. It contains a validating XML parser, a HTML
parser, namespace support, an XPath expression evaluator, an XSLT
library, a RelaxNG schema validator and funtions for serialization and
deserialization of user defined data. The libraray make extensive use
of the arrow approach for processing XML.