hexpat-iteratee: Chunked XML parsing using iteratees

[ bsd3, library, xml ] [ Propose Tags ] [ Report a vulnerability ]

This package provides chunked XML parsing using iteratees. It is especially suited to implementing XML-based socket protocols, but is useful wherever lazy parsing is needed on production systems where you can't tolerate the problems that come with Haskell's lazy I/O.

The XML is presented as a lazy tree, and is processed by a handler implemented using a monad transformer called XMLT. The resulting monad is suspended whenever it tries to read a part of the tree that hasn't been parsed yet, and continued as soon as it is available. The resulting code looks and functions very much as if you were using lazy I/O, only without the associated problems. Your handlers can have effects, yet they come out in quite a functional style.

Background: Haskell's lazy I/O can be problematic in some applications because it doesn't handle I/O errors properly, and you can't predict when it will clean up its resources, which could result in file handles running out.

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3, 0.4, 0.5, 0.6
Dependencies base (>=3 && <5), bytestring, containers, extensible-exceptions (>=0.1 && <0.2), hexpat (>=0.18), iteratee (>=0.3 && <0.4), List (>=0.4), parallel, transformers [details]
License BSD-3-Clause
Copyright (c) 2010 Stephen Blackheath <http://blacksapphire.com/antispam/>
Author Stephen Blackheath (blackh)
Maintainer http://blacksapphire.com/antispam/
Category XML
Home page http://haskell.org/haskellwiki/Hexpat/
Source repo head: darcs get http://code.haskell.org/hexpat-iteratee/
Uploaded by StephenBlackheath at 2010-06-04T10:53:49Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 4367 total (24 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]