Appendix A: Document Object Model Contributors
Note: This specification was prepared and approved for publication by the W3C
DOM Working Group (WG). WG approval of this specification does not necessarily
imply that all WG members voted for its approval.
Members of the DOM Activity contributing to this specification were:
Lauren Wood, SoftQuad, chair
Arnaud Le Hors, W3C, W3C
Andrew Watson, Object Management Group
Bill Smith, Sun
Chris Lovett, Microsoft
Chris Wilson, Microsoft
David Singer, IBM
Eric Vasilik, Microsoft
Gavin Nicol, INSO
James Clark, invited
Jared Sorensen, Novell
Jonathan Robie, Texcel
Mike Champion, ArborText
Paul Grosso, ArborText
Peter Sharpe, SoftQuad
Phil Karlton, Netscape
Rick Gessner, Netscape
Robert Sutor, IBM
Scott Isaacs, Microsoft
Sharon Adler, INSO
Steve Byrne, JavaSoft
Tim Bray, invited
Vidur Apparao, Netscape
Appendix B: Document Object Model Glossary
Robert Sutor, IBM
Several of the following term definitions have been borrowed or modified
from similar definitions in other W3C documents. Links to these documents
follow the definitions.
- An ancestor node of any node A is any node
above A in a tree model of a document, where "above" means "toward the root."
- An API is an application programming interface,
a set of functions or methods used to access some
- A child is an immediate descendant node of
- client application
- A [client] application is any software that uses the
Document Object Model programming interfaces provided by the
hosting implementation to accomplish useful work. Some
examples of client applications are scripts within an HTML or
- content model
- The content model is a simple grammar governing
the allowed types of the child elements and the order in which
they appear. See [XML
- A context specifies an access pattern (or
path): a set of interfaces which give you a way to interact
with a model. For example, imagine a model with different
colored arcs connecting data nodes. A context might be a sheet
of colored acetate that is placed over the model allowing you a
partial view of the total information in the model.
- cooked model
- A model for a document that represents the document after it
has been manipulated in some way. For example, any combination
of any of the following transformations would create a cooked
A browser might only be able to provide access to a cooked model,
while an editor might provide access to a cooked or the
initial structure model (also known as the uncooked
model) for a document.
- Expansion of internal text entities.
- Expansion of external entities.
- Model augmentation with style-specified generated
- Execution of style-specified reordering.
- Execution of scripts.
- A cursor is an object representation of a node. It may
possess information about context and the path traversed to
reach the node.
- When new releases of specifications are released, some older
features may be marked as being deprecated. This
means that new work should not use the features and that
although they are supported in the current release, they may
not be supported or available in future releases.
- A descendant node of any node A is any node
below A in a tree model of a document, where "above" means "toward the root."
- The programming language defined by the
standard. As stated in
the standard, the originating technology for ECMAScript was
Note that in the ECMAScript binding, the word "property" is
used in the same sense as the IDL term "attribute."
- Each document contains one or more elements, the boundaries of which
are either delimited by start-tags and end-tags, or, for empty elements
by an empty-element tag. Each element has a type, identified by name,
and may have a set of attributes. Each attribute has a name and a value.
- event propagation, also
known as event bubbling
- This is the idea that an event can affect one object and a set of
related objects. Any of the potentially affected objects can block the
event or substitute a different one (upward event propagation). The
event is broadcast from the node at which it originates to every parent
- hosting implementation
- A [hosting] implementation is a software module that provides an
implementation of the DOM interfaces so that a client application can
use them. Some examples of hosting implementations are browsers, editors
and document repositories.
- The HyperText Markup Language (HTML) is a simple markup
language used to create hypertext documents that are portable from one
platform to another. HTML documents are SGML documents with generic
semantics that are appropriate for representing information from a wide
range of applications. [HTML
- An Interface Definition Language (IDL) is used
to define the interfaces for accessing and operating upon
objects. Examples of IDLs are the
Object Management Group's IDL
, and Sun's
- Companies, organizations, and individuals that claim to support the
Document Object Model as an API for their products.
- initial structure model
- Also known as the raw structure model or the
uncooked model, this represents the document
before it has been modified by entity expansions, generated
text, style-specified reordering, or the execution of
scripts. In some implementations, this might correspond to the
"initial parse tree" for the document, if it ever
exists. Note that a given implementation might not be able to
provide access to the initial structure model for a document,
though an editor probably would.
- language binding
- A programming language binding for an IDL
specification is an implementation of the interfaces in the
specification for the given language. For example, a Java
language binding for the Document Object Model IDL
specification would implement the concrete Java classes that
provide the functionality exposed by the interfaces.
- A model is the actual data representation for
the information at hand. Examples are the structural model and
the style model representing the parse structure and the style
information associated with a document. The model might be a
tree, or a directed graph, or something else.
- A parent is an immediate ancestor node of
- root node
- The root node is the unique node that is not a
child of any other node. All other nodes are children or other
descendents of the root node. [XML
- Two nodes are siblings if they have the same parent node.
- string comparison
- When string matching is required, it is to occur as though the
comparison was between 2 sequences of code points from the Unicode 2.0
- tag valid document
- A document is tag valid if all begin and end tags are
properly balanced and nested.
- type valid document
- A document is type valid if it conforms to an
- uncooked model
- See initial structure model.
- well-formed document
- A document is well-formed if it is tag
valid and entities are limited to single elements (i.e., single
- Extensible Markup Language (XML) is an
extremely simple dialect of SGML which is completely described
in this document. The goal is to enable generic SGML to be
served, received, and processed on the Web in the way that is
now possible with HTML. XML has been designed for ease of
implementation and for interoperability with both SGML and
Appendix C: Document Object Model Language Bindings
Appendix C.1: OMG IDL Definitions
Appendix C.2: Java Bindings