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

Portability | portable
Stability | experimental
Maintainer | Uwe Schmidt (uwe@fh-wedel.de)
Safe Haskell | None

Text.XML.HXT.DTDValidation.DTDValidation

Description

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

Synopsis

- removeDoublicateDefs :: XmlArrow
- validateDTD :: XmlArrow

# Documentation

removeDoublicateDefs :: XmlArrow

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 :: XmlArrow

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