tango.text.xml.PullParser

License:

BSD style: see license.txt

Version:

Initial release: February 2008

Authors:

Aaron, Kris
enum XmlNodeType [public] #
enum XmlTokenType [public] #
class PullParser(Ch = char) #
Token based XML Parser. Templated to operate with char[], wchar[], and dchar[] based Xml strings.
The parser is constructed with some tradeoffs relating to document integrity. It is generally optimized for well-formed documents, and currently may read past a document-end for those that are not well formed. There are various compilation options to enable checks and balances, depending on how things should be handled. We'll settle on a common configuration over the next few weeks, but for now all settings are somewhat experimental. Partly because making some tiny unrelated change to the code can cause notable throughput changes, and we need to track that down.

We're not yet clear why these swings are so pronounced (for changes outside the code path) but they seem to be related to the alignment of codegen. It could be a cache-line issue, or something else. We'll figure it out, yet it's interesting that some hardware buttons are clearly being pushed

this(Ch[] content = null) #
XmlTokenType next() [final] #
XmlTokenType doMain() [private] #
XmlTokenType doAttributeName() [private] #
XmlTokenType doEndEmptyElement() [private] #
XmlTokenType doComment() [private] #
XmlTokenType doCData() [private] #
XmlTokenType doPI() [private] #
XmlTokenType doDoctype() [private] #
XmlTokenType endOfInput() [private] #
XmlTokenType doUnexpected(char[] msg, Ch* p) [private] #
XmlTokenType doExpected(char[] msg, Ch* p) [private] #
XmlTokenType position(char[] msg, Ch* p) [private] #
XmlTokenType error(char[] msg) [protected, final] #
Ch[] value() [final] #
Ch[] name() [final] #
bool error() [final] #
bool reset() [final] #
void reset(Ch[] newText) [final] #
void incremental(bool yes = true) [final] #
void reset_() [private] #
struct XmlIterator(Ch) #