@hackage hexpat0.13

wrapper for expat, the fast XML parser

This package provides a general purpose Haskell XML library using Expat to do its parsing (http://expat.sourceforge.net/ - a fast stream-oriented XML parser written in C). It is extensible to any string type, with String, ByteString and Text provided out of the box.

Basic usage: Parsing a tree (Tree), formatting a tree (Format).

Other features: Helpers for processing XML trees (Proc), trees annotated with XML source location (Annotated), XML cursors (Cursor), more intelligent handling of qualified tag names (Qualified), tags qualified with namespaces (Namespaced), SAX-style parse (SAX), and access to the low-level interface in case speed is paramount (IO).

The design goals are speed, speed, speed, interface simplicity and modular design.

For examples, see Text.XML.Expat.Tree module. For benchmarks, http://haskell.org/haskellwiki/Hexpat/

Credits to Iavor Diatchki and the xml (XML.Light) package for Proc and Cursor.

INSTALLATION: Unix install requires an OS package called something like libexpat-dev. On MacOSX, expat comes with Apple's optional X11 package, or you can install it from source. To install on Windows, first install the Windows binary that's available from http://expat.sourceforge.net/, then type (assuming you're using v2.0.1):

cabal install hexpat --extra-lib-dirs="C:\Program Files\Expat 2.0.1\Bin" --extra-include-dirs="C:\Program Files\Expat 2.0.1\Source\Lib"

Ensure libexpat.dll can be found in your system PATH (or copy it into your executable's directory).