Available C++ Libraries FAQ

Libraries available to download (D-L)

die-xml - C++11 xml sax parser based on finite automata

a simple XML SAX parser that uses finite automata as backend.

http://code.google.com/p/die-xml/wiki/FiniteAutomaton has the automaton definitions

Features:

  • parse all kinds of XML tags
  • C++11 API
  • SAX event based interface generating the following events:
    • start document
    • end document
    • start tag
    • end tag
    • characters (including CDATA)
    • processing instruction
    • notation/element definition
  • AttributeIterator class for start document and start tag events. This allows the application to pull attribute values during the event and avoids unnecessary buffering for undesired tags
  • CharIterator class for characters event. This allows the application to pull chars during the event and avoids unnecessary buffering for undesired text nodes
Bonus Track
  • FiniteAutomata class template that can be extended to a Mealy Machine
  • a lightweight implementation of boost::optional<> with storage policy support
TBD
  • entities decoding
  • UTF-8 support (and other encodings too)
  • support configuration for ignorable white space on text nodes
Missing
  • DOM parser (can be easily built over SAX)
  • DOCTYPE validation
  • namespaces
  • text nodes outside tags
  • does not check duplicate notation and element definitions. These are handled by application events only

Operating Systems

  • Platform-independent

Compilers

  • Any standard C++ compiler

Added : 2014-10-06 Amended: 2014-10-06 Licensing : MIT

    die-xml - C++11 xml sax parser based on finite automata
  • project repository
  • Submitted by:Jose Diego Ferreira Martins
Add a comment
Our ads
Buy gold
Beat the credit crunch - buy gold online - quickly, safely and at low prices
www.bullionvault.com
Google
Trumphurst Home Page
C++ Usenet Newsgroup
A Web form for submissions to this list
Contact the author for permission to distribute

Copyright (c) 2024 Nikki Locke, Trumphurst Ltd.
Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD.