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

Copyright | Copyright (C) 2008 Uwe Schmidt
License | MIT
Maintainer | Uwe Schmidt (uwe@fh-wedel.de)
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

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