18.1. DOM Foundations
At its heart, the DOM is a set of APIs. Various DOM implementations
use their own objects to support the interfaces defined in the DOM
specification. The DOM interfaces themselves are specified in
modules, making it possible for implementations to support parts of
the DOM without having to support all of it. XML parsers, for
instance, aren't required to provide support for the
HTML-specific parts of the DOM, and modularization has provided a
simple mechanism that allows software developers to identify which
parts of the DOM are supported or are not supported by a particular
implementation.
Subsequent levels have added functionality. DOM Level 2, which was
published as a set of specifications, one per module, includes
updates for the Core and HTML modules of Level 1, as well as new
modules for Views, Events, Style, Traversal, and Range. DOM Level 3
will add Abstract Schemas, Load, Save, XPath, and updates to the Core
and Events modules.
Other W3C specifications have defined extensions to the DOM
particular to their own needs. Mathematical Markup Language (MathML),
Scalable Vector Graphics (SVG), Synchronized Multimedia Integration
Language (SMIL), and SMIL Animation have all defined DOMs that
provide access to details of their own vocabularies.
Developers
using the DOM for XML processing typically rely on the Core module as
the foundation for their work.