HaXml: Utilities for manipulating XML documents

[ lgpl, library, program, text, xml ] [ Propose Tags ]
Versions [RSS] 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, 1.25.9, 1.25.10, 1.25.11, 1.25.12, 1.25.13 (info)
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.5, Fedora:1.25.13, FreeBSD:1.25.3, LTSHaskell:1.25.13, NixOS:1.25.13, Stackage:1.25.13
Reverse Dependencies 53 direct, 2069 indirect [details]
Executables DtdToHaskell, MkOneOf, Validate, Xtract, Canonicalise
Downloads 51611 total (70 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

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.