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
Licensing : MIT
Do not expect an immediate response - the contents of this form
will be added to a queue, which I process manually
about once a week. If you don't fill in
your email address correctly, you will not (obviously) get any reply at
all. Other invalid information may result in a mailed request for
clarification.
Enter your comment in the areas provided below. Be sure to
include your name and email address.
Please don't bother trying to post spam or links to dodgy web sites - everything
you post here is reviewed by a human being before being released for public
viewing.
|