It also appears that if the XML is a control message in which the
meaning of lower levels depends on the context set in upper ones, the
reader is inconvenient. Message "state" information has to be retained
and/or discarded for each node as it is processed. For example: An
address that is a "destination" is not treated the same as a "source"
but the node name is identical. So I have to retain state information
throughout the processing and it quickly becomes intractably dense code
(Which is why I started exploring the parsing in the first instance).
It appears that the standard parsing model is better suited to this sort
of work, as the context is implicit in the position on the tree.