Some preliminary thoughts on how things fit together.
Though some people seem to think the DOM is a failure it is in many ways one of the important building blocks of the web. Or perhaps it’s that the web relies on it. Not supporting the DOM (and scripting) means not supporting a part of the web. Getting a DOM is mostly done by writing something in a serialized format, such as HTML or XML, and then letting a web browser interpret it.
On a more baseline level you have specifications such as Unicode, HTTP, URIs et cetera. So from top to bottom you get:
Then there are other languages, such as XBL and CSS, which are applied to nodes in the DOM. SVG fits in bindings (XBL), background images, html:img
and friends.