C Haskell Shell Batchfile
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
cbits Note why I return unusable things Jan 3, 2018
gen Provide a better comment parser - still not correct, but more passable Jan 4, 2018
vs Move main.c into cbits Dec 22, 2016
xml #6, add some XML sample files Dec 22, 2016
.gitignore #6, move the afl-results directory and git ignore it Dec 22, 2016
CHANGES.txt Add release dates Dec 6, 2017
Setup.hs Add all the boilerplate required for cabal test and neil check Nov 30, 2016
appveyor.yml Use an updated appveyor script May 27, 2017
ghci.bat Given a clue as to how to do the new code in ghci Jan 4, 2018


Hexml Hackage version Stackage version Linux Build Status Windows Build Status

An XML DOM-style parser, that only parses a subset of XML, but is designed to be fast. In particular:

  • Entities, e.g. &, are not expanded.
  • Not all the validity conditions are checked.
  • No support for <!DOCTYPE related features.

The name "hexml" is a combination of "Hex" (a curse) and "XML". The "X" should not be capitalised because the parser is more curse and less XML.

Hexml may be suitable if you want to quickly parse XML, from known sources, and a full XML parser has been shown to be a bottleneck. As an alternative to hexml, which supports things like entities but is still pretty fast, see Pugixml (with a Haskell binding).

Hexml is tested with AFL.

If you want lenses for Hexml, see hexml-lens.