Continue my study of eXpat as vendored into Papyrix...
There's an XML-Role API. Its implementation consists of several weirdly-written string constants, several callbacks implementing a parsing state-machine.
Then there's an underlying XML tokenizer API including numerous helper macros & functions for handling UTF-8, & to perform text-encoding conversions. There's a parser for simplified-HTML style attributes, more weirdly-written string constants, used in the XML declaration parser.
1/?
There's a scan-ahead to extract the text-encoding.
In a separate sourcecode file there's which, aided by helper macros declaring `case` statements & checking text, there's routines for locating the start & end (or entirety) of different tokens & attributes therein all so the appropriate callback for the current state can be called. Is this what I was seeing in the XML-Role API?
Regardless there's a couple special routines (in their own source code file) for when namespacing is used.
2/2.2!