Thanks for your interest in SMAXProto.
After using SAX parsing for just few times, it becomes clear that often the
custom parser you write is only interested in a subset, and often a small subset,
of the entire document. Often, much of the content handler is determining where
you are in the tree, and ignore stuff you don't want. This project builds a
prototype that attempts to simplify filtering out what you don't want to handle,
thus simplifying the handler, and improving performance.
THIS IS A PROTOTYPE
A prototype should
- Be fun to do
- Be quickly implemented
- Do a decent job of showing the api
- Show relative performance issues
- Let you learn something new
- Be so ridiculously implemented, that no one is tempted to build a real product with it
Hopefully this prototype fulfills all of these tasks
SMAX follows the basic flavor of SAX. There are 3 key differences (at this point).
- startDocument and startElement return an enum value of type NextParserAction
Enum Values are:
returning one of these values determines what further processing occurs
- startElement doesn't provide attributes
- SMAX's ContentHandler provides an attributes method to implement to get attributes