13 November, 2000

# Glossary

Editors
  Arnaud Le Hors, IBM
  Lauren Wood, SoftQuad Software Inc.
  Robert S. Sutor, IBM (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`. This indicates that indexing on a `DOMString` occurs in units of 16 bits. This must not be misunderstood to mean that a `DOMString` can store arbitrary 16-bit units. A `DOMString` is a character string encoded in UTF-16; this means that the restrictions of UTF-16 as well as the other relevant restrictions on character strings must be maintained. A single character, for example in the form of a numeric character reference, may correspond to one or two 16-bit units.
  For more information, see [Unicode] and [ISO/IEC 10646].
ancestor
  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."
API
  An API is an application programming interface, a set of functions or methods used to access some functionality.
child
  A child is an immediate descendant node of a node.
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
  COM is Microsoft's Component Object Model [COM], a technology for building applications from binary software components.
convenience
  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 convenience property.
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.
descendant
  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."
ECMAScript
  The programming language defined by the ECMA-262 standard [ECMAScript]. As stated in the standard, the originating technology for ECMAScript was JavaScript [JavaScript]. Note that in the ECMAScript Language binding, the word "property" is used in the same sense as the IDL term "attribute."
element
  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. See Logical Structures in XML [XML].
information item
  An information item is an abstract representation of some component of an XML document. See the [Infoset] for details.
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.
HTML
  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]
inheritance
  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.
interface
  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 interfaces.
local name
  A local name is the local part of a qualified name. This is called the local part in Namespaces in XML [Namespaces].
method
  A method is an operation or function that is associated with an object and is allowed to manipulate the object's data.
model
  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.
namespace prefix
  A namespace prefix is a string that associates an element or attribute name with a namespace URI in XML. See namespace prefix in Namespaces in XML [Namespaces].
namespace URI
  A namespace URI is a URI that identifies an XML namespace. Strictly speaking, this actually is a namespace URI reference. 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.
parent
  A parent is an immediate ancestor node of a node.
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].
readonly node
  A readonly node is a node that is immutable. This means its list of children, its content, and its attributes, when it is an element, cannot be changed in any way. However, a readonly node can possibly be moved, when it is not itself contained in a readonly node.
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 descendants of the root node.
sibling
  Two nodes are siblings if and only 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 3.0 standard [Unicode].
token
  An information item such as an XML Name which has been tokenized.
tokenized
  The description given to various information items (for example, attribute values of various types, but not including the StringType CDATA) after having been processed by the XML processor. The process includes stripping leading and trailing white space, and replacing multiple space characters by one. See the definition of tokenized type.
well-formed document
  A document is well-formed if it is tag valid and entities are limited to single elements (i.e., single sub-trees). See Well-Formed XML Documents in XML [XML].
XML
  Extensible Markup Language (XML) is an extremely simple dialect of SGML. 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 [XML] has been designed for ease of implementation and for interoperability with both SGML and HTML.
XML name
  See XML name in the XML specification [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]