Parts 1 – 6 of this series describe a service domain that represents a collection of comparable or related Web services through a common services entry point. In this article, we discuss how to keep up with the information that is available from the service domain. Why should you and why shouldn’t you care about the information? We introduce several ways of using the information and discuss some approaches for optimizing its management.
> The main drawback of the DOM is that its design requires the entire XML document to be loaded in-memory.
IMO XML handling in strict imperative languages is inherently flawed. If you don’t want to load the whole document in memory at the beginning you either have to deal with stateless packets or you have to incrementally build a tree which still uses as much memory as a tree read in one go, though you could work on the tree while it is being loaded.
I wonder what is meant to be used by non-strict languages which could theoretically create trees out of streams without having the whole document in memory ( http://www.mondrian-script.org/mondrian/doc/haskell.html ).