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].

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.

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.

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."

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].

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. [HTML4.0]

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.

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.

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 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].

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.

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.

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.