Cabal-Version: >= 1.6 Name: hexpat Version: 0.17 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; 0.17 fix mapNodeContainer & rename some things. 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