The conceptual key behind the DOM is its recursive-compositional structure. This means: every part of an XML document is genrally called a „node“. No matter whether the „node“ is an XML tag (like '
The following UML class-diagram shows the basic interfaces an their relationships specified by the DOM:
(Note: Such an inheritance structure with a common abstract superclass or interface (here Node) which allows all its instances to be composed of instances of the same common superclass again, is named „Composite-Pattern“ in terms of OOP-design patterns. It is also often found in the models of graphical user interfaces, e.g. Java where „everything is a JComponent, and may have child-JComponents“.)
Using a language-specific implementation of the DOM-standard, the contents of XML documents can be parsed, processed, and formatted from program code in that specific language. See XML parsing and formatting for an implementation of the DOM-Level-1 specification for the SuperCollider-language.
See also XML parsing and formatting, Unified Modeling Language (UML).