Expeditious XML Processing

We present a representation for XML documents, derived from Warren's representation of Prolog terms in the Warren Abstract Machine (WAM)*, which permits very efficient access and update operations. Our scheme is implemented in CXMLParser, a non-validating XML processor. We present the results of a performance comparison with two other XML processors, which show that CXMLParser is faster by a factor of 2.2 to 4.3 than its nearest competitor.