- Arnaud Le Hors, W3C
- Robert S. Sutor, IBM Research (for DOM Level 1)
Several of the following term definitions have been borrowed or
modified from similar definitions in other W3C or standards documents.
See the links within the definitions for more information.
- 16-bit unit
- The base unit of a
DOMString. Since a
DOMString is a UTF-16 encoded string, a single character
reference may correspond to one or two 16-bit units.
- 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 XML document.
- COM is Microsoft's Component Object Model [COM], a technology for building applications from binary
- 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
Element Content in
- A contextspecifies 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
- A convenience method is an operation on an
object that could be accomplished by a program consisting of
more basic operations on the object. Convenience methods are
usually provided to make the API easier and simpler to use or to
allow specific programs to create more optimized implementations
for common operations. A similar definition holds for a
- 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 model:
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
- Execution of scripts.
- CORBA is the Common Object Request Broker
Architecture from the OMG [CORBA]. This architecture is a collection of objects and
libraries that allow the creation of applications containing
objects that make and receive requests and responses in a
- A cursoris an object representation of a
node. It may possess information about context and the path
traversed to reach the node.
- data model
- A data model is a collection of descriptions of data
structures and their contained fields, together with the operations
or functions that manipulate them.
- 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."
- DOM Level 0
- The term "DOM Level 0" refers to a mix (not formally specified)
of HTML document functionalities offered by Netscape Navigator
version 3.0 and Microsoft Internet Explorer version 3.0. In some
cases, attributes or methods have been included for reasons of
backward compatibility with "DOM Level 0".
- The programming language defined by the ECMA-262 standard [ECMAScript]. As stated in the standard, the originating
"property" is used in the same sense as the IDL term
- 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.
Structures in XML [XML].
- 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 node.
- Two nodes are equivalent if they have the
same node type and same node name. Also, if the nodes
contain data, that must be the same. Finally, if the nodes have
attributes then collection of attribute names must be the same
and the attributes corresponding by name must be equivalent as nodes.
Two nodes are deeply equivalent if they are
equivalent, the child node lists are equivalent are
NodeList objects, and the pairs of
equivalent attributes must in fact be deeply equivalent.
NodeList objects are equivalent if they
have the same length, and the nodes corresponding by index
are deeply equivalent.
NamedNodeMap objects are equivalent if
they are have the same length, they have same collection of names,
and the nodes corresponding by name in the maps are deeply
DocumentType nodes are equivalent if
they are equivalent as nodes, have the same names, and have
equivalent entities and attributes
- 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
- 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. [HTML4.0]
- 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
[CORBA], Microsoft's IDL [MIDL], and
Sun's Java IDL [JavaIDL].
- Companies, organizations, and individuals that claim to
support the Document Object Model as an API for their
- In object-oriented programming, the ability to create new classes
(or interfaces) that contain all the methods and properties of
another class (or interface), plus additional methods and
properties. If class (or interface) D inherits from class (or
interface) B, then D is said to be derived from B. B is
said to be a base class (or interface) for D. Some
programming languages allow for multiple inheritance, that is,
inheritance from more than one class or interface.
- 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.
- An interface is a declaration of a set of
methods with no information given about their implementation.
In object systems that support interfaces and inheritance,
interfaces can usually inherit from one another.
- 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
- local name
- A local name is the local part of a qualified
This is called the
part in Namespaces in XML [Namespaces].
- A method is an operation or function that is
associated with an object and is allowed to manipulate the
- 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
- namespace prefix
- A namespace prefix is a string that associates
an element or attribute name with a namespace URI in
prefix in Namespaces in XML [Namespaces].
- namespace URI
- A namespace URI is a URI that identifies
an XML namespace. This is called the
namespace name in
Namespaces in XML [Namespaces].
- object model
- An object model
is a collection of
descriptions of classes or interfaces,
together with their member data, member functions,
and class-static operations.
- A parent is an immediate ancestor node of a
- qualified name
- A qualified name is the name of an element or
attribute defined as the concatenation of a local name
(as defined in this specification), optionally preceded by a
namespace prefix and colon character. See
Qualified Names in
Namespaces in XML [Namespaces].
- 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. See
Documents in XML [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 standard.
- 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 explicit DTD.
- 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.,
- 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 HTML. [XML]
- XML namespace
- An XML namespace is a collection of names,
identified by a URI reference [RFC2396], which are used
in XML documents as element types and attribute names. [Namespaces]