hxt-9.0.0: A collection of tools for processing XML with Haskell.

MaintainerUwe Schmidt (uwe@fh-wedel.de)



This module provides functions for validating the DTD of XML documents represented as XmlTree.

Unlike other popular XML validation tools the validation process returns a list of errors instead of aborting after the first error was found.

Unlike validation of the document, the DTD branch is traversed four times:

  • Validation of Notations
  • Validation of Unparsed Entities
  • Validation of Element declarations
  • Validation of Attribute declarations



removeDoublicateDefs :: XmlArrowSource

Removes doublicate declarations from the DTD, which first declaration is binding. This is the case for ATTLIST and ENTITY declarations.

  • returns : A function that replaces the children of DOCTYPE nodes by a list where all multiple declarations are removed.

validateDTD :: XmlArrowSource

Validate a DTD.

  • returns : a functions which takes the DTD subset of the XmlTree, checks if the DTD is valid and returns a list of errors