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 functionality.
A child is an immediate descendant node of a node.
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.
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.
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 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."
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. [XML ]
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.
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 3.2 ] [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 , Microsoft's IDL , and Sun's Java IDL .
Companies, organizations, and individuals that claim to support the Document Object Model as an API for their products.
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.
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 a 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.
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.
A document is tag valid if all begin and end tags are properly balanced and nested.
A document is type valid if it conforms to an explicit DTD.
See initial structure model.
A document is well-formed if it is tag valid and entities are limited to single elements (i.e., single sub-trees).
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 ]