Cabal-Version: >= 1.6
Name: hexpat
Version: 0.16
x-revision: 1
Synopsis: XML parser/formatter based on expat
Description:
This package provides a general purpose Haskell XML library using Expat to
do its parsing ( - 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/), SAX-style parse (/SAX/),
and access to the low-level interface in case speed is paramount (/Internal.IO/).
.
The design goals are speed, speed, speed, interface simplicity and modularity.
.
For introduction and examples, see the /Text.XML.Expat.Tree/ module. For benchmarks,
.
If you want to do interactive I\/O, an obvious option is to use lazy parsing
with one of the lazy I\/O functions such as hGetContents. However, this can be
problematic in some applications because it doesn't handle I\/O errors properly
and can give no guarantee of timely resource cleanup. In these cases, chunked
I\/O is a better approach: Take a look at the /hexpat-iteratee/ package.
.
/IO/ is filed under /Internal/ because it's low-level and most users won't want
it. The other /Internal/ modules are re-exported by /Annotated/ and /Tree/,
so you won't need to import them directly.
.
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
, 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).
.
ChangeLog: 0.15 changes intended to fix a (rare) \"error: a C finalizer called back into Haskell.\"
that seemed only to happen only on ghc6.12.X; 0.15.1 Fix broken Annotated parse;
0.16 switch from mtl to transformers
Category: XML
License: BSD3
License-File: LICENSE
Author:
Stephen Blackheath [blackh] (the primary author),
Doug Beardsley,
Gregory Collins,
Evan Martin (who started the project),
Matthew Pocock [drdozer]
Maintainer: http://blacksapphire.com/antispam/
Copyright:
(c) 2009 Doug Beardsley ,
(c) 2009-2010 Stephen Blackheath ,
(c) 2009 Gregory Collins,
(c) 2008 Evan Martin ,
(c) 2009 Matthew Pocock ,
(c) 2007-2009 Galois Inc.
Homepage: http://haskell.org/haskellwiki/Hexpat/
Extra-Source-Files:
test/hexpat-tests.cabal,
test/test.xml,
test/suite/TestSuite.hs,
test/suite/Text/XML/Expat/Proc/Tests.hs,
test/suite/Text/XML/Expat/UnitTests.hs,
test/suite/Text/XML/Expat/Tests.hs,
test/suite/Text/XML/Expat/Cursor/Tests.hs
Build-Type: Simple
Stability: beta
source-repository head
type: darcs
location: http://code.haskell.org/hexpat/
Library
Build-Depends:
base >= 3 && < 5,
bytestring,
transformers,
text >= 0.5,
utf8-string >= 0.3.3,
parallel < 3,
containers,
extensible-exceptions >= 0.1 && < 0.2,
List >= 0.4
Exposed-Modules:
Text.XML.Expat.Annotated,
Text.XML.Expat.Cursor,
Text.XML.Expat.Format,
Text.XML.Expat.IO,
Text.XML.Expat.Namespaced,
Text.XML.Expat.NodeClass,
Text.XML.Expat.Proc,
Text.XML.Expat.Qualified,
Text.XML.Expat.SAX,
Text.XML.Expat.Tree,
Text.XML.Expat.Internal.IO,
Text.XML.Expat.Internal.Namespaced,
Text.XML.Expat.Internal.NodeClass,
Text.XML.Expat.Internal.Qualified
Extra-Libraries: expat
ghc-options: -Wall -fno-warn-name-shadowing