HaXml: Utilities for manipulating XML documents

[ lgpl, library, program, text, xml ] [ Propose Tags ]

Haskell utilities for parsing, filtering, transforming and generating XML documents.

[Skip to Readme]
Versions [RSS] [faq] 1.13.2, 1.13.3, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.19.6, 1.19.7, 1.20, 1.20.1, 1.20.2, 1.22, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.22.5, 1.23, 1.23.1, 1.23.2, 1.23.3, 1.24, 1.24.1, 1.25, 1.25.1, 1.25.2, 1.25.3, 1.25.4, 1.25.5, 1.25.6, 1.25.7, 1.25.8
Dependencies base, containers, haskell98 (<2), pretty [details]
License LicenseRef-LGPL
Author Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk>
Maintainer none
Revised Revision 1 made by HerbertValerioRiedel at 2015-09-14T16:56:54Z
Category Text
Home page http://www.cs.york.ac.uk/fp/HaXml/
Uploaded by MalcolmWallace at 2007-11-23T17:08:58Z
Distributions Debian:1.25.4, Fedora:1.25.5, FreeBSD:1.25.3, LTSHaskell:1.25.8, NixOS:1.25.5, Stackage:1.25.8
Executables DtdToHaskell, MkOneOf, Validate, Xtract, Canonicalise
Downloads 48601 total (118 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for HaXml-1.13.3

[back to package description]
        HaXml - Haskell utilities for processing XML

Installation instructions:

For newer versions of ghc, use the standard Cabal mechanism:

    runhaskell Setup.hs configure
    runhaskell Setup.hs build
    runhaskell Setup.hs install

For older ghc, and current nhc98 and Hugs, use the following older build

    make install

The automatic configuration detects which compilers/interpreters you
have, and prepares a build tree for each.  Installation requires
write-permission on the system directories of the compiler/interpreter -
the libraries and interfaces can then be used as "-package HaXml" (for
ghc/nhc98 - no extra options required for Hugs).  The standalone tools
are installed to a directory of your choice.

Options to configure are:
    --buildwith=...  e.g. ghc-6.2,        to build for a specific compiler
    --prefix=...     e.g. /usr/local/bin, installation location for HaXml tools

Complaints to:  :-)

    For those building on Windows /without/ Cygwin, you can avoid the need
    for configure/make steps by simply running the minimal build script in
    You will need to edit it for the location of your compiler etc.

What this package contains:

  docs/			Some rudimentary HTML documentation about the libraries.
  docs/HaXml/		Haddock-generated API documentation.
  examples/		Some small examples of how the libraries/tools are used.

  src/Text/XML/HaXml/	Numerous support modules for processing XML.
			(The main APIs are as follows:)
	Types.hs	Defines a (generic) representation for any XML document.
	Parse.hs	Parses an XML document into the generic representation.
	Pretty.hs	Pretty-prints an XML document.
	Validate.hs	Validates an XML document against a DTD.
	Combinators.hs	Provides the combinators described in the ICFP'99 paper
			together with some other useful functions.
	Wrappers.hs	Simple top-level wrappers for processing a single
			document using the combinators.
	Haskell2Xml.hs	A replacement class for Show/Read, to dump Haskell
			values as XML documents.  Use in conjunction with DrIFT.
	Xml2Haskell.hs	A support class for XML DTDs which have been translated
			to Haskell types by tools/DtdToHaskell.
	OneOfN.hs	Some support types (OneOf2 - OneOf20) for code
			generated by tools/DtdToHaskell.

  src/Text/XML/HaXml/Html	Extra support modules for processing HTML.
	Parse.hs	An error-correcting HTML parser, produces the generic
			XML representation.
	Pretty.hs	An HTML-specific pretty-printer.
	Generate.hs	Some useful combinators for generating HTML content.

  src/tools/		Standalone tools based on the library above.
	DtdToHaskell	Translates an XML doc containing a DTD into a Haskell
			module containing data/newtype definitions.
	Xtract		A structured 'grep' for XML docs, loosely based on
			the XPath and XQL query languages.
	Validate	A simple validation tool for XML docs.  Give it a DTD
			file and an XML file, and it reports all validation
			errors it can find.
	Canonicalise	A 'cat' filter for XML docs, shows our "standard"
			parsing and pretty-printing behaviour.
	MkOneOf		Generates a OneOfN type, given an N, together with
			its required instance of XmlContent.  Sometimes types
			larger than OneOf20 are required in code generated by

  src/Text/XML/HaXml/Xtract	Internal APIs of the Xtract tool.
	Parse.hs	Parse an XPath query to produce a filter.
	Combinators.hs	Modified version of the standard combinators.

  src/Text/XML/HaXml/DtdToHaskell	Internal APIs of the DtdToHaskell tool.
	TypeDef.hs	A representation of the Haskell types corresponding
			to an XML DTD, and a pretty printer for them.
	Convert.hs	Convert the standard DTD representation to the
			Haskell-like TypeDef representation.
	Instance.hs	Generate appropriate Xml2Haskell class instances for
			the TypeDefs.