Glossary
- Editors
- 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. This indicates that
          indexing on aDOMStringoccurs in units of 16 bits. 
          This must not be misunderstood to mean that aDOMStringcan store arbitrary 16-bit units. ADOMStringis 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.
- 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.
- 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 XML [XML].
- context
- 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
	  model.
- 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.
      
- 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:
	  
- Expansion of internal text entities.
- Expansion of external entities.
- Model augmentation with style-specified generated
		text.
- Execution of style-specified
		reordering.
- Execution of scripts.
 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.
- CORBA
- 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
	    distributed environment.
- cursor
- 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.
- deprecation
- 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.
- 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."
- 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".
- 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 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].
	
- 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.
- equivalence
- 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 the 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, their child node lists are
	  equivalentNodeListobjects, and their
	  attributes are deeply equivalent.
 TwoNodeListobjects are equivalent if they
	  have the same length,	and the nodes corresponding by index
	  are deeply equivalent.
 TwoNamedNodeMapobjects are equivalent if
	  they have the same length, they have same collection of names,
	  and the nodes corresponding by name in the maps are deeply
	  equivalent.
 TwoDocumentTypenodes are equivalent if
	  they are equivalent as nodes, have the same names, and have
	  equivalent entities and attributesNamedNodeMapobjects.
- 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]
- IDL
- 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].
- implementor
- Companies, organizations, and individuals that claim to
	  support the Document Object Model as an API for their
	  products.
- 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.
- 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.
- 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. 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].
- 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 
Well-Formed XML
	    Documents in XML [XML].
- 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.
- sibling
- 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.,
	  single sub-trees).
- 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 has been designed
	  for ease of implementation and for interoperability with
	  both SGML and HTML. [XML]
- 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]