The DocumentObjectModel (DOM) is the standard means to access an XML document. It comes in three levels, each building upon each other. At the current time, only levels 1 and 2 are Recommendations. Level 3 is still a working draft. See the [index] of all the specification parts.
DOM level 1 provides simple tree access to the XML document. It isn't much more complex than a first year computer science interface to a tree, except the names are all really bad to avoid namespace collisions with legacy APIs.
DOM level 2 adds XML Events and XML Views. This is the scriptable DOM for DynamicHTML?.
DOM level 3 seeks to provide a standard interface to all the new XML specifications, like XPath. These specifications look at XML as a universal data representation, so things get complicated at this point.
I really, really hate the names. -- SunirShah
I hate it when there are attributes and methods instead of just accessor methods, I hate it even more when some attributes cause extensive changes in the tree when set, and I don't like the many redundant attributes. But then again, at least it's a standard, so we know what we're talking about when moving from one DOM implementation to another. -- AlexSchroeder