Document Object Model (DOM) Level 2 Specification
Version 1.0
W3C Working Draft 23 September, 1999
This version:
http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923
(PostScript file, PDF file, plain text, ZIP file)
Latest version:
http://www.w3.org/TR/WD-DOM-Level-2
Previous versions:
http://www.w3.org/TR/1999/WD-DOM-Level-2-9990719
http://www.w3.org/TR/1999/WD-DOM-Level-2-9990304
Editors:
Lauren Wood, SoftQuad Software Inc., chair
Arnaud Le Hors, W3C, staff contact
Vidur Apparao, Netscape Communications Corporation
Laurence Cable, Sun
Mike Champion, Arbortext and Software AG
Joe Kesselman, IBM
Philippe Le Hégaret, W3C
Tom Pixley, Netscape Communications Corporation
Jonathan Robie, Texcel Research and Software AG
Peter Sharpe, SoftQuad Software Inc.
Chris Wilson, Microsoft
Copyright © 1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C
liability, trademark, document use and software licensing rules apply.
------------------------------------------------------------------------
Status of this document
This is a W3C Working Draft for review by W3C members and other interested
parties. With the publication of this draft, the DOM Level 2 specification
enters last call. The last call period will end on October 8, 1999. Comments
on this document are invited and are to be sent to the public mailing list
www-dom@w3.org. An archive is available at
http://lists.w3.org/Archives/Public/www-dom/.
Comments received during the last call period will be addressed by the
Working Group which will then release an updated draft. Comments from
implementors will then be awaited and will determine whether this
specification can be submitted for Proposed Recommendation.
While this document is in last call, it is still a draft document which may
be updated, replaced or obsoleted by other documents at any time. It is
therefore inappropriate to use it as reference material or to cite it as
other than "work in progress". This is work in progress and does not imply
endorsement by, or the consensus of, either W3C or members of the DOM
Working Group.
This document has been produced as part of the W3C DOM Activity. The authors
of this document are the DOM WG members. Different modules of the Document
Object Model have different editors.
------------------------------------------------------------------------
Abstract
This specification defines the Document Object Model Level 2, a platform-
and language-neutral interface that allows programs and scripts to
dynamically access and update the content, structure and style of documents.
The Document Object Model Level 2 builds on the Document Object Model Level
1.
The DOM Level 2 is made of a set of core interfaces to create and manipulate
the structure and contents of a document and a set of optional modules.
These modules contain specialized interfaces dedicated to XML, HTML, an
abstract view, generic stylesheets, Cascading Style Sheets, Events,
traversing the document structure, and a Range object.
Table of contents
* Expanded Table of Contents
* Copyright Notice
* What is the Document Object Model?
* Chapter 1: Document Object Model Core
* Chapter 2: Document Object Model HTML
* Chapter 3: Document Object Model Views
* Chapter 4: Document Object Model StyleSheets
* Chapter 5: Document Object Model CSS
* Chapter 6: Document Object Model Events
* Chapter 7: Document Object Model Traversal
* Chapter 8: Document Object Model Range
* Appendix A: Changes
* Appendix B: IDL Definitions
* Appendix C: Java Language Binding
* Appendix D: ECMA Script Language Binding
* Acknowledgments
* Glossary
* References
* Objects Index
* Index
Expanded Table of Contents
* Expanded Table of Contents
* Copyright Notice
* What is the Document Object Model?
o Introduction
o What the Document Object Model is
o What the Document Object Model is not
o Where the Document Object Model came from
o Entities and the DOM Core
o Compliance
o DOM Interfaces and DOM Implementations
* Chapter 1: Document Object Model Core
o 1.1. Overview of the DOM Core Interfaces
+ 1.1.1. The DOM Structure Model
+ 1.1.2. Memory Management
+ 1.1.3. Naming Conventions
+ 1.1.4. Inheritance vs Flattened Views of the API
+ 1.1.5. The DOMString type
+ 1.1.6. Case sensitivity in the DOM
+ 1.1.7. XML Namespaces
o 1.2. Fundamental Interfaces
o 1.3. Extended Interfaces
* Chapter 2: Document Object Model HTML
o 2.1. Introduction
o 2.2. HTML Application of Core DOM
+ 2.2.1. Naming Conventions
o 2.3. Miscellaneous Object Definitions
o 2.4. Objects related to HTML documents
o 2.5. HTML Elements
+ 2.5.1. Property Attributes
+ 2.5.2. Naming Exceptions
+ 2.5.3. Exposing Element Type Names (tagName)
+ 2.5.4. The HTMLElement interface
+ 2.5.5. Object definitions
* Chapter 3: Document Object Model Views
o 3.1. Introduction
o 3.2. Interfaces
* Chapter 4: Document Object Model StyleSheets
o 4.1. Introduction
o 4.2. Style Sheet Interfaces
o 4.3. Document Extensions
o 4.4. Association between a style sheet and a document.
* Chapter 5: Document Object Model CSS
o 5.1. Overview of the DOM Level 2 CSS Interfaces
o 5.2. CSS Fundamental Interfaces
+ 5.2.1. Override and computed style sheet
+ 5.2.2. Style sheet creation
o 5.3. CSS Extended Interfaces
o 5.4. HTML Extension
+ 5.4.1. HTMLElement inline style
o 5.5. Unresolved Issues
* Chapter 6: Document Object Model Events
o 6.1. Overview of the DOM Level 2 Event Model
+ 6.1.1. Terminology
o 6.2. Description of event flow
+ 6.2.1. Basic event flow
+ 6.2.2. Event Capture
+ 6.2.3. Event bubbling
+ 6.2.4. Event cancelation
o 6.3. Event listener registration
+ 6.3.1. Event registration interfaces
+ 6.3.2. Interaction with HTML 4.0 event listeners
o 6.4. Event interface
o 6.5. DocumentEvent interface
o 6.6. Event set definitions
+ 6.6.1. User Interface event types
+ 6.6.2. Mouse event types
+ 6.6.3. Key event types
+ 6.6.4. Mutation event types
+ 6.6.5. HTML event types
* Chapter 7: Document Object Model Traversal
o 7.1. Overview
+ 7.1.1. Iterators
+ 7.1.2. Filters
+ 7.1.3. TreeWalker
o 7.2. Formal Interface Definition
* Chapter 8: Document Object Model Range
o 8.1. Introduction
o 8.2. Definitions and Notation
+ 8.2.1. Position
+ 8.2.2. Selection and Partial Selection
+ 8.2.3. Notation
o 8.3. Creating a Range
o 8.4. Changing a Range's Position
o 8.5. Comparing Range End-Points
o 8.6. Deleting Content with a Range
o 8.7. Extracting Content
o 8.8. Cloning Content
o 8.9. Inserting Content
o 8.10. Surrounding Content
o 8.11. Miscellaneous Members
o 8.12. Range modification under document mutation
+ 8.12.1. Insertions
+ 8.12.2. Deletions
o 8.13. Formal Description of the Range Interface
* Appendix A: Changes
o A.1. Changes between DOM Level 1 and DOM Level 2
+ A.1.1. Changes to DOM Level 1 interfaces
+ A.1.2. New interfaces
* Appendix B: IDL Definitions
o B.1. Document Object Model Core
o B.2. Document Object Model HTML
o B.3. Document Object Model Views
o B.4. Document Object Model Stylesheets
o B.5. Document Object Model CSS
o B.6. Document Object Model Events
o B.7. Document Object Model Traversal
o B.8. Document Object Model Range
* Appendix C: Java Language Binding
o C.1. Document Object Model Core
o C.2. Document Object Model HTML
o C.3. Document Object Model Views
o C.4. Document Object Model Stylesheets
o C.5. Document Object Model CSS
o C.6. Document Object Model Events
o C.7. Document Object Model Traversal
o C.8. Document Object Model Range
* Appendix D: ECMA Script Language Binding
o D.1. Document Object Model Core
o D.2. Document Object Model HTML
o D.3. Document Object Model Views
o D.4. Document Object Model Stylesheets
o D.5. Document Object Model CSS
o D.6. Document Object Model Events
o D.7. Document Object Model Traversal
o D.8. Document Object Model Range
* Acknowledgments
* Glossary
* References
* Objects Index
* Index
Copyright Notice
Copyright © 1999 World Wide Web Consortium, (Massachusetts Institute of
Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
Documents on the W3C site are provided by the copyright holders under the
following license. By obtaining, using and/or copying this document, or the
W3C document from which this statement is linked, you agree that you have
read, understood, and will comply with the following terms and conditions:
Permission to use, copy, and distribute the contents of this document, or
the W3C document from which this statement is linked, in any medium for any
purpose and without fee or royalty is hereby granted, provided that you
include the following on ALL copies of the document, or portions thereof,
that you use:
1. A link or URI to the original W3C document.
2. The pre-existing copyright notice of the original author, if it doesn't
exist, a notice of the form: "Copyright © World Wide Web Consortium,
(Massachusetts Institute of Technology, Institut National de Recherche
en Informatique et en Automatique, Keio University). All Rights
Reserved."
3. If it exists, the STATUS of the W3C document.
When space permits, inclusion of the full text of this NOTICE should be
provided. In addition, credit shall be attributed to the copyright holders
for any software, documents, or other items or products that you create
pursuant to the implementation of the contents of this document, or any
portion thereof.
No right to create modifications or derivatives is granted pursuant to this
license.
THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE
FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT
INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE
PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
The name and trademarks of copyright holders may NOT be used in advertising
or publicity pertaining to this document or its contents without specific,
written prior permission. Title to copyright in this document will at all
times remain with copyright holders.
What is the Document Object Model?
Editors
Jonathan Robie, Software AG
Introduction
The Document Object Model (DOM) is an application programming interface
(API) for HTML and XML documents. It defines the logical structure of
documents and the way a document is accessed and manipulated. In the DOM
specification, the term "document" is used in the broad sense -
increasingly, XML is being used as a way of representing many different
kinds of information that may be stored in diverse systems, and much of this
would traditionally be seen as data rather than as documents. Nevertheless,
XML presents this data as documents, and the DOM may be used to manage this
data.
With the Document Object Model, programmers can build documents, navigate
their structure, and add, modify, or delete elements and content. Anything
found in an HTML or XML document can be accessed, changed, deleted, or added
using the Document Object Model, with a few exceptions - in particular, the
DOM interfaces for the XML internal and external subsets have not yet been
specified.
As a W3C specification, one important objective for the Document Object
Model is to provide a standard programming interface that can be used in a
wide variety of environments and applications. The DOM is designed to be
used with any programming language. In order to provide a precise,
language-independent specification of the DOM interfaces, we have chosen to
define the specifications in OMG IDL, as defined in the CORBA 2.2
specification [CORBA]. In addition to the OMG IDL specification, we provide
language bindings for Java and ECMAScript (an industry-standard scripting
language based on JavaScript and JScript) [Java] [ECMAScript]. Note: OMG IDL
is used only as a language-independent and implementation-neutral way to
specify interfaces. Various other IDLs could have been used. In general,
IDLs are designed for specific computing environments. The Document Object
Model can be implemented in any computing environment, and does not require
the object binding runtimes generally associated with such IDLs.
What the Document Object Model is
The DOM is a programming API for documents. It is based on an object
structure that closely resembles the structure of the documents it models.
For instance, consider this table, taken from an HTML document:
Shady Grove |
Aeolian |
Over the River, Charlie |
Dorian |
The DOM represents this table like this:
---------------------------------------------------------------------
[DOM representation of the example table]
---------------------------------------------------------------------
DOM representation of the example table
---------------------------------------------------------------------
In the DOM, documents have a logical structure which is very much like a
tree; to be more precise, it is like a "forest" or "grove", which can
contain more than one tree. Each document contains zero or one doctype
nodes, one root element node, and zero or more comments or processing
instructions; the root element serves as the root of the element tree for
the document. However, the DOM does not specify that documents must be
implemented as a tree or a grove, nor does it specify how the relationships
among objects be implemented. The DOM is a logical model that may be
implemented in any convenient manner. In this specification, we use the term
structure model to describe the tree-like representation of a document; we
specifically avoid terms like "tree" or "grove" in order to avoid implying a
particular implementation. One important property of DOM structure models is
structural isomorphism: if any two Document Object Model implementations are
used to create a representation of the same document, they will create the
same structure model, in accordance with the XML Information Set [Infoset].
The name "Document Object Model" was chosen because it is an "object model"
in the traditional object oriented design sense: documents are modeled using
objects, and the model encompasses not only the structure of a document, but
also the behavior of a document and the objects of which it is composed. In
other words, the nodes in the above diagram do not represent a data
structure, they represent objects, which have functions and identity. As an
object model, the DOM identifies:
* the interfaces and objects used to represent and manipulate a document
* the semantics of these interfaces and objects - including both behavior
and attributes
* the relationships and collaborations among these interfaces and objects
The structure of SGML documents has traditionally been represented by an
abstract data model, not by an object model. In an abstract data model, the
model is centered around the data. In object oriented programming languages,
the data itself is encapsulated in objects that hide the data, protecting it
from direct external manipulation. The functions associated with these
objects determine how the objects may be manipulated, and they are part of
the object model.
What the Document Object Model is not
This section is designed to give a more precise understanding of the DOM by
distinguishing it from other systems that may seem to be like it.
* The Document Object Model is not a binary specification. DOM programs
written in the same language will be source code compatible across
platforms, but the DOM does not define any form of binary
interoperability.
* The Document Object Model is not a way of persisting objects to XML or
HTML. Instead of specifying how objects may be represented in XML, the
DOM specifies how XML and HTML documents are represented as objects, so
that they may be used in object oriented programs.
* The Document Object Model is not a set of data structures, it is an
object model that specifies interfaces. Although this document contains
diagrams showing parent/child relationships, these are logical
relationships defined by the programming interfaces, not
representations of any particular internal data structures.
* The Document Object Model does not define what information in a
document is relevant or how information in a document is structured.
For XML, this is specified by the W3C XML Information Set [Infoset].
The DOM is simply an API to this information set.
* The Document Object Model, despite its name, is not a competitor to the
Component Object Model (COM). COM, like CORBA, is a language
independent way to specify interfaces and objects; the DOM is a set of
interfaces and objects designed for managing HTML and XML documents.
The DOM may be implemented using language-independent systems like COM
or CORBA; it may also be implemented using language-specific bindings
like the Java or ECMAScript bindings specified in this document.
Where the Document Object Model came from
The DOM originated as a specification to allow JavaScript scripts and Java
programs to be portable among Web browsers. "Dynamic HTML" was the immediate
ancestor of the Document Object Model, and it was originally thought of
largely in terms of browsers. However, when the DOM Working Group was formed
at W3C, it was also joined by vendors in other domains, including HTML or
XML editors and document repositories. Several of these vendors had worked
with SGML before XML was developed; as a result, the DOM has been influenced
by SGML Groves and the HyTime standard. Some of these vendors had also
developed their own object models for documents in order to provide an API
for SGML/XML editors or document repositories, and these object models have
also influenced the DOM.
Entities and the DOM Core
In the fundamental DOM interfaces, there are no objects representing
entities. Numeric character references, and references to the pre-defined
entities in HTML and XML, are replaced by the single character that makes up
the entity's replacement. For example, in:
This is a dog & a cat
the "&" will be replaced by the character "&", and the text in the P
element will form a single continuous sequence of characters. Since numeric
character references and pre-defined entities are not recognized as such in
CDATA sections, or the SCRIPT and STYLE elements in HTML, they are not
replaced by the single character they appear to refer to. If the example
above were enclosed in a CDATA section, the "&" would not be replaced by
"&"; neither would the be recognized as a start tag. The representation
of general entities, both internal and external, are defined within the
extended (XML) interfaces of the Level 1 specification.
Note: When a DOM representation of a document is serialized as XML or HTML
text, applications will need to check each character in text data to see if
it needs to be escaped using a numeric or pre-defined entity. Failing to do
so could result in invalid HTML or XML. Also, implementations should be
aware of the fact that serialization into a character encoding ("charset")
that does not fully cover ISO 10646 may fail if there are characters in
markup or CDATA sections that are not present in the encoding.
Compliance
The Document Object Model level 2 consists of several modules: Core, HTML,
Views, StyleSheets, CSS, Events, Traversal, and Range. The DOM Core
represents the functionality used for XML documents, and also serves as the
basis for DOM HTML.
A compliant implementation of the DOM must implement all of the fundamental
interfaces in the Core chapter with the semantics as defined. Further, it
must implement at least one of the HTML DOM and the extended (XML)
interfaces with the semantics as defined. The other modules are optional.
DOM Interfaces and DOM Implementations
The DOM specifies interfaces which may be used to manage XML or HTML
documents. It is important to realize that these interfaces are an
abstraction - much like "abstract base classes" in C++, they are a means of
specifying a way to access and manipulate an application's internal
representation of a document. Interfaces do not imply a particular concrete
implementation. Each DOM application is free to maintain documents in any
convenient representation, as long as the interfaces shown in this
specification are supported. Some DOM implementations will be existing
programs that use the DOM interfaces to access software written long before
the DOM specification existed. Therefore, the DOM is designed to avoid
implementation dependencies; in particular,
1. Attributes defined in the IDL do not imply concrete objects which must
have specific data members - in the language bindings, they are
translated to a pair of get()/set() functions, not to a data member.
Read-only attributes have only a get() function in the language
bindings.
2. DOM applications may provide additional interfaces and objects not
found in this specification and still be considered DOM compliant.
3. Because we specify interfaces and not the actual objects that are to be
created, the DOM can not know what constructors to call for an
implementation. In general, DOM users call the createXXX() methods on
the Document class to create document structures, and DOM
implementations create their own internal representations of these
structures in their implementations of the createXXX() functions.
1. Document Object Model Core
Editors
Arnaud Le Hors, W3C
Mike Champion, ArborText (for DOM Level 1 from November 20, 1997)
Steve Byrne, JavaSoft (for DOM Level 1 until November 19, 1997)
Gavin Nicol, Inso EPS (for DOM Level 1)
Lauren Wood, SoftQuad, Inc. (for DOM Level 1)
1.1. Overview of the DOM Core Interfaces
This section defines a minimal set of objects and interfaces for accessing
and manipulating document objects. The functionality specified in this
section (the Core functionality) is sufficient to allow software developers
and web script authors to access and manipulate parsed HTML and XML content
inside conforming products. The DOM Core API also allows creation and
population of a Document object using only DOM API calls; loading a Document
and saving it persistently is left to the product that implements the DOM
API.
1.1.1. The DOM Structure Model
The DOM presents documents as a hierarchy of Node objects that also
implement other, more specialized interfaces. Some types of nodes may have
child nodes of various types, and others are leaf nodes that cannot have
anything below them in the document structure. The node types, and which
node types they may have as children, are as follows:
* Document -- Element (maximum of one), ProcessingInstruction, Comment,
DocumentType
* DocumentFragment -- Element, ProcessingInstruction, Comment, Text,
CDATASection, EntityReference
* DocumentType -- no children
* EntityReference -- Element, ProcessingInstruction, Comment, Text,
CDATASection, EntityReference
* Element -- Element, Text, Comment, ProcessingInstruction, CDATASection,
EntityReference
* Attr -- Text, EntityReference
* ProcessingInstruction -- no children
* Comment -- no children
* Text -- no children
* CDATASection -- no children
* Entity -- Element, ProcessingInstruction, Comment, Text, CDATASection,
EntityReference
* Notation -- no children
The DOM also specifies a NodeList interface to handle ordered lists of
Nodes, such as the children of a Node, or the elements returned by the
getElementsByTagName method of the Element interface, and also a
NamedNodeMap interface to handle unordered sets of nodes referenced by their
name attribute, such as the attributes of an Element. NodeList and
NamedNodeMap objects in the DOM are "live", that is, changes to the
underlying document structure are reflected in all relevant NodeList and
NamedNodeMap objects. For example, if a DOM user gets a NodeList object
containing the children of an Element, then subsequently adds more children
to that element (or removes children, or modifies them), those changes are
automatically reflected in the NodeList, without further action on the
user's part. Likewise, changes to a Node in the tree are reflected in all
references to that Node in NodeList and NamedNodeMap objects.
Finally, the interfaces Text, Comment, and CDATASection all inherit from the
CharacterData interface.
1.1.2. Memory Management
Most of the APIs defined by this specification are interfaces rather than
classes. That means that an actual implementation need only expose methods
with the defined names and specified operation, not actually implement
classes that correspond directly to the interfaces. This allows the DOM APIs
to be implemented as a thin veneer on top of legacy applications with their
own data structures, or on top of newer applications with different class
hierarchies. This also means that ordinary constructors (in the Java or C++
sense) cannot be used to create DOM objects, since the underlying objects to
be constructed may have little relationship to the DOM interfaces. The
conventional solution to this in object-oriented design is to define factory
methods that create instances of objects that implement the various
interfaces. Objects implementing some interface "X" are created by a
"createX()" method on the Document interface; this is because all DOM
objects live in the context of a specific Document.
The DOM Level 2 API does not define a standard way to create
DOMImplementation objects; actual DOM implementations must provide some
proprietary way of bootstrapping these DOM interfaces, and then all other
objects can be built from there.
The Core DOM APIs are designed to be compatible with a wide range of
languages, including both general-user scripting languages and the more
challenging languages used mostly by professional programmers. Thus, the DOM
APIs need to operate across a variety of memory management philosophies,
from language platforms that do not expose memory management to the user at
all, through those (notably Java) that provide explicit constructors but
provide an automatic garbage collection mechanism to automatically reclaim
unused memory, to those (especially C/C++) that generally require the
programmer to explicitly allocate object memory, track where it is used, and
explicitly free it for re-use. To ensure a consistent API across these
platforms, the DOM does not address memory management issues at all, but
instead leaves these for the implementation. Neither of the explicit
language bindings devised by the DOM Working Group (for ECMAScript and Java)
require any memory management methods, but DOM bindings for other languages
(especially C or C++) may require such support. These extensions will be the
responsibility of those adapting the DOM API to a specific language, not the
DOM WG.
1.1.3. Naming Conventions
While it would be nice to have attribute and method names that are short,
informative, internally consistent, and familiar to users of similar APIs,
the names also should not clash with the names in legacy APIs supported by
DOM implementations. Furthermore, both OMG IDL and ECMAScript have
significant limitations in their ability to disambiguate names from
different namespaces that makes it difficult to avoid naming conflicts with
short, familiar names. So, DOM names tend to be long and quite descriptive
in order to be unique across all environments.
The Working Group has also attempted to be internally consistent in its use
of various terms, even though these may not be common distinctions in other
APIs. For example, we use the method name "remove" when the method changes
the structural model, and the method name "delete" when the method gets rid
of something inside the structure model. The thing that is deleted is not
returned. The thing that is removed may be returned, when it makes sense to
return it.
1.1.4. Inheritance vs Flattened Views of the API
The DOM Core APIs present two somewhat different sets of interfaces to an
XML/HTML document; one presenting an "object oriented" approach with a
hierarchy of inheritance, and a "simplified" view that allows all
manipulation to be done via the Node interface without requiring casts (in
Java and other C-like languages) or query interface calls in COM
environments. These operations are fairly expensive in Java and COM, and the
DOM may be used in performance-critical environments, so we allow
significant functionality using just the Node interface. Because many other
users will find the inheritance hierarchy easier to understand than the
"everything is a Node" approach to the DOM, we also support the full
higher-level interfaces for those who prefer a more object-oriented API.
In practice, this means that there is a certain amount of redundancy in the
API. The Working Group considers the "inheritance" approach the primary view
of the API, and the full set of functionality on Node to be "extra"
functionality that users may employ, but that does not eliminate the need
for methods on other interfaces that an object-oriented analysis would
dictate. (Of course, when the O-O analysis yields an attribute or method
that is identical to one on the Node interface, we don't specify a
completely redundant one). Thus, even though there is a generic nodeName
attribute on the Node interface, there is still a tagName attribute on the
Element interface; these two attributes must contain the same value, but the
Working Group considers it worthwhile to support both, given the different
constituencies the DOM API must satisfy.
1.1.5. The DOMString type
To ensure interoperability, the DOM specifies the following:
* Type Definition DOMString
A DOMString is a sequence of 16-bit units.
IDL Definition
typedef sequence DOMString;
* Applications must encode DOMString using UTF-16 (defined in Appendix
C.3 of [UNICODE] and Amendment 1 of [ISO-10646]).
The UTF-16 encoding was chosen because of its widespread industry
practice. Please note that for both HTML and XML, the document
character set (and therefore the notation of numeric character
references) is based on UCS [ISO-10646]. A single numeric character
reference in a source document may therefore in some cases correspond
to two 16-bit units in a DOMString (a high surrogate and a low
surrogate). Note: Even though the DOM defines the name of the string
type to be DOMString, bindings may use different names. For, example
for Java, DOMString is bound to the String type because it also uses
UTF-16 as its encoding.
Note: As of August 1998, the OMG IDL specification included a wstring type.
However, that definition did not meet the interoperability criteria of the
DOM API since it relied on encoding negotiation to decide the width of a
character.
1.1.6. Case sensitivity in the DOM
The DOM has many interfaces that imply string matching. HTML processors
generally assume an uppercase (less often, lowercase) normalization of names
for such things as elements, while XML is explicitly case sensitive. For the
purposes of the DOM, string matching is performed purely by binary
comparison of the 16-bit units of the DOMString. As such, the DOM assumes
that any normalizations take place in the processor, before the DOM
structures are built.
This then raises the issue of exactly what normalizations occur. The W3C
I18N working group is in the process of defining exactly which
normalizations are necessary for applications implementing the DOM.
1.1.7. XML Namespaces
The DOM Level 2 supports XML namespaces [Namespaces] by augmenting several
interfaces of the DOM Level 1 Core to allow creating and manipulating
elements and attributes associated to a namespace.
As far as the DOM is concerned, special attributes used for declaring XML
namespaces are still exposed and can be manipulated just like any other
attribute. Moving a node within a document, using the DOM, in no case
results in a change of its namespace prefix or namespace URI. Similarly,
creating a node with a namespace prefix and namespace URI, or changing the
namespace prefix of a node, does not result in any addition, removal, or
modification of any special attributes for declaring the appropriate XML
namespaces. Applications are therefore responsible for declaring every
namespace in use when saving a document into XML.
The new methods, such as createElementNS and createAttributeNS of the
Document interface, are meant to be used by namespace aware applications.
Simple applications that do not use namespaces can use the DOM Level 1
methods, such as createElement and createAttribute. Elements and attributes
created in this way do not have any namespace prefix or namespace URI.
1.2. Fundamental Interfaces
The interfaces within this section are considered fundamental, and must be
fully implemented by all conforming implementations of the DOM, including
all HTML DOM implementations, unless otherwise specified.
Exception DOMException
DOM operations only raise exceptions in "exceptional" circumstances,
i.e., when an operation is impossible to perform (either for logical
reasons, because data is lost, or because the implementation has become
unstable). In general, DOM methods return specific error values in
ordinary processing situation, such as out-of-bound errors when using
NodeList.
Implementations may raise other exceptions under other circumstances.
For example, implementations may raise an implementation-dependent
exception if a null argument is passed.
Some languages and object systems do not support the concept of
exceptions. For such systems, error conditions may be indicated using
native error reporting mechanisms. For some bindings, for example,
methods may return error codes similar to those listed in the
corresponding method descriptions.
IDL Definition
exception DOMException {
unsigned short code;
};
// ExceptionCode
const unsigned short INDEX_SIZE_ERR = 1;
const unsigned short DOMSTRING_SIZE_ERR = 2;
const unsigned short HIERARCHY_REQUEST_ERR = 3;
const unsigned short WRONG_DOCUMENT_ERR = 4;
const unsigned short INVALID_CHARACTER_ERR = 5;
const unsigned short NO_DATA_ALLOWED_ERR = 6;
const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7;
const unsigned short NOT_FOUND_ERR = 8;
const unsigned short NOT_SUPPORTED_ERR = 9;
const unsigned short INUSE_ATTRIBUTE_ERR = 10;
Definition group ExceptionCode
An integer indicating the type of error generated.
Defined Constants
INDEX_SIZE_ERR If index or size is negative, or
greater than the allowed value
DOMSTRING_SIZE_ERR If the specified range of text
does not fit into a DOMString
HIERARCHY_REQUEST_ERR If any node is inserted
somewhere it doesn't belong
If a node is used in a different
WRONG_DOCUMENT_ERR document than the one that
created it (that doesn't support
it)
INVALID_CHARACTER_ERR If an invalid character is
specified, such as in a name.
NO_DATA_ALLOWED_ERR If data is specified for a node
which does not support data
If an attempt is made to modify
NO_MODIFICATION_ALLOWED_ERR an object where modifications
are not allowed
If an attempt was made to
NOT_FOUND_ERR reference a node in a context
where it does not exist
If the implementation does not
NOT_SUPPORTED_ERR support the type of object
requested
If an attempt is made to add an
INUSE_ATTRIBUTE_ERR attribute that is already inuse
elsewhere
Interface DOMImplementation
The DOMImplementation interface provides a number of methods for
performing operations that are independent of any particular instance
of the document object model.
IDL Definition
interface DOMImplementation {
boolean hasFeature(in DOMString feature,
in DOMString version);
// Introduced in DOM Level 2:
DocumentType createDocumentType(in DOMString qualifiedName,
in DOMString publicID,
in DOMString systemID);
// Introduced in DOM Level 2:
Document createDocument(in DOMString namespaceURI,
in DOMString qualifiedName,
in DocumentType doctype)
raises(DOMException);
};
Methods
hasFeature
Test if the DOM implementation implements a specific feature.
Parameters
DOMString feature The package name of the feature to test
(case-insensitive). The legal values are
defined throughout this specification.
The DOM Level 2 includes "HTML", "XML",
as well as the several others.
DOMString version This is the version number of the package
name to test. In Level 2, this is the
string "2.0". If the version is not
specified, supporting any version of the
feature will cause the method to return
true.
Return Value
boolean true if the feature is implemented in the specified
version, false otherwise.
No Exceptions
createDocumentType introduced in DOM Level 2
Creates an empty DocumentType node. HTML-only DOM
implementations do not need to implement this method.
Parameters
DOMString qualifiedName The qualified name of the document
type to be created.
DOMString publicID The document type public
identifier.
DOMString systemID The document type system
identifier.
Return Value
DocumentType A new DocumentType node with Node.ownerDocument
set to null.
No Exceptions
createDocument introduced in DOM Level 2
Creates an XML Document object of the specified type with its
document element. HTML-only DOM implementations do not need
to implement this method.
Parameters
DOMString namespaceURI The namespace URI of the
document element to create, or
null.
DOMString qualifiedName The qualified name of the
document element to be created.
DocumentType doctype The type of document to be
created or null.
When doctype is not null, its
Node.ownerDocument attribute is
set to the document being
created.
Return Value
Document A new Document object.
Exceptions
DOMException WRONG_DOCUMENT_ERR: Raised if doctype has
already been used with a different document.
Interface DocumentFragment
DocumentFragment is a "lightweight" or "minimal" Document object. It is
very common to want to be able to extract a portion of a document's
tree or to create a new fragment of a document. Imagine implementing a
user command like cut or rearranging a document by moving fragments
around. It is desirable to have an object which can hold such fragments
and it is quite natural to use a Node for this purpose. While it is
true that a Document object could fulfill this role, a Document object
can potentially be a heavyweight object, depending on the underlying
implementation. What is really needed for this is a very lightweight
object. DocumentFragment is such an object.
Furthermore, various operations -- such as inserting nodes as children
of another Node -- may take DocumentFragment objects as arguments; this
results in all the child nodes of the DocumentFragment being moved to
the child list of this node.
The children of a DocumentFragment node are zero or more nodes
representing the tops of any sub-trees defining the structure of the
document. DocumentFragment nodes do not need to be well-formed XML
documents (although they do need to follow the rules imposed upon
well-formed XML parsed entities, which can have multiple top nodes).
For example, a DocumentFragment might have only one child and that
child node could be a Text node. Such a structure model represents
neither an HTML document nor a well-formed XML document.
When a DocumentFragment is inserted into a Document (or indeed any
other Node that may take children) the children of the DocumentFragment
and not the DocumentFragment itself are inserted into the Node. This
makes the DocumentFragment very useful when the user wishes to create
nodes that are siblings; the DocumentFragment acts as the parent of
these nodes so that the user can use the standard methods from the Node
interface, such as insertBefore and appendChild.
IDL Definition
interface DocumentFragment : Node {
};
Interface Document
The Document interface represents the entire HTML or XML document.
Conceptually, it is the root of the document tree, and provides the
primary access to the document's data.
Since elements, text nodes, comments, processing instructions, etc.
cannot exist outside the context of a Document, the Document interface
also contains the factory methods needed to create these objects. The
Node objects created have a ownerDocument attribute which associates
them with the Document within whose context they were created.
IDL Definition
interface Document : Node {
readonly attribute DocumentType doctype;
readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement;
Element createElement(in DOMString tagName)
raises(DOMException);
DocumentFragment createDocumentFragment();
Text createTextNode(in DOMString data);
Comment createComment(in DOMString data);
CDATASection createCDATASection(in DOMString data)
raises(DOMException);
ProcessingInstruction createProcessingInstruction(in DOMString target,
in DOMString data)
raises(DOMException);
Attr createAttribute(in DOMString name)
raises(DOMException);
EntityReference createEntityReference(in DOMString name)
raises(DOMException);
NodeList getElementsByTagName(in DOMString tagname);
// Introduced in DOM Level 2:
Node importNode(in Node importedNode,
in boolean deep)
raises(DOMException);
// Introduced in DOM Level 2:
Element createElementNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
Attr createAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
};
Attributes
doctype of type DocumentType, readonly
The Document Type Declaration (see DocumentType) associated
with this document. For HTML documents as well as XML
documents without a document type declaration this returns
null. The DOM Level 2 does not support editing the Document
Type Declaration, therefore docType cannot be altered in any
way, including through the use of methods, such as insertNode
or removeNode, inherited from Node.
implementation of type DOMImplementation, readonly
The DOMImplementation object that handles this document. A
DOM application may use objects from multiple
implementations.
documentElement of type Element, readonly
This is a convenience attribute that allows direct access to
the child node that is the root element of the document. For
HTML documents, this is the element with the tagName "HTML".
Methods
createElement
Creates an element of the type specified. Note that the
instance returned implements the Element interface, so
attributes can be specified directly on the returned object.
In addition, if there are known attributes with default
values, Attr nodes representing them are automatically
created and attached to the element.
To create an element with a qualified name and namespace URI,
use the createElementNS method.
Parameters
DOMString tagName The name of the element type to
instantiate. For XML, this is
case-sensitive. For HTML, the tagName
parameter may be provided in any case,
but it must be mapped to the canonical
uppercase form by the DOM implementation.
Return Value
Element A new Element object.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
createDocumentFragment
Creates an empty DocumentFragment object.
Return Value
DocumentFragment A new DocumentFragment.
No Parameters
No Exceptions
createTextNode
Creates a Text node given the specified string.
Parameters
DOMString data The data for the node.
Return Value
Text The new Text object.
No Exceptions
createComment
Creates a Comment node given the specified string.
Parameters
DOMString data The data for the node.
Return Value
Comment The new Comment object.
No Exceptions
createCDATASection
Creates a CDATASection node whose value is the specified
string.
Parameters
DOMString data The data for the CDATASection contents.
Return Value
CDATASection The new CDATASection object.
Exceptions
DOMException NOT_SUPPORTED_ERR: Raised if this document is
an HTML document.
createProcessingInstruction
Creates a ProcessingInstruction node given the specified name
and data strings.
Parameters
DOMString target The target part of the processing
instruction.
DOMString data The data for the node.
Return Value
ProcessingInstruction The new ProcessingInstruction object.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if an invalid
character is specified.
NOT_SUPPORTED_ERR: Raised if this document is
an HTML document.
createAttribute
Creates an Attr of the given name. Note that the Attr
instance can then be set on an Element using the setAttribute
method.
To create an attribute with a qualified name and namespace
URI, use the createAttributeNS method.
Parameters
DOMString name The name of the attribute.
Return Value
Attr A new Attr object.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
createEntityReference
Creates an EntityReference object.
Parameters
DOMString name The name of the entity to reference.
Return Value
EntityReference The new EntityReference object.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
NOT_SUPPORTED_ERR: Raised if this document is
an HTML document.
getElementsByTagName
Returns a NodeList of all the Elements with a given tag name
in the order in which they would be encountered in a preorder
traversal of the Document tree.
Parameters
DOMString tagname The name of the tag to match on. The
special value "*" matches all tags.
Return Value
NodeList A new NodeList object containing all the matched
Elements.
No Exceptions
importNode introduced in DOM Level 2
Imports a node from another document to this document. The
returned node has no parent (parentNode is null). The source
node is not altered or removed from the original document;
this method creates a new copy of the source node.
For all nodes, importing a node creates a node object owned
by the importing document, with attribute values identical to
the source node's nodeName and nodeType, plus the attributes
related to namespaces (prefix and namespaces URI). As in the
cloneNode operation on a Node, the source node is not
altered.
Additional information is copied as appropriate to the
nodeType, attempting to mirror the behavior expected if a
fragment of XML or HTML source was copied from one document
to another, recognizing that the two documents may have
different DTDs in the XML case. The following list describes
the specifics for every type of node.
ELEMENT_NODE
Specified attribute nodes of the source element are
imported, and the generated Attr nodes are attached to
the generated Element. Default attributes are not
copied, though if the document being imported into
defines default attributes for this element name, those
are assigned. If importNode deep parameter was set to
true, the descendants of the source element will be
recursively imported and the resulting nodes reassembled
to form the corresponding subtree.
ATTRIBUTE_NODE
The specified flag is set to true on the generated Attr.
The descendants of the the source Attr are recursively
imported and the resulting nodes reassembled to form the
corresponding subtree.
Note that the deep parameter does not apply to Attr
nodes; they always carry their children with them when
imported.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
These three types of nodes inheriting from CharacterData
copy their data and length attributes from those of the
source node.
ENTITY_REFERENCE_NODE
Only the EntityReference itself is copied, even if a
deep import is requested, since the source and
destination documents might have defined the entity
differently. If the document being imported into
provides a definition for this entity name, its value is
assigned.
ENTITY_NODE
Entity nodes can be imported, however in the current
release of the DOM the DocumentType is readonly. Ability
to add these imported nodes to a DocumentType will be
considered for addition to a future release of the DOM.
On import, the publicID, systemID, and notationName
attributes are copied. If a deep import is requested,
the descendants of the the source Entity is recursively
imported and the resulting nodes reassembled to form the
corresponding subtree.
PROCESSING_INSTRUCTION_NODE
The imported node copies its target and data values from
those of the source node.
DOCUMENT_NODE
Document nodes cannot be imported.
DOCUMENT_TYPE_NODE
DocumentType nodes cannot be imported.
DOCUMENT_FRAGMENT_NODE
If the deep option was set true, the descendants of the
source element will be recursively imported and the
resulting nodes reassembled to form the corresponding
subtree. Otherwise, this simply generates an empty
DocumentFragment.
NOTATION_NODE
Notation nodes be imported, however in the current
release of the DOM the DocumentType is readonly. Ability
to add these imported nodes to a DocumentType will be
considered for addition to a future release of the DOM.
On import, the publicID, and systemID attributes are
copied.
Note that the deep parameter does not apply to Notation
nodes since they never have any children.
Parameters
Node importedNode The node to import.
boolean deep If true, recursively import the
subtree under the specified node; if
false, import only the node itself, as
explained above. This does not apply
to Attr, EntityReference, and Notation
nodes.
Return Value
Node The imported node that belongs to this Document.
Exceptions
DOMException NOT_SUPPORTED_ERR: Raised if the type of node
being imported is not supported.
createElementNS introduced in DOM Level 2
Creates an element of the given qualified name and namespace
URI. HTML-only DOM implementations do not need to implement
this method.
Parameters
DOMString namespaceURI The namespace URI of the element to
create. When it is null or an empty
string, this method behaves like
createElement.
DOMString qualifiedName The qualified name of the element
type to instantiate.
Return Value
Element A new Element object with the following attributes:
Attribute Value
Node.nodeName qualifiedName
Node.namespaceNamenamespaceURI
Node.prefix prefix, extracted from
qualifiedName, or null if there
is no prefix
Node.localName local name, extracted from
qualifiedName
Element.tagName qualifiedName
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
createAttributeNS introduced in DOM Level 2
Creates an attribute of the given qualified name and
namespace URI. HTML-only DOM implementations do not need to
implement this method.
Parameters
DOMString namespaceURI The namespace URI of the attribute
to create. When it is null or an
empty string, this method behaves
like createAttribute.
DOMString qualifiedName The qualified name of the attribute
to instantiate.
Return Value
Attr A new Attr object with the following attributes:
Attribute Value
Node.nodeName qualifiedName
Node.namespaceNamenamespaceURI
Node.prefix prefix, extracted from
qualifiedName, or null if there is
no prefix
Node.localName local name, extracted from
qualifiedName
Attr.name qualifiedName
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
getElementsByTagNameNS introduced in DOM Level 2
Returns a NodeList of all the Elements with a given local
name and namespace URI in the order in which they would be
encountered in a preorder traversal of the Document tree.
Parameters
DOMString namespaceURI The namespace URI of the elements to
match on. The special value "*"
matches all namespaces. When it is
null or an empty string, this method
behaves like getElementsByTagName.
DOMString localName The local name of the elements to
match on. The special value "*"
matches all local names.
Return Value
NodeList A new NodeList object containing all the matched
Elements.
No Exceptions
Interface Node
The Node interface is the primary datatype for the entire Document
Object Model. It represents a single node in the document tree. While
all objects implementing the Node interface expose methods for dealing
with children, not all objects implementing the Node interface may have
children. For example, Text nodes may not have children, and adding
children to such nodes results in a DOMException being raised.
The attributes nodeName, nodeValue and attributes are included as a
mechanism to get at node information without casting down to the
specific derived interface. In cases where there is no obvious mapping
of these attributes for a specific nodeType (e.g., nodeValue for an
Element or attributes for a Comment), this returns null. Note that the
specialized interfaces may contain additional and more convenient
mechanisms to get and set the relevant information.
IDL Definition
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
readonly attribute DOMString nodeName;
attribute DOMString nodeValue;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned short nodeType;
readonly attribute Node parentNode;
readonly attribute NodeList childNodes;
readonly attribute Node firstChild;
readonly attribute Node lastChild;
readonly attribute Node previousSibling;
readonly attribute Node nextSibling;
readonly attribute NamedNodeMap attributes;
// Modified in DOM Level 2:
readonly attribute Document ownerDocument;
Node insertBefore(in Node newChild,
in Node refChild)
raises(DOMException);
Node replaceChild(in Node newChild,
in Node oldChild)
raises(DOMException);
Node removeChild(in Node oldChild)
raises(DOMException);
Node appendChild(in Node newChild)
raises(DOMException);
boolean hasChildNodes();
Node cloneNode(in boolean deep);
// Introduced in DOM Level 2:
boolean supports(in DOMString feature,
in DOMString version);
// Introduced in DOM Level 2:
readonly attribute DOMString namespaceURI;
// Introduced in DOM Level 2:
attribute DOMString prefix;
// raises(DOMException) on setting
// Introduced in DOM Level 2:
readonly attribute DOMString localName;
};
Definition group NodeType
An integer indicating which type of node this is.
Defined Constants
ELEMENT_NODE The node is a Element.
ATTRIBUTE_NODE The node is an Attr.
TEXT_NODE The node is a Text node.
CDATA_SECTION_NODE The node is a CDATASection.
ENTITY_REFERENCE_NODE The node is an EntityReference.
ENTITY_NODE The node is an Entity.
PROCESSING_INSTRUCTION_NODE The node is a
ProcessingInstruction.
COMMENT_NODE The node is a Comment.
DOCUMENT_NODE The node is a Document.
DOCUMENT_TYPE_NODE The node is a DocumentType.
DOCUMENT_FRAGMENT_NODE The node is a DocumentFragment.
NOTATION_NODE The node is a Notation.
The values of nodeName, nodeValue, and attributes vary according
to the node type as follows:
nodeName nodeValue attributes
Element tagName null NamedNodeMap
Attr name of attribute value of null
attribute
Text #text content of null
the text
node
CDATASection #cdata-section content of null
the CDATA
Section
EntityReference name of entity null null
referenced
Entity entity name null null
ProcessingInstructiontarget entire null
content
excluding
the target
Comment #comment content of null
the comment
Document #document null null
DocumentType document type name null null
DocumentFragment #document-fragment null null
Notation notation name null null
Attributes
nodeName of type DOMString, readonly
The name of this node, depending on its type; see the table
above.
nodeValue of type DOMString
The value of this node, depending on its type; see the table
above. When it is defined to be null, setting it has no
effect.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the
node is readonly.
Exceptions on retrieval
DOMException DOMSTRING_SIZE_ERR: Raised when it would return
more characters than fit in a DOMString
variable on the implementation platform.
nodeType of type unsigned short, readonly
A code representing the type of the underlying object, as
defined above.
parentNode of type Node, readonly
The parent of this node. All nodes, except Attr, Document,
DocumentFragment, Entity, and Notation may have a parent.
However, if a node has just been created and not yet added to
the tree, or if it has been removed from the tree, this is
null.
childNodes of type NodeList, readonly
A NodeList that contains all children of this node. If there
are no children, this is a NodeList containing no nodes. The
content of the returned NodeList is "live" in the sense that,
for instance, changes to the children of the node object that
it was created from are immediately reflected in the nodes
returned by the NodeList accessors; it is not a static
snapshot of the content of the node. This is true for every
NodeList, including the ones returned by the
getElementsByTagName method.
firstChild of type Node, readonly
The first child of this node. If there is no such node, this
returns null.
lastChild of type Node, readonly
The last child of this node. If there is no such node, this
returns null.
previousSibling of type Node, readonly
The node immediately preceding this node. If there is no such
node, this returns null.
nextSibling of type Node, readonly
The node immediately following this node. If there is no such
node, this returns null.
attributes of type NamedNodeMap, readonly
A NamedNodeMap containing the attributes of this node (if it
is an Element) or null otherwise.
ownerDocument of type Document, readonly, modified in DOM Level 2
The Document object associated with this node. This is also
the Document object used to create new nodes. When this node
is a Document or a DocumentType, which is not used with any
Document yet, this is null.
namespaceURI of type DOMString, readonly, introduced in DOM Level
2
The namespace URI of this node, or null if it is unspecified.
When this node is of any type other than ELEMENT_NODE and
ATTRIBUTE_NODE, this is always null and setting it has no
effect.
This is not a computed value that is the result of a
namespace lookup based on an examination of the namespace
declarations in scope. It is merely the namespace URI given
at creation time.
For nodes created with a DOM Level 1 method, such as
createElement from the Document interface, this is null.
prefix of type DOMString, introduced in DOM Level 2
The namespace prefix of this node, or null if it is
unspecified. When this node is of any type other than
ELEMENT_NODE and ATTRIBUTE_NODE this is always null and
setting it has no effect.
For nodes created with a DOM Level 1 method, such as
createElement from the Document interface, this is null.
Note that setting this attribute changes the nodeName
attribute, which holds the qualified name, as well as the
tagName and name attributes of the Element and Attr
interfaces, when applicable.
Exceptions on setting
DOMException INVALID_CHARACTER_ERR: Raised if the specified
prefix contains an invalid character.
localName of type DOMString, readonly, introduced in DOM Level 2
Returns the local part of the qualified name of this node.
For nodes created with a DOM Level 1 method, such as
createElement from the Document interface, and for nodes of
any type other than ELEMENT_NODE and ATTRIBUTE_NODE this is
the same as the nodeName attribute.
Methods
insertBefore
Inserts the node newChild before the existing child node
refChild. If refChild is null, insert newChild at the end of
the list of children.
If newChild is a DocumentFragment object, all of its children
are inserted, in the same order, before refChild. If the
newChild is already in the tree, it is first removed.
Parameters
Node newChild The node to insert.
Node refChild The reference node, i.e., the node before
which the new node must be inserted.
Return Value
Node The node being inserted.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if this node is
of a type that does not allow children of the
type of the newChild node, or if the node to
insert is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was
created from a different document than the one
that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
NOT_FOUND_ERR: Raised if refChild is not a
child of this node.
replaceChild
Replaces the child node oldChild with newChild in the list of
children, and returns the oldChild node. If the newChild is
already in the tree, it is first removed.
Parameters
Node newChild The new node to put in the child list.
Node oldChild The node being replaced in the list.
Return Value
Node The node replaced.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if this node is
of a type that does not allow children of the
type of the newChild node, or it the node to
put in is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was
created from a different document than the one
that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
NOT_FOUND_ERR: Raised if oldChild is not a
child of this node.
removeChild
Removes the child node indicated by oldChild from the list of
children, and returns it.
Parameters
Node oldChild The node being removed.
Return Value
Node The node removed.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
NOT_FOUND_ERR: Raised if oldChild is not a
child of this node.
appendChild
Adds the node newChild to the end of the list of children of
this node. If the newChild is already in the tree, it is
first removed.
Parameters
Node newChild The node to add.
If it is a DocumentFragment object, the
entire contents of the document fragment are
moved into the child list of this node
Return Value
Node The node added.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if this node is
of a type that does not allow children of the
type of the newChild node, or if the node to
append is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was
created from a different document than the one
that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
hasChildNodes
This is a convenience method to allow easy determination of
whether a node has any children.
Return Value
boolean true if the node has any children, false if the node
has no children.
No Parameters
No Exceptions
cloneNode
Returns a duplicate of this node, i.e., serves as a generic
copy constructor for nodes. The duplicate node has no parent
(parentNode returns null.).
Cloning an Element copies all attributes and their values,
including those generated by the XML processor to represent
defaulted attributes, but this method does not copy any text
it contains unless it is a deep clone, since the text is
contained in a child Text node. Cloning any other type of
node simply returns a copy of this node.
Parameters
boolean deep If true, recursively clone the subtree under
the specified node; if false, clone only the
node itself (and its attributes, if it is an
Element).
Return Value
Node The duplicate node.
No Exceptions
supports introduced in DOM Level 2
Tests whether the DOM implementation implements a specific
feature and that feature is supported by this node.
Parameters
DOMString feature The package name of the feature to test.
This is the same name as what can be
passed to the method hasFeature on
DOMImplementation.
DOMString version This is the version number of the package
name to test. In Level 2, version 1, this
is the string "2.0". If the version is
not specified, supporting any version of
the feature will cause the method to
return true.
Return Value
boolean Returns true if this node defines a subtree within
which the specified feature is supported, false
otherwise.
No Exceptions
Interface NodeList
The NodeList interface provides the abstraction of an ordered
collection of nodes, without defining or constraining how this
collection is implemented.
The items in the NodeList are accessible via an integral index,
starting from 0.
IDL Definition
interface NodeList {
Node item(in unsigned long index);
readonly attribute unsigned long length;
};
Attributes
length of type unsigned long, readonly
The number of nodes in the list. The range of valid child
node indices is 0 to length-1 inclusive.
Methods
item
Returns the indexth item in the collection. If index is
greater than or equal to the number of nodes in the list,
this returns null.
Parameters
unsigned long index Index into the collection.
Return Value
Node The node at the indexth position in the NodeList, or
null if that is not a valid index.
No Exceptions
Interface NamedNodeMap
Objects implementing the NamedNodeMap interface are used to represent
collections of nodes that can be accessed by name. Note that
NamedNodeMap does not inherit from NodeList; NamedNodeMaps are not
maintained in any particular order. Objects contained in an object
implementing NamedNodeMap may also be accessed by an ordinal index, but
this is simply to allow convenient enumeration of the contents of a
NamedNodeMap, and does not imply that the DOM specifies an order to
these Nodes.
IDL Definition
interface NamedNodeMap {
Node getNamedItem(in DOMString name);
Node setNamedItem(in Node arg)
raises(DOMException);
Node removeNamedItem(in DOMString name)
raises(DOMException);
Node item(in unsigned long index);
readonly attribute unsigned long length;
// Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
Node removeNamedItemNS(in DOMString namespaceURI,
in DOMString name)
raises(DOMException);
};
Attributes
length of type unsigned long, readonly
The number of nodes in the map. The range of valid child node
indices is 0 to length-1 inclusive.
Methods
getNamedItem
Retrieves a node specified by name.
Parameters
DOMString name Name of a node to retrieve.
Return Value
Node A Node (of any type) with the specified name, or null
if the specified name did not identify any node in the
map.
No Exceptions
setNamedItem
Adds a node using its nodeName attribute, which is the
qualified name when applicable.
As the nodeName attribute is used to derive the name which
the node must be stored under, multiple nodes of certain
types (those that have a "special" string value) cannot be
stored as the names would clash. This is seen as preferable
to allowing nodes to be aliased.
Parameters
Node arg A node to store in a named node map. The node will
later be accessible using the value of the
nodeName attribute of the node. If a node with
that name is already present in the map, it is
replaced by the new one.
Return Value
Node If the new Node replaces an existing node with the same
name the previously existing Node is returned,
otherwise null is returned.
Exceptions
DOMException WRONG_DOCUMENT_ERR: Raised if arg was created
from a different document than the one that
created the NamedNodeMap.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
NamedNodeMap is readonly.
INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr
that is already an attribute of another Element
object. The DOM user must explicitly clone Attr
nodes to re-use them in other elements.
removeNamedItem
Removes a node specified by name.
Parameters
DOMString name The name of a node to remove. When this
NamedNodeMap contains the attributes
attached to an element, as returned by the
attributes attribute of the Node interface,
if the removed attribute is known to have a
default value, an attribute immediately
appears containing the default value.
Return Value
Node The node removed from the map if a node with such a
name exists.
Exceptions
DOMException NOT_FOUND_ERR: Raised if there is no node named
name in the map.
item
Returns the indexth item in the map. If index is greater than
or equal to the number of nodes in the map, this returns
null.
Parameters
unsigned long index Index into the map.
Return Value
Node The node at the indexth position in the NamedNodeMap,
or null if that is not a valid index.
No Exceptions
getNamedItemNS introduced in DOM Level 2
Retrieves a node specified by local name and namespace URI.
HTML-only DOM implementations do not need to implement this
method.
Parameters
DOMString namespaceURI The namespace URI of the node to
retrieve. When it is null or an
empty string, this method behaves
like getNamedItem.
DOMString localName The local name of the node to
retrieve.
Return Value
Node A Node (of any type) with the specified name, or null
if the specified name did not identify any node in the
map.
No Exceptions
removeNamedItemNS introduced in DOM Level 2
Removes a node specified by local name and namespace URI.
HTML-only DOM implementations do not need to implement this
method.
Parameters
DOMString namespaceURI The namespace URI of the node to
remove. When it is null or an empty
string, this method behaves like
removeNamedItem.
DOMString name The local name of the node to
remove. When this NamedNodeMap
contains the attributes attached to
an element, as returned by the
attributes attribute of the Node
interface, if the removed attribute
is known to have a default value, an
attribute immediately appears
containing the default value.
Return Value
Node The node removed from the map if a node with such a
local name and namespace URI exists.
Exceptions
DOMException NOT_FOUND_ERR: Raised if there is no node named
name in the map.
Interface CharacterData
The CharacterData interface extends Node with a set of attributes and
methods for accessing character data in the DOM. For clarity this set
is defined here rather than on each object that uses these attributes
and methods. No DOM objects correspond directly to CharacterData,
though Text and others do inherit the interface from it. All offsets in
this interface start from 0.
IDL Definition
interface CharacterData : Node {
attribute DOMString data;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned long length;
DOMString substringData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void appendData(in DOMString arg)
raises(DOMException);
void insertData(in unsigned long offset,
in DOMString arg)
raises(DOMException);
void deleteData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void replaceData(in unsigned long offset,
in unsigned long count,
in DOMString arg)
raises(DOMException);
};
Attributes
data of type DOMString
The character data of the node that implements this
interface. The DOM implementation may not put arbitrary
limits on the amount of data that may be stored in a
CharacterData node. However, implementation limits may mean
that the entirety of a node's data may not fit into a single
DOMString. In such cases, the user may call substringData to
retrieve the data in appropriately sized pieces.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the
node is readonly.
Exceptions on retrieval
DOMException DOMSTRING_SIZE_ERR: Raised when it would return
more characters than fit in a DOMString
variable on the implementation platform.
length of type unsigned long, readonly
The number of 16-bit units that are available through data
and the substringData method below. This may have the value
zero, i.e., CharacterData nodes may be empty.
Methods
substringData
Extracts a range of data from the node.
Parameters
unsigned long offset Start offset of substring to extract.
unsigned long count The number of 16-bit units to extract.
Return Value
DOMString The specified substring. If the sum of offset and
count exceeds the length, then all 16-bit units to
the end of the data are returned.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of
16-bit units in data, or if the specified count
is negative.
DOMSTRING_SIZE_ERR: Raised if the specified
range of text does not fit into a DOMString.
appendData
Append the string to the end of the character data of the
node. Upon success, data provides access to the concatenation
of data and the DOMString specified.
Parameters
DOMString arg The DOMString to append.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
insertData
Insert a string at the specified character offset.
Parameters
unsigned long offset The character offset at which to
insert.
DOMString arg The DOMString to insert.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of
16-bit units in data.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
deleteData
Remove a range of 16-bit units from the node. Upon success,
data and length reflect the change.
Parameters
unsigned long offset The offset from which to start
removing.
unsigned long count The number of 16-bit units to delete.
If the sum of offset and count exceeds
length then all 16-bit units from
offset to the end of the data are
deleted.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of
16-bit units in data, or if the specified count
is negative.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
replaceData
Replace the characters starting at the specified 16-bit unit
offset with the specified string.
Parameters
unsigned long offset The offset from which to start
replacing.
unsigned long count The number of 16-bit units to replace.
If the sum of offset and count exceeds
length, then all 16-bit units to the
end of the data are replaced (i.e.,
the effect is the same as a remove
method call with the same range,
followed by an append method
invocation).
DOMString arg The DOMString with which the range
must be replaced.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of
16-bit units in data, or if the specified count
is negative.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
Interface Attr
The Attr interface represents an attribute in an Element object.
Typically the allowable values for the attribute are defined in a
document type definition.
Attr objects inherit the Node interface, but since they are not
actually child nodes of the element they describe, the DOM does not
consider them part of the document tree. Thus, the Node attributes
parentNode, previousSibling, and nextSibling have a null value for Attr
objects. The DOM takes the view that attributes are properties of
elements rather than having a separate identity from the elements they
are associated with; this should make it more efficient to implement
such features as default attributes associated with all elements of a
given type. Furthermore, Attr nodes may not be immediate children of a
DocumentFragment. However, they can be associated with Element nodes
contained within a DocumentFragment. In short, users and implementors
of the DOM need to be aware that Attr nodes have some things in common
with other objects inheriting the Node interface, but they also are
quite distinct.
The attribute's effective value is determined as follows: if this
attribute has been explicitly assigned any value, that value is the
attribute's effective value; otherwise, if there is a declaration for
this attribute, and that declaration includes a default value, then
that default value is the attribute's effective value; otherwise, the
attribute does not exist on this element in the structure model until
it has been explicitly added. Note that the nodeValue attribute on the
Attr instance can also be used to retrieve the string version of the
attribute's value(s).
In XML, where the value of an attribute can contain entity references,
the child nodes of the Attr node provide a representation in which
entity references are not expanded. These child nodes may be either
Text or EntityReference nodes. Because the attribute type may be
unknown, there are no tokenized attribute values.
IDL Definition
interface Attr : Node {
readonly attribute DOMString name;
readonly attribute boolean specified;
attribute DOMString value;
// raises(DOMException) on setting
// Introduced in DOM Level 2:
readonly attribute Element ownerElement;
};
Attributes
name of type DOMString, readonly
Returns the name of this attribute.
specified of type boolean, readonly
If this attribute was explicitly given a value in the
original document, this is true; otherwise, it is false. Note
that the implementation is in charge of this attribute, not
the user. If the user changes the value of the attribute
(even if it ends up having the same value as the default
value) then the specified flag is automatically flipped to
true. To re-specify the attribute as the default value from
the DTD, the user must delete the attribute. The
implementation will then make a new attribute available with
specified set to false and the default value (if one exists).
In summary:
+ If the attribute has an assigned value in the document
then specified is true, and the value is the assigned
value.
+ If the attribute has no assigned value in the document
and has a default value in the DTD, then specified is
false, and the value is the default value in the DTD.
+ If the attribute has no assigned value in the document
and has a value of #IMPLIED in the DTD, then the
attribute does not appear in the structure model of the
document.
value of type DOMString
On retrieval, the value of the attribute is returned as a
string. Character and general entity references are replaced
with their values.
On setting, this creates a Text node with the unparsed
contents of the string.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the
node is readonly.
ownerElement of type Element, readonly, introduced in DOM Level 2
The Element node this attribute is attached to or null if
this attribute is not in use.
Interface Element
By far the vast majority of objects (apart from text) that authors
encounter when traversing a document are Element nodes. Assume the
following XML document:
When represented using DOM, the top node is a Document node containing
an Element node for "elementExample" which contains two child Element
nodes, one for "subelement1" and one for "subelement2". "subelement1"
contains no child nodes.
Elements may have attributes associated with them; since the Element
interface inherits from Node, the generic Node interface attribute
attributes may be used to retrieve the set of all attributes for an
element. There are methods on the Element interface to retrieve either
an Attr object by name or an attribute value by name. In XML, where an
attribute value may contain entity references, an Attr object should be
retrieved to examine the possibly fairly complex sub-tree representing
the attribute value. On the other hand, in HTML, where all attributes
have simple string values, methods to directly access an attribute
value can safely be used as a convenience.
IDL Definition
interface Element : Node {
readonly attribute DOMString tagName;
DOMString getAttribute(in DOMString name);
void setAttribute(in DOMString name,
in DOMString value)
raises(DOMException);
void removeAttribute(in DOMString name)
raises(DOMException);
Attr getAttributeNode(in DOMString name);
Attr setAttributeNode(in Attr newAttr)
raises(DOMException);
Attr removeAttributeNode(in Attr oldAttr)
raises(DOMException);
NodeList getElementsByTagName(in DOMString name);
void normalize();
// Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI,
in DOMString localName,
in DOMString value)
raises(DOMException);
// Introduced in DOM Level 2:
void removeAttributeNS(in DOMString namespacURI,
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
Attr setAttributeNodeNS(in Attr newAttr)
raises(DOMException);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
};
Attributes
tagName of type DOMString, readonly
The name of the element. For example, in:
...
,
tagName has the value "elementExample". Note that this is
case-preserving in XML, as are all of the operations of the
DOM. The HTML DOM returns the tagName of an HTML element in
the canonical uppercase form, regardless of the case in the
source HTML document.
Methods
getAttribute
Retrieves an attribute value by name.
Parameters
DOMString name The name of the attribute to retrieve.
Return Value
DOMString The Attr value as a string, or the empty string if
that attribute does not have a specified or
default value.
No Exceptions
setAttribute
Adds a new attribute. If an attribute with that name is
already present in the element, its value is changed to be
that of the value parameter. This value is a simple string,
it is not parsed as it is being set. So any markup (such as
syntax to be recognized as an entity reference) is treated as
literal text, and needs to be appropriately escaped by the
implementation when it is written out. In order to assign an
attribute value that contains entity references, the user
must create an Attr node plus any Text and EntityReference
nodes, build the appropriate subtree, and use
setAttributeNode to assign it as the value of an attribute.
Parameters
DOMString name The name of the attribute to create or
alter.
DOMString value Value to set in string form.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
removeAttribute
Removes an attribute by name. If the removed attribute is
known to have a default value, an attribute immediately
appears containing the default value.
Parameters
DOMString name The name of the attribute to remove.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
getAttributeNode
Retrieves an Attr node by name.
Parameters
DOMString name The name of the attribute to retrieve.
Return Value
Attr The Attr node with the specified attribute name or null
if there is no such attribute.
No Exceptions
setAttributeNode
Adds a new attribute. If an attribute with that name is
already present in the element, it is replaced by the new
one.
Parameters
Attr newAttr The Attr node to add to the attribute list.
Return Value
Attr If the newAttr attribute replaces an existing attribute
with the same name, the previously existing Attr node
is returned, otherwise null is returned.
Exceptions
DOMException WRONG_DOCUMENT_ERR: Raised if newAttr was
created from a different document than the one
that created the element.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
INUSE_ATTRIBUTE_ERR: Raised if newAttr is
already an attribute of another Element object.
The DOM user must explicitly clone Attr nodes
to re-use them in other elements.
removeAttributeNode
Removes the specified attribute.
Parameters
Attr oldAttr The Attr node to remove from the attribute
list. If the removed Attr has a default value
it is immediately replaced.
Return Value
Attr The Attr node that was removed.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
NOT_FOUND_ERR: Raised if oldAttr is not an
attribute of the element.
getElementsByTagName
Returns a NodeList of all descendant elements with a given
tag name, in the order in which they would be encountered in
a preorder traversal of the Element tree.
Parameters
DOMString name The name of the tag to match on. The special
value "*" matches all tags.
Return Value
NodeList A list of matching Element nodes.
No Exceptions
normalize
Puts all Text nodes in the full depth of the sub-tree
underneath this Element into a "normal" form where only
markup (e.g., tags, comments, processing instructions, CDATA
sections, and entity references) separates Text nodes, i.e.,
there are no adjacent Text nodes. This can be used to ensure
that the DOM view of a document is the same as if it were
saved and re-loaded, and is useful when operations (such as
XPointer lookups) that depend on a particular document tree
structure are to be used.
No Parameters
No Return Value
No Exceptions
getAttributeNS introduced in DOM Level 2
Retrieves an attribute value by local name and namespace URI.
HTML-only DOM implementations do not need to implement this
method.
Parameters
DOMString namespaceURI The namespace URI of the attribute
to retrieve. When it is null or an
empty string, this method behaves
like getAttribute.
DOMString localName The local name of the attribute to
retrieve.
Return Value
DOMString The Attr value as a string, or an empty string if
that attribute does not have a specified or
default value.
No Exceptions
setAttributeNS introduced in DOM Level 2
Adds a new attribute. If an attribute with that local name
and namespace URI is already present in the element, its
value is changed to be that of the value parameter. This
value is a simple string, it is not parsed as it is being
set. So any markup (such as syntax to be recognized as an
entity reference) is treated as literal text, and needs to be
appropriately escaped by the implementation when it is
written out. In order to assign an attribute value that
contains entity references, the user must create an Attr node
plus any Text and EntityReference nodes, build the
appropriate subtree, and use setAttributeNodeNS or
setAttributeNode to assign it as the value of an attribute.
HTML-only DOM implementations do not need to implement this
method.
Parameters
DOMString namespaceURI The namespace URI of the attribute
to create or alter. When it is null
or an empty string, this method
behaves like getAttribute.
DOMString localName The local name of the attribute to
create or alter.
DOMString value The value to set in string form.
Exceptions
DOMException INVALID_CHARACTER_ERR: Raised if the specified
name contains an invalid character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
removeAttributeNS introduced in DOM Level 2
Removes an attribute by local name and namespace URI. If the
removed attribute has a default value it is immediately
replaced. HTML-only DOM implementations do not need to
implement this method.
Parameters
DOMString namespacURI The namespace URI of the attribute to
remove. When it is null or an empty
string, this method behaves like
removeAttribute.
DOMString localName The local name of the attribute to
remove.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
No Return Value
getAttributeNodeNS introduced in DOM Level 2
Retrieves an Attr node by local name and namespace URI.
HTML-only DOM implementations do not need to implement this
method.
Parameters
DOMString namespaceURI The namespace URI of the attribute
to retrieve. When it is null or an
empty string, this method behaves
like getAttributeNode.
DOMString localName The local name of the attribute to
retrieve.
Return Value
Attr The Attr node with the specified attribute local name
and namespace URI or null if there is no such
attribute.
No Exceptions
setAttributeNodeNS introduced in DOM Level 2
Adds a new attribute. If an attribute with that local name
and namespace URI is already present in the element, it is
replaced by the new one. HTML-only DOM implementations do not
need to implement this method.
Parameters
Attr newAttr The Attr node to add to the attribute list.
When the node has no namespaceURI, this method
behaves like setAttributeNode.
Return Value
Attr If the newAttr attribute replaces an existing attribute
with the same local name and namespace URI, the
previously existing Attr node is returned, otherwise
null is returned.
Exceptions
DOMException WRONG_DOCUMENT_ERR: Raised if newAttr was
created from a different document than the one
that created the element.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
INUSE_ATTRIBUTE_ERR: Raised if newAttr is
already an attribute of another ElementNS
object. The DOM user must explicitly clone Attr
nodes to re-use them in other elements.
getElementsByTagNameNS introduced in DOM Level 2
Returns a NodeList of all the Elements with a given local
name and namespace URI in the order in which they would be
encountered in a preorder traversal of the Document tree,
starting from this node. HTML-only DOM implementations do not
need to implement this method.
Parameters
DOMString namespaceURI The namespace URI of the elements to
match on. The special value "*"
matches all namespaces. When it is
null or an empty string, this method
behaves like getElementsByTagName.
DOMString localName The local name of the elements to
match on. The special value "*"
matches all local names.
Return Value
NodeList A new NodeList object containing all the matched
Elements.
No Exceptions
Interface Text
The Text interface inherits from CharacterData and represents the
textual content (termed character data in XML) of an Element or Attr.
If there is no markup inside an element's content, the text is
contained in a single object implementing the Text interface that is
the only child of the element. If there is markup, it is parsed into a
list of elements and Text nodes that form the list of children of the
element.
When a document is first made available via the DOM, there is only one
Text node for each block of text. Users may create adjacent Text nodes
that represent the contents of a given element without any intervening
markup, but should be aware that there is no way to represent the
separations between these nodes in XML or HTML, so they will not (in
general) persist between DOM editing sessions. The normalize() method
on Element merges any such adjacent Text objects into a single node for
each block of text; this is recommended before employing operations
that depend on a particular document structure, such as navigation with
XPointers.
IDL Definition
interface Text : CharacterData {
Text splitText(in unsigned long offset)
raises(DOMException);
};
Methods
splitText
Breaks this Text node into two Text nodes at the specified
offset, keeping both in the tree as siblings. This node then
only contains all the content up to the offset point. And a
new Text node, which is inserted as the next sibling of this
node, contains all the content at and after the offset point.
Parameters
unsigned long offset The 16-bit unit offset at which to
split, starting from 0.
Return Value
Text The new Text node.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of
16-bit units in data.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
node is readonly.
Interface Comment
This interface inherits from CharacterData and represents the content
of a comment, i.e., all the characters between the starting ''. Note that this is the definition of a comment in XML,
and, in practice, HTML, although some HTML tools may implement the full
SGML comment structure.
IDL Definition
interface Comment : CharacterData {
};
1.3. Extended Interfaces
The interfaces defined here form part of the DOM Core specification, but
objects that expose these interfaces will never be encountered in a DOM
implementation that deals only with HTML. As such, HTML-only DOM
implementations do not need to have objects that implement these interfaces.
A DOM application can use the hasFeature method of the DOMImplementation
interface to determine whether they are supported or not. The feature string
for all the interfaces listed in this section is "XML".
Interface CDATASection
CDATA sections are used to escape blocks of text containing characters
that would otherwise be regarded as markup. The only delimiter that is
recognized in a CDATA section is the "]]>" string that ends the CDATA
section. CDATA sections can not be nested. The primary purpose is for
including material such as XML fragments, without needing to escape all
the delimiters.
The DOMString attribute of the Text node holds the text that is
contained by the CDATA section. Note that this may contain characters
that need to be escaped outside of CDATA sections and that, depending
on the character encoding ("charset") chosen for serialization, it may
be impossible to write out some characters as part of a CDATA section.
The CDATASection interface inherits from the CharacterData interface
through the Text interface. Adjacent CDATASections nodes are not merged
by use of the normalize method of the Element interface.
IDL Definition
interface CDATASection : Text {
};
Interface DocumentType
Each Document has a doctype attribute whose value is either null or a
DocumentType object. The DocumentType interface in the DOM Core
provides an interface to the list of entities that are defined for the
document, and little else because the effect of namespaces and the
various XML scheme efforts on DTD representation are not clearly
understood as of this writing.
The DOM Level 2 doesn't support editing DocumentType nodes.
IDL Definition
interface DocumentType : Node {
readonly attribute DOMString name;
readonly attribute NamedNodeMap entities;
readonly attribute NamedNodeMap notations;
// Introduced in DOM Level 2:
readonly attribute DOMString publicID;
// Introduced in DOM Level 2:
readonly attribute DOMString systemID;
};
Attributes
name of type DOMString, readonly
The name of DTD; i.e., the name immediately following the
DOCTYPE keyword.
entities of type NamedNodeMap, readonly
A NamedNodeMap containing the general entities, both external
and internal, declared in the DTD. Duplicates are discarded.
For example in:
]>
the interface provides access to foo and bar but not baz.
Every node in this map also implements the Entity interface.
The DOM Level 2 does not support editing entities, therefore
entities cannot be altered in any way.
notations of type NamedNodeMap, readonly
A NamedNodeMap containing the notations declared in the DTD.
Duplicates are discarded. Every node in this map also
implements the Notation interface.
The DOM Level 2 does not support editing notations, therefore
notations cannot be altered in any way.
publicID of type DOMString, readonly, introduced in DOM Level 2
The public identifier of this document type.
systemID of type DOMString, readonly, introduced in DOM Level 2
The system identifier of this document type.
Interface Notation
This interface represents a notation declared in the DTD. A notation
either declares, by name, the format of an unparsed entity (see section
4.7 of the XML 1.0 specification), or is used for formal declaration of
Processing Instruction targets (see section 2.6 of the XML 1.0
specification). The nodeName attribute inherited from Node is set to
the declared name of the notation.
The DOM Level 1 does not support editing Notation nodes; they are
therefore readonly.
A Notation node does not have any parent.
IDL Definition
interface Notation : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
};
Attributes
publicId of type DOMString, readonly
The public identifier of this notation. If the public
identifier was not specified, this is null.
systemId of type DOMString, readonly
The system identifier of this notation. If the system
identifier was not specified, this is null.
Interface Entity
This interface represents an entity, either parsed or unparsed, in an
XML document. Note that this models the entity itself not the entity
declaration. Entity declaration modeling has been left for a later
Level of the DOM specification.
The nodeName attribute that is inherited from Node contains the name of
the entity.
An XML processor may choose to completely expand entities before the
structure model is passed to the DOM; in this case there will be no
EntityReference nodes in the document tree.
XML does not mandate that a non-validating XML processor read and
process entity declarations made in the external subset or declared in
external parameter entities. This means that parsed entities declared
in the external subset need not be expanded by some classes of
applications, and that the replacement value of the entity may not be
available. When the replacement value is available, the corresponding
Entity node's child list represents the structure of that replacement
text. Otherwise, the child list is empty.
The resolution of the children of the Entity (the replacement value)
may be lazily evaluated; actions by the user (such as calling the
childNodes method on the Entity Node) are assumed to trigger the
evaluation.
The DOM Level 2 does not support editing Entity nodes; if a user wants
to make changes to the contents of an Entity, every related
EntityReference node has to be replaced in the structure model by a
clone of the Entity's contents, and then the desired changes must be
made to each of those clones instead. All the descendants of an Entity
node are readonly.
An Entity node does not have any parent.
IDL Definition
interface Entity : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString notationName;
};
Attributes
publicId of type DOMString, readonly
The public identifier associated with the entity, if
specified. If the public identifier was not specified, this
is null.
systemId of type DOMString, readonly
The system identifier associated with the entity, if
specified. If the system identifier was not specified, this
is null.
notationName of type DOMString, readonly
For unparsed entities, the name of the notation for the
entity. For parsed entities, this is null.
Interface EntityReference
EntityReference objects may be inserted into the structure model when
an entity reference is in the source document, or when the user wishes
to insert an entity reference. Note that character references and
references to predefined entities are considered to be expanded by the
HTML or XML processor so that characters are represented by their
Unicode equivalent rather than by an entity reference. Moreover, the
XML processor may completely expand references to entities while
building the structure model, instead of providing EntityReference
objects. If it does provide such objects, then for a given
EntityReference node, it may be that there is no Entity node
representing the referenced entity; but if such an Entity exists, then
the child list of the EntityReference node is the same as that of the
Entity node. As with the Entity node, all descendants of the
EntityReference are readonly.
The resolution of the children of the EntityReference (the replacement
value of the referenced Entity) may be lazily evaluated; actions by the
user (such as calling the childNodes method on the EntityReference
node) are assumed to trigger the evaluation.
IDL Definition
interface EntityReference : Node {
};
Interface ProcessingInstruction
The ProcessingInstruction interface represents a "processing
instruction", used in XML as a way to keep processor-specific
information in the text of the document.
IDL Definition
interface ProcessingInstruction : Node {
readonly attribute DOMString target;
attribute DOMString data;
// raises(DOMException) on setting
};
Attributes
target of type DOMString, readonly
The target of this processing instruction. XML defines this
as being the first token following the markup that begins the
processing instruction.
data of type DOMString
The content of this processing instruction. This is from the
first non white space character after the target to the
character immediately preceding the ?>.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised when the
node is readonly.
2. Document Object Model HTML
Editors
Arnaud Le Hors, W3C
Mike Champion, ArborText (for DOM Level 1)
Vidur Apparao, Netscape (for DOM Level 1)
Scott Isaacs, Microsoft (for DOM Level 1 until January 1998)
Chris Wilson, Microsoft (for DOM Level 1 after January 1998)
Ian Jacobs, W3C (for DOM Level 1)
2.1. Introduction
This section extends the Core API to describe objects and methods specific
to HTML documents. In general, the functionality needed to manipulate
hierarchical document structures, elements, and attributes will be found in
the core section; functionality that depends on the specific elements
defined in HTML will be found in this section.
The goals of the HTML-specific DOM API are:
* to specialize and add functionality that relates specifically to HTML
documents and elements.
* to address issues of backwards compatibility with the DOM Level 0.
* to provide convenience mechanisms, where appropriate, for common and
frequent operations on HTML documents.
The key differences between the core DOM and the HTML application of DOM is
that the HTML Document Object Model exposes a number of convenience methods
and properties that are consistent with the existing models and are more
appropriate to script writers. In many cases, these enhancements are not
applicable to a general DOM because they rely on the presence of a
predefined DTD. The transitional and frameset DTDs for HTML 4.0 are assumed.
Interoperability between implementations is only guaranteed for elements and
attributes that are specified in these DTDs.
More specifically, this document includes the following specializations for
HTML:
* An HTMLDocument interface, derived from the core Document interface.
HTMLDocument specifies the operations and queries that can be made on a
HTML document.
* An HTMLElement interface, derived from the core Element interface.
HTMLElement specifies the operations and queries that can be made on
any HTML element. Methods on HTMLElement include those that allow for
the retrieval and modification of attributes that apply to all HTML
elements.
* Specializations for all HTML elements that have attributes that extend
beyond those specified in the HTMLElement interface. For all such
attributes, the derived interface for the element contains explicit
methods for setting and getting the values.
The DOM Level 2 includes mechanisms to access and modify style specified
through CSS and defines an event model that can be used with HTML documents.
The interfaces found within this section are not mandatory. A DOM
application can use the hasFeature method of the DOMImplementation interface
to determine whether they are supported or not. The feature string for all
the interfaces listed in this section is "HTML".
2.2. HTML Application of Core DOM
2.2.1. Naming Conventions
The HTML DOM follows a naming convention for properties, methods, events,
collections, and data types. All names are defined as one or more English
words concatenated together to form a single string.
2.2.1.1. Properties and Methods
The property or method name starts with the initial keyword in lowercase,
and each subsequent word starts with a capital letter. For example, a
property that returns document meta information such as the date the file
was created might be named "fileDateCreated". In the ECMAScript binding,
properties are exposed as properties of a given object. In Java, properties
are exposed with get and set methods.
2.2.1.2. Non-HTML 4.0 interfaces and attributes
While most of the interfaces defined below can be mapped directly to
elements defined in the HTML 4.0 Recommendation, some of them cannot.
Similarly, not all attributes listed below have counterparts in the HTML 4.0
specification (and some do, but have been renamed to avoid conflicts with
scripting languages). Interfaces and attribute definitions that have links
to the HTML 4.0 specification have corresponding element and attribute
definitions there; all others are added by this specification, either for
convenience or backwards compatibility with DOM Level 0 implementations.
2.3. Miscellaneous Object Definitions
Interface HTMLDOMImplementation (introduced in DOM Level 2)
The HTMLDOMImplementation interface extends the DOMImplementation
interface with a method for creating an HTML document instance.
IDL Definition
// Introduced in DOM Level 2:
interface HTMLDOMImplementation : DOMImplementation {
HTMLDocument createHTMLDocument(in DOMString title);
};
Methods
createHTMLDocument
Creates an HTMLDocument object with the minimal tree made of
the following elements: HTML, HEAD, TITLE, and BODY.
Parameters
DOMString title The title of the document to be set as the
content of the TITLE element, through a
child Text node.
Return Value
HTMLDocument A new HTMLDocument object.
No Exceptions
Interface HTMLCollection
An HTMLCollection is a list of nodes. An individual node may be
accessed by either ordinal index or the node's name or id attributes.
Note: Collections in the HTML DOM are assumed to be live meaning that
they are automatically updated when the underlying document is changed.
IDL Definition
interface HTMLCollection {
readonly attribute unsigned long length;
Node item(in unsigned long index);
Node namedItem(in DOMString name);
};
Attributes
length of type unsigned long, readonly
This attribute specifies the length or size of the list.
Methods
item
This method retrieves a node specified by ordinal index.
Nodes are numbered in tree order (depth-first traversal
order).
Parameters
unsigned long index The index of the node to be fetched.
The index origin is 0.
Return Value
Node The Node at the corresponding position upon success. A
value of null is returned if the index is out of range.
No Exceptions
namedItem
This method retrieves a Node using a name. It first searches
for a Node with a matching id attribute. If it doesn't find
one, it then searches for a Node with a matching name
attribute, but only on those elements that are allowed a name
attribute.
Parameters
DOMString name The name of the Node to be fetched.
Return Value
Node The Node with a name or id attribute whose value
corresponds to the specified string. Upon failure
(e.g., no node with this name exists), returns null.
No Exceptions
2.4. Objects related to HTML documents
Interface HTMLDocument
An HTMLDocument is the root of the HTML hierarchy and holds the entire
content. Beside providing access to the hierarchy, it also provides
some convenience methods for accessing certain sets of information from
the document.
The following properties have been deprecated in favor of the
corresponding ones for the BODY element:
o alinkColor
o background
o bgColor
o fgColor
o linkColor
o vlinkColor
IDL Definition
interface HTMLDocument : Document {
attribute DOMString title;
readonly attribute DOMString referrer;
readonly attribute DOMString domain;
readonly attribute DOMString URL;
attribute HTMLElement body;
readonly attribute HTMLCollection images;
readonly attribute HTMLCollection applets;
readonly attribute HTMLCollection links;
readonly attribute HTMLCollection forms;
readonly attribute HTMLCollection anchors;
attribute DOMString cookie;
void open();
void close();
void write(in DOMString text);
void writeln(in DOMString text);
Element getElementById(in DOMString elementId);
NodeList getElementsByName(in DOMString elementName);
};
Attributes
title of type DOMString
The title of a document as specified by the TITLE element in
the head of the document.
referrer of type DOMString, readonly
Returns the URI of the page that linked to this page. The
value is an empty string if the user navigated to the page
directly (not through a link, but, for example, via a
bookmark).
domain of type DOMString, readonly
The domain name of the server that served the document, or
null if the server cannot be identified by a domain name.
URL of type DOMString, readonly
The complete URI of the document.
body of type HTMLElement
The element that contains the content for the document. In
documents with BODY contents, returns the BODY element, and
in frameset documents, this returns the outermost FRAMESET
element.
images of type HTMLCollection, readonly
A collection of all the IMG elements in a document. The
behavior is limited to IMG elements for backwards
compatibility.
applets of type HTMLCollection, readonly
A collection of all the OBJECT elements that include applets
and APPLET (deprecated) elements in a document.
links of type HTMLCollection, readonly
A collection of all AREA elements and anchor (A) elements in
a document with a value for the href attribute.
forms of type HTMLCollection, readonly
A collection of all the forms of a document.
anchors of type HTMLCollection, readonly
A collection of all the anchor (A) elements in a document
with a value for the name attribute.Note. For reasons of
backwards compatibility, the returned set of anchors only
contains those anchors created with the name attribute, not
those created with the id attribute.
cookie of type DOMString
The cookies associated with this document. If there are none,
the value is an empty string. Otherwise, the value is a
string: a semicolon-delimited list of "name, value" pairs for
all the cookies associated with the page. For example,
name=value;expires=date.
Methods
open
Note. This method and the ones following allow a user to add
to or replace the structure model of a document using strings
of unparsed HTML. At the time of writing alternate methods
for providing similar functionality for both HTML and XML
documents were being considered. The following methods may be
deprecated at some point in the future in favor of a more
general-purpose mechanism.
Open a document stream for writing. If a document exists in
the target, this method clears it.
No Parameters
No Return Value
No Exceptions
close
Closes a document stream opened by open() and forces
rendering.
No Parameters
No Return Value
No Exceptions
write
Write a string of text to a document stream opened by open().
The text is parsed into the document's structure model.
Parameters
DOMString text The string to be parsed into some structure
in the document structure model.
No Return Value
No Exceptions
writeln
Write a string of text followed by a newline character to a
document stream opened by open(). The text is parsed into the
document's structure model.
Parameters
DOMString text The string to be parsed into some structure
in the document structure model.
No Return Value
No Exceptions
getElementById
Returns the Element whose id is given by elementId. If no
such element exists, returns null. Behavior is not defined if
more than one element has this id.
Parameters
DOMString elementId The unique id value for an element.
Return Value
Element The matching element.
No Exceptions
getElementsByName
Returns the (possibly empty) collection of elements whose
name value is given by elementName.
Parameters
DOMString elementName The name attribute value for an
element.
Return Value
NodeList The matching elements.
No Exceptions
2.5. HTML Elements
2.5.1. Property Attributes
HTML attributes are exposed as properties on the element object. The name of
the exposed property always uses the naming conventions, and is independent
of the case of the attribute in the source document. The data type of the
property is determined by the type of the attribute as determined by the
HTML 4.0 transitional and frameset DTDs. The attributes have the semantics
(including case-sensitivity) given in the HTML 4.0 specification.
The attributes are exposed as properties for compatibility with DOM Level 0.
This usage is deprecated because it can not be generalized to all possible
attribute names, as is required both for XML and potentially for future
versions of HTML. We recommend the use of generic methods on the core
Element interface for setting, getting and removing attributes.
DTD Data Type Object Model Data Type
CDATA DOMString
Value list (e.g., (left | right | center))DOMString
one-value Value list (e.g., (border)) boolean
Number long int
The return value of an attribute that has a data type that is a value list
is always capitalized, independent of the case of the value in the source
document. For example, if the value of the align attribute on a P element is
"left" then it is returned as "Left". For attributes with the CDATA data
type, the case of the return value is that given in the source document.
2.5.2. Naming Exceptions
To avoid name-space conflicts, an attribute with the same name as a keyword
in one of our chosen binding languages is prefixed. For HTML, the prefix
used is "html". For example, the for attribute of the LABEL element collides
with loop construct naming conventions and is renamed htmlFor.
2.5.3. Exposing Element Type Names (tagName)
The element type names exposed through a property are in uppercase. For
example, the body element type name is exposed through the "tagName"
property as "BODY".
2.5.4. The HTMLElement interface
Interface HTMLElement
All HTML element interfaces derive from this class. Elements that only
expose the HTML core attributes are represented by the base HTMLElement
interface. These elements are as follows:
o HEAD
o special: SUB, SUP, SPAN, BDO
o font: TT, I, B, U, S, STRIKE, BIG, SMALL
o phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBR
o list: DD, DT
o NOFRAMES, NOSCRIPT
o ADDRESS, CENTER
Note. The style attribute for this interface is part of the Document
Object Model CSS. See the HTMLElementCSS interface.
IDL Definition
interface HTMLElement : Element {
attribute DOMString id;
attribute DOMString title;
attribute DOMString lang;
attribute DOMString dir;
attribute DOMString className;
};
Attributes
id of type DOMString
The element's identifier. See the id attribute definition in
HTML 4.0.
title of type DOMString
The element's advisory title. See the title attribute
definition in HTML 4.0.
lang of type DOMString
Language code defined in RFC 1766. See the lang attribute
definition in HTML 4.0.
dir of type DOMString
Specifies the base direction of directionally neutral text
and the directionality of tables. See the dir attribute
definition in HTML 4.0.
className of type DOMString
The class attribute of the element. This attribute has been
renamed due to conflicts with the "class" keyword exposed by
many languages. See the class attribute definition in HTML
4.0.
2.5.5. Object definitions
Interface HTMLHtmlElement
Root of an HTML document. See the HTML element definition in HTML 4.0.
IDL Definition
interface HTMLHtmlElement : HTMLElement {
attribute DOMString version;
};
Attributes
version of type DOMString
Version information about the document's DTD. See the version
attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
Interface HTMLHeadElement
Document head information. See the HEAD element definition in HTML 4.0.
IDL Definition
interface HTMLHeadElement : HTMLElement {
attribute DOMString profile;
};
Attributes
profile of type DOMString
URI designating a metadata profile. See the profile attribute
definition in HTML 4.0.
Interface HTMLLinkElement
The LINK element specifies a link to an external resource, and defines
this document's relationship to that resource (or vice versa). See the
LINK element definition in HTML 4.0.
IDL Definition
interface HTMLLinkElement : HTMLElement {
attribute boolean disabled;
attribute DOMString charset;
attribute DOMString href;
attribute DOMString hreflang;
attribute DOMString media;
attribute DOMString rel;
attribute DOMString rev;
attribute DOMString target;
attribute DOMString type;
};
Attributes
disabled of type boolean
Enables/disables the link. This is currently only used for
style sheet links, and may be used to activate or deactivate
style sheets.
charset of type DOMString
The character encoding of the resource being linked to. See
the charset attribute definition in HTML 4.0.
href of type DOMString
The URI of the linked resource. See the href attribute
definition in HTML 4.0.
hreflang of type DOMString
Language code of the linked resource. See the hreflang
attribute definition in HTML 4.0.
media of type DOMString
Designed for use with one or more target media. See the media
attribute definition in HTML 4.0.
rel of type DOMString
Forward link type. See the rel attribute definition in HTML
4.0.
rev of type DOMString
Reverse link type. See the rev attribute definition in HTML
4.0.
target of type DOMString
Frame to render the resource in. See the target attribute
definition in HTML 4.0.
type of type DOMString
Advisory content type. See the type attribute definition in
HTML 4.0.
Interface HTMLTitleElement
The document title. See the TITLE element definition in HTML 4.0.
IDL Definition
interface HTMLTitleElement : HTMLElement {
attribute DOMString text;
};
Attributes
text of type DOMString
The specified title as a string.
Interface HTMLMetaElement
This contains generic meta-information about the document. See the META
element definition in HTML 4.0.
IDL Definition
interface HTMLMetaElement : HTMLElement {
attribute DOMString content;
attribute DOMString httpEquiv;
attribute DOMString name;
attribute DOMString scheme;
};
Attributes
content of type DOMString
Associated information. See the content attribute definition
in HTML 4.0.
httpEquiv of type DOMString
HTTP response header name. See the http-equiv attribute
definition in HTML 4.0.
name of type DOMString
Meta information name. See the name attribute definition in
HTML 4.0.
scheme of type DOMString
Select form of content. See the scheme attribute definition
in HTML 4.0.
Interface HTMLBaseElement
Document base URI. See the BASE element definition in HTML 4.0.
IDL Definition
interface HTMLBaseElement : HTMLElement {
attribute DOMString href;
attribute DOMString target;
};
Attributes
href of type DOMString
The base URI See the href attribute definition in HTML 4.0.
target of type DOMString
The default target frame. See the target attribute definition
in HTML 4.0.
Interface HTMLIsIndexElement
This element is used for single-line text input. See the ISINDEX
element definition in HTML 4.0. This element is deprecated in HTML 4.0.
IDL Definition
interface HTMLIsIndexElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString prompt;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
prompt of type DOMString
The prompt message. See the prompt attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLStyleElement
Style information. See the STYLE element definition in HTML 4.0, the
Document Object Model CSS module and the HTMLStyleElementStyle
interface in the Document Object Model StyleSheets module.
IDL Definition
interface HTMLStyleElement : HTMLElement {
attribute boolean disabled;
attribute DOMString media;
attribute DOMString type;
};
Attributes
disabled of type boolean
Enables/disables the style sheet.
media of type DOMString
Designed for use with one or more target media. See the media
attribute definition in HTML 4.0.
type of type DOMString
The style sheet language (Internet media type). See the type
attribute definition in HTML 4.0.
Interface HTMLBodyElement
The HTML document body. This element is always present in the DOM API,
even if the tags are not present in the source document. See the BODY
element definition in HTML 4.0.
IDL Definition
interface HTMLBodyElement : HTMLElement {
attribute DOMString aLink;
attribute DOMString background;
attribute DOMString bgColor;
attribute DOMString link;
attribute DOMString text;
attribute DOMString vLink;
};
Attributes
aLink of type DOMString
Color of active links (after mouse-button down, but before
mouse-button up). See the alink attribute definition in HTML
4.0. This attribute is deprecated in HTML 4.0.
background of type DOMString
URI of the background texture tile image. See the background
attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
bgColor of type DOMString
Document background color. See the bgcolor attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
link of type DOMString
Color of links that are not active and unvisited. See the
link attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
text of type DOMString
Document text color. See the text attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
vLink of type DOMString
Color of links that have been visited by the user. See the
vlink attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
Interface HTMLFormElement
The FORM element encompasses behavior similar to a collection and an
element. It provides direct access to the contained input elements as
well as the attributes of the form element. See the FORM element
definition in HTML 4.0.
IDL Definition
interface HTMLFormElement : HTMLElement {
readonly attribute HTMLCollection elements;
readonly attribute long length;
attribute DOMString name;
attribute DOMString acceptCharset;
attribute DOMString action;
attribute DOMString enctype;
attribute DOMString method;
attribute DOMString target;
void submit();
void reset();
};
Attributes
elements of type HTMLCollection, readonly
Returns a collection of all control elements in the form.
length of type long, readonly
The number of form controls in the form.
name of type DOMString
Names the form.
acceptCharset of type DOMString
List of character sets supported by the server. See the
accept-charset attribute definition in HTML 4.0.
action of type DOMString
Server-side form handler. See the action attribute definition
in HTML 4.0.
enctype of type DOMString
The content type of the submitted form, generally
"application/x-www-form-urlencoded". See the enctype
attribute definition in HTML 4.0.
method of type DOMString
HTTP method used to submit form. See the method attribute
definition in HTML 4.0.
target of type DOMString
Frame to render the resource in. See the target attribute
definition in HTML 4.0.
Methods
submit
Submits the form. It performs the same action as a submit
button.
No Parameters
No Return Value
No Exceptions
reset
Restores a form element's default values. It performs the
same action as a reset button.
No Parameters
No Return Value
No Exceptions
Interface HTMLSelectElement
The select element allows the selection of an option. The contained
options can be directly accessed through the select element as a
collection. See the SELECT element definition in HTML 4.0.
IDL Definition
interface HTMLSelectElement : HTMLElement {
readonly attribute DOMString type;
attribute long selectedIndex;
attribute DOMString value;
readonly attribute long length;
readonly attribute HTMLFormElement form;
readonly attribute HTMLCollection options;
attribute boolean disabled;
attribute boolean multiple;
attribute DOMString name;
attribute long size;
attribute long tabIndex;
void add(in HTMLElement element,
in HTMLElement before);
void remove(in long index);
void blur();
void focus();
};
Attributes
type of type DOMString, readonly
The type of this form control. This is the string
"select-multiple" when the multiple attribute is true and the
string "select-one" when false.
selectedIndex of type long
The ordinal index of the selected option. The value -1 is
returned if no element is selected. If multiple options are
selected, the index of the first selected option is returned.
value of type DOMString
The current form control value.
length of type long, readonly
The number of options in this SELECT.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
options of type HTMLCollection, readonly
The collection of OPTION elements contained by this element.
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
multiple of type boolean
If true, multiple OPTION elements may be selected in this
SELECT. See the multiple attribute definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See
the name attribute definition in HTML 4.0.
size of type long
Number of visible rows. See the size attribute definition in
HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
Methods
add
Add a new element to the collection of OPTION elements for
this SELECT.
Parameters
HTMLElement element The element to add.
HTMLElement before The element to insert before, or null
for the head of the list.
No Return Value
No Exceptions
remove
Remove an element from the collection of OPTION elements for
this SELECT. Does nothing if no element has the given index.
Parameters
long index The index of the item to remove.
No Return Value
No Exceptions
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
Interface HTMLOptGroupElement
Group options together in logical subdivisions. See the OPTGROUP
element definition in HTML 4.0.
IDL Definition
interface HTMLOptGroupElement : HTMLElement {
attribute boolean disabled;
attribute DOMString label;
};
Attributes
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
label of type DOMString
Assigns a label to this option group. See the label attribute
definition in HTML 4.0.
Interface HTMLOptionElement
A selectable choice. See the OPTION element definition in HTML 4.0.
IDL Definition
interface HTMLOptionElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute boolean defaultSelected;
readonly attribute DOMString text;
readonly attribute long index;
attribute boolean disabled;
attribute DOMString label;
attribute boolean selected;
attribute DOMString value;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
defaultSelected of type boolean
Represents the value of the HTML selected attribute. The
value of this attribute does not change if the state of the
corresponding form control, in an interactive user agent,
changes. Changing defaultSelected, however, resets the state
of the form control. See the selected attribute definition in
HTML 4.0.
text of type DOMString, readonly
The text contained within the option element.
index of type long, readonly
The index of this OPTION in its parent SELECT.
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
label of type DOMString
Option label for use in hierarchical menus. See the label
attribute definition in HTML 4.0.
selected of type boolean
Represents the current state of the corresponding form
control, in an interactive user agent. Changing this
attribute changes the state of the form control, but does not
change the value of the HTML selected attribute of the
element.
value of type DOMString
The current form control value. See the value attribute
definition in HTML 4.0.
Interface HTMLInputElement
Form control. Note. Depending upon the environment the page is being
viewed, the value property may be read-only for the file upload input
type. For the "password" input type, the actual value returned may be
masked to prevent unauthorized use. See the INPUT element definition in
HTML 4.0.
IDL Definition
interface HTMLInputElement : HTMLElement {
attribute DOMString defaultValue;
attribute boolean defaultChecked;
readonly attribute HTMLFormElement form;
attribute DOMString accept;
attribute DOMString accessKey;
attribute DOMString align;
attribute DOMString alt;
attribute boolean checked;
attribute boolean disabled;
attribute long maxLength;
attribute DOMString name;
attribute boolean readOnly;
attribute DOMString size;
attribute DOMString src;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString useMap;
attribute DOMString value;
void blur();
void focus();
void select();
void click();
};
Attributes
defaultValue of type DOMString
When the type attribute of the element has the value "Text",
"File" or "Password", this represents the HTML value
attribute of the element. The value of this attribute does
not change if the contents of the corresponding form control,
in an interactive user agent, changes. Changing this
attribute, however, resets the contents of the form control.
See the value attribute definition in HTML 4.0.
defaultChecked of type boolean
When type has the value "Radio" or "Checkbox", his represents
the HTML checked attribute of the element. The value of this
attribute does not change if the state of the corresponding
form control, in an interactive user agent, changes. Changes
to this attribute, however, resets the state of the form
control. See the checked attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
accept of type DOMString
A comma-separated list of content types that a server
processing this form will handle correctly. See the accept
attribute definition in HTML 4.0.
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
align of type DOMString
Aligns this object (vertically or horizontally) with respect
to its surrounding text. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
alt of type DOMString
Alternate text for user agents not rendering the normal
content of this element. See the alt attribute definition in
HTML 4.0.
checked of type boolean
When the type attribute of the element has the value "Radio"
or "Checkbox", this represents the current state of the form
control, in an interactive user agent. Changes to this
attribute changes the state of the form control, but does not
change the value of the HTML value attribute of the element.
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
maxLength of type long
Maximum number of characters for text fields, when type has
the value "Text" or "Password". See the maxlength attribute
definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See
the name attribute definition in HTML 4.0.
readOnly of type boolean
This control is read-only. When type has the value "text" or
"password" only. See the readonly attribute definition in
HTML 4.0.
size of type DOMString
Size information. The precise meaning is specific to each
type of field. See the size attribute definition in HTML 4.0.
src of type DOMString
When the type attribute has the value "Image", this attribute
specifies the location of the image to be used to decorate
the graphical submit button. See the src attribute definition
in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of control created. See the type attribute
definition in HTML 4.0.
useMap of type DOMString
Use client-side image map. See the usemap attribute
definition in HTML 4.0.
value of type DOMString
When the type attribute of the element has the value "Text",
"File" or "Password", this represents the current contents of
the corresponding form control, in an interactive user agent.
Changing this attribute changes the contents of the form
control, but does not change the value of the HTML value
attribute of the element. When the type attribute of the
element has the value "Button", "Hidden", "Submit", "Reset",
"Image", "Checkbox" or "Radio", this represents the HTML
value attribute of the element. See the value attribute
definition in HTML 4.0.
Methods
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
select
Select the contents of the text area. For INPUT elements
whose type attribute has one of the following values: "Text",
"File", or "Password".
No Parameters
No Return Value
No Exceptions
click
Simulate a mouse-click. For INPUT elements whose type
attribute has one of the following values: "Button",
"Checkbox", "Radio", "Reset", or "Submit".
No Parameters
No Return Value
No Exceptions
Interface HTMLTextAreaElement
Multi-line text field. See the TEXTAREA element definition in HTML 4.0.
IDL Definition
interface HTMLTextAreaElement : HTMLElement {
attribute DOMString defaultValue;
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute long cols;
attribute boolean disabled;
attribute DOMString name;
attribute boolean readOnly;
attribute long rows;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString value;
void blur();
void focus();
void select();
};
Attributes
defaultValue of type DOMString
Represents the contents of the element. The value of this
attribute does not change if the contents of the
corresponding form control, in an interactive user agent,
changes. Changing this attribute, however, resets the
contents of the form control.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
cols of type long
Width of control (in characters). See the cols attribute
definition in HTML 4.0.
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See
the name attribute definition in HTML 4.0.
readOnly of type boolean
This control is read-only. See the readonly attribute
definition in HTML 4.0.
rows of type long
Number of text rows. See the rows attribute definition in
HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of this form control. This the string "textarea".
value of type DOMString
Represents the current contents of the corresponding form
control, in an interactive user agent. Changing this
attribute changes the contents of the form control, but does
not change the contents of the element. If the entirety of
the data can not fit into a single DOMString, the
implementation may truncate the data.
Methods
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
select
Select the contents of the TEXTAREA.
No Parameters
No Return Value
No Exceptions
Interface HTMLButtonElement
Push button. See the BUTTON element definition in HTML 4.0.
IDL Definition
interface HTMLButtonElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute boolean disabled;
attribute DOMString name;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString value;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
disabled of type boolean
The control is unavailable in this context. See the disabled
attribute definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See
the name attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of button. See the type attribute definition in HTML
4.0.
value of type DOMString
The current form control value. See the value attribute
definition in HTML 4.0.
Interface HTMLLabelElement
Form field label text. See the LABEL element definition in HTML 4.0.
IDL Definition
interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString htmlFor;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
htmlFor of type DOMString
This attribute links this label with another form control by
id attribute. See the for attribute definition in HTML 4.0.
Interface HTMLFieldSetElement
Organizes form controls into logical groups. See the FIELDSET element
definition in HTML 4.0.
IDL Definition
interface HTMLFieldSetElement : HTMLElement {
readonly attribute HTMLFormElement form;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
Interface HTMLLegendElement
Provides a caption for a FIELDSET grouping. See the LEGEND element
definition in HTML 4.0.
IDL Definition
interface HTMLLegendElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString align;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
align of type DOMString
Text alignment relative to FIELDSET. See the align attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLUListElement
Unordered list. See the UL element definition in HTML 4.0.
IDL Definition
interface HTMLUListElement : HTMLElement {
attribute boolean compact;
attribute DOMString type;
};
Attributes
compact of type boolean
Reduce spacing between list items. See the compact attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
type of type DOMString
Bullet style. See the type attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
Interface HTMLOListElement
Ordered list. See the OL element definition in HTML 4.0.
IDL Definition
interface HTMLOListElement : HTMLElement {
attribute boolean compact;
attribute long start;
attribute DOMString type;
};
Attributes
compact of type boolean
Reduce spacing between list items. See the compact attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
start of type long
Starting sequence number. See the start attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
type of type DOMString
Numbering style. See the type attribute definition in HTML
4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLDListElement
Definition list. See the DL element definition in HTML 4.0.
IDL Definition
interface HTMLDListElement : HTMLElement {
attribute boolean compact;
};
Attributes
compact of type boolean
Reduce spacing between list items. See the compact attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLDirectoryElement
Directory list. See the DIR element definition in HTML 4.0. This
element is deprecated in HTML 4.0.
IDL Definition
interface HTMLDirectoryElement : HTMLElement {
attribute boolean compact;
};
Attributes
compact of type boolean
Reduce spacing between list items. See the compact attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLMenuElement
Menu list. See the MENU element definition in HTML 4.0. This element is
deprecated in HTML 4.0.
IDL Definition
interface HTMLMenuElement : HTMLElement {
attribute boolean compact;
};
Attributes
compact of type boolean
Reduce spacing between list items. See the compact attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLLIElement
List item. See the LI element definition in HTML 4.0.
IDL Definition
interface HTMLLIElement : HTMLElement {
attribute DOMString type;
attribute long value;
};
Attributes
type of type DOMString
List item bullet style. See the type attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
value of type long
Reset sequence number when used in OL See the value attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLDivElement
Generic block container. See the DIV element definition in HTML 4.0.
IDL Definition
interface HTMLDivElement : HTMLElement {
attribute DOMString align;
};
Attributes
align of type DOMString
Horizontal text alignment. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLParagraphElement
Paragraphs. See the P element definition in HTML 4.0.
IDL Definition
interface HTMLParagraphElement : HTMLElement {
attribute DOMString align;
};
Attributes
align of type DOMString
Horizontal text alignment. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLHeadingElement
For the H1 to H6 elements. See the H1 element definition in HTML 4.0.
IDL Definition
interface HTMLHeadingElement : HTMLElement {
attribute DOMString align;
};
Attributes
align of type DOMString
Horizontal text alignment. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLQuoteElement
For the Q and BLOCKQUOTE elements. See the Q element definition in HTML
4.0.
IDL Definition
interface HTMLQuoteElement : HTMLElement {
attribute DOMString cite;
};
Attributes
cite of type DOMString
A URI designating a document that designates a source
document or message. See the cite attribute definition in
HTML 4.0.
Interface HTMLPreElement
Preformatted text. See the PRE element definition in HTML 4.0.
IDL Definition
interface HTMLPreElement : HTMLElement {
attribute long width;
};
Attributes
width of type long
Fixed width for content. See the width attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLBRElement
Force a line break. See the BR element definition in HTML 4.0.
IDL Definition
interface HTMLBRElement : HTMLElement {
attribute DOMString clear;
};
Attributes
clear of type DOMString
Control flow of text around floats. See the clear attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
Interface HTMLBaseFontElement
Base font. See the BASEFONT element definition in HTML 4.0. This
element is deprecated in HTML 4.0.
IDL Definition
interface HTMLBaseFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
Attributes
color of type DOMString
Font color. See the color attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
face of type DOMString
Font face identifier. See the face attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
size of type DOMString
Font size. See the size attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
Interface HTMLFontElement
Local change to font. See the FONT element definition in HTML 4.0. This
element is deprecated in HTML 4.0.
IDL Definition
interface HTMLFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
Attributes
color of type DOMString
Font color. See the color attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
face of type DOMString
Font face identifier. See the face attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
size of type DOMString
Font size. See the size attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
Interface HTMLHRElement
Create a horizontal rule. See the HR element definition in HTML 4.0.
IDL Definition
interface HTMLHRElement : HTMLElement {
attribute DOMString align;
attribute boolean noShade;
attribute DOMString size;
attribute DOMString width;
};
Attributes
align of type DOMString
Align the rule on the page. See the align attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
noShade of type boolean
Indicates to the user agent that there should be no shading
in the rendering of this element. See the noshade attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
size of type DOMString
The height of the rule. See the size attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
width of type DOMString
The width of the rule. See the width attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLModElement
Notice of modification to part of a document. See the INS and DEL
element definitions in HTML 4.0.
IDL Definition
interface HTMLModElement : HTMLElement {
attribute DOMString cite;
attribute DOMString dateTime;
};
Attributes
cite of type DOMString
A URI designating a document that describes the reason for
the change. See the cite attribute definition in HTML 4.0.
dateTime of type DOMString
The date and time of the change. See the datetime attribute
definition in HTML 4.0.
Interface HTMLAnchorElement
The anchor element. See the A element definition in HTML 4.0.
IDL Definition
interface HTMLAnchorElement : HTMLElement {
attribute DOMString accessKey;
attribute DOMString charset;
attribute DOMString coords;
attribute DOMString href;
attribute DOMString hreflang;
attribute DOMString name;
attribute DOMString rel;
attribute DOMString rev;
attribute DOMString shape;
attribute long tabIndex;
attribute DOMString target;
attribute DOMString type;
void blur();
void focus();
};
Attributes
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
charset of type DOMString
The character encoding of the linked resource. See the
charset attribute definition in HTML 4.0.
coords of type DOMString
Comma-separated list of lengths, defining an active region
geometry. See also shape for the shape of the region. See the
coords attribute definition in HTML 4.0.
href of type DOMString
The URI of the linked resource. See the href attribute
definition in HTML 4.0.
hreflang of type DOMString
Language code of the linked resource. See the hreflang
attribute definition in HTML 4.0.
name of type DOMString
Anchor name. See the name attribute definition in HTML 4.0.
rel of type DOMString
Forward link type. See the rel attribute definition in HTML
4.0.
rev of type DOMString
Reverse link type. See the rev attribute definition in HTML
4.0.
shape of type DOMString
The shape of the active area. The coordinates are given by
coords. See the shape attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
target of type DOMString
Frame to render the resource in. See the target attribute
definition in HTML 4.0.
type of type DOMString
Advisory content type. See the type attribute definition in
HTML 4.0.
Methods
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
Interface HTMLImageElement
Embedded image. See the IMG element definition in HTML 4.0.
IDL Definition
interface HTMLImageElement : HTMLElement {
attribute DOMString lowSrc;
attribute DOMString name;
attribute DOMString align;
attribute DOMString alt;
attribute DOMString border;
attribute DOMString height;
attribute DOMString hspace;
attribute boolean isMap;
attribute DOMString longDesc;
attribute DOMString src;
attribute DOMString useMap;
attribute DOMString vspace;
attribute DOMString width;
};
Attributes
lowSrc of type DOMString
URI designating the source of this image, for low-resolution
output.
name of type DOMString
The name of the element (for backwards compatibility).
align of type DOMString
Aligns this object (vertically or horizontally) with respect
to its surrounding text. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
alt of type DOMString
Alternate text for user agents not rendering the normal
content of this element. See the alt attribute definition in
HTML 4.0.
border of type DOMString
Width of border around image. See the border attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
height of type DOMString
Override height. See the height attribute definition in HTML
4.0.
hspace of type DOMString
Horizontal space to the left and right of this image. See the
hspace attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
isMap of type boolean
Use server-side image map. See the ismap attribute definition
in HTML 4.0.
longDesc of type DOMString
URI designating a long description of this image or frame.
See the longdesc attribute definition in HTML 4.0.
src of type DOMString
URI designating the source of this image. See the src
attribute definition in HTML 4.0.
useMap of type DOMString
Use client-side image map. See the usemap attribute
definition in HTML 4.0.
vspace of type DOMString
Vertical space above and below this image. See the vspace
attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
width of type DOMString
Override width. See the width attribute definition in HTML
4.0.
Interface HTMLObjectElement
Generic embedded object. Note. In principle, all properties on the
object element are read-write but in some environments some properties
may be read-only once the underlying object is instantiated. See the
OBJECT element definition in HTML 4.0.
IDL Definition
interface HTMLObjectElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString code;
attribute DOMString align;
attribute DOMString archive;
attribute DOMString border;
attribute DOMString codeBase;
attribute DOMString codeType;
attribute DOMString data;
attribute boolean declare;
attribute DOMString height;
attribute DOMString hspace;
attribute DOMString name;
attribute DOMString standby;
attribute long tabIndex;
attribute DOMString type;
attribute DOMString useMap;
attribute DOMString vspace;
attribute DOMString width;
};
Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns
null if this control is not within the context of a form.
code of type DOMString
Applet class file. See the code attribute for
HTMLAppletElement.
align of type DOMString
Aligns this object (vertically or horizontally) with respect
to its surrounding text. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
archive of type DOMString
Space-separated list of archives. See the archive attribute
definition in HTML 4.0.
border of type DOMString
Width of border around the object. See the border attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
codeBase of type DOMString
Base URI for classid, data, and archive attributes. See the
codebase attribute definition in HTML 4.0.
codeType of type DOMString
Content type for data downloaded via classid attribute. See
the codetype attribute definition in HTML 4.0.
data of type DOMString
A URI specifying the location of the object's data. See the
data attribute definition in HTML 4.0.
declare of type boolean
Declare (for future reference), but do not instantiate, this
object. See the declare attribute definition in HTML 4.0.
height of type DOMString
Override height. See the height attribute definition in HTML
4.0.
hspace of type DOMString
Horizontal space to the left and right of this image, applet,
or object. See the hspace attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See
the name attribute definition in HTML 4.0.
standby of type DOMString
Message to render while loading the object. See the standby
attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString
Content type for data downloaded via data attribute. See the
type attribute definition in HTML 4.0.
useMap of type DOMString
Use client-side image map. See the usemap attribute
definition in HTML 4.0.
vspace of type DOMString
Vertical space above and below this image, applet, or object.
See the vspace attribute definition in HTML 4.0. This
attribute is deprecated in HTML 4.0.
width of type DOMString
Override width. See the width attribute definition in HTML
4.0.
Interface HTMLParamElement
Parameters fed to the OBJECT element. See the PARAM element definition
in HTML 4.0.
IDL Definition
interface HTMLParamElement : HTMLElement {
attribute DOMString name;
attribute DOMString type;
attribute DOMString value;
attribute DOMString valueType;
};
Attributes
name of type DOMString
The name of a run-time parameter. See the name attribute
definition in HTML 4.0.
type of type DOMString
Content type for the value attribute when valuetype has the
value "ref". See the type attribute definition in HTML 4.0.
value of type DOMString
The value of a run-time parameter. See the value attribute
definition in HTML 4.0.
valueType of type DOMString
Information about the meaning of the value attribute value.
See the valuetype attribute definition in HTML 4.0.
Interface HTMLAppletElement
An embedded Java applet. See the APPLET element definition in HTML 4.0.
This element is deprecated in HTML 4.0.
IDL Definition
interface HTMLAppletElement : HTMLElement {
attribute DOMString align;
attribute DOMString alt;
attribute DOMString archive;
attribute DOMString code;
attribute DOMString codeBase;
attribute DOMString height;
attribute DOMString hspace;
attribute DOMString name;
attribute DOMString object;
attribute DOMString vspace;
attribute DOMString width;
};
Attributes
align of type DOMString
Aligns this object (vertically or horizontally) with respect
to its surrounding text. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
alt of type DOMString
Alternate text for user agents not rendering the normal
content of this element. See the alt attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
archive of type DOMString
Comma-separated archive list. See the archive attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
code of type DOMString
Applet class file. See the code attribute definition in HTML
4.0. This attribute is deprecated in HTML 4.0.
codeBase of type DOMString
Optional base URI for applet. See the codebase attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
height of type DOMString
Override height. See the height attribute definition in HTML
4.0. This attribute is deprecated in HTML 4.0.
hspace of type DOMString
Horizontal space to the left and right of this image, applet,
or object. See the hspace attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
name of type DOMString
The name of the applet. See the name attribute definition in
HTML 4.0. This attribute is deprecated in HTML 4.0.
object of type DOMString
Serialized applet file. See the object attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
vspace of type DOMString
Vertical space above and below this image, applet, or object.
See the vspace attribute definition in HTML 4.0. This
attribute is deprecated in HTML 4.0.
width of type DOMString
Override width. See the width attribute definition in HTML
4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLMapElement
Client-side image map. See the MAP element definition in HTML 4.0.
IDL Definition
interface HTMLMapElement : HTMLElement {
readonly attribute HTMLCollection areas;
attribute DOMString name;
};
Attributes
areas of type HTMLCollection, readonly
The list of areas defined for the image map.
name of type DOMString
Names the map (for use with usemap). See the name attribute
definition in HTML 4.0.
Interface HTMLAreaElement
Client-side image map area definition. See the AREA element definition
in HTML 4.0.
IDL Definition
interface HTMLAreaElement : HTMLElement {
attribute DOMString accessKey;
attribute DOMString alt;
attribute DOMString coords;
attribute DOMString href;
attribute boolean noHref;
attribute DOMString shape;
attribute long tabIndex;
attribute DOMString target;
};
Attributes
accessKey of type DOMString
A single character access key to give access to the form
control. See the accesskey attribute definition in HTML 4.0.
alt of type DOMString
Alternate text for user agents not rendering the normal
content of this element. See the alt attribute definition in
HTML 4.0.
coords of type DOMString
Comma-separated list of lengths, defining an active region
geometry. See also shape for the shape of the region. See the
coords attribute definition in HTML 4.0.
href of type DOMString
The URI of the linked resource. See the href attribute
definition in HTML 4.0.
noHref of type boolean
Specifies that this area is inactive, i.e., has no associated
action. See the nohref attribute definition in HTML 4.0.
shape of type DOMString
The shape of the active area. The coordinates are given by
coords. See the shape attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing
order. See the tabindex attribute definition in HTML 4.0.
target of type DOMString
Frame to render the resource in. See the target attribute
definition in HTML 4.0.
Interface HTMLScriptElement
Script statements. See the SCRIPT element definition in HTML 4.0.
IDL Definition
interface HTMLScriptElement : HTMLElement {
attribute DOMString text;
attribute DOMString htmlFor;
attribute DOMString event;
attribute DOMString charset;
attribute boolean defer;
attribute DOMString src;
attribute DOMString type;
};
Attributes
text of type DOMString
The script content of the element.
htmlFor of type DOMString
Reserved for future use.
event of type DOMString
Reserved for future use.
charset of type DOMString
The character encoding of the linked resource. See the
charset attribute definition in HTML 4.0.
defer of type boolean
Indicates that the user agent can defer processing of the
script. See the defer attribute definition in HTML 4.0.
src of type DOMString
URI designating an external script. See the src attribute
definition in HTML 4.0.
type of type DOMString
The content type of the script language. See the type
attribute definition in HTML 4.0.
Interface HTMLTableElement
The create* and delete* methods on the table allow authors to construct
and modify tables. HTML 4.0 specifies that only one of each of the
CAPTION, THEAD, and TFOOT elements may exist in a table. Therefore, if
one exists, and the createTHead() or createTFoot() method is called,
the method returns the existing THead or TFoot element. See the TABLE
element definition in HTML 4.0.
IDL Definition
interface HTMLTableElement : HTMLElement {
attribute HTMLTableCaptionElement caption;
attribute HTMLTableSectionElement tHead;
attribute HTMLTableSectionElement tFoot;
readonly attribute HTMLCollection rows;
readonly attribute HTMLCollection tBodies;
attribute DOMString align;
attribute DOMString bgColor;
attribute DOMString border;
attribute DOMString cellPadding;
attribute DOMString cellSpacing;
attribute DOMString frame;
attribute DOMString rules;
attribute DOMString summary;
attribute DOMString width;
HTMLElement createTHead();
void deleteTHead();
HTMLElement createTFoot();
void deleteTFoot();
HTMLElement createCaption();
void deleteCaption();
HTMLElement insertRow(in long index);
void deleteRow(in long index);
};
Attributes
caption of type HTMLTableCaptionElement
Returns the table's CAPTION, or void if none exists.
tHead of type HTMLTableSectionElement
Returns the table's THEAD, or null if none exists.
tFoot of type HTMLTableSectionElement
Returns the table's TFOOT, or null if none exists.
rows of type HTMLCollection, readonly
Returns a collection of all the rows in the table, including
all in THEAD, TFOOT, all TBODY elements.
tBodies of type HTMLCollection, readonly
Returns a collection of the defined table bodies.
align of type DOMString
Specifies the table's position with respect to the rest of
the document. See the align attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
bgColor of type DOMString
Cell background color. See the bgcolor attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
border of type DOMString
The width of the border around the table. See the border
attribute definition in HTML 4.0.
cellPadding of type DOMString
Specifies the horizontal and vertical space between cell
content and cell borders. See the cellpadding attribute
definition in HTML 4.0.
cellSpacing of type DOMString
Specifies the horizontal and vertical separation between
cells. See the cellspacing attribute definition in HTML 4.0.
frame of type DOMString
Specifies which external table borders to render. See the
frame attribute definition in HTML 4.0.
rules of type DOMString
Specifies which internal table borders to render. See the
rules attribute definition in HTML 4.0.
summary of type DOMString
Supplementary description about the purpose or structure of a
table. See the summary attribute definition in HTML 4.0.
width of type DOMString
Specifies the desired table width. See the width attribute
definition in HTML 4.0.
Methods
createTHead
Create a table header row or return an existing one.
Return Value
HTMLElement A new table header element (THEAD).
No Parameters
No Exceptions
deleteTHead
Delete the header from the table, if one exists.
No Parameters
No Return Value
No Exceptions
createTFoot
Create a table footer row or return an existing one.
Return Value
HTMLElement A footer element (TFOOT).
No Parameters
No Exceptions
deleteTFoot
Delete the footer from the table, if one exists.
No Parameters
No Return Value
No Exceptions
createCaption
Create a new table caption object or return an existing one.
Return Value
HTMLElement A CAPTION element.
No Parameters
No Exceptions
deleteCaption
Delete the table caption, if one exists.
No Parameters
No Return Value
No Exceptions
insertRow
Insert a new empty row in the table. Note. A table row cannot
be empty according to HTML 4.0 Recommendation.
Parameters
long index The row number where to insert a new row.
Return Value
HTMLElement The newly created row.
No Exceptions
deleteRow
Delete a table row.
Parameters
long index The index of the row to be deleted.
No Return Value
No Exceptions
Interface HTMLTableCaptionElement
Table caption See the CAPTION element definition in HTML 4.0.
IDL Definition
interface HTMLTableCaptionElement : HTMLElement {
attribute DOMString align;
};
Attributes
align of type DOMString
Caption alignment with respect to the table. See the align
attribute definition in HTML 4.0. This attribute is
deprecated in HTML 4.0.
Interface HTMLTableColElement
Regroups the COL and COLGROUP elements. See the COL element definition
in HTML 4.0.
IDL Definition
interface HTMLTableColElement : HTMLElement {
attribute DOMString align;
attribute DOMString ch;
attribute DOMString chOff;
attribute long span;
attribute DOMString vAlign;
attribute DOMString width;
};
Attributes
align of type DOMString
Horizontal alignment of cell data in column. See the align
attribute definition in HTML 4.0.
ch of type DOMString
Alignment character for cells in a column. See the char
attribute definition in HTML 4.0.
chOff of type DOMString
Offset of alignment character. See the charoff attribute
definition in HTML 4.0.
span of type long
Indicates the number of columns in a group or affected by a
grouping. See the span attribute definition in HTML 4.0.
vAlign of type DOMString
Vertical alignment of cell data in column. See the valign
attribute definition in HTML 4.0.
width of type DOMString
Default column width. See the width attribute definition in
HTML 4.0.
Interface HTMLTableSectionElement
The THEAD, TFOOT, and TBODY elements.
IDL Definition
interface HTMLTableSectionElement : HTMLElement {
attribute DOMString align;
attribute DOMString ch;
attribute DOMString chOff;
attribute DOMString vAlign;
readonly attribute HTMLCollection rows;
HTMLElement insertRow(in long index);
void deleteRow(in long index);
};
Attributes
align of type DOMString
Horizontal alignment of data in cells. See the align
attribute for HTMLTheadElement for details.
ch of type DOMString
Alignment character for cells in a column. See the char
attribute definition in HTML 4.0.
chOff of type DOMString
Offset of alignment character. See the charoff attribute
definition in HTML 4.0.
vAlign of type DOMString
Vertical alignment of data in cells. See the valign attribute
for HTMLTheadElement for details.
rows of type HTMLCollection, readonly
The collection of rows in this table section.
Methods
insertRow
Insert a row into this section.
Parameters
long index The row number where to insert a new row.
Return Value
HTMLElement The newly created row.
No Exceptions
deleteRow
Delete a row from this section.
Parameters
long index The index of the row to be deleted.
No Return Value
No Exceptions
Interface HTMLTableRowElement
A row in a table. See the TR element definition in HTML 4.0.
IDL Definition
interface HTMLTableRowElement : HTMLElement {
readonly attribute long rowIndex;
readonly attribute long sectionRowIndex;
readonly attribute HTMLCollection cells;
attribute DOMString align;
attribute DOMString bgColor;
attribute DOMString ch;
attribute DOMString chOff;
attribute DOMString vAlign;
HTMLElement insertCell(in long index);
void deleteCell(in long index);
};
Attributes
rowIndex of type long, readonly
The index of this row, relative to the entire table.
sectionRowIndex of type long, readonly
The index of this row, relative to the current section
(THEAD, TFOOT, or TBODY).
cells of type HTMLCollection, readonly
The collection of cells in this row.
align of type DOMString
Horizontal alignment of data within cells of this row. See
the align attribute definition in HTML 4.0.
bgColor of type DOMString
Background color for rows. See the bgcolor attribute
definition in HTML 4.0. This attribute is deprecated in HTML
4.0.
ch of type DOMString
Alignment character for cells in a column. See the char
attribute definition in HTML 4.0.
chOff of type DOMString
Offset of alignment character. See the charoff attribute
definition in HTML 4.0.
vAlign of type DOMString
Vertical alignment of data within cells of this row. See the
valign attribute definition in HTML 4.0.
Methods
insertCell
Insert an empty TD cell into this row.
Parameters
long index The place to insert the cell.
Return Value
HTMLElement The newly created cell.
No Exceptions
deleteCell
Delete a cell from the current row.
Parameters
long index The index of the cell to delete.
No Return Value
No Exceptions
Interface HTMLTableCellElement
The object used to represent the TH and TD elements. See the TD element
definition in HTML 4.0.
IDL Definition
interface HTMLTableCellElement : HTMLElement {
readonly attribute long cellIndex;
attribute DOMString abbr;
attribute DOMString align;
attribute DOMString axis;
attribute DOMString bgColor;
attribute DOMString ch;
attribute DOMString chOff;
attribute long colSpan;
attribute DOMString headers;
attribute DOMString height;
attribute boolean noWrap;
attribute long rowSpan;
attribute DOMString scope;
attribute DOMString vAlign;
attribute DOMString width;
};
Attributes
cellIndex of type long, readonly
The index of this cell in the row.
abbr of type DOMString
Abbreviation for header cells. See the abbr attribute
definition in HTML 4.0.
align of type DOMString
Horizontal alignment of data in cell. See the align attribute
definition in HTML 4.0.
axis of type DOMString
Names group of related headers. See the axis attribute
definition in HTML 4.0.
bgColor of type DOMString
Cell background color. See the bgcolor attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
ch of type DOMString
Alignment character for cells in a column. See the char
attribute definition in HTML 4.0.
chOff of type DOMString
Offset of alignment character. See the charoff attribute
definition in HTML 4.0.
colSpan of type long
Number of columns spanned by cell. See the colspan attribute
definition in HTML 4.0.
headers of type DOMString
List of id attribute values for header cells. See the headers
attribute definition in HTML 4.0.
height of type DOMString
Cell height. See the height attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
noWrap of type boolean
Suppress word wrapping. See the nowrap attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
rowSpan of type long
Number of rows spanned by cell. See the rowspan attribute
definition in HTML 4.0.
scope of type DOMString
Scope covered by header cells. See the scope attribute
definition in HTML 4.0.
vAlign of type DOMString
Vertical alignment of data in cell. See the valign attribute
definition in HTML 4.0.
width of type DOMString
Cell width. See the width attribute definition in HTML 4.0.
This attribute is deprecated in HTML 4.0.
Interface HTMLFrameSetElement
Create a grid of frames. See the FRAMESET element definition in HTML
4.0.
IDL Definition
interface HTMLFrameSetElement : HTMLElement {
attribute DOMString cols;
attribute DOMString rows;
};
Attributes
cols of type DOMString
The number of columns of frames in the frameset. See the cols
attribute definition in HTML 4.0.
rows of type DOMString
The number of rows of frames in the frameset. See the rows
attribute definition in HTML 4.0.
Interface HTMLFrameElement
Create a frame. See the FRAME element definition in HTML 4.0.
IDL Definition
interface HTMLFrameElement : HTMLElement {
attribute DOMString frameBorder;
attribute DOMString longDesc;
attribute DOMString marginHeight;
attribute DOMString marginWidth;
attribute DOMString name;
attribute boolean noResize;
attribute DOMString scrolling;
attribute DOMString src;
};
Attributes
frameBorder of type DOMString
Request frame borders. See the frameborder attribute
definition in HTML 4.0.
longDesc of type DOMString
URI designating a long description of this image or frame.
See the longdesc attribute definition in HTML 4.0.
marginHeight of type DOMString
Frame margin height, in pixels. See the marginheight
attribute definition in HTML 4.0.
marginWidth of type DOMString
Frame margin width, in pixels. See the marginwidth attribute
definition in HTML 4.0.
name of type DOMString
The frame name (object of the target attribute). See the name
attribute definition in HTML 4.0.
noResize of type boolean
When true, forbid user from resizing frame. See the noresize
attribute definition in HTML 4.0.
scrolling of type DOMString
Specify whether or not the frame should have scrollbars. See
the scrolling attribute definition in HTML 4.0.
src of type DOMString
A URI designating the initial frame contents. See the src
attribute definition in HTML 4.0.
Interface HTMLIFrameElement
Inline subwindows. See the IFRAME element definition in HTML 4.0.
IDL Definition
interface HTMLIFrameElement : HTMLElement {
attribute DOMString align;
attribute DOMString frameBorder;
attribute DOMString height;
attribute DOMString longDesc;
attribute DOMString marginHeight;
attribute DOMString marginWidth;
attribute DOMString name;
attribute DOMString scrolling;
attribute DOMString src;
attribute DOMString width;
};
Attributes
align of type DOMString
Aligns this object (vertically or horizontally) with respect
to its surrounding text. See the align attribute definition
in HTML 4.0. This attribute is deprecated in HTML 4.0.
frameBorder of type DOMString
Request frame borders. See the frameborder attribute
definition in HTML 4.0.
height of type DOMString
Frame height. See the height attribute definition in HTML
4.0.
longDesc of type DOMString
URI designating a long description of this image or frame.
See the longdesc attribute definition in HTML 4.0.
marginHeight of type DOMString
Frame margin height, in pixels. See the marginheight
attribute definition in HTML 4.0.
marginWidth of type DOMString
Frame margin width, in pixels. See the marginwidth attribute
definition in HTML 4.0.
name of type DOMString
The frame name (object of the target attribute). See the name
attribute definition in HTML 4.0.
scrolling of type DOMString
Specify whether or not the frame should have scrollbars. See
the scrolling attribute definition in HTML 4.0.
src of type DOMString
A URI designating the initial frame contents. See the src
attribute definition in HTML 4.0.
width of type DOMString
Frame width. See the width attribute definition in HTML 4.0.
3. Document Object Model Views
Editors
Laurence Cable, Sun
Arnaud Le Hors, W3C
3.1. Introduction
A document may have one or more "views" associated with it, e.g: a computed
view on a document after applying a CSS stylesheet, or multiple
presentations (e.g HTML Frame) of the same document in a client.
This section defines an AbstractView interface which provides a base
interface that all such views shall derive from. It defines an attribute
which references the target document.
In the DOM Level 2, there are no subinterfaces of AbstractView defined, it
is introduced for use in future revisions.
However, AbstractView is defined in this version to provide a distinguishing
attribute; of a Document as a "default" (implementation dependent) view
thereof, and of a UIEvent to identify the (implementation dependent) origin
of the screenX and screenY attributes therein.
The interfaces found within this section are not mandatory. A DOM
application can use the hasFeature method of the DOMImplementation interface
to determine whether they are supported or not. The feature string for all
the interfaces listed in this section is "Views".
3.2. Interfaces
Interface AbstractView (introduced in DOM Level 2)
A base interface that all views shall derive from.
IDL Definition
// Introduced in DOM Level 2:
interface AbstractView {
readonly attribute DocumentView document;
};
Attributes
document of type DocumentView, readonly
The source DocumentView for which, this is an AbstractView
of.
Interface DocumentView (introduced in DOM Level 2)
The DocumentView interface is implemented by Document objects in DOM
implementations supporting DOM Views. It provides an attribute to
retrieve the default view of a document.
IDL Definition
// Introduced in DOM Level 2:
interface DocumentView {
readonly attribute AbstractView defaultView;
};
Attributes
defaultView of type AbstractView, readonly
The default AbstractView for this Document, or null if none
available.
4. Document Object Model StyleSheets
Editors
Vidur Apparao, Netscape Communications Corp.
Philippe Le Hégaret, W3C
Chris Wilson, Microsoft
4.1. Introduction
The DOM Level 2 Style Sheet interfaces are base interfaces used to represent
any type of style sheet. The expectation is that DOM modules that represent
a specific style sheet language may contain interfaces that derive from
these interfaces.
4.2. Style Sheet Interfaces
This set of interfaces represents the generic notion of style sheets.
Interface StyleSheet (introduced in DOM Level 2)
The StyleSheet interface is the abstract base interface for any type of
style sheet. It represents a single style sheet associated with a
structured document. In HTML, the StyleSheet interface represents
either an external style sheet, included via the HTML LINK element, or
an inline STYLE element. In XML, this interface represents an external
style sheet, included via a style sheet processing instruction.
IDL Definition
// Introduced in DOM Level 2:
interface StyleSheet {
readonly attribute DOMString type;
attribute boolean disabled;
readonly attribute Node ownerNode;
readonly attribute StyleSheet parentStyleSheet;
readonly attribute DOMString href;
readonly attribute DOMString title;
readonly attribute MediaList media;
};
Attributes
type of type DOMString, readonly
This specifies the style sheet language for this style sheet.
The style sheet language is specified as a content type (e.g.
"text/css"). The content type is often specified in the
ownerNode. A list of registered content types can be found at
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/.
Also see the type attribute definition for the LINK element
in HTML 4.0, and the type pseudo-attribute for the XML style
sheet processing instruction.
disabled of type boolean
false if the style sheet is applied to the document. true if
it is not. Modifying this attribute may cause a new
resolution of style for the document. For the Document Object
Model CSS, the medium has a higher priority than the disabled
attribute. So, if the media doesn't apply to the current user
agent, the disabled attribute is ignored.
ownerNode of type Node, readonly
The node that associates this style sheet with the document.
For HTML, this may be the corresponding LINK or STYLE
element. For XML, it may be the linking processing
instruction. For style sheets that are included by other
style sheets, the value of this attribute is null.
parentStyleSheet of type StyleSheet, readonly
For style sheet languages that support the concept of style
sheet inclusion, this attribute represents the including
style sheet, if one exists. If the style sheet is a top-level
style sheet, or the style sheet language does not support
inclusion, the value of this attribute is null.
href of type DOMString, readonly
If the style sheet is a linked style sheet, the value of its
attribute is its location. For inline style sheets, the value
of this attribute is null. See the href attribute definition
for the LINK element in HTML 4.0, and the href
pseudo-attribute for the XML style sheet processing
instruction.
title of type DOMString, readonly
The advisory title. The title is often specified in the
ownerNode. See the title attribute definition for the LINK
element in HTML 4.0, and the title pseudo-attribute for the
XML style sheet processing instruction.
media of type MediaList, readonly
The intended destination media for style information. The
media is often specified in the ownerNode. If no media has
been specified, the MediaList will be empty. See the media
attribute definition for the LINK element in HTML 4.0, and
the media pseudo-attribute for the XML style sheet processing
instruction .
Interface StyleSheetList (introduced in DOM Level 2)
The StyleSheetList interface provides the abstraction of an ordered
collection of style sheets.
IDL Definition
// Introduced in DOM Level 2:
interface StyleSheetList {
readonly attribute unsigned long length;
StyleSheet item(in unsigned long index);
};
Attributes
length of type unsigned long, readonly
The number of StyleSheet in the list. The range of valid
child stylesheet indices is 0 to length-1 inclusive.
Methods
item
Used to retrieve a style sheet by ordinal index.
Parameters
unsigned long index Index into the collection
Return Value
StyleSheet The style sheet at the index position in the
StyleSheetList, or null if that is not a valid
index.
No Exceptions
Interface MediaList (introduced in DOM Level 2)
The MediaList interface provides the abstraction of an ordered
collection of media, without defining or constraining how this
collection is implemented. An empty list is the same as a list that
contain the medium "all".
IDL Definition
// Introduced in DOM Level 2:
interface MediaList {
attribute DOMString cssText;
// raises(DOMException) on setting
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
void delete(in DOMString oldMedium)
raises(DOMException);
void append(in DOMString newMedium)
raises(DOMException);
};
Attributes
cssText of type DOMString
The parsable textual representation of the media list. This
is a comma-separated list of media.
Exceptions on setting
DOMException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
media list is readonly.
length of type unsigned long, readonly
The number of media in the list. The range of valid media is
0 to length-1 inclusive.
Methods
item
Returns the indexth in the list. If index is greater than or
equal to the number of media in the list, this returns null.
Parameters
unsigned long index Index into the collection.
Return Value
DOMString The medium at the indexth position in the
MediaList, or null if that is not a valid index.
No Exceptions
delete
Deletes the medium indicated by oldMedium from the list.
Parameters
DOMString oldMedium The medium to delete in the media list.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
list is readonly.
NOT_FOUND_ERR: Raised if oldMedium is not in
the list.
No Return Value
append
Adds the medium newMedium to the end of the list. It the
newMedium is already used, it is first removed.
Parameters
DOMString newMedium The new medium to add.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
list is readonly.
No Return Value
4.3. Document Extensions
Interface LinkStyle
The LinkStyle interface provides a mechanism by which a style sheet can
be retrieved from the node responsible for linking it into a document.
An instance of the LinkStyle interface can be obtained using
binding-specific casting methods on an instance of a linking node
(HTMLLinkElement, HTMLStyleElement or ProcessingInstruction in DOM
Level 2).
IDL Definition
interface LinkStyle {
readonly attribute StyleSheet sheet;
};
Attributes
sheet of type StyleSheet, readonly
The style sheet.
Interface DocumentStyle (introduced in DOM Level 2)
The DocumentStyle interface provides a mechanism by which the style
sheets embedded a document can be retrieved. The expectation is that an
instance of the DocumentStyle interface can be obtained by using
binding-specific casting methods on an instance of the Document
interface.
IDL Definition
// Introduced in DOM Level 2:
interface DocumentStyle {
readonly attribute StyleSheetList styleSheets;
};
Attributes
styleSheets of type StyleSheetList, readonly
A list containing all the style sheets explicitly linked into
or embedded in a document. For HTML documents, this includes
external style sheets, included via the HTML LINK element,
and inline STYLE elements. In XML, this includes external
style sheets, included via style sheet processing
instructions.
4.4. Association between a style sheet and a document.
HTML and Style Sheet Creation
A style sheet can be associated with an HTMLDocument in one of two
ways:
o By creating a new LINK HTML element (see the HTMLLinkElement
interface). The underlying style sheet will be created after the
element is inserted into the document and both the href and the
type attribute have been set in a way indicating that the linked
object is a style sheet.
o By creating a new STYLE HTML element (see the HTMLStyLeElement
interface). The underlying style sheet will be created after the
element is inserted into the document and the type attribute is
set in a way indicating that the element corresponds to a style
sheet language interpreted by the user agent.
HTML and Style Sheet Removal
Removing a LINK HTML element or a STYLE HTML element removes the
underlying style sheet from the style sheet collection associated with
a document. Specifically, the removed style sheet is no longer applied
to the presentation of the document.
XML and Style Sheet Creation
A new style sheet can be created and associated an XML document by
creating a processing instruction with the target 'xml-stylesheet' and
inserting it into the document.
XML and Style Sheet Removal
Removing a processing instruction with a target of 'xml-stylesheet'
removes the underlying style sheet from the style sheet collection
associated with a document. Specifically, the removed style sheet is no
longer applied to the presentation of the document.
5. Document Object Model CSS
Editors
Vidur Apparao, Netscape Communications Corp.
Philippe Le Hégaret, W3C
Chris Wilson, Microsoft
5.1. Overview of the DOM Level 2 CSS Interfaces
The DOM Level 2 Cascading Style Sheets (CSS) interfaces are designed with
the goal of exposing CSS constructs to object model consumers. Cascading
Style Sheets is a declarative syntax for defining presentation rules,
properties and ancillary constructs used to format and render Web documents.
This document specifies a mechanism to programmatically access and modify
the rich style and presentation control provided by CSS (specifically CSS
level two [CSS2]). This augments CSS by providing a mechanism to dynamically
control the inclusion and exclusion of individual style sheets, as well as
manipulate CSS rules and properties.
The CSS interfaces are organized in a logical, rather than physical
structure. A collection of all style sheets referenced by or embedded in the
document is accessible on the document interface. Each item in this
collection exposes the properties common to all style sheets referenced or
embedded in HTML and XML documents; this interface is described in the Style
Sheets chapter of the DOM Level 2. User style sheets are not accessible
through this collection, in part due to potential privacy concerns (and
certainly read-write issues).
For each CSS style sheet, an additional interface is exposed - the
CSSStyleSheet interface. This interface allows access to the collection of
rules within a CSS style sheet and methods to modify that collection.
Interfaces are provided for each specific type of rule in CSS2 (e.g. style
declarations, @import rules, or @font-face rules), as well as a shared
generic CSSRule interface.
The most common type of rule is a style declaration. The CSSStyleRule
interface that represents this type of rule provides string access to the
CSS selector of the rule, and access to the property declarations through
the CSSStyleDeclaration interface.
Finally, an optional CSS2Properties interface is described; this interface
(if implemented) provides shortcuts to the string values of all the
properties in CSS level 2.
5.2. CSS Fundamental Interfaces
The interfaces within this section are considered fundamental, and must be
supported by all conforming DOM implementations. These interfaces represent
CSS style sheets specifically.
A DOM application can use the hasFeature method of the DOMImplementation
interface to determine whether the CSS interfaces are supported or not. The
feature string for the fundamental interfaces listed in this section is
"CSS".
Exception CSSException
This exception is raised when a specific CSS operation is impossible to
perform.
IDL Definition
exception CSSException {
unsigned short code;
};
// CSSExceptionCode
const unsigned short SYNTAX_ERR = 0;
const unsigned short INVALID_MODIFICATION_ERR = 1;
Definition group CSSExceptionCode
An integer indicating the type of error generated.
Defined Constants
SYNTAX_ERR Raised when a string can't be
parsed.
INVALID_MODIFICATION_ERR Raised when an invalid modification
is performed (see CSSRule).
Interface CSSStyleSheet (introduced in DOM Level 2)
The CSSStyleSheet interface is a concrete interface used to represent a
CSS style sheet i.e. a style sheet whose content type is "text/css".
IDL Definition
// Introduced in DOM Level 2:
interface CSSStyleSheet : stylesheets::StyleSheet {
readonly attribute CSSRule ownerRule;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(DOMException,
CSSException);
void deleteRule(in unsigned long index)
raises(DOMException);
};
Attributes
ownerRule of type CSSRule, readonly
If this style sheet comes from an @import rule, the ownerRule
attribute will contain the CSSImportRule. In that case, the
ownerNode attribute in the StyleSheet interface will be null.
If the style sheet comes from an element or a processing
instruction, the ownerRule attribute will be null and the
ownerNode attribute will contain the Node.
cssRules of type CSSRuleList, readonly
The list of all CSS rules contained within the style sheet.
This includes both rule sets and at-rules.
Methods
insertRule
Used to insert a new rule into the style sheet. The new rule
now becomes part of the cascade.
Parameters
DOMString rule The parsable text representing the
rule. For rule sets this contains both
the selector and the style declaration.
For at-rules, this specifies both the
at-identifier and the rule content.
unsigned long index The index within the style sheet's rule
list of the rule before which to insert
the specified rule. If the specified
index is equal to the length of the
style sheet's rule collection, the rule
will be added to the end of the style
sheet.
Return Value
unsigned long The index within the style sheet's rule
collection of the newly inserted rule.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if the rule
cannot be inserted at the specified index e.g.
if an @import rule is inserted after a standard
rule set or other at-rule.
INDEX_SIZE_ERR: Raised if the specified index
is not a valid insertion point.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
style sheet is readonly.
CSSException SYNTAX_ERR: Raised if the specified rule has a
syntax error and is unparsable.
deleteRule
Used to delete a rule from the style sheet.
Parameters
unsigned long index The index within the style sheet's rule
list of the rule to remove.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified index
does not correspond to a rule in the style
sheet's rule list.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
style sheet is readonly.
No Return Value
Interface CSSRuleList (introduced in DOM Level 2)
The CSSRuleList interface provides the abstraction of an ordered
collection of CSS rules.
IDL Definition
// Introduced in DOM Level 2:
interface CSSRuleList {
readonly attribute unsigned long length;
CSSRule item(in unsigned long index);
};
Attributes
length of type unsigned long, readonly
The number of CSSRules in the list. The range of valid child
rule indices is 0 to length-1 inclusive.
Methods
item
Used to retrieve a CSS rule by ordinal index. The order in
this collection represents the order of the rules in the CSS
style sheet.
Parameters
unsigned long index Index into the collection
Return Value
CSSRule The style rule at the index position in the
CSSRuleList, or null if that is not a valid index.
No Exceptions
Interface CSSRule (introduced in DOM Level 2)
The CSSRule interface is the abstract base interface for any type of
CSS statement. This includes both rule sets and at-rules. An
implementation is expected to preserve all rules specified in a CSS
style sheet, even if it is not recognized. Unrecognized rules are
represented using the CSSUnknownRule interface.
IDL Definition
// Introduced in DOM Level 2:
interface CSSRule {
// RuleType
const unsigned short UNKNOWN_RULE = 0;
const unsigned short STYLE_RULE = 1;
const unsigned short CHARSET_RULE = 2;
const unsigned short IMPORT_RULE = 3;
const unsigned short MEDIA_RULE = 4;
const unsigned short FONT_FACE_RULE = 5;
const unsigned short PAGE_RULE = 6;
readonly attribute unsigned short type;
attribute DOMString cssText;
// raises(CSSException,
// DOMException) on setting
readonly attribute CSSStyleSheet parentStyleSheet;
readonly attribute CSSRule parentRule;
};
Definition group RuleType
An integer indicating which type of rule this is.
Defined Constants
UNKNOWN_RULE The rule is a CSSUnknownRule.
STYLE_RULE The rule is a CSSStyleRule.
CHARSET_RULE The rule is a CSSCharsetRule.
IMPORT_RULE The rule is a CSSImportRule.
MEDIA_RULE The rule is a CSSMediaRule.
FONT_FACE_RULE The rule is a CSSFontFaceRule.
PAGE_RULE The rule is a CSSPageRule.
Attributes
type of type unsigned short, readonly
The type of the rule, as defined above. The expectation is
that binding-specific casting methods can be used to cast
down from an instance of the CSSRule interface to the
specific derived interface implied by the type.
cssText of type DOMString
The parsable textual representation of the rule. This
reflects the current state of the rule and not its initial
value.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
INVALID_MODIFICATION_ERR: Raised if the
specified CSS string value represents a
different type of rule than the current one.
DOMException HIERARCHY_REQUEST_ERR: Raised if the rule
cannot be inserted at this point in the style
sheet.
NO_MODIFICATION_ALLOWED_ERR: Raised if the rule
is readonly.
parentStyleSheet of type CSSStyleSheet, readonly
The style sheet that contains this rule.
parentRule of type CSSRule, readonly
If this rule is contained inside another rule (e.g. a style
rule inside an @media block), this is the containing rule. If
this rule is not nested inside any other rules, this returns
null.
Interface CSSStyleRule (introduced in DOM Level 2)
The CSSStyleRule interface represents a single rule set in a CSS style
sheet.
IDL Definition
// Introduced in DOM Level 2:
interface CSSStyleRule : CSSRule {
attribute DOMString selectorText;
// raises(CSSException,
// DOMException) on setting
readonly attribute CSSStyleDeclaration style;
};
Attributes
selectorText of type DOMString
The textual representation of the selector for the rule set.
The implementation may have stripped out insignificant
whitespace while parsing the selector.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
rule is readonly.
style of type CSSStyleDeclaration, readonly
The declaration-block of this rule set.
Interface CSSMediaRule (introduced in DOM Level 2)
The CSSMediaRule interface represents a @media rule in a CSS style
sheet. A @media rule can be used to delimit style rules for specific
media types.
IDL Definition
// Introduced in DOM Level 2:
interface CSSMediaRule : CSSRule {
readonly attribute stylesheets::MediaList media;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(DOMException,
CSSException);
void deleteRule(in unsigned long index)
raises(DOMException);
};
Attributes
media of type stylesheets::MediaList, readonly
A list of media types for this rule.
cssRules of type CSSRuleList, readonly
A list of all CSS rules contained within the media block.
Methods
insertRule
Used to insert a new rule into the media block.
Parameters
DOMString rule The parsable text representing the
rule. For rule sets this contains both
the selector and the style declaration.
For at-rules, this specifies both the
at-identifier and the rule content.
unsigned long index The index within the media block's rule
collection of the rule before which to
insert the specified rule. If the
specified index is equal to the length
of the media blocks's rule collection,
the rule will be added to the end of
the media block.
Return Value
unsigned long The index within the media block's rule
collection of the newly inserted rule.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if the rule
cannot be inserted at the specified index. e.g.
if an @import rule is inserted after a standard
rule set or other at-rule.
INDEX_SIZE_ERR: Raised if the specified index
is not a valid insertion point.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
media rule is readonly.
CSSException SYNTAX_ERR: Raised if the specified rule has a
syntax error and is unparsable.
deleteRule
Used to delete a rule from the media block.
Parameters
unsigned long index The index within the media block's rule
collection of the rule to remove.
Exceptions
DOMException INDEX_SIZE_ERR: Raised if the specified index
does not correspond to a rule in the media rule
list.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
media rule is readonly.
No Return Value
Interface CSSFontFaceRule (introduced in DOM Level 2)
The CSSFontFaceRule interface represents a @font-face rule in a CSS
style sheet. The @font-face rule is used to hold a set of font
descriptions.
IDL Definition
// Introduced in DOM Level 2:
interface CSSFontFaceRule : CSSRule {
readonly attribute CSSStyleDeclaration style;
};
Attributes
style of type CSSStyleDeclaration, readonly
The declaration-block of this rule.
Interface CSSPageRule (introduced in DOM Level 2)
The CSSPageRule interface represents a @page rule within a CSS style
sheet. The @page rule is used to specify the dimensions, orientation,
margins, etc. of a page box for paged media.
IDL Definition
// Introduced in DOM Level 2:
interface CSSPageRule : CSSRule {
attribute DOMString selectorText;
// raises(CSSException,
// DOMException) on setting
readonly attribute CSSStyleDeclaration style;
};
Attributes
selectorText of type DOMString
The parsable textual representation of the page selector for
the rule.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
rule is readonly.
style of type CSSStyleDeclaration, readonly
The declaration-block of this rule.
Interface CSSImportRule (introduced in DOM Level 2)
The CSSImportRule interface represents a @import rule within a CSS
style sheet. The @import rule is used to import style rules from other
style sheets.
IDL Definition
// Introduced in DOM Level 2:
interface CSSImportRule : CSSRule {
readonly attribute DOMString href;
readonly attribute stylesheets::MediaList media;
readonly attribute CSSStyleSheet styleSheet;
};
Attributes
href of type DOMString, readonly
The location of the style sheet to be imported. The attribute
will not contain the "url(...)" specifier around the URI.
media of type stylesheets::MediaList, readonly
A list of media types for which this style sheet may be used.
styleSheet of type CSSStyleSheet, readonly
The style sheet referred to by this rule, if it has been
loaded. The value of this attribute is null if the style
sheet has not yet been loaded or if it will not be loaded
(e.g. if the style sheet is for a media type not supported by
the user agent).
Interface CSSCharsetRule (introduced in DOM Level 2)
The CSSCharsetRule interface a @charset rule in a CSS style sheet. A
@charset rule can be used to define the encoding of the style sheet.
IDL Definition
// Introduced in DOM Level 2:
interface CSSCharsetRule : CSSRule {
attribute DOMString encoding;
// raises(CSSException,
// DOMException) on setting
};
Attributes
encoding of type DOMString
The encoding information used in this @charset rule.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified encoding
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
encoding rule is readonly.
Interface CSSUnknownRule (introduced in DOM Level 2)
The CSSUnkownRule interface represents an at-rule not supported by this
user agent.
IDL Definition
// Introduced in DOM Level 2:
interface CSSUnknownRule : CSSRule {
};
Interface CSSStyleDeclaration (introduced in DOM Level 2)
The CSSStyleDeclaration interface represents a single CSS declaration
block. This interface may be used to determine the style properties
currently set in a block or to set style properties explicitly within
the block.
While an implementation may not recognize all CSS properties within a
CSS declaration block, it is expected to provide access to all
specified properties through the CSSStyleDeclaration interface.
Furthermore, implementations that support a specific level of CSS
should correctly handle CSS shorthand properties for that level. For a
further discussion of shorthand properties, see the CSS2Properties
interface.
IDL Definition
// Introduced in DOM Level 2:
interface CSSStyleDeclaration {
attribute DOMString cssText;
// raises(CSSException,
// DOMException) on setting
DOMString getPropertyValue(in DOMString propertyName);
CSSValue getPropertyCSSValue(in DOMString propertyName);
DOMString removeProperty(in DOMString propertyName)
raises(DOMException);
DOMString getPropertyPriority(in DOMString propertyName);
void setProperty(in DOMString propertyName,
in DOMString value,
in DOMString priority)
raises(CSSException,
DOMException);
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
readonly attribute CSSRule parentRule;
};
Attributes
cssText of type DOMString
The parsable textual representation of the declaration block
(including the surrounding curly braces). Setting this
attribute will result in the parsing of the new value and
resetting of the properties in the declaration block.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
length of type unsigned long, readonly
The number of properties that have been explicitly set in
this declaration block.
parentRule of type CSSRule, readonly
The CSS rule that contains this declaration block or null if
this CSSStyleDeclaration is not attached to a CSSRule.
Methods
getPropertyValue
Used to retrieve the value of a CSS property if it has been
explicitly set within this declaration block.
Parameters
DOMString propertyName The name of the CSS property. See
the CSS property index.
Return Value
DOMString Returns the value of the property if it has been
explicitly set for this declaration block. Returns
the empty string if the property has not been set.
No Exceptions
getPropertyCSSValue
Used to retrieve the object representation of the value of a
CSS property if it has been explicitly set within this
declaration block. This method returns null if the property
is a shorthand property. Shorthand property values can only
be accessed and modified as strings, using the
getPropertyValue and setProperty methods.
Parameters
DOMString propertyName The name of the CSS property. See
the CSS property index.
Return Value
CSSValue Returns the value of the property if it has been
explicitly set for this declaration block. Returns
the null if the property has not been set.
No Exceptions
removeProperty
Used to remove a CSS property if it has been explicitly set
within this declaration block.
Parameters
DOMString propertyName The name of the CSS property. See
the CSS property index.
Return Value
DOMString Returns the value of the property if it has been
explicitly set for this declaration block. Returns
the empty string if the property has not been set
or the property name does not correspond to a
valid CSS2 property.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
getPropertyPriority
Used to retrieve the priority of a CSS property (e.g. the
"important" qualifier) if the property has been explicitly
set in this declaration block.
Parameters
DOMString propertyName The name of the CSS property. See
the CSS property index.
Return Value
DOMString A string representing the priority (e.g.
"important") if one exists. The empty string if
none exists.
No Exceptions
setProperty
Used to set a property value and priority within this
declaration block.
Parameters
DOMString propertyName The name of the CSS property. See
the CSS property index.
DOMString value The new value of the property.
DOMString priority The new priority of the property
(e.g. "important").
Exceptions
CSSException SYNTAX_ERR: Raised if the specified value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
No Return Value
item
Used to retrieve the properties that have been explicitly set
in this declaration block. The order of the properties
retrieved using this method does not have to be the order in
which they were set. This method can be used to iterate over
all properties in this declaration block.
Parameters
unsigned long index Index of the property name to retrieve.
Return Value
DOMString The name of the property at this ordinal position.
The empty string if no property exists at this
position.
No Exceptions
Interface CSSValue (introduced in DOM Level 2)
The CSSValue interface represents a simple or a complex value.
IDL Definition
// Introduced in DOM Level 2:
interface CSSValue {
// UnitTypes
const unsigned short CSS_INHERIT = 0;
const unsigned short CSS_PRIMITIVE_VALUE = 1;
const unsigned short CSS_VALUE_LIST = 2;
const unsigned short CSS_CUSTOM = 3;
attribute DOMString cssText;
// raises(CSSException,
// DOMException) on setting
readonly attribute unsigned short valueType;
};
Definition group UnitTypes
An integer indicating which type of unit applies to the value.
Note: All CSS2 constants are not supposed to be required by the
implementation since all CSS2 interfaces are optionals.
Defined Constants
CSS_INHERIT The value is inherited.
CSS_PRIMITIVE_VALUE The value is a CSSPrimitiveValue.
CSS_VALUE_LIST The value is a list CSSValue.
CSS_CUSTOM The value is a custom value.
Attributes
cssText of type DOMString
A string representation of the current value.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
value is readonly.
valueType of type unsigned short, readonly
A code defining the type of the value as defined above.
Interface CSSPrimitiveValue (introduced in DOM Level 2)
The CSSPrimitiveValue interface represents a single CSS value. This
interface may be used to determine the value of a specific style
property currently set in a block or to set a specific style properties
explicitly within the block. An instance of this interface can be
obtained from the getPropertyCSSValue method of the CSSStyleDeclaration
interface.
IDL Definition
// Introduced in DOM Level 2:
interface CSSPrimitiveValue : CSSValue {
// UnitTypes
const unsigned short CSS_UNKNOWN = 0;
const unsigned short CSS_NUMBER = 1;
const unsigned short CSS_PERCENTAGE = 2;
const unsigned short CSS_EMS = 3;
const unsigned short CSS_EXS = 4;
const unsigned short CSS_PX = 5;
const unsigned short CSS_CM = 6;
const unsigned short CSS_MM = 9;
const unsigned short CSS_IN = 10;
const unsigned short CSS_PT = 11;
const unsigned short CSS_PC = 12;
const unsigned short CSS_DEG = 13;
const unsigned short CSS_RAD = 14;
const unsigned short CSS_GRAD = 15;
const unsigned short CSS_MS = 16;
const unsigned short CSS_S = 17;
const unsigned short CSS_HZ = 18;
const unsigned short CSS_KHZ = 19;
const unsigned short CSS_DIMENSION = 20;
const unsigned short CSS_STRING = 21;
const unsigned short CSS_URI = 22;
const unsigned short CSS_IDENT = 23;
const unsigned short CSS_ATTR = 24;
const unsigned short CSS_COUNTER = 25;
const unsigned short CSS_RECT = 26;
const unsigned short CSS_RGBCOLOR = 27;
readonly attribute unsigned short primitiveType;
void setFloatValue(in unsigned short unitType,
in float floatValue)
raises(DOMException);
float getFloatValue(in unsigned short unitType)
raises(DOMException);
void setStringValue(in unsigned short stringType,
in DOMString stringValue)
raises(DOMException);
DOMString getStringValue()
raises(DOMException);
Counter getCounterValue()
raises(DOMException);
Rect getRectValue()
raises(DOMException);
RGBColor getRGBColorValue()
raises(DOMException);
};
Definition group UnitTypes
An integer indicating which type of unit applies to the value.
Defined Constants
The value is not a recognized CSS2 value. The
CSS_UNKNOWN value can only be obtained by using the
cssText attribute.
The value is a simple number. The value can
CSS_NUMBER be obtained by using the getFloatValue
method.
CSS_PERCENTAGE The value is a percentage. The value can be
obtained by using the getFloatValue method.
CSS_EMS The value is length (ems). The value can be
obtained by using the getFloatValue method.
CSS_EXS The value is length (exs). The value can be
obtained by using the getFloatValue method.
CSS_PX The value is length (px). The value can be
obtained by using the getFloatValue method.
CSS_CM The value is length (cm). The value can be
obtained by using the getFloatValue method.
CSS_MM The value is length (mm). The value can be
obtained by using the getFloatValue method.
CSS_IN The value is length (in). The value can be
obtained by using the getFloatValue method.
CSS_PT The value is length (pt). The value can be
obtained by using the getFloatValue method.
CSS_PC The value is a length (pc). The value can be
obtained by using the getFloatValue method.
CSS_DEG The value is an angle (deg). The value can be
obtained by using the getFloatValue method.
CSS_RAD The value is an angle (rad). The value can be
obtained by using the getFloatValue method.
The value is an angle (grad). The value can
CSS_GRAD be obtained by using the getFloatValue
method.
CSS_MS The value is a time (ms). The value can be
obtained by using the getFloatValue method.
CSS_S The value is a time (s). The value can be
obtained by using the getFloatValue method.
The value is a frequency (Hz). The value can
CSS_HZ be obtained by using the getFloatValue
method.
The value is a frequency (kHz). The value can
CSS_KHZ be obtained by using the getFloatValue
method.
The value is a number with an unknown
CSS_DIMENSION dimension. The value can be obtained by using
the getFloatValue method.
CSS_STRING The value is a STRING. The value can be
obtained by using the getStringValue method.
CSS_URI The value is a URI. The value can be obtained
by using the getStringValue method.
CSS_IDENT The value is an identifier. The value can be
obtained by using the getStringValue method.
The value is a attribute function. The value
CSS_ATTR can be obtained by using the getStringValue
method.
The value is a counter or counters function.
CSS_COUNTER The value can be obtained by using the
getCounterValue method.
CSS_RECT The value is a rect function. The value can
be obtained by using the getRectValue method.
The value is a RGB color. The value can be
CSS_RGBCOLOR obtained by using the getRGBColorValue
method.
Attributes
primitiveType of type unsigned short, readonly
The type of the value as defined by the constants specified
above.
Methods
setFloatValue
A method to set the float value with a specified unit. If the
property attached with this value can not accept the
specified unit or the float value, the value will be
unchanged and a DOMException will be raised.
Parameters
unsigned unitType A unit code as defined above. The
short unit code can only be a float unit
type (e.g. NUMBER, PERCENTAGE,
CSS_EMS, CSS_EXS, CSS_PX, CSS_PX,
CSS_CM, CSS_MM, CSS_IN, CSS_PT,
CSS_PC, CSS_DEG, CSS_RAD, CSS_GRAD,
CSS_MS, CSS_S, CSS_HZ, CSS_KHZ,
CSS_DIMENSION).
float floatValue The new float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the attached
property doesn't support the float value or the
unit type.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
No Return Value
getFloatValue
This method is used to get a float value in a specified unit.
If this CSS value doesn't contain a float value or can't be
converted into the specified unit, a DOMException is raised.
Parameters
unsigned unitType A unit code to get the float value.
short The unit code can only be a float unit
type (e.g. CSS_NUMBER, CSS_PERCENTAGE,
CSS_EMS, CSS_EXS, CSS_PX, CSS_PX,
CSS_CM, CSS_MM, CSS_IN, CSS_PT,
CSS_PC, CSS_DEG, CSS_RAD, CSS_GRAD,
CSS_MS, CSS_S, CSS_HZ, CSS_KHZ,
CSS_DIMENSION).
Return Value
float The float value in the specified unit.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the CSS value
doesn't contain a float value or if the float
value can't be converted into the specified
unit.
setStringValue
A method to set the string value with a specified unit. If
the property attached to this value can't accept the
specified unit or the string value, the value will be
unchanged and a DOMException will be raised.
Parameters
unsigned stringType A string code as defined above.
short The string code can only be a
string unit type (e.g. CSS_URI,
CSS_IDENT, CSS_INHERIT and
CSS_ATTR).
DOMString stringValue The new string value. If the
stringType is equal to
CSS_INHERIT, the stringValue
should be inherit.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the CSS value
doesn't contain a string value or if the string
value can't be converted into the specified
unit.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
No Return Value
getStringValue
This method is used to get the string value in a specified
unit. If the CSS value doesn't contain a string value, a
DOMException is raised.
Return Value
DOMString The string value in the current unit. The current
valueType can only be a string unit type (e.g.
CSS_URI, CSS_IDENT and CSS_ATTR).
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the CSS value
doesn't contain a string value.
No Parameters
getCounterValue
This method is used to get the Counter value. If this CSS
value doesn't contain a counter value, a DOMException is
raised. Modification to the corresponding style property can
be achieved using the Counter interface.
Return Value
Counter The Counter value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the CSS value
doesn't contain a Counter value.
No Parameters
getRectValue
This method is used to get the Rect value. If this CSS value
doesn't contain a rect value, a DOMException is raised.
Modification to the corresponding style property can be
achieved using the Rect interface.
Return Value
Rect The Rect value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the CSS value
doesn't contain a Rect value.
No Parameters
getRGBColorValue
This method is used to get the RGB color. If this CSS value
doesn't contain a RGB color value, a DOMException is raised.
Modification to the corresponding style property can be
achieved using the RGBColor interface.
Return Value
RGBColor the RGB color value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the attached
property can't return a RGB color value.
No Parameters
Interface CSSValueList (introduced in DOM Level 2)
The CSSValueList interface provides the abstraction of an ordered
collection of CSS values.
Some properties allow an empty list into their syntax. In that case,
these properties take the none identifier. So, an empty list means that
the propertie has the value none.
IDL Definition
// Introduced in DOM Level 2:
interface CSSValueList : CSSValue {
readonly attribute unsigned long length;
CSSValue item(in unsigned long index);
};
Attributes
length of type unsigned long, readonly
The number of CSSValues in the list. The range of valid
values indices is 0 to length-1 inclusive.
For
Methods
item
Used to retrieve a CSS rule by ordinal index. The order in
this collection represents the order of the values in the CSS
style property.
Parameters
unsigned long index Index into the collection.
Return Value
CSSValue The style rule at the index position in the
CSSValueList, or null if that is not valid index.
No Exceptions
Interface RGBColor (introduced in DOM Level 2)
The RGBColor interface is used to represent any RGB color value. This
interface reflects the values in the underlying style property. Hence,
modifications made through this interface modify the style property.
IDL Definition
// Introduced in DOM Level 2:
interface RGBColor {
readonly attribute CSSPrimitiveValue red;
readonly attribute CSSPrimitiveValue green;
readonly attribute CSSPrimitiveValue blue;
};
Attributes
red of type CSSPrimitiveValue, readonly
This attribute is used for the red value of the RGB color.
green of type CSSPrimitiveValue, readonly
This attribute is used for the green value of the RGB color.
blue of type CSSPrimitiveValue, readonly
This attribute is used for the blue value of the RGB color.
Interface Rect (introduced in DOM Level 2)
The Rect interface is used to represent any rect value. This interface
reflects the values in the underlying style property. Hence,
modifications made through this interface modify the style property.
IDL Definition
// Introduced in DOM Level 2:
interface Rect {
readonly attribute CSSPrimitiveValue top;
readonly attribute CSSPrimitiveValue right;
readonly attribute CSSPrimitiveValue bottom;
readonly attribute CSSPrimitiveValue left;
};
Attributes
top of type CSSPrimitiveValue, readonly
This attribute is used for the top of the rect.
right of type CSSPrimitiveValue, readonly
This attribute is used for the right of the rect.
bottom of type CSSPrimitiveValue, readonly
This attribute is used for the bottom of the rect.
left of type CSSPrimitiveValue, readonly
This attribute is used for the left of the rect.
Interface Counter (introduced in DOM Level 2)
The Counter interface is used to represent any counter or counters
function value. This interface reflects the values in the underlying
style property. Hence, modifications made through this interface modify
the style property.
IDL Definition
// Introduced in DOM Level 2:
interface Counter {
readonly attribute DOMString identifier;
readonly attribute DOMString listStyle;
readonly attribute DOMString separator;
};
Attributes
identifier of type DOMString, readonly
This attribute is used for the identifier of the counter.
listStyle of type DOMString, readonly
This attribute is used for the style of the list.
separator of type DOMString, readonly
This attribute is used for the separator of nested counters.
5.2.1. Override and computed style sheet
Interface ViewCSS
This interface represents a CSS view. The getComputedStyle method
provides a read only access to the computed values of an element.
IDL Definition
interface ViewCSS : views::AbstractView {
CSSStyleDeclaration getComputedStyle(in Element elt,
in DOMString pseudoElt);
};
Methods
getComputedStyle
This method is used to the computed style sheet as it defines
in the [CSS2].
Parameters
Element elt The element.
DOMString pseudoElt The pseudo element or null if any.
Return Value
CSSStyleDeclaration The computed style. The
CSSStyleDeclaration is read only.
No Exceptions
Interface DocumentCSS
This interface represents a document with a CSS view.
The getOverrideStyle method provides a mechanism through which a DOM
author could effect immediate change to the style of an element without
modifying the explicitly linked stylesheets of a document or the inline
style of elements in the stylesheets. This style sheet comes after the
author style sheet in the cascade algorithm and is called override
style sheet. The override style sheet takes over author style sheet. An
"!important" declaration still takes precedence over a normal
declaration. Both override and user style sheets may contain
"!important" declarations, and user "!important" rules takes precedence
over override "!important" rules. Both author and override style sheets
may contain "!important" declarations, and override "!important" rules
takes precedence over author "!important" rules.
IDL Definition
interface DocumentCSS : stylesheets::DocumentStyle {
CSSStyleDeclaration getOverrideStyle(in Element elt,
in DOMString pseudoElt);
};
Methods
getOverrideStyle
This method is used to retrieve the override style sheet.
Parameters
Element elt The element to be modified.
DOMString pseudoElt The pseudo element or null if any.
Return Value
CSSStyleDeclaration The override style declaration.
No Exceptions
5.2.2. Style sheet creation
Interface DOMImplementationCSS (introduced in DOM Level 2)
This interface allows the DOM user to create a CSS style sheet outside
the context of a document. There is no way to associate the new CSS
style sheet with a document in DOM Level 2.
IDL Definition
// Introduced in DOM Level 2:
interface DOMImplementationCSS : DOMImplementation {
CSSStyleSheet createCSSStyleSheet(in DOMString title,
inout DOMString media);
};
Methods
createCSSStyleSheet
Creates a new CSS style sheet.
Parameters
DOMString title The advisory title. See also Document
Object Model StyleSheets.
DOMString media The media associated to the new style
sheet. See also Document Object Model
StyleSheets.
Return Value
CSSStyleSheet A new CSS style sheet.
No Exceptions
5.3. CSS Extended Interfaces
The interfaces found within this section are not mandatory. A DOM
application can use the hasFeature method of the DOMImplementation interface
to determine whether they are supported or not. The feature string for all
the extended interfaces listed in this section, except the CSS2Properties
interface, is "CSS2".
The following table specifies the type of CSSValue used to represent each
property that can be specified in a CSSStyleDeclaration found in a
CSSStyleRule for a CSS Level 2 style sheet. The expectation is that the
CSSValue returned from the getPropertyCSSValue method on the
CSSStyleDeclaration interface can be cast down, using binding-specific
casting methods, to the specific derived interface.
For properties that are represented by a custom interface (the valueType of
the CSSValue is CSS_CUSTOM), the name of the derived interface is specified
in the table. For properties that consist of lists of values (the valueType
of the CSSValue is CSS_VALUE_LIST), the derived interface is CSSValueList.
For all other properties (the valueType of the CSSValue is
CSS_PRIMITIVE_VALUE), the derived interface is CSSPrimitiveValue.
Property Name Representation
azimuth CSS2Azimuth
background null
background-attachment ident
background-color rgbcolor, ident
background-image uri, ident
background-position CSS2BackgroundPosition
background-repeat ident
border null
border-collapse ident
border-color null
border-spacing CSS2BorderSpacing
border-style null
border-top, border-right, null
border-bottom, border-left
border-top-color, border-right-color, rgbcolor, ident
border-bottom-color, border-left-color
border-top-style, border-right-style, ident
border-bottom-style, border-left-style
border-top-width, border-right-width, length, ident
border-bottom-width, border-left-width
border-width null
bottom length, percentage, ident
caption-side ident
clear ident
clip rect, ident
color rgbcolor, ident
content list of string, uri, counter, attr,
ident
counter-increment list of CSS2CounterIncrement
counter-reset list of CSS2CounterReset
cue null
cue-after, cue-before uri, ident
cursor CSS2Cursor
direction ident
display ident
elevation angle, ident
empty-cells ident
float ident
font null
font-family list of strings and idents
font-size ident, length, percentage
font-size-adjust number, ident
font-stretch ident
font-style ident
font-variant ident
font-weight ident
height length, percentage, ident
left length, percentage, ident
letter-spacing ident, length
line-height ident, length, percentage, number
list-style null
list-style-image uri, ident
list-style-position ident
list-style-type ident
margin null
margin-top, margin-right, length, percentage, ident
margin-bottom, margin-left
marker-offset length, ident
max-height length, percentage, ident
max-width length, percentage, ident
min-height length, percentage, ident
min-width length, percentage, ident
orphans number
outline null
outline-color rgbcolor, ident
outline-style ident
outline-width length, ident
overflow ident
padding null
padding-top, padding-right, length, percentage
padding-bottom, padding-left
page ident
page-break-after ident
page-break-before ident
page-break-inside ident
pause null
pause-after, pause-before time, percentage
pitch frequency, identifier
pitch-range number
play-during CSS2PlayDuring
position ident
quotes list of string or ident
richness number
right length, percentage, ident
speak ident
speak-header ident
speak-numeral ident
speak-punctuation ident
speech-rate number, ident
stress number
table-layout ident
text-align ident, string
text-decoration list of ident
text-indent length, percentage
text-shadow list of CSS2TextShadow
text-transform ident
top length, percentage, ident
unicode-bidi ident
vertical-align ident, percentage, length
visibility ident
voice-family list of strings and idents
volume number, percentage, ident
white-space ident
widows number
width length, percentage, ident
word-spacing length, ident
z-index ident, number
Interface CSS2Azimuth (introduced in DOM Level 2)
The CSS2Azimuth interface represents the azimuth CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2Azimuth : CSSValue {
readonly attribute unsigned short azimuthType;
readonly attribute DOMString identifier;
readonly attribute boolean behind;
void setAngleValue(in unsigned short uType,
in float fValue)
raises(DOMException);
float getAngleValue(in unsigned short uType)
raises(DOMException);
void setIdentifier(in DOMString ident,
in boolean b)
raises(CSSException,
DOMException);
};
Attributes
azimuthType of type unsigned short, readonly
A code defining the type of the value as defined in CSSValue.
It would be one of CSS_DEG, CSS_RAD, CSS_GRAD or CSS_IDENT.
identifier of type DOMString, readonly
If azimuthType is CSS_IDENT, identifier contains one of
left-side, far-left, left, center-left, center, center-right,
right, far-right, right-side, leftwards, rightwards. The
empty string if none is set.
behind of type boolean, readonly
behind indicates whether the behind identifier has been set.
Methods
setAngleValue
A method to set the angle value with a specified unit. This
method will unset any previously set identifiers values.
Parameters
unsigned short uType The unitType could only be one of
CSS_DEG, CSS_RAD or CSS_GRAD).
float fValue The new float value of the angle.
Exceptions
DOMException INVALID_ACCESS_ERR: Raised if the unit type is
invalid.
NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
No Return Value
getAngleValue
Used to retrieved the float value of the azimuth property.
Parameters
unsigned short uType The unit type can be only an angle
unit type (CSS_DEG, CSS_RAD or
CSS_GRAD).
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raised if the unit type is
invalid.
setIdentifier
Setting the identifier for the azimuth property will unset
any previously set angle value. The value of azimuthType is
set to CSS_IDENT
Parameters
DOMString ident The new identifier. If the identifier is
"leftwards" or "rightward", the behind
attribute is ignored.
boolean b The new value for behind.
Exceptions
CSSException SYNTAX_ERR: Raised if the specified identifier
has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
No Return Value
Interface CSS2BackgroundPosition (introduced in DOM Level 2)
The CSS2BackgroundPosition interface represents the background-position
CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2BackgroundPosition : CSSValue {
readonly attribute unsigned short horizontalType;
readonly attribute unsigned short verticalType;
readonly attribute DOMString horizontalIdentifier;
readonly attribute DOMString verticalIdentifier;
float getHorizontalPosition(in float hType)
raises(DOMException);
float getVerticalPosition(in float vType)
raises(DOMException);
void setHorizontalPosition(in unsigned short hType,
in float value)
raises(DOMException);
void setVerticalPosition(in unsigned short vType,
in float value)
raises(DOMException);
void setPositionIdentifier(in DOMString hIdentifier,
in DOMString vIdentifier)
raises(CSSException,
DOMException);
};
Attributes
horizontalType of type unsigned short, readonly
A code defining the type of the horizontal value. It would be
one CSS_PERCENTAGE, CSS_EMS, CSS_EXS, CSS_PX, CSS_CM, CSS_MM,
CSS_IN, CSS_PT, CSS_PC or CSS_IDENT. If one of horizontal or
vertical is CSS_IDENT, it's guaranteed that the other is the
same.
verticalType of type unsigned short, readonly
A code defining the type of the horizontal value. The code
can be one of the following units : CSS_PERCENTAGE, CSS_EMS,
CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN, CSS_PT, CSS_PC,
CSS_IDENT, CSS_INHERIT. If one of horizontal or vertical is
CSS_IDENT or CSS_INHERIT, it's guaranteed that the other is
the same.
horizontalIdentifier of type DOMString, readonly
If horizontalType is CSS_IDENT or CSS_INHERIT, this attribute
contains the string representation of the ident, otherwise it
contains an empty string.
verticalIdentifier of type DOMString, readonly
If verticalType is CSS_IDENT or CSS_INHERIT, this attribute
contains the string representation of the ident, otherwise it
contains an empty string. The value is "center" if only the
horizontalIdentifier has been set.
Methods
getHorizontalPosition
This method is used to get the float value in a specified
unit if the horizontalPosition represents a length or a
percentage. If the float doesn't contain a float value or
can't be converted into the specified unit, a DOMException is
raised.
Parameters
float hType The horizontal unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
getVerticalPosition
This method is used to get the float value in a specified
unit if the verticalPosition represents a length or a
percentage. If the float doesn't contain a float value or
can't be converted into the specified unit, a DOMException is
raised. The value is 50% if only the horizontal value has
been specified.
Parameters
float vType The vertical unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
setHorizontalPosition
This method is used to set the horizontal position with a
specified unit. If the vertical value is not a percentage or
a length, it sets the vertical position to 50%.
Parameters
unsigned short hType The specified unit (a length or a
percentage).
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length or a percentage.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
setVerticalPosition
This method is used to set the vertical position with a
specified unit. If the horizontal value is not a percentage
or a length, it sets the vertical position to 50%.
Parameters
unsigned short vType The specified unit (a length or a
percentage).
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length or a percentage.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
setPositionIdentifier
Sets the identifiers. If the second identifier is the empty
string, the vertical identifier is set to his default value
("center").
Parameters
DOMString hIdentifier The new horizontal identifier.
DOMString vIdentifier The new vertical identifier.
Exceptions
CSSException SYNTAX_ERR: Raises if the identifiers have a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
Interface CSS2BorderSpacing (introduced in DOM Level 2)
The CSS2BorderSpacing interface represents the border-spacing CSS Level
2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2BorderSpacing : CSSValue {
readonly attribute unsigned short horizontalType;
readonly attribute unsigned short verticalType;
float getHorizontalSpacing(in float hType)
raises(DOMException);
float getVerticalSpacing(in float vType)
raises(DOMException);
void setHorizontalSpacing(in unsigned short hType,
in float value)
raises(DOMException);
void setVerticalSpacing(in unsigned short vType,
in float value)
raises(DOMException);
};
Attributes
horizontalType of type unsigned short, readonly
The A code defining the type of the value as defined in
CSSValue. It would be one of CSS_EMS, CSS_EXS, CSS_PX,
CSS_CM, CSS_MM, CSS_IN, CSS_PT or CSS_PC.
verticalType of type unsigned short, readonly
The A code defining the type of the value as defined in
CSSValue. It would be one of CSS_EMS, CSS_EXS, CSS_PX,
CSS_CM, CSS_MM, CSS_IN, CSS_PT, CSS_PC or CSS_INHERIT.
Methods
getHorizontalSpacing
This method is used to get the float value in a specified
unit if the horizontalSpacing represents a length. If the
float doesn't contain a float value or can't be converted
into the specified unit, a DOMException is raised.
Parameters
float hType The horizontal unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
getVerticalSpacing
This method is used to get the float value in a specified
unit if the verticalSpacing represents a length. If the float
doesn't contain a float value or can't be converted into the
specified unit, a DOMException is raised. The value is 0 if
only the horizontal value has been specified.
Parameters
float vType The vertical unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
setHorizontalSpacing
This method is used to set the horizontal spacing with a
specified unit. If the vertical value is a length, it sets
the vertical spacing to 0.
Parameters
unsigned short hType The horizontal unit.
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
setVerticalSpacing
This method is used to set the vertical spacing with a
specified unit. If the horizontal value is not a length, it
sets the vertical spacing to 0.
Parameters
unsigned short vType The vertical unit.
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length or a percentage.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
Interface CSS2CounterReset (introduced in DOM Level 2)
The CSS2CounterReset interface represents a simple value for the
counter-reset CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2CounterReset : CSSValue {
attribute DOMString identifier;
// raises(CSSException,
// DOMException) on setting
attribute short reset;
// raises(DOMException) on setting
};
Attributes
identifier of type DOMString
The element name.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified identifier
has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
identifier is readonly.
reset of type short
The reset (default value is 0).
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
identifier is readonly.
Interface CSS2CounterIncrement (introduced in DOM Level 2)
The CSS2CounterIncrement interface represents a simple value for the
counter-increment CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2CounterIncrement : CSSValue {
attribute DOMString identifier;
// raises(CSSException,
// DOMException) on setting
attribute short increment;
// raises(DOMException) on setting
};
Attributes
identifier of type DOMString
The element name.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified identifier
has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
identifier is readonly.
increment of type short
The increment (default value is 1).
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
identifier is readonly.
Interface CSS2Cursor (introduced in DOM Level 2)
The CSS2Cursor interface represents the cursor CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2Cursor : CSSValue {
readonly attribute CSSValueList uris;
attribute DOMString predefinedCursor;
// raises(CSSException,
// DOMException) on setting
};
Attributes
uris of type CSSValueList, readonly
uris represents the list of URIs (CSS_URI) on the cursor
property. The list can be empty.
predefinedCursor of type DOMString
This identifier represents a generic cursor name or an empty
string.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
Interface CSS2PlayDuring (introduced in DOM Level 2)
The CSS2PlayDuring interface represents the play-during CSS Level 2
property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2PlayDuring : CSSValue {
readonly attribute unsigned short playDuringType;
attribute DOMString playDuringIdentifier;
// raises(CSSException,
// DOMException) on setting
attribute DOMString uri;
// raises(CSSException,
// DOMException) on setting
attribute boolean mix;
// raises(DOMException) on setting
attribute boolean repeat;
// raises(DOMException) on setting
};
Attributes
playDuringType of type unsigned short, readonly
A code defining the type of the value as define in CSSvalue.
It would be one of CSS_UNKNOWN or CSS_IDENT.
playDuringIdentifier of type DOMString
One of "inherit", "auto", "none" or the empty string if the
playDuringType is CSS_UNKNOWN. On setting, it will set the
uri to the empty string and mix and repeat to false.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
uri of type DOMString
The sound specified by the uri. It will set the
playDuringType attribute to CSS_UNKNOWN.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
mix of type boolean
true if the sound should be mixed. It will be ignored if the
attribute doesn't contain a uri.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
repeat of type boolean
true if the sound should be repeated. It will be ignored if
the attribute doesn't contain a uri.
Exceptions on setting
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
Interface CSS2TextShadow (introduced in DOM Level 2)
The CSS2TextShadow interface represents a simple value for the
text-shadow CSS Level 2 property.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2TextShadow {
readonly attribute CSSValue color;
readonly attribute CSSValue horizontal;
readonly attribute CSSValue vertical;
readonly attribute CSSValue blur;
};
Attributes
color of type CSSValue, readonly
Specified the color of the text shadow. The CSS Value can
contain an empty string if no color has been specified.
horizontal of type CSSValue, readonly
The horizontal position of the text shadow. 0 if no length
has been specified.
vertical of type CSSValue, readonly
The vertical position of the text shadow. 0 if no length has
been specified.
blur of type CSSValue, readonly
The blur radius of the text shadow. 0 if no length has been
specified.
The following table specifies the type of CSSValue used to represent each
property that can be specified in a CSSStyleDeclaration found in a
CSSFontFaceRule for a CSS Level 2 style sheet.
Property Name Representation
font-family list of strings and idents
font-style list of idents
font-variant list of idents
font-weight list of idents
font-stretch list of idents
font-size list of lengths or ident
unicode-range list of strings
units-per-em number
src list of CSS2FontFaceSrc
panose-1 list of integers
stemv number
stemh number
slope number
cap-height number
x-height number
ascent number
descent number
widths list of CSS2FontFaceWidths
bbox list of numbers
definition-srcuri
baseline number
centerline number
mathline number
topline number
Interface CSS2FontFaceSrc (introduced in DOM Level 2)
The CSS2Cursor interface represents the src CSS Level 2 descriptor.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2FontFaceSrc {
attribute DOMString uri;
// raises(CSSException,
// DOMException) on setting
readonly attribute CSSValueList format;
attribute DOMString fontFaceName;
// raises(CSSException,
// DOMException) on setting
};
Attributes
uri of type DOMString
Specifies the source of the font, empty string otherwise.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
format of type CSSValueList, readonly
This attribute contains a list of strings for the format CSS
function.
fontFaceName of type DOMString
Specifies the full font name of a locally installed font.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
Interface CSS2FontFaceWidths (introduced in DOM Level 2)
The CSS2Cursor interface represents a simple value for the widths CSS
Level 2 descriptor.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2FontFaceWidths {
attribute DOMString urange;
// raises(CSSException,
// DOMException) on setting
readonly attribute CSSValueList numbers;
};
Attributes
urange of type DOMString
The range for the characters.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the specified CSS string
value has a syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
declaration is readonly.
numbers of type CSSValueList, readonly
A list of numbers representing the glyph widths.
The following table specifies the type of CSSValue used to represent each
property that can be specified in a CSSStyleDeclaration found in a
CSSPageRule for a CSS Level 2 style sheet.
Property Name Representation
margin null
margin-top, margin,right, length (no CSS_EMS and CSS_EXS),
margin-bottom, margin-left percentage, ident
marks list of idents
size CSS2PageSize
Interface CSS2PageSize (introduced in DOM Level 2)
The CSS2Cursor interface represents the size CSS Level 2 descriptor.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2PageSize : CSSValue {
readonly attribute unsigned short widthType;
readonly attribute unsigned short heightType;
readonly attribute DOMString identifier;
float getWidth(in float wType)
raises(DOMException);
float getHeightSize(in float hType)
raises(DOMException);
void setWidthSize(in unsigned short wType,
in float value)
raises(DOMException);
void setHeightSize(in unsigned short hType,
in float value)
raises(DOMException);
void setIdentifier(in DOMString ident)
raises(CSSException,
DOMException);
};
Attributes
widthType of type unsigned short, readonly
A code defining the type of the width of the page. It would
be one of CSS_EMS, CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN,
CSS_PT, CSS_PC or CSS_IDENT.
heightType of type unsigned short, readonly
A code defining the type of the height of the page. It would
be one of CSS_EMS, CSS_EXS, CSS_PX, CSS_CM, CSS_MM, CSS_IN,
CSS_PT, CSS_PC or CSS_IDENT. If one of width or height is
CSS_IDENT, it's guaranteed that the other is the same.
identifier of type DOMString, readonly
If width is CSS_IDENT, this attribute contains the string
representation of the ident, otherwise it contains an empty
string.
Methods
getWidth
This method is used to get the float value in a specified
unit if the widthType represents a length. If the float
doesn't contain a float value or can't be converted into the
specified unit, a DOMException is raised.
Parameters
float wType The width unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
getHeightSize
This method is used to get the float value in a specified
unit if the heightType represents a length. If the float
doesn't contain a float value or can't be converted into the
specified unit, a DOMException is raised. If only the width
value has been specified, the height value is the same.
Parameters
float hType The height unit.
Return Value
float The float value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the property
doesn't contain a float or the value can't be
converted.
setWidthSize
This method is used to set the width position with a
specified unit. If the heightType is not a length, it sets
the height position to the same value.
Parameters
unsigned short wType The width unit.
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length or a percentage.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
setHeightSize
This method is used to set the height position with a
specified unit. If the widthType is not a length, it sets the
width position to the same value.
Parameters
unsigned short hType The height unit.
float value The new value.
Exceptions
DOMException INVALID_ACCESS_ERR: Raises if the specified
unit is not a length or a percentage.
NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
setIdentifier
Sets the identifier.
Parameters
DOMString ident The new identifier.
Exceptions
CSSException SYNTAX_ERR: Raises if the identifier has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raises if this
property is readonly.
No Return Value
The following interface may be supported by a DOM implementation as a
convenience. A DOM application can use the hasFeature method of the
DOMImplementation interface to determine whether the CSS2Properties
interface is supported or not. The feature string for the CSS2Properties
interface is "CSS2Properties".
Interface CSS2Properties (introduced in DOM Level 2)
The CSS2Properties interface represents a convenience mechanism for
retrieving and setting properties within a CSSStyleDeclaration. The
attributes of this interface correspond to all the properties specified
in CSS2. Getting an attribute of this interface is equivalent to
calling the getPropertyValue method of the CSSStyleDeclaration
interface. Setting an attribute of this interface is equivalent to
calling the setProperty method of the CSSStyleDeclaration interface.
A compliant implementation is not required to implement the
CSS2Properties interface. If an implementation does implement this
interface, the expectation is that language-specific methods can be
used to cast from an instance of the CSSStyleDeclaration interface to
the CSS2Properties interface.
If an implementation does implement this interface, it is expected to
understand the specific syntax of the shorthand properties, and apply
their semantics; when the margin property is set, for example, the
marginTop, marginRight, marginBottom and marginLeft properties are
actually being set by the underlying implementation.
When dealing with CSS "shorthand" properties, the shorthand properties
should be decomposed into their component longhand properties as
appropriate, and when querying for their value, the form returned
should be the shortest form exactly equivalent to the declarations made
in the ruleset. However, if there is no shorthand declaration that
could be added to the ruleset without changing in any way the rules
already declared in the ruleset (i.e., by adding longhand rules that
were previously not declared in the ruleset), then the empty string
should be returned for the shorthand property.
For example, querying for the font property should not return "normal
normal normal 14pt/normal Arial, sans-serif", when "14pt Arial,
sans-serif" suffices (the normals are initial values, and are implied
by use of the longhand property).
If the values for all the longhand properties that compose a particular
string are the initial values, then a string consisting of all the
initial values should be returned (e.g. a border-width value of
"medium" should be returned as such, not as "").
For some shorthand properties that take missing values from other
sides, such as the margin, padding, and border-[width|style|color]
properties, the minimum number of sides possible should be used, i.e.,
"0px 10px" will be returned instead of "0px 10px 0px 10px".
If the value of a shorthand property can not be decomposed into its
component longhand properties, as is the case for the font property
with a value of "menu", querying for the values of the component
longhand properties should return the empty string.
IDL Definition
// Introduced in DOM Level 2:
interface CSS2Properties {
attribute DOMString azimuth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString background;
// raises(CSSException,
// DOMException) on setting
attribute DOMString backgroundAttachment;
// raises(CSSException,
// DOMException) on setting
attribute DOMString backgroundColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString backgroundImage;
// raises(CSSException,
// DOMException) on setting
attribute DOMString backgroundPosition;
// raises(CSSException,
// DOMException) on setting
attribute DOMString backgroundRepeat;
// raises(CSSException,
// DOMException) on setting
attribute DOMString border;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderCollapse;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderSpacing;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderTop;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderRight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderBottom;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderLeft;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderTopColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderRightColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderBottomColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderLeftColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderTopStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderRightStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderBottomStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderLeftStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderTopWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderRightWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderBottomWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderLeftWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString borderWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString bottom;
// raises(CSSException,
// DOMException) on setting
attribute DOMString captionSide;
// raises(CSSException,
// DOMException) on setting
attribute DOMString clear;
// raises(CSSException,
// DOMException) on setting
attribute DOMString clip;
// raises(CSSException,
// DOMException) on setting
attribute DOMString color;
// raises(CSSException,
// DOMException) on setting
attribute DOMString content;
// raises(CSSException,
// DOMException) on setting
attribute DOMString counterIncrement;
// raises(CSSException,
// DOMException) on setting
attribute DOMString counterReset;
// raises(CSSException,
// DOMException) on setting
attribute DOMString cue;
// raises(CSSException,
// DOMException) on setting
attribute DOMString cueAfter;
// raises(CSSException,
// DOMException) on setting
attribute DOMString cueBefore;
// raises(CSSException,
// DOMException) on setting
attribute DOMString cursor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString direction;
// raises(CSSException,
// DOMException) on setting
attribute DOMString display;
// raises(CSSException,
// DOMException) on setting
attribute DOMString elevation;
// raises(CSSException,
// DOMException) on setting
attribute DOMString emptyCells;
// raises(CSSException,
// DOMException) on setting
attribute DOMString cssFloat;
// raises(CSSException,
// DOMException) on setting
attribute DOMString font;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontFamily;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontSize;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontSizeAdjust;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontStretch;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontVariant;
// raises(CSSException,
// DOMException) on setting
attribute DOMString fontWeight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString height;
// raises(CSSException,
// DOMException) on setting
attribute DOMString left;
// raises(CSSException,
// DOMException) on setting
attribute DOMString letterSpacing;
// raises(CSSException,
// DOMException) on setting
attribute DOMString lineHeight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString listStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString listStyleImage;
// raises(CSSException,
// DOMException) on setting
attribute DOMString listStylePosition;
// raises(CSSException,
// DOMException) on setting
attribute DOMString listStyleType;
// raises(CSSException,
// DOMException) on setting
attribute DOMString margin;
// raises(CSSException,
// DOMException) on setting
attribute DOMString marginTop;
// raises(CSSException,
// DOMException) on setting
attribute DOMString marginRight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString marginBottom;
// raises(CSSException,
// DOMException) on setting
attribute DOMString marginLeft;
// raises(CSSException,
// DOMException) on setting
attribute DOMString markerOffset;
// raises(CSSException,
// DOMException) on setting
attribute DOMString marks;
// raises(CSSException,
// DOMException) on setting
attribute DOMString maxHeight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString maxWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString minHeight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString minWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString orphans;
// raises(CSSException,
// DOMException) on setting
attribute DOMString outline;
// raises(CSSException,
// DOMException) on setting
attribute DOMString outlineColor;
// raises(CSSException,
// DOMException) on setting
attribute DOMString outlineStyle;
// raises(CSSException,
// DOMException) on setting
attribute DOMString outlineWidth;
// raises(CSSException,
// DOMException) on setting
attribute DOMString overflow;
// raises(CSSException,
// DOMException) on setting
attribute DOMString padding;
// raises(CSSException,
// DOMException) on setting
attribute DOMString paddingTop;
// raises(CSSException,
// DOMException) on setting
attribute DOMString paddingRight;
// raises(CSSException,
// DOMException) on setting
attribute DOMString paddingBottom;
// raises(CSSException,
// DOMException) on setting
attribute DOMString paddingLeft;
// raises(CSSException,
// DOMException) on setting
attribute DOMString page;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pageBreakAfter;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pageBreakBefore;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pageBreakInside;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pause;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pauseAfter;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pauseBefore;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pitch;
// raises(CSSException,
// DOMException) on setting
attribute DOMString pitchRange;
// raises(CSSException,
// DOMException) on setting
attribute DOMString playDuring;
// raises(CSSException,
// DOMException) on setting
attribute DOMString position;
// raises(CSSException,
// DOMException) on setting
attribute DOMString quotes;
// raises(CSSException,
// DOMException) on setting
attribute DOMString richness;
// raises(CSSException,
// DOMException) on setting
attribute DOMString right;
// raises(CSSException,
// DOMException) on setting
attribute DOMString size;
// raises(CSSException,
// DOMException) on setting
attribute DOMString speak;
// raises(CSSException,
// DOMException) on setting
attribute DOMString speakHeader;
// raises(CSSException,
// DOMException) on setting
attribute DOMString speakNumeral;
// raises(CSSException,
// DOMException) on setting
attribute DOMString speakPunctuation;
// raises(CSSException,
// DOMException) on setting
attribute DOMString speechRate;
// raises(CSSException,
// DOMException) on setting
attribute DOMString stress;
// raises(CSSException,
// DOMException) on setting
attribute DOMString tableLayout;
// raises(CSSException,
// DOMException) on setting
attribute DOMString textAlign;
// raises(CSSException,
// DOMException) on setting
attribute DOMString textDecoration;
// raises(CSSException,
// DOMException) on setting
attribute DOMString textIndent;
// raises(CSSException,
// DOMException) on setting
attribute DOMString textShadow;
// raises(CSSException,
// DOMException) on setting
attribute DOMString textTransform;
// raises(CSSException,
// DOMException) on setting
attribute DOMString top;
// raises(CSSException,
// DOMException) on setting
attribute DOMString unicodeBidi;
// raises(CSSException,
// DOMException) on setting
attribute DOMString verticalAlign;
// raises(CSSException,
// DOMException) on setting
attribute DOMString visibility;
// raises(CSSException,
// DOMException) on setting
attribute DOMString voiceFamily;
// raises(CSSException,
// DOMException) on setting
attribute DOMString volume;
// raises(CSSException,
// DOMException) on setting
attribute DOMString whiteSpace;
// raises(CSSException,
// DOMException) on setting
attribute DOMString widows;
// raises(CSSException,
// DOMException) on setting
attribute DOMString width;
// raises(CSSException,
// DOMException) on setting
attribute DOMString wordSpacing;
// raises(CSSException,
// DOMException) on setting
attribute DOMString zIndex;
// raises(CSSException,
// DOMException) on setting
};
Attributes
azimuth of type DOMString
See the azimuth property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
background of type DOMString
See the background property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
backgroundAttachment of type DOMString
See the background-attachment property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
backgroundColor of type DOMString
See the background-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
backgroundImage of type DOMString
See the background-image property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
backgroundPosition of type DOMString
See the background-position property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
backgroundRepeat of type DOMString
See the background-repeat property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
border of type DOMString
See the border property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderCollapse of type DOMString
See the border-collapse property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderColor of type DOMString
See the border-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderSpacing of type DOMString
See the border-spacing property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderStyle of type DOMString
See the border-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderTop of type DOMString
See the border-top property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderRight of type DOMString
See the border-right property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderBottom of type DOMString
See the border-bottom property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderLeft of type DOMString
See the border-left property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderTopColor of type DOMString
See the border-top-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderRightColor of type DOMString
See the border-right-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderBottomColor of type DOMString
See the border-bottom-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderLeftColor of type DOMString
See the border-left-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderTopStyle of type DOMString
See the border-top-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderRightStyle of type DOMString
See the border-right-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderBottomStyle of type DOMString
See the border-bottom-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderLeftStyle of type DOMString
See the border-left-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderTopWidth of type DOMString
See the border-top-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderRightWidth of type DOMString
See the border-right-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderBottomWidth of type DOMString
See the border-bottom-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderLeftWidth of type DOMString
See the border-left-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
borderWidth of type DOMString
See the border-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
bottom of type DOMString
See the bottom property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
captionSide of type DOMString
See the caption-side property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
clear of type DOMString
See the clear property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
clip of type DOMString
See the clip property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
color of type DOMString
See the color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
content of type DOMString
See the content property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
counterIncrement of type DOMString
See the counter-increment property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
counterReset of type DOMString
See the counter-reset property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
cue of type DOMString
See the cue property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
cueAfter of type DOMString
See the cue-after property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
cueBefore of type DOMString
See the cue-before property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
cursor of type DOMString
See the cursor property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
direction of type DOMString
See the direction property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
display of type DOMString
See the display property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
elevation of type DOMString
See the elevation property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
emptyCells of type DOMString
See the empty-cells property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
cssFloat of type DOMString
See the float property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
font of type DOMString
See the font property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontFamily of type DOMString
See the font-family property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontSize of type DOMString
See the font-size property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontSizeAdjust of type DOMString
See the font-size-adjust property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontStretch of type DOMString
See the font-stretch property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontStyle of type DOMString
See the font-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontVariant of type DOMString
See the font-variant property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
fontWeight of type DOMString
See the font-weight property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
height of type DOMString
See the height property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
left of type DOMString
See the left property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
letterSpacing of type DOMString
See the letter-spacing property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
lineHeight of type DOMString
See the line-height property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
listStyle of type DOMString
See the list-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
listStyleImage of type DOMString
See the list-style-image property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
listStylePosition of type DOMString
See the list-style-position property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
listStyleType of type DOMString
See the list-style-type property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
margin of type DOMString
See the margin property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
marginTop of type DOMString
See the margin-top property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
marginRight of type DOMString
See the margin-right property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
marginBottom of type DOMString
See the margin-bottom property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
marginLeft of type DOMString
See the margin-left property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
markerOffset of type DOMString
See the marker-offset property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
marks of type DOMString
See the marks property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
maxHeight of type DOMString
See the max-height property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
maxWidth of type DOMString
See the max-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
minHeight of type DOMString
See the min-height property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
minWidth of type DOMString
See the min-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
orphans of type DOMString
See the orphans property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
outline of type DOMString
See the outline property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
outlineColor of type DOMString
See the outline-color property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
outlineStyle of type DOMString
See the outline-style property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
outlineWidth of type DOMString
See the outline-width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
overflow of type DOMString
See the overflow property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
padding of type DOMString
See the padding property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
paddingTop of type DOMString
See the padding-top property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
paddingRight of type DOMString
See the padding-right property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
paddingBottom of type DOMString
See the padding-bottom property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
paddingLeft of type DOMString
See the padding-left property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
page of type DOMString
See the page property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pageBreakAfter of type DOMString
See the page-break-after property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pageBreakBefore of type DOMString
See the page-break-before property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pageBreakInside of type DOMString
See the page-break-inside property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pause of type DOMString
See the pause property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pauseAfter of type DOMString
See the pause-after property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pauseBefore of type DOMString
See the pause-before property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pitch of type DOMString
See the pitch property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
pitchRange of type DOMString
See the pitch-range property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
playDuring of type DOMString
See the play-during property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
position of type DOMString
See the position property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
quotes of type DOMString
See the quotes property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
richness of type DOMString
See the richness property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
right of type DOMString
See the right property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
size of type DOMString
See the size property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
speak of type DOMString
See the speak property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
speakHeader of type DOMString
See the speak-header property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
speakNumeral of type DOMString
See the speak-numeral property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
speakPunctuation of type DOMString
See the speak-punctuation property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
speechRate of type DOMString
See the speech-rate property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
stress of type DOMString
See the stress property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
tableLayout of type DOMString
See the table-layout property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
textAlign of type DOMString
See the text-align property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
textDecoration of type DOMString
See the text-decoration property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
textIndent of type DOMString
See the text-indent property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
textShadow of type DOMString
See the text-shadow property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
textTransform of type DOMString
See the text-transform property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
top of type DOMString
See the top property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
unicodeBidi of type DOMString
See the unicode-bidi property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
verticalAlign of type DOMString
See the vertical-align property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
visibility of type DOMString
See the visibility property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
voiceFamily of type DOMString
See the voice-family property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
volume of type DOMString
See the volume property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
whiteSpace of type DOMString
See the white-space property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
widows of type DOMString
See the widows property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
width of type DOMString
See the width property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
wordSpacing of type DOMString
See the word-spacing property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
zIndex of type DOMString
See the z-index property definition in CSS2.
Exceptions on setting
CSSException SYNTAX_ERR: Raised if the new value has a
syntax error and is unparsable.
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if this
property is readonly.
5.4. HTML Extension
5.4.1. HTMLElement inline style
Interface HTMLElementCSS (introduced in DOM Level 2)
Inline style information attached to HTML elements is exposed through
the style attribute. This represents the contents of the STYLE
attribute for HTML elements.
IDL Definition
// Introduced in DOM Level 2:
interface HTMLElementCSS : html::HTMLElement {
readonly attribute CSSStyleDeclaration style;
};
Attributes
style of type CSSStyleDeclaration, readonly
The style attribute.
5.5. Unresolved Issues
1. We do not intend to provide access to the actual style of specific
elements in this level of the CSS DOM. Implementation of the CSS DOM
does not require an actual rendering engine for any other reason, and
we see that requirement as a limitation on the potential
implementations of the CSS DOM.
2. The group is undecided whether to put a cssText attribute on the
CSSStyleSheet, which would provide a textual representation of the
entire style sheet. Setting this attribute would result in the
resetting of all the rules in the style sheet.
6. Document Object Model Events
Editors
Tom Pixley, Netscape Communications Corporation
6.1. Overview of the DOM Level 2 Event Model
The DOM Level 2 Event Model is designed with two main goals. The first goal
is the design of a generic event system which allows registration of event
handlers, describes event flow through a tree structure, and provides basic
contextual information for each event. Additionally, the specification will
provide standard sets of events for user interface control and document
mutation notifications, including defined contextual information for each of
these event sets.
The second goal of the event model is to provide a common subset of the
current event systems used in DOM Level 0 browsers. This is intended to
foster interoperability of existing scripts and content. It is not expected
that this goal will be met with full backwards compatibility. However, the
specification attempts to achieve this when possible.
The following sections of the Event Model specification define both the
specification for the DOM Event Model and a number of compliant event sets
designed for use within the model. The Event Model consists of the two
sections on event propagation and event listener registration and the Event
interface. A DOM consumer can use the hasFeature of the DOMImplementation
interface to determine whether the Event Model has been implemented by a DOM
implementation. The feature string for the Event Model is "Events". The
existence within an implementation of each of the individual event sets can
also be queried using the hasFeature method. Each event set describes its
own feature string in the event set listing.
6.1.1. Terminology
UI events
User interface events. These events are generated by user interaction
through an external device (mouse, keyboard, etc.)
UI Logical events
Device independent user interface events such as focus change messages
or element triggering notifications.
Mutation events
Events caused by any action which modifies the structure of the
document.
Capturing
The process by which an event can be handled by one of the event's
target's ancestors before being handled by the event's target.
Bubbling
The process by which an event propagates upward through its ancestors
after being handled by the event's target.
Cancelable
A designation for events which indicates that upon handling the event
the client may choose to prevent the DOM implementation from processing
any default action associated with the event.
6.2. Description of event flow
Event flow is the process through which the an event originates from the DOM
implementation and is passed into the Document Object Model. The methods of
event capture and event bubbling, along with various event listener
registration techniques, allow the event to then be handled in a number of
ways. It can be handled locally at the EventTarget level or centrally from
an EventTarget higher in the document tree.
6.2.1. Basic event flow
Each event has an EventTarget toward which the event is directed by the DOM
implementation. This EventTarget is specified in the Event's target
attribute. When the event reaches the target, any event listeners registered
on the EventTarget are triggered. Although all EventListeners on the
EventTarget are guaranteed to receive the event, no specification is made as
to the order in which they will receive the event with regards to the other
EventListeners on the EventTarget. If neither event capture or event
bubbling are in use for that particular event, the event flow process will
complete after all listeners have been triggered. If event capture or event
bubbling is in use, the event flow will be modified as described in the
sections below.
Any exceptions thrown inside an EventListener will not stop propagation of
the event. It will continue processing any additional EventListener in the
described manner.
6.2.2. Event Capture
Event capture is the process by which an EventListener registered on an
ancestor of the event's target can intercept events of a given type before
they are received by the event's target. Capture operates from the top of
the tree downward, making it the symmetrical opposite of bubbling which is
described below.
An EventListener being registered on an EventTarget may choose to have that
EventListener capture events by specifying the useCapture parameter of the
addEventListener method to be true. Thereafter, when an event of the given
type is dispatched toward a descendant of the capturing object, the event
will trigger any capturing event listeners of the appropriate type which
exist in the direct line between the top of the document and the event's
target. This downward propagation continues until the event's target is
reached. A capturing EventListener will not be triggered by events
dispatched directly the the EventTarget upon which it is registered.
If the capturing EventListener wishes to prevent further processing of the
event, either later in the capture phase or during bubbling, it may call the
preventCapture method of the Event interface. This will prevent further
dispatch of the event to additional EventTargets lower in the tree
structure, although additional EventListeners registered at the same
hierarchy level will still receive the event. Once an event's preventCapture
method has been called, further calls to that method have no additional
effect. If no additional capturers exist and preventCapture has not been
called, the event triggers the appropriate EventListeners on the target
itself.
Although event capture is similar to the delegation based event model in
which all interested parties register their listeners directly on the target
about which they wish to receive notifications, it is different in two
important respects. First, event capture only allows interception of events
which are targeted at descendants of the capturing Node. It does not allow
interception of events targeted to the capturer's ancestors, its siblings,
or its sibling's descendants. Secondly, event capture is not specified for a
single Node, it is specified for a specific type of event. Once specified,
event capture intercepts all events of the specified type targeted toward
any of the capturer's descendants.
6.2.3. Event bubbling
Events which are designated as bubbling will initially proceed with the same
event flow as non-bubbling events. The event is dispatched to its target
Node and any event listeners found there are triggered. Bubbling events will
then trigger any additional event listeners found by following the Node's
parent chain upward, checking for any event listeners registered on each
successive Node. This upward propagation will continue up to and including
the Document.
Any event handler may choose to prevent continuation of the bubbling process
by calling the preventBubble method of the Event interface. If any
EventListener calls this method, all additional EventListeners on the
current EventTarget will be triggered but bubbling will cease at that level.
Only one call to preventBubble is required to prevent further bubbling.
6.2.4. Event cancelation
Some events are specified as cancelable. For these events, the DOM
implementation generally has a default action associated with the event.
Before processing these events, the implementation must check for event
listeners registered to receive the event and dispatch the event to those
listeners. These listeners then have the option of canceling the
implementation's default action or allowing the default action to proceed.
Cancelation is accomplished by calling the Event's preventDefault method. If
one or more EventListeners call preventDefault during any phase of event
flow the default action will be canceled.
6.3. Event listener registration
6.3.1. Event registration interfaces
Interface EventTarget (introduced in DOM Level 2)
The EventTarget interface is implemented by all Nodes in an
implementation which supports the DOM Event Model. The interface allows
registration and removal of EventListeners on an EventTarget and
dispatch of events to that EventTarget.
IDL Definition
// Introduced in DOM Level 2:
interface EventTarget {
void addEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
void removeEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
boolean dispatchEvent(in Event evt)
raises(DOMException);
};
Methods
addEventListener
This method allows the registration of event listeners on the
event target.
Parameters
DOMString type The event type for which the user
is registering
EventListener listener The listener parameter takes an
interface implemented by the user
which contains the methods to be
called when the event occurs.
boolean useCapture If true, useCapture indicates that
the user wishes to initiate
capture. After initiating capture,
all events of the specified type
will be dispatched to the
registered EventListener before
being dispatched to any
EventTargets beneath them in the
tree. Events which are bubbling
upward through the tree will not
trigger an EventListener
designated to use capture.
If an EventListener is added to an
EventTarget which is currently
processing an event the new
listener will not be triggered by
the current event.
No Return Value
No Exceptions
removeEventListener
This method allows the removal of event listeners from the
event target. If an EventListener is removed from an
EventTarget while it is processing an event, it will complete
its current actions but will not be triggered again during
any later stages of event flow.
If an EventListener is removed from an EventTarget which is
currently processing an event the removed listener will still
be triggered by the current event.
Parameters
DOMString type Specifies the event type of the
EventListener being removed.
EventListener listener The EventListener parameter
indicates the EventListener to be
removed.
boolean useCapture Specifies whether the
EventListener being removed was
registered as a capturing listener
or not. If a listener was
registered twice, one with capture
and one without, each must be
removed separately. Removal of a
capturing listener does not affect
a non-capturing version of the
same listener, and vice versa.
No Return Value
No Exceptions
dispatchEvent
This method allows the dispatch of events into the
implementations event model. Events dispatched in this manner
will have the same capturing and bubbling behavior as events
dispatched directly by the implementation. The target of the
event is the EventTarget on which dispatchEvent is called.
Parameters
Event evt Specifies the event type, behavior, and
contextual information to be used in processing
the event.
Return Value
boolean The return value of dispatchEvent indicates whether
any of the listeners which handled the event called
preventDefault. If preventDefault was called the
value is false, else the value is true.
Exceptions
DOMException UNSPECIFIED_EVENT_TYPE: Raised if the Event's
type was not specified by initializing the
event before dispatchEvent was called.
Interface EventListener (introduced in DOM Level 2)
The EventListener interface is the primary method for handling events.
Users implement the EventListener interface and register their listener
on an EventTarget using the AddEventListener method. The users should
also remove their EventListener from its EventTarget after they have
completed using the listener.
IDL Definition
// Introduced in DOM Level 2:
interface EventListener {
void handleEvent(in Event evt);
};
Methods
handleEvent
This method is called whenever an event occurs of the type
for which the EventListener interface was registered.
Parameters
Event evt The Event contains contextual information about
the event. It also contains the preventDefault,
preventBubble, and preventCapture methods which
are used in determining the event's flow and
default action.
No Return Value
No Exceptions
6.3.2. Interaction with HTML 4.0 event listeners
In HTML 4.0, event listeners were specified as attributes of an element. As
such, registration of a second event listener of the same type would replace
the first listener. The DOM Event Model allows registration of multiple
event listeners on a single Node. To achieve this, event listeners are no
longer stored as attribute values.
In order to achieve compatibility with HTML 4.0, implementors may view the
setting of attributes which represent event handlers as the creation and
registration of an EventListener on the Node. The value of useCapture
defaults to false. This EventListener behaves in the same manner as any
other EventListeners which may be registered on the EventTarget. If the
attribute representing the event listener is changed, this may be viewed as
the removal of the previously registered EventListener and the registration
of a new one. No technique is provided to allow HTML 4.0 event listeners
access to the context information defined for each event.
6.4. Event interface
Interface Event (introduced in DOM Level 2)
The Event interface is used to provide contextual information about an
event to the handler processing the event. An object which implements
the Event interface is generally passed as the first parameter to an
event handler. More specific context information is passed to event
handlers by deriving additional interfaces from Event which contain
information directly relating to the type of event they accompany.
These derived interfaces are also implemented by the object passed to
the event listener.
IDL Definition
// Introduced in DOM Level 2:
interface Event {
// PhaseType
const unsigned short BUBBLING_PHASE = 1;
const unsigned short CAPTURING_PHASE = 2;
const unsigned short AT_TARGET = 3;
readonly attribute DOMString type;
readonly attribute EventTarget target;
readonly attribute Node currentNode;
readonly attribute unsigned short eventPhase;
readonly attribute boolean bubbles;
readonly attribute boolean cancelable;
void preventBubble();
void preventCapture();
void preventDefault();
void initEvent(in DOMString eventTypeArg,
in boolean canBubbleArg,
in boolean cancelableArg);
};
Definition group PhaseType
An integer indicating which phase of event flow is being
processed.
Defined Constants
BUBBLING_PHASE The current event phase is the bubbling
phase.
CAPTURING_PHASE The current event phase is the capturing
phase.
AT_TARGET The event is currently being evaluated at
the target node.
Attributes
type of type DOMString, readonly
The type property represents the event name as a string
property.
target of type EventTarget, readonly
The target property indicates the EventTarget to which the
event was originally dispatched.
currentNode of type Node, readonly
The currentNode property indicates the Node whose
EventListeners are currently being processed. This is
particularly useful during capturing and bubbling.
eventPhase of type unsigned short, readonly
The eventPhase property indicates which phase of event flow
is currently being evaluated.
bubbles of type boolean, readonly
The bubbles property indicates whether or not an event is a
bubbling event. If the event can bubble the value is true,
else the value is false.
cancelable of type boolean, readonly
The cancelable property indicates whether or not an event can
have its default action prevented. If the default action can
be prevented the value is true, else the value is false.
Methods
preventBubble
The preventBubble method is used to end the bubbling phase of
event flow. If this method is called by any EventListeners
registered on the same EventTarget during bubbling, the
bubbling phase will cease at that level and the event will
not be propagated upward within the tree.
No Parameters
No Return Value
No Exceptions
preventCapture
The preventCapture method is used to end the capturing phase
of event flow. If this method is called by any EventListeners
registered on the same EventTarget during capturing, the
capturing phase will cease at that level and the event will
not be propagated any further down.
No Parameters
No Return Value
No Exceptions
preventDefault
If an event is cancelable, the preventCapture method is used
to signify that the event is to be canceled, meaning any
default action normally taken by the implementation as a
result of the event will not occur . If, during any stage of
event flow, the preventDefault method is called the event is
canceled. Any default action associated with the event will
not occur. Calling this method for a non-cancelable event has
no effect. Once preventDefault has been called it will remain
in effect throughout the remainder of the event's
propagation.
No Parameters
No Return Value
No Exceptions
initEvent
Parameters
DOMString eventTypeArg Specifies the event type. This type
may be any event type currently
defined in this specification or a
new event type. Any new event type
must not begin with any upper,
lower, or mixed case version of the
string "DOM". This prefix is
reserved for future DOM event sets.
boolean canBubbleArg Specifies whether or not the event
can bubble.
boolean cancelableArg Specifies whether or not the
event's default action can be
prevented.
No Return Value
No Exceptions
6.5. DocumentEvent interface
Interface DocumentEvent (introduced in DOM Level 2)
The DocumentEvent interface provides a mechanism by which the a user
can create an Event of a type supported by the implementation. It is
expected that the DocumentEvent interface will be implemented on the
same object which implements the Document interface in an
implementation which supports the Event model.
IDL Definition
// Introduced in DOM Level 2:
interface DocumentEvent {
Event createEvent(in DOMString type)
raises(DOMException);
};
Methods
createEvent
Parameters
DOMString type The type paramater specifies the type of
Event to be created. If the Event type
specified is supported by the implementation
this method will return a new Event of the
type requested. If the Event is to be
dispatched via the dispatchEvent method the
appropriate event init method must be called
after creation in order to initialize the
Event's values.
Return Value
Event The newly created Event
Exceptions
DOMException UNSUPPORTED_EVENT_TYPE: Raised if the
implementation does not support the type of
Event requested
6.6. Event set definitions
The DOM Level 2 Event Model allows a DOM implementation to support multiple
sets of events. The model has been designed to allow addition of new event
sets as is required. The DOM will not attempt to define all possible events.
For purposes of interoperability, the DOM will define a set of user
interface events including lower level device dependent events, a set of UI
logical events, and a set of document mutation events.
6.6.1. User Interface event types
The User Interface event set is composed of events listed in HTML 4.0 and
additional events which are supported in DOM Level 0 browsers.
A DOM consumer can use the hasFeature of the DOMImplementation interface to
determine whether the User Interface event set has been implemented by a DOM
implementation. The feature string for this event set is "UIEvents".
Interface UIEvent (introduced in DOM Level 2)
The UIEvent interface provides specific contextual information
associated with User Interface events.
IDL Definition
// Introduced in DOM Level 2:
interface UIEvent : Event {
readonly attribute views::AbstractView view;
readonly attribute unsigned short detail;
void initUIEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in views::AbstractView viewArg,
in unsigned short detailArg);
};
Attributes
view of type views::AbstractView, readonly
The view attribute identifies the AbstractView from which the
event was generated.
detail of type unsigned short, readonly
Specifies some detail information about the Event, depending
on the type of event.
Methods
initUIEvent
Parameters
DOMString typeArg Specifies the event type.
boolean canBubbleArg Specifies whether or not
the event can bubble.
boolean cancelableArg Specifies whether or not
the event's default
action can be prevent.
views::AbstractView viewArg Specifies the Event's
AbstractView.
unsigned short detailArg Specifies the Event's
detail.
No Return Value
No Exceptions
The different types of such events that can occur are:
resize
The resize event occurs when a document view is resized.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
scroll
The scroll event occurs when a document view is scrolled.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
focusin
The focusin event occurs when a node receives focus, for instance via a
pointing device being moved onto an element or by tabbing navigation to
the element. Unlike the HTML event focus, focusin can be applied to any
node, not just FORM controls.
o Bubbles: No
o Cancelable: No
o Context Info: None
focusout
The focusout event occurs when a node loses focus, for instance via a
pointing device being moved out of an element or by tabbing navigation
out of the element. Unlike the HTML event blur, focusout can be applied
to any node, not just FORM controls.
o Bubbles: No
o Cancelable: No
o Context Info: None
gainselection
The gainselection event occurs when a node or part of it is selected
(unlike the HTML event select, it can be applied to any element, not
just HTML FORM controls). For each selected node a gainselection event,
which can be handled locally or thru bubbling by a root node selection
handler, is generated.
o Bubbles: Yes
o Cancelable: No
o Context Info: range
loseselection
The loseselection event occurs when a node or part of it is deselected,
for example because the user selects something else.
o Bubbles: Yes
o Cancelable: No
o Context Info: range
activate
The activate event occurs when an element is activated, for instance,
thru a mouse click or a keypress. A numerical argument is provided to
give an indication of the type of activation that occurs: 1 for a
simple activation (e.g. a simple click or Enter), 2 for hyperactivation
(for instance a double click or Shift Enter).
o Bubbles: Yes
o Cancelable: Yes
o Context Info: detail (the numerical value)
6.6.2. Mouse event types
The Mouse event set is composed of events listed in HTML 4.0 and additional
events which are supported in DOM Level 0 browsers. This event set is
specifically for use with mouse input devices.
A DOM consumer can use the hasFeature of the DOMImplementation interface to
determine whether the User Interface event set has been implemented by a DOM
implementation. The feature string for this event set is "MouseEvents".
Interface MouseEvent (introduced in DOM Level 2)
The MouseEvent interface provides specific contextual information
associated with Mouse events.
The detail attribute inherited from UIEvent indicates the number of
times a mouse button has been pressed and released over the same screen
location during a user action. The attribute value is 1 when the user
begins this action and increments by 1 for each full sequence of
pressing and releasing. If the user moves the mouse between the
mousedown and mouseup the value will be set to 0, indicating that no
click is occurring.
IDL Definition
// Introduced in DOM Level 2:
interface MouseEvent : UIEvent {
readonly attribute long screenX;
readonly attribute long screenY;
readonly attribute long clientX;
readonly attribute long clientY;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
readonly attribute boolean altKey;
readonly attribute boolean metaKey;
readonly attribute unsigned short button;
readonly attribute Node relatedNode;
void initMouseEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in views::AbstractView viewArg,
in unsigned short detailArg,
in long screenXArg,
in long screenYArg,
in long clientXArg,
in long clientYArg,
in boolean ctrlKeyArg,
in boolean altKeyArg,
in boolean shiftKeyArg,
in boolean metaKeyArg,
in unsigned short buttonArg,
in Node relatedNodeArg);
};
Attributes
screenX of type long, readonly
screenX indicates the horizontal coordinate at which the
event occurred in relative to the origin of the screen
coordinate system.
screenY of type long, readonly
screenY indicates the vertical coordinate at which the event
occurred relative to the origin of the screen coordinate
system.
clientX of type long, readonly
clientX indicates the horizontal coordinate at which the
event occurred relative to the DOM implementation's client
area.
clientY of type long, readonly
clientY indicates the vertical coordinate at which the event
occurred relative to the DOM implementation's client area.
ctrlKey of type boolean, readonly
ctrlKey indicates whether the 'ctrl' key was depressed during
the firing of the event.
shiftKey of type boolean, readonly
shiftKey indicates whether the 'shift' key was depressed
during the firing of the event.
altKey of type boolean, readonly
altKey indicates whether the 'alt' key was depressed during
the firing of the event. On some platforms this key may map
to an alternative key name.
metaKey of type boolean, readonly
metaKey indicates whether the 'meta' key was depressed during
the firing of the event. On some platforms this key may map
to an alternative key name.
button of type unsigned short, readonly
During mouse events caused by the depression or release of a
mouse button, button is used to indicate which mouse button
changed state.
relatedNode of type Node, readonly
relatedNode is used to identify a secondary node related to a
UI event.
Methods
initMouseEvent
Parameters
DOMString typeArg Specifies the event
type.
boolean canBubbleArg Specifies whether or not
the event can bubble.
boolean cancelableArg Specifies whether or not
the event's default
action can be prevent.
views::AbstractView viewArg Specifies the Event's
AbstractView.
unsigned short detailArg Specifies the Event's
mouse click count.
long screenXArg Specifies the Event's
screen x coordinate
long screenYArg Specifies the Event's
screen y coordinate
long clientXArg Specifies the Event's
client x coordinate
long clientYArg Specifies the Event's
client y coordinate
boolean ctrlKeyArg Specifies whether or not
control key was
depressed during the
Event.
boolean altKeyArg Specifies whether or not
alt key was depressed
during the Event.
boolean shiftKeyArg Specifies whether or not
shift key was depressed
during the Event.
boolean metaKeyArg Specifies whether or not
meta key was depressed
during the Event.
unsigned short buttonArg Specifies the Event's
mouse button.
Node relatedNodeArg Specifies the Event's
related Node.
No Return Value
No Exceptions
The different types of Mouse events that can occur are:
click
The click event occurs when the pointing device button is clicked over
an element. A click is defined as a mousedown and mouseup over the same
screen location. The sequence of these events is:
mousedown
mouseup
click
If multiple clicks occur at the same screen location, the sequence
repeats with the detail attribute incrementing with each repetition.
This event is valid for most elements.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey, button, detail
mousedown
The mousedown event occurs when the pointing device button is pressed
over an element. This event is valid for most elements.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey, button, detail
mouseup
The mouseup event occurs when the pointing device button is released
over an element. This event is valid for most elements.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey, button, detail
mouseover
The mouseover event occurs when the pointing device is moved onto an
element. This event is valid for most elements.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey, relatedNode
mousemove
The mousemove event occurs when the pointing device is moved while it
is over an element. This event is valid for most elements.
o Bubbles: Yes
o Cancelable: No
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey
mouseout
The mouseout event occurs when the pointing device is moved away from
an element. This event is valid for most elements..
o Bubbles: Yes
o Cancelable: Yes
o Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey,
shiftKey, metaKey, relatedNode
6.6.3. Key event types
The Key event set is composed of events listed in HTML 4.0 and additional
events which are supported in DOM Level 0 browsers. This event set is
specifically for use with keyboard input devices.
A DOM consumer can use the hasFeature of the DOMImplementation interface to
determine whether the Key event set has been implemented by a DOM
implementation. The feature string for this event set is "KeyEvents".
Interface KeyEvent (introduced in DOM Level 2)
The KeyEvent interface provides specific contextual information
associated with Key events.
IDL Definition
// Introduced in DOM Level 2:
interface KeyEvent : UIEvent {
// VirtualKeyCode
const unsigned long CHAR_UNDEFINED = 0x0FFFF;
const unsigned long DOM_VK_0 = 0x30;
const unsigned long DOM_VK_1 = 0x31;
const unsigned long DOM_VK_2 = 0x32;
const unsigned long DOM_VK_3 = 0x33;
const unsigned long DOM_VK_4 = 0x34;
const unsigned long DOM_VK_5 = 0x35;
const unsigned long DOM_VK_6 = 0x36;
const unsigned long DOM_VK_7 = 0x37;
const unsigned long DOM_VK_8 = 0x38;
const unsigned long DOM_VK_9 = 0x39;
const unsigned long DOM_VK_A = 0x41;
const unsigned long DOM_VK_ACCEPT = 0x1E;
const unsigned long DOM_VK_ADD = 0x6B;
const unsigned long DOM_VK_AGAIN = 0xFFC9;
const unsigned long DOM_VK_ALL_CANDIDATES = 0x0100;
const unsigned long DOM_VK_ALPHANUMERIC = 0x00F0;
const unsigned long DOM_VK_ALT = 0x12;
const unsigned long DOM_VK_ALT_GRAPH = 0xFF7E;
const unsigned long DOM_VK_AMPERSAND = 0x96;
const unsigned long DOM_VK_ASTERISK = 0x97;
const unsigned long DOM_VK_AT = 0x0200;
const unsigned long DOM_VK_B = 0x42;
const unsigned long DOM_VK_BACK_QUOTE = 0xC0;
const unsigned long DOM_VK_BACK_SLASH = 0x5C;
const unsigned long DOM_VK_BACK_SPACE = 0x08;
const unsigned long DOM_VK_BRACELEFT = 0xA1;
const unsigned long DOM_VK_BRACERIGHT = 0xA2;
const unsigned long DOM_VK_C = 0x43;
const unsigned long DOM_VK_CANCEL = 0x03;
const unsigned long DOM_VK_CAPS_LOCK = 0x14;
const unsigned long DOM_VK_CIRCUMFLEX = 0x0202;
const unsigned long DOM_VK_CLEAR = 0x0C;
const unsigned long DOM_VK_CLOSE_BRACKET = 0x5D;
const unsigned long DOM_VK_CODE_INPUT = 0x0102;
const unsigned long DOM_VK_COLON = 0x0201;
const unsigned long DOM_VK_COMMA = 0x2C;
const unsigned long DOM_VK_COMPOSE = 0xFF20;
const unsigned long DOM_VK_CONTROL = 0x11;
const unsigned long DOM_VK_CONVERT = 0x1C;
const unsigned long DOM_VK_COPY = 0xFFCD;
const unsigned long DOM_VK_CUT = 0xFFD1;
const unsigned long DOM_VK_D = 0x44;
const unsigned long DOM_VK_DEAD_ABOVEDOT = 0x86;
const unsigned long DOM_VK_DEAD_ABOVERING = 0x88;
const unsigned long DOM_VK_DEAD_ACUTE = 0x81;
const unsigned long DOM_VK_DEAD_BREVE = 0x85;
const unsigned long DOM_VK_DEAD_CARON = 0x8A;
const unsigned long DOM_VK_DEAD_CEDILLA = 0x8B;
const unsigned long DOM_VK_DEAD_CIRCUMFLEX = 0x82;
const unsigned long DOM_VK_DEAD_DIAERESIS = 0x87;
const unsigned long DOM_VK_DEAD_DOUBLEACUTE = 0x89;
const unsigned long DOM_VK_DEAD_GRAVE = 0x80;
const unsigned long DOM_VK_DEAD_IOTA = 0x8D;
const unsigned long DOM_VK_DEAD_MACRON = 0x84;
const unsigned long DOM_VK_DEAD_OGONEK = 0x8C;
const unsigned long DOM_VK_DEAD_SEMIVOICED_SOUND = 0x8F;
const unsigned long DOM_VK_DEAD_TILDE = 0x83;
const unsigned long DOM_VK_DEAD_VOICED_SOUND = 0x8E;
const unsigned long DOM_VK_DECIMAL = 0x6E;
const unsigned long DOM_VK_DELETE = 0x7F;
const unsigned long DOM_VK_DIVIDE = 0x6F;
const unsigned long DOM_VK_DOLLAR = 0x0203;
const unsigned long DOM_VK_DOWN = 0x28;
const unsigned long DOM_VK_E = 0x45;
const unsigned long DOM_VK_END = 0x23;
const unsigned long DOM_VK_ENTER = 0x0D;
const unsigned long DOM_VK_EQUALS = 0x3D;
const unsigned long DOM_VK_ESCAPE = 0x1B;
const unsigned long DOM_VK_EURO_SIGN = 0x0204;
const unsigned long DOM_VK_EXCLAMATION_MARK = 0x0205;
const unsigned long DOM_VK_F = 0x46;
const unsigned long DOM_VK_F1 = 0x70;
const unsigned long DOM_VK_F10 = 0x79;
const unsigned long DOM_VK_F11 = 0x7A;
const unsigned long DOM_VK_F12 = 0x7B;
const unsigned long DOM_VK_F13 = 0xF000;
const unsigned long DOM_VK_F14 = 0xF001;
const unsigned long DOM_VK_F15 = 0xF002;
const unsigned long DOM_VK_F16 = 0xF003;
const unsigned long DOM_VK_F17 = 0xF004;
const unsigned long DOM_VK_F18 = 0xF005;
const unsigned long DOM_VK_F19 = 0xF006;
const unsigned long DOM_VK_F2 = 0x71;
const unsigned long DOM_VK_F20 = 0xF007;
const unsigned long DOM_VK_F21 = 0xF008;
const unsigned long DOM_VK_F22 = 0xF009;
const unsigned long DOM_VK_F23 = 0xF00A;
const unsigned long DOM_VK_F24 = 0xF00B;
const unsigned long DOM_VK_F3 = 0x72;
const unsigned long DOM_VK_F4 = 0x73;
const unsigned long DOM_VK_F5 = 0x74;
const unsigned long DOM_VK_F6 = 0x75;
const unsigned long DOM_VK_F7 = 0x76;
const unsigned long DOM_VK_F8 = 0x77;
const unsigned long DOM_VK_F9 = 0x78;
const unsigned long DOM_VK_FINAL = 0x18;
const unsigned long DOM_VK_FIND = 0xFFD0;
const unsigned long DOM_VK_FULL_WIDTH = 0x00F3;
const unsigned long DOM_VK_G = 0x47;
const unsigned long DOM_VK_GREATER = 0xA0;
const unsigned long DOM_VK_H = 0x48;
const unsigned long DOM_VK_HALF_WIDTH = 0x00F4;
const unsigned long DOM_VK_HELP = 0x9C;
const unsigned long DOM_VK_HIRAGANA = 0x00F2;
const unsigned long DOM_VK_HOME = 0x24;
const unsigned long DOM_VK_I = 0x49;
const unsigned long DOM_VK_INSERT = 0x9B;
const unsigned long DOM_VK_INVERTED_EXCLAMATION_MARK = 0x0206;
const unsigned long DOM_VK_J = 0x4A;
const unsigned long DOM_VK_JAPANESE_HIRAGANA = 0x0104;
const unsigned long DOM_VK_JAPANESE_KATAKANA = 0x0103;
const unsigned long DOM_VK_JAPANESE_ROMAN = 0x0105;
const unsigned long DOM_VK_K = 0x4B;
const unsigned long DOM_VK_KANA = 0x15;
const unsigned long DOM_VK_KANJI = 0x19;
const unsigned long DOM_VK_KATAKANA = 0x00F1;
const unsigned long DOM_VK_KP_DOWN = 0xE1;
const unsigned long DOM_VK_KP_LEFT = 0xE2;
const unsigned long DOM_VK_KP_RIGHT = 0xE3;
const unsigned long DOM_VK_KP_UP = 0xE0;
const unsigned long DOM_VK_L = 0x4C;
const unsigned long DOM_VK_LEFT = 0x25;
const unsigned long DOM_VK_LEFT_PARENTHESIS = 0x0207;
const unsigned long DOM_VK_LESS = 0x99;
const unsigned long DOM_VK_M = 0x4D;
const unsigned long DOM_VK_META = 0x9D;
const unsigned long DOM_VK_MINUS = 0x2D;
const unsigned long DOM_VK_MODECHANGE = 0x1F;
const unsigned long DOM_VK_MULTIPLY = 0x6A;
const unsigned long DOM_VK_N = 0x4E;
const unsigned long DOM_VK_NONCONVERT = 0x1D;
const unsigned long DOM_VK_NUM_LOCK = 0x90;
const unsigned long DOM_VK_NUMBER_SIGN = 0x0208;
const unsigned long DOM_VK_NUMPAD0 = 0x60;
const unsigned long DOM_VK_NUMPAD1 = 0x61;
const unsigned long DOM_VK_NUMPAD2 = 0x62;
const unsigned long DOM_VK_NUMPAD3 = 0x63;
const unsigned long DOM_VK_NUMPAD4 = 0x64;
const unsigned long DOM_VK_NUMPAD5 = 0x65;
const unsigned long DOM_VK_NUMPAD6 = 0x66;
const unsigned long DOM_VK_NUMPAD7 = 0x67;
const unsigned long DOM_VK_NUMPAD8 = 0x68;
const unsigned long DOM_VK_NUMPAD9 = 0x69;
const unsigned long DOM_VK_O = 0x4F;
const unsigned long DOM_VK_OPEN_BRACKET = 0x5B;
const unsigned long DOM_VK_P = 0x50;
const unsigned long DOM_VK_PAGE_DOWN = 0x22;
const unsigned long DOM_VK_PAGE_UP = 0x21;
const unsigned long DOM_VK_PASTE = 0xFFCF;
const unsigned long DOM_VK_PAUSE = 0x13;
const unsigned long DOM_VK_PERIOD = 0x2E;
const unsigned long DOM_VK_PLUS = 0x0209;
const unsigned long DOM_VK_PREVIOUS_CANDIDATE = 0x0101;
const unsigned long DOM_VK_PRINTSCREEN = 0x9A;
const unsigned long DOM_VK_PROPS = 0xFFCA;
const unsigned long DOM_VK_Q = 0x51;
const unsigned long DOM_VK_QUOTE = 0xDE;
const unsigned long DOM_VK_QUOTEDBL = 0x98;
const unsigned long DOM_VK_R = 0x52;
const unsigned long DOM_VK_RIGHT = 0x27;
const unsigned long DOM_VK_RIGHT_PARENTHESIS = 0x020A;
const unsigned long DOM_VK_ROMAN_CHARACTERS = 0x00F5;
const unsigned long DOM_VK_S = 0x53;
const unsigned long DOM_VK_SCROLL_LOCK = 0x91;
const unsigned long DOM_VK_SEMICOLON = 0x3B;
const unsigned long DOM_VK_SEPARATER = 0x6C;
const unsigned long DOM_VK_SHIFT = 0x10;
const unsigned long DOM_VK_SLASH = 0x2F;
const unsigned long DOM_VK_SPACE = 0x20;
const unsigned long DOM_VK_STOP = 0xFFC8;
const unsigned long DOM_VK_SUBTRACT = 0x6D;
const unsigned long DOM_VK_T = 0x54;
const unsigned long DOM_VK_TAB = 0x09;
const unsigned long DOM_VK_U = 0x55;
const unsigned long DOM_VK_UNDEFINED = 0x0;
const unsigned long DOM_VK_UNDERSCORE = 0x020B;
const unsigned long DOM_VK_UNDO = 0xFFCB;
const unsigned long DOM_VK_UP = 0x26;
const unsigned long DOM_VK_V = 0x56;
const unsigned long DOM_VK_W = 0x57;
const unsigned long DOM_VK_X = 0x58;
const unsigned long DOM_VK_Y = 0x59;
const unsigned long DOM_VK_Z = 0x5A;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
readonly attribute boolean altKey;
readonly attribute boolean metaKey;
readonly attribute unsigned long keyCode;
readonly attribute unsigned long charCode;
void initKeyEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in boolean ctrlKeyArg,
in boolean altKeyArg,
in boolean shiftKeyArg,
in boolean metaKeyArg,
in unsigned long keyCodeArg,
in unsigned long charCodeArg,
in views::AbstractView viewArg);
};
Definition group VirtualKeyCode
An integer indicating which key was pressed.
Defined Constants
KEY_PRESSED and
KEY_RELEASED events which
CHAR_UNDEFINED do not map to a valid
Unicode character use this
for the keyChar value.
VK_0 thru VK_9 are the same
DOM_VK_0 as ASCII '0' thru '9' (0x30
- 0x39)
DOM_VK_1
DOM_VK_2
DOM_VK_3
DOM_VK_4
DOM_VK_5
DOM_VK_6
DOM_VK_7
DOM_VK_8
DOM_VK_9
VK_A thru VK_Z are the same
DOM_VK_A as ASCII 'A' thru 'Z' (0x41
- 0x5A)
DOM_VK_ACCEPT
DOM_VK_ADD
DOM_VK_AGAIN
DOM_VK_ALL_CANDIDATES Constant for the All
Candidates function key.
DOM_VK_ALPHANUMERIC Constant for the
Alphanumeric function key.
DOM_VK_ALT
DOM_VK_ALT_GRAPH Constant for the AltGraph
modifier key.
DOM_VK_AMPERSAND
DOM_VK_ASTERISK
DOM_VK_AT Constant for the "@" key.
DOM_VK_B
DOM_VK_BACK_QUOTE
DOM_VK_BACK_SLASH
DOM_VK_BACK_SPACE
DOM_VK_BRACELEFT
DOM_VK_BRACERIGHT
DOM_VK_C
DOM_VK_CANCEL
DOM_VK_CAPS_LOCK
DOM_VK_CIRCUMFLEX Constant for the "^" key.
DOM_VK_CLEAR
DOM_VK_CLOSE_BRACKET
DOM_VK_CODE_INPUT Constant for the Code Input
function key.
DOM_VK_COLON Constant for the ":" key.
DOM_VK_COMMA
DOM_VK_COMPOSE Constant for the Compose
function key.
DOM_VK_CONTROL
DOM_VK_CONVERT
DOM_VK_COPY
DOM_VK_CUT
DOM_VK_D
DOM_VK_DEAD_ABOVEDOT
DOM_VK_DEAD_ABOVERING
DOM_VK_DEAD_ACUTE
DOM_VK_DEAD_BREVE
DOM_VK_DEAD_CARON
DOM_VK_DEAD_CEDILLA
DOM_VK_DEAD_CIRCUMFLEX
DOM_VK_DEAD_DIAERESIS
DOM_VK_DEAD_DOUBLEACUTE
DOM_VK_DEAD_GRAVE
DOM_VK_DEAD_IOTA
DOM_VK_DEAD_MACRON
DOM_VK_DEAD_OGONEK
DOM_VK_DEAD_SEMIVOICED_SOUND
DOM_VK_DEAD_TILDE
DOM_VK_DEAD_VOICED_SOUND
DOM_VK_DECIMAL
DOM_VK_DELETE
DOM_VK_DIVIDE
DOM_VK_DOLLAR Constant for the "$" key.
DOM_VK_DOWN
DOM_VK_E
DOM_VK_END
DOM_VK_ENTER
DOM_VK_EQUALS
DOM_VK_ESCAPE
DOM_VK_EURO_SIGN Constant for the Euro
currency sign key.
DOM_VK_EXCLAMATION_MARK Constant for the "!" key.
DOM_VK_F
DOM_VK_F1 Constant for the F1
function key.
DOM_VK_F10 Constant for the F10
function key.
DOM_VK_F11 Constant for the F11
function key.
DOM_VK_F12 Constant for the F12
function key.
DOM_VK_F13 Constant for the F13
function key.
DOM_VK_F14 Constant for the F14
function key.
DOM_VK_F15 Constant for the F15
function key.
DOM_VK_F16 Constant for the F16
function key.
DOM_VK_F17 Constant for the F17
function key.
DOM_VK_F18 Constant for the F18
function key.
DOM_VK_F19 Constant for the F19
function key.
DOM_VK_F2 Constant for the F2
function key.
DOM_VK_F20 Constant for the F20
function key.
DOM_VK_F21 Constant for the F21
function key.
DOM_VK_F22 Constant for the F22
function key.
DOM_VK_F23 Constant for the F23
function key.
DOM_VK_F24 Constant for the F24
function key.
DOM_VK_F3 Constant for the F3
function key.
DOM_VK_F4 Constant for the F4
function key.
DOM_VK_F5 Constant for the F5
function key.
DOM_VK_F6 Constant for the F6
function key.
DOM_VK_F7 Constant for the F7
function key.
DOM_VK_F8 Constant for the F8
function key.
DOM_VK_F9 Constant for the F9
function key.
DOM_VK_FINAL
DOM_VK_FIND
DOM_VK_FULL_WIDTH Constant for the Full-Width
Characters function key.
DOM_VK_G
DOM_VK_GREATER
DOM_VK_H
DOM_VK_HALF_WIDTH Constant for the Half-Width
Characters function key.
DOM_VK_HELP
DOM_VK_HIRAGANA Constant for the Hiragana
function key.
DOM_VK_HOME
DOM_VK_I
DOM_VK_INSERT
DOM_VK_INVERTED_EXCLAMATION_MARK Constant for the inverted
exclamation mark key.
DOM_VK_J
Constant for the
DOM_VK_JAPANESE_HIRAGANA Japanese-Hiragana function
key.
Constant for the
DOM_VK_JAPANESE_KATAKANA Japanese-Katakana function
key.
Constant for the
DOM_VK_JAPANESE_ROMAN Japanese-Roman function
key.
DOM_VK_K
DOM_VK_KANA
DOM_VK_KANJI
DOM_VK_KATAKANA Constant for the Katakana
function key.
DOM_VK_KP_DOWN for KeyPad cursor arrow
keys
DOM_VK_KP_LEFT for KeyPad cursor arrow
keys
DOM_VK_KP_RIGHT for KeyPad cursor arrow
keys
DOM_VK_KP_UP for KeyPad cursor arrow
keys
DOM_VK_L
DOM_VK_LEFT
DOM_VK_LEFT_PARENTHESIS Constant for the "(" key.
DOM_VK_LESS
DOM_VK_M
DOM_VK_META
DOM_VK_MINUS
DOM_VK_MODECHANGE
DOM_VK_MULTIPLY
DOM_VK_N
DOM_VK_NONCONVERT
DOM_VK_NUM_LOCK
DOM_VK_NUMBER_SIGN Constant for the "#" key.
DOM_VK_NUMPAD0
DOM_VK_NUMPAD1
DOM_VK_NUMPAD2
DOM_VK_NUMPAD3
DOM_VK_NUMPAD4
DOM_VK_NUMPAD5
DOM_VK_NUMPAD6
DOM_VK_NUMPAD7
DOM_VK_NUMPAD8
DOM_VK_NUMPAD9
DOM_VK_O
DOM_VK_OPEN_BRACKET
DOM_VK_P
DOM_VK_PAGE_DOWN
DOM_VK_PAGE_UP
DOM_VK_PASTE
DOM_VK_PAUSE
DOM_VK_PERIOD
DOM_VK_PLUS Constant for the "+" key.
DOM_VK_PREVIOUS_CANDIDATE Constant for the Previous
Candidate function key.
DOM_VK_PRINTSCREEN
DOM_VK_PROPS
DOM_VK_Q
DOM_VK_QUOTE
DOM_VK_QUOTEDBL
DOM_VK_R
DOM_VK_RIGHT
DOM_VK_RIGHT_PARENTHESIS Constant for the ")" key.
DOM_VK_ROMAN_CHARACTERS Constant for the Roman
Characters function key.
DOM_VK_S
DOM_VK_SCROLL_LOCK
DOM_VK_SEMICOLON
DOM_VK_SEPARATER
DOM_VK_SHIFT
DOM_VK_SLASH
DOM_VK_SPACE
DOM_VK_STOP
DOM_VK_SUBTRACT
DOM_VK_T
DOM_VK_TAB
DOM_VK_U
DOM_VK_UNDEFINED KEY_TYPED events do not
have a keyCode value.
DOM_VK_UNDERSCORE Constant for the "_" key.
DOM_VK_UNDO
DOM_VK_UP
DOM_VK_V
DOM_VK_W
DOM_VK_X
DOM_VK_Y
DOM_VK_Z
Attributes
ctrlKey of type boolean, readonly
ctrlKey indicates whether the 'ctrl' key was depressed during
the firing of the event.
shiftKey of type boolean, readonly
shiftKey indicates whether the 'shift' key was depressed
during the firing of the event.
altKey of type boolean, readonly
altKey indicates whether the 'alt' key was depressed during
the firing of the event. On some platforms this key may map
to an alternative key name.
metaKey of type boolean, readonly
metaKey indicates whether the 'meta' key was depressed during
the firing of the event. On some platforms this key may map
to an alternative key name.
keyCode of type unsigned long, readonly
The value of keyCode holds the virtual key code value of the
key which was depressed if the event is a key event.
Otherwise, the value is zero.
charCode of type unsigned long, readonly
charCode holds the value of the Unicode character associated
with the depressed key if the event is a key event.
Otherwise, the value is zero.
Methods
initKeyEvent
Parameters
DOMString typeArg Specifies the event type.
boolean canBubbleArg Specifies whether or not
the event can bubble.
boolean cancelableArg Specifies whether or not
the event's default
action can be prevent.
boolean ctrlKeyArg Specifies whether or not
control key was depressed
during the Event.
boolean altKeyArg Specifies whether or not
alt key was depressed
during the Event.
boolean shiftKeyArg Specifies whether or not
shift key was depressed
during the Event.
boolean metaKeyArg Specifies whether or not
meta key was depressed
during the Event.
unsigned long keyCodeArg Specifies the Event's
keyCode
unsigned long charCodeArg Specifies the Event's
charCode
views::AbstractView viewArg Specifies the Event's
AbstractView.
No Return Value
No Exceptions
The different types of Key events that can occur are:
keypress
The keypress event occurs when a key is pressed. If the key remains
depressed, multiple keypresses may be generated. This event maps not to
the physical depression of the key but is instead the result of that
action, often being the insertion of a character.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: keyCode, charCode
keydown
The keydown event occurs when a key is pressed down.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: keyCode, charCode
keyup
The keyup event occurs when a key is released.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: keyCode, charCode
6.6.4. Mutation event types
The mutation event set is designed to allow notification of any changes to
the structure of a document, including attr and text modifications. It may
be noted that none of the mutation events listed are designated as
cancelable. This stems from the fact that it is very difficult to make use
of existing DOM interfaces which cause document modifications if any change
to the document might or might not take place due to cancelation of the
related event. Although this is still a desired capability, it was decided
that it would be better left until the addition of transactions into the
DOM.
A DOM consumer can use the hasFeature of the DOMImplementation interface to
determine whether the mutation event set has been implemented by a DOM
implementation. The feature string for this event set is "MutationEvents".
Interface MutationEvent (introduced in DOM Level 2)
The MutationEvent interface provides specific contextual information
associated with Mutation events.
IDL Definition
// Introduced in DOM Level 2:
interface MutationEvent : Event {
readonly attribute Node relatedNode;
readonly attribute DOMString prevValue;
readonly attribute DOMString newValue;
readonly attribute DOMString attrName;
void initMutationEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in Node relatedNodeArg,
in DOMString prevValueArg,
in DOMString newValueArg,
in DOMString attrNameArg);
};
Attributes
relatedNode of type Node, readonly
relatedNode is used to identify a secondary node related to a
mutation event. For example, if a mutation event is
dispatched to a node indicating that its parent has changed,
the relatedNode is the changed parent. If an event is instead
dispatch to a subtree indicating a node was changed within
it, the relatedNode is the changed node.
prevValue of type DOMString, readonly
prevValue indicates the previous value of text nodes and
attributes in attrModified and charDataModified events.
newValue of type DOMString, readonly
newValue indicates the new value of text nodes and attributes
in attrModified and charDataModified events.
attrName of type DOMString, readonly
attrName indicates the changed attr in the attrModified
event.
Methods
initMutationEvent
Parameters
DOMString typeArg Specifies the event type.
boolean canBubbleArg Specifies whether or not the event
can bubble.
boolean cancelableArg Specifies whether or not the
event's default action can be
prevent.
Node relatedNodeArg Specifies the Event's related Node
DOMString prevValueArg Specifies the Event's prevValue
property
DOMString newValueArg Specifies the Event's newValue
property
DOMString attrNameArg Specifies the Event's attrName
property
No Return Value
No Exceptions
The different types of Mutation events that can occur are:
DOMSubtreeModified
This is a general event for notification of all changes to the
document. It can be used instead of the more specific events listed
below. Also, the requirement for some sort of batching of mutation
events may be accomplished through this event. The target of this event
is the lowest common parent of the changes which have taken place. This
event is dispatched after any other events caused by the mutation have
fired.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
DOMNodeInserted
Fired when a node has been added as a child of another node. This event
is dispatched after the insertion has taken place. The target of this
event is the node being inserted.
o Bubbles: Yes
o Cancelable: No
o Context Info: relatedNode holds the parent node
DOMNodeRemoved
Fired when a node is being removed from another node. This event is
dispatched before the node is removed from the tree. The target of this
event is the node being removed.
o Bubbles: Yes
o Cancelable: No
o Context Info: relatedNode holds the parent node
DOMNodeRemovedFromDocument
Fired when a node is being removed from a document, either through
direct removal of the Node or removal of a subtree in which it is
contained. This event is dispatched before the removal takes place. The
target of this event is the node being removed. If the Node is being
directly removed the nodeRemoved event will fire before the
nodeRemovedFromDocument event.
o Bubbles: No
o Cancelable: No
o Context Info: None
DOMNodeInsertedIntoDocument
Fired when a node is being inserted into a document, either through
direct insertion of the Node or insertion of a subtree in which it is
contained. This event is dispatched after the insertion has taken
place. The target of this event is the node being inserted. If the Node
is being directly inserted the nodeInserted event will fire before the
nodeInsertedIntoDocument event.
o Bubbles: No
o Cancelable: No
o Context Info: None
DOMAttrModified
Fired after an Attr has been modified on a node. The target of this
event is the node whose Attr changed.
o Bubbles: Yes
o Cancelable: No
o Context Info: attrName, prevValue, newValue
DOMCharacterDataModified
Fired after CharacterData within a node has been modified but the node
itself has not been inserted or deleted. The target of this event is
the CharacterData node.
o Bubbles: Yes
o Cancelable: No
o Context Info: prevValue, newValue
6.6.5. HTML event types
The HTML event set is composed of events listed in HTML 4.0 and additional
events which are supported in DOM Level 0 browsers.
A DOM consumer can use the hasFeature of the DOMImplementation interface to
determine whether the HTML event set has been implemented by a DOM
implementation. The feature string for this event set is "HTMLEvents".
The HTML events use the base DOM Event interface to pass contextual
information.
The different types of such events that can occur are:
load
The load event occurs when the DOM implementation finishes loading all
content within a document, all frames within a FRAMESET, or an OBJECT
element.
o Bubbles: No
o Cancelable: No
o Context Info: None
unload
The unload event occurs when the DOM implementation removes a document
from a window or frame. This event is valid for BODY and FRAMESET
elements.
o Bubbles: No
o Cancelable: No
o Context Info: None
abort
The abort event occurs when page loading is stopped before an image has
been allowed to completely load. This event applies to OBJECT elements.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
error
The error event occurs when an image does not load properly or when an
error occurs during script execution. This event is valid for OBJECT
elements, BODY elements, and FRAMESET element.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
select
The select event occurs when a user selects some text in a text field.
This event is valid for INPUT and TEXTAREA elements.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
change
The change event occurs when a control loses the input focus and its
value has been modified since gaining focus. This event is valid for
INPUT, SELECT, and TEXTAREA. element.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
submit
The submit event occurs when a form is submitted. This event only
applies to the FORM element.
o Bubbles: Yes
o Cancelable: Yes
o Context Info: None
reset
The reset event occurs when a form is reset. This event only applies to
the FORM element.
o Bubbles: Yes
o Cancelable: No
o Context Info: None
focus
The focus event occurs when an element receives focus either via a
pointing device or by tabbing navigation. This event is valid for the
following elements: LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.
o Bubbles: No
o Cancelable: No
o Context Info: None
blur
The blur event occurs when an element loses focus either by the
pointing device or by tabbing navigation. This event is valid for the
following elements: LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.
o Bubbles: No
o Cancelable: No
o Context Info: None
7. Document Object Model Traversal
Editors
Mike Champion, Software AG
Joe Kesselman, IBM
Jonathan Robie, Software AG
7.1. Overview
The DOM Level 2 TreeWalker, NodeIterator, and, Filter interfaces provide
simple and efficient traversal for document nodes. The TreeWalker,
NodeIterator, and Filter interfaces are optional. A DOM application can use
the hasFeature method of the DOMImplementation interface to determine
whether they are supported or not. The feature string for all the interfaces
listed in this section is "Traversal". Iterators and TreeWalkers are two
different ways of representing the nodes of a document subtree and a
position within that collection. An Iterator flattens a subtree into an
ordered list of document nodes, presented in document order. Because this is
a flat list, presented without respect to hierarchy, Iterators have methods
to move forward and backward, but not to move up and down. A TreeWalker
maintains the hierarchical relationships of the subtree, allowing navigation
of this hierarchy.
Iterators and TreeWalkers each present a view of a document subtree that may
not contain all nodes found in the subtree. In this specification, we refer
to this as the logical view to distinguish it from the physical view, which
corresponds to the document subtree per se. When an Iterator or TreeWalker
is created, it may be associated with a Filter, which examines a node and
determines whether it should be appear in the logical view. In addition,
flags may be used to specify which node types should occur in the logical
view. Iterators and TreeWalkers are dynamic - the logical view changes to
reflect changes made to the underlying document.
7.1.1. Iterators
An Iterator allows a list of nodes to be returned sequentially. In the
current DOM interfaces, this list will always consist of the nodes of a
subtree, presented in document order. When an Iterator is first created,
calling nextNode() returns the first node in the logical view of the
subtree; in most cases, this is the root of the subtree. When no more nodes
are present, nextNode() returns null.
Iterators are created using the createNodeIterator method found in the
DocumentTraversal interface. When an Iterator is created, flags can be used
to determine which node types will be "visible" and which nodes will be
"invisible" while traversing the tree; these flags can be combined using the
OR operator. Nodes that are "invisible" are skipped over by the Iterator as
though they did not exist. The following code creates an Iterator, then
calls a function to print the name of each element:
NodeIterator iter=document.createNodeIterator(root, SHOW_ELEMENT, null);
while (Node n = iter.nextNode())
printMe(n);
7.1.1.1. Moving Forward and Backward
Iterators present nodes as an ordered list, and move forward and backward
within this list. The Iterator's position is always between two nodes,
before the first node, or after the last node. When an Iterator is first
created, the position is set before the first item. The following diagram
shows the list view that an Iterator might provide for a particular subtree,
with the position indicated by an asterisk '*' :
* A B C D E F G H I
Each call to nextNode() returns the next node and advances the position. For
instance, if we start with the above position, the first call to nextNode()
returns "A" and advances the Iterator:
[A] * B C D E F G H I
An iterator uses the node last returned to maintain its position. This node
is known as the reference node. In these diagrams, we use square brackets to
indicate the reference node.
A call to previousNode() returns the previous node and moves the position
backward. For instance, if we start with the Iterator between "A" and "B",
it would return "A" and move to the position shown below:
* [A] B C D E F G H I
If nextNode() is called at the end of a list, or previousNode() is called at
the beginning of a list, it returns null and does not change the position of
the Iterator. When an Iterator is first created, the reference node is the
first node:
* [A] B C D E F G H I
7.1.1.2. Robustness
An Iterator may be active while the data structure it navigates is being
edited, so an Iterator must behave gracefully in the face of change.
Additions and removals in the underlying data structure do not invalidate an
Iterator; in fact, an Iterator is never invalidated. To make this possible,
the Iterator uses the reference node to maintain its position. The state of
an Iterator also depends on whether the Iterator is positioned before or
after the reference node. If the reference node is removed, another node
becomes the reference node.
If changes to the iterated list do not remove the reference node, they do
not affect the state of the Iterator. For instance, the Iterator's state is
not affected by inserting new nodes in the vicinity of the iterator or
removing nodes other than the reference node. Suppose we start from the
following position:
A B C [D] * E F G H I
Now let's remove "E". The resulting state is:
A B C [D] * F G H I
If a new node is inserted, the iterator stays close to the reference node,
so if a node is inserted between "D" and "F", it will occur between the
Iterator and "F":
A B C [D] * X F G H I
Moving a node is equivalent to a removal followed by an insertion. If we
move "I" to the position before "X" the result is:
A B C [D] * I X F G H
If the reference node is removed, a different node is selected as the
reference node. If the reference node is before the Iterator, which is
usually the case after nextNode() has been called, the nearest node before
the Iterator is chosen as the new reference node. Suppose we remove the "D"
node, starting from the following state:
A B C [D] * F G H I
The "C" node becomes the new reference node, since it is the nearest node to
the Iterator that is before the Iterator:
A B [C] * F G H I
If the reference node is after the Iterator, which is usually the case after
previousNode() has been called, the nearest node after the Iterator is
chosen as the new reference node. Suppose we remove "E", starting from the
following state:
A B C D * [E] F G H I
The "F" node becomes the new reference node, since it is the nearest node to
the Iterator that is after the Iterator:
A B C D * [F] G H I
Moving a node is equivalent to a removal followed by an insertion. Suppose
we wish to move the "D" node to the end of the list, starting from the
following state:
A B C [D] * F G H I C
The resulting state is as follows:
A B [C] * F G H I D
One special case arises when the reference node is the last node in the list
and the reference node is removed. Suppose we remove node "C", starting from
the following state:
A B * [C]
According to the rules we have given, the new reference node should be the
nearest node after the Iterator, but there are no further nodes after "C".
If there is no node in the original direction of the reference node, the
nearest node in the opposite direction is selected as the reference node:
A [B] *
If the Iterator is part of a block of nodes that is removed, the above rules
clearly indicate what is to be done. For instance, suppose "C" is the parent
node of "D", "E", and "F", and we remove "C", starting with the following
state:
A B C [D] * E F G H I D
The resulting state is as follows:
A [B] * G H I D
7.1.1.3. Visibility of Nodes
The underlying data structure that is being iterated may contain nodes that
are not part of the logical view, and therefore will not be returned by the
Iterator. If invisible nodes are present, nextNode() returns the next
visible node, skipping over nodes that are to be excluded because of the
value of the whatToShow flag. If a filter is present, it is applied before
returning a node; if the filter rejects a node, the process is repeated
until a node is accepted by the filter. That node is returned. If no visible
nodes are encountered, a null is returned and the Iterator is positioned at
the end of the list. In this case, the reference node is the last node in
the list, whether or not it is visible. The same approach is taken, in the
opposite direction, for previousNode().
In the following examples, we will use lower case letters to represent nodes
that are in the data structure, but which are not in the logical view. For
instance, consider the following list:
A [B] * c d E F G
A call to nextNode() returns E and advances to the following position:
A B c d [E] * F G
Nodes that are not visible may nevertheless be used as reference nodes if a
reference node is removed. Suppose node "E" is removed, started from the
state given above. The resulting state is:
A B c [d] * F G
Suppose a new node "X", which is visible, is inserted before "d". The
resulting state is:
A B c X [d] * F G
Note that a call to previousNode() now returns node X. It is important not
to skip over invisible nodes when the reference node is removed, because
there are cases, like the one just given above, where the wrong results will
be returned. When "E" was removed, if the new reference node had been "B"
rather than "d", calling previousNode() would not return "X".
7.1.2. Filters
Filters allow the user to create objects that "filter out" nodes. Each
filter contains a user-written function that looks at a node and determines
whether or not it should be filtered out. To use a filter, you create an
Iterator or a TreeWalker that uses the filter. The Iterator or TreeWalker
applies the filter to each node, and if the filter rejects the node, the
Iterator or TreeWalker skips over the node as though it were not present in
the document. Filters need not know how to navigate the structure that
contains the nodes on which they operate.
7.1.2.1. Using Filters
A Filter contains one method named acceptNode(), which allows an Iterator or
TreeWalker to pass a Node to a filter and ask whether it should be present
in the logical view. The acceptNode() function returns one of three values
to state how the Node should be treated. If acceptNode() returns
FILTER_ACCEPT, the Node will be present in the logical view; if it returns
FILTER_SKIP, the Node will not be present in the logical view, but the
children of the Node may; if it returns FILTER_REJECT, neither the Node nor
its descendants will be present in the logical view. Since Iterators present
nodes as an ordered list, without hierarchy, FILTER_REJECT and FILTER_SKIP
are synonyms for Iterators, skipping only the single current node.
Consider a filter that accepts the named anchors in an HTML document. In
HTML, an HREF can refer to any A element that has a NAME attribute. Here is
a filter in Java that looks at a node and determines whether it is a named
anchor:
class NamedAnchorFilter implements NodeFilter
{
short acceptNode(Node n) {
if (n instanceof Element) {
Element e = (element)n;
if (! e.getNodeName().equals("A"))
return FILTER_SKIP;
if (e.getAttributeNode("NAME") != null) {
return FILTER_ACCEPT;
}
}
return FILTER_SKIP;
}
}
If the above Filter were to be used with only Iterators, it could have used
FILTER_REJECT wherever FILTER_SKIP is used, and the behavior would not
change. For TreeWalker, though, FILTER_REJECT would reject the children of
any element that is not a named anchor, and since named anchors are always
contained within other elements, this would have meant that no named anchors
would be found. FILTER_SKIP rejects the given node, but continues to examine
the children; therefore, the above filter will work with either an Iterator
or a TreeWalker.
To use this filter, the user would create an instance of the filter and
create an Iterator using it:
NamedAnchorFilter myFilter = new NamedAnchorFilter();
NodeIterator iter=(DocumentTraversal)document.creatNodeIterator(node, SHOW_ELEMENT, myFilter);
7.1.2.2. Filters and Exceptions
When writing a Filter, users should avoid writing code that can throw an
exception. However, because an implementation can not prevent users from
doing so, it is important that the behavior of filters that throw an
exception be well-defined. A TreeWalker or Iterator does not catch or alter
an exception thrown by a filter, but lets it propagate up to the user's
code. The following functions may invoke a Filter, and may therefore
propagate an exception if one is thrown by a Filter:
1. NodeIterator.nextNode()
2. NodeIterator.previousNode()
3. TreeWalker.firstChild()
4. TreeWalker.lastChild()
5. TreeWalker.nextSibling()
6. TreeWalker.previousSibling()
7. TreeWalker.nextNode()
8. TreeWalker.previousNode()
9. TreeWalker.parentNode()
7.1.2.3. Filters and Document Mutation
Well-designed Filters do not modify the underlying document structure, but a
Filter implementation can not prevent a user from writing code that does
modify the document structure. Filters do not provide any special processing
to handle this case. For instance, if a Filter removes a node from a
document, it can still accept the node, which means that the node may be
returned by the Iterator or TreeWalker even though it is no longer in the
document. In general, this may lead to inconsistent, confusing results, so
we encourage users to write Filters that make no changes to document
structures.
7.1.2.4. Filters and whatToShow flags
Iterator and TreeWalker apply whatToShow flags before applying Filters. If a
node is rejected by the active whatToShow flags, a Filter will not be called
to evaluate that node. When a node is rejected by the active whatToShow
flags, children of that node will still be considered, and Filters may be
called to evaluate them.
7.1.3. TreeWalker
The TreeWalker interface provides many of the same benefits as the Iterator
interface. The main difference between these two interfaces is that the
TreeWalker presents a tree-oriented view of the nodes in a subtree, and an
Iterator presents a list-oriented view. In other words, an Iterator allows
you to move forward or back, but a TreeWalker allows you to move to the
parent of a node, to one of its children, or to a sibling.
Using a TreeWalker is quite similar to navigation using the Node directly,
and the navigation methods for the two interfaces are analogous. For
instance, here is a function that walks over a tree of nodes in document
order, taking separate actions when first entering a node and after
processing any children:
processMe(Node n) {
nodeStartActions(n);
for (Node child=n.firstChild(); child != null; child=child.nextSibling())
processMe(child);
}
nodeEndActions(n);
}
Doing the same thing using a TreeWalker is quite similar. There is one
difference: since navigation on the TreeWalker changes the current position,
the position at the end of the function has changed. A read/write attribute
named currentNode allows the current node for a TreeWalker to be set. We
will use this to ensure that the position of the TreeWalker is restored when
this function is completed:
processMe(TreeWalker tw) {
Node n = tw.getCurrentNode();
nodeStartActions(tw);
for (Node child=tw.firstChild(); child!=null; child=tw.nextSibling()) {
processMe(tw);
}
tw.setCurrentNode(n);
nodeEndActions(tw);
}
The advantage of using a TreeWalker instead of direct Node navigation is
that the TreeWalker allows the user to choose an appropriate view of the
tree. Flags may be used to show or hide comments or processing instructions,
entities may be expanded or left as entity references. In addition, Filters
may be used to present a custom view of the tree. Suppose a program needs a
view of a document that shows which tables occur in each chapter, listed by
chapter. In this view, only the chapter elements and the tables that they
contain are seen. The first step is to write an appropriate filter:
class TablesInChapters implements NodeFilter {
short acceptNode(Node n) {
if (n instanceof Element) {
if (n.getNodeName().equals("CHAPTER"))
return FILTER_ACCEPT;
if (n.getNodeName().equals("TABLE"))
return FILTER_ACCEPT;
if (n.getNodeName().equals("SECT1")
|| n.getNodeName().equals("SECT2")
|| n.getNodeName().equals("SECT3")
|| n.getNodeName().equals("SECT4")
|| n.getNodeName().equals("SECT5")
|| n.getNodeName().equals("SECT6")
|| n.getNodeName().equals("SECT7"))
return FILTER_SKIP;
}
return FILTER_REJECT;
}
}
Now the program can create an instance of this Filter, create a TreeWalker
that uses it, and pass this TreeWalker to our ProcessMe() function:
TablesInChapters tablesInChapters = new TablesInChapters();
TreeWalker tw = someDocTraversal.createTreeWalker(root, SHOW_ELEMENT, tablesInChapters);
processMe(tw);
Without making any changes to the above ProcessMe() function, it now
processes only the CHAPTER and TABLE elements. The programmer can write
other filters or set other flags to choose different sets of nodes; if
functions use TreeWalker to navigate, they will support any view of the
document defined with a TreeWalker.
7.2. Formal Interface Definition
Interface NodeIterator (introduced in DOM Level 2)
NodeIterators are used to step through a set of nodes, e.g. the set of
nodes in a NodeList, the document subtree governed by a particular
node, the results of a query, or any other set of nodes. The set of
nodes to be iterated is determined by the implementation of the
NodeIterator. DOM Level 2 specifies a single NodeIterator
implementation for document-order traversal of a document subtree.
Instances of these iterators are created by calling
DocumentTraversal.createNodeIterator().
Any Iterator that returns nodes may implement the NodeIterator
interface. Users and vendor libraries may also choose to create
Iterators that implement the NodeIterator interface.
IDL Definition
// Introduced in DOM Level 2:
interface NodeIterator {
readonly attribute long whatToShow;
// Constants for whatToShow
const unsigned long SHOW_ALL = 0x0000FFFF;
const unsigned long SHOW_ELEMENT = 0x00000001;
const unsigned long SHOW_ATTRIBUTE = 0x00000002;
const unsigned long SHOW_TEXT = 0x00000004;
const unsigned long SHOW_CDATA_SECTION = 0x00000008;
const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
const unsigned long SHOW_ENTITY = 0x00000020;
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
const unsigned long SHOW_COMMENT = 0x00000080;
const unsigned long SHOW_DOCUMENT = 0x00000100;
const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
const unsigned long SHOW_NOTATION = 0x00000800;
readonly attribute NodeFilter filter;
readonly attribute boolean expandEntityReferences;
Node nextNode();
Node previousNode();
};
Attributes
whatToShow of type long, readonly
This attribute determines which node types are presented via
the Iterator.
Definition group Constants for whatToShow
These are the available values for the whatToShow parameter.
They are the same as the set of possible types for Node, and
their values are derived by using a bit position
corresponding to the value of NodeType for the equivalent
node type.
Defined Constants
SHOW_ALL Show all nodes.
SHOW_ELEMENT Show element nodes.
Show attribute nodes. This
is meaningful only when
creating an Iterator with
an attribute node as its
root; in this case, it
means that the attribute
SHOW_ATTRIBUTE node will appear in the
first position of the
iteration. Since attributes
are not part of the
document tree, they do not
appear when iterating over
the document tree.
SHOW_TEXT Show text nodes.
SHOW_CDATA_SECTION Show CDATASection nodes.
SHOW_ENTITY_REFERENCE Show Entity Reference
nodes.
Show Entity nodes. This is
meaningful only when
creating an Iterator with
an Entity node as its root;
in this case, it means that
SHOW_ENTITY the Entity node will appear
in the first position of
the iteration. Since
entities are not part of
the document tree, they do
not appear when iterating
over the document tree.
SHOW_PROCESSING_INSTRUCTION Show ProcessingInstruction
nodes.
SHOW_COMMENT Show Comment nodes.
SHOW_DOCUMENT Show Document nodes.
SHOW_DOCUMENT_TYPE Show DocumentType nodes.
SHOW_DOCUMENT_FRAGMENT Show DocumentFragment
nodes.
Show Notation nodes. This
is meaningful only when
creating an Iterator with a
Notation node as its root;
in this case, it means that
the Notation node will
SHOW_NOTATION appear in the first
position of the iteration.
Since notations are not
part of the document tree,
they do not appear when
iterating over the document
tree.
filter of type NodeFilter, readonly
The filter used to screen nodes.
expandEntityReferences of type boolean, readonly
The value of this flag determines whether entity reference
nodes are expanded. To produce a view of the document that
has entity references expanded and does not expose the entity
reference node itself, use the whatToShow flags to hide the
entity reference node and set expandEntityReferences to true
when creating the iterator. To produce a view of the document
that has entity reference nodes but no entity expansion, use
the whatToShow flags to show the entity reference node and
set expandEntityReferences to true.
Methods
nextNode
Returns the next node in the set and advances the position of
the Iterator in the set. After a NodeIterator is created, the
first call to nextNode() returns the first node in the set.
Return Value
Node The next Node in the set being iterated over, or null
if there are no more members in that set.
No Parameters
No Exceptions
previousNode
Returns the previous node in the set and moves the position
of the Iterator backwards in the set.
Return Value
Node The previous Node in the set being iterated over, or
null if there are no more members in that set.
No Parameters
No Exceptions
Interface NodeFilter (introduced in DOM Level 2)
Filters are objects that know how to "filter out" nodes. If an Iterator
or TreeWalker is given a filter, before it returns the next node, it
applies the filter. If the filter says to accept the node, the Iterator
returns it; otherwise, the Iterator looks for the next node and
pretends that the node that was rejected was not there.
The DOM does not provide any filters. Filter is just an interface that
users can implement to provide their own filters.
Filters do not need to know how to iterate, nor do they need to know
anything about the data structure that is being iterated. This makes it
very easy to write filters, since the only thing they have to know how
to do is evaluate a single node. One filter may be used with a number
of different kinds of Iterators, encouraging code reuse.
IDL Definition
// Introduced in DOM Level 2:
interface NodeFilter {
// Constants returned by acceptNode
const short FILTER_ACCEPT = 1;
const short FILTER_REJECT = 2;
const short FILTER_SKIP = 3;
short acceptNode(in Node n);
};
Definition group Constants returned by acceptNode
The following constants are returned by the acceptNode() method:
Defined Constants
Accept the node. Navigation methods defined
FILTER_ACCEPT for Iterator or TreeWalker will return this
node.
Reject the node. Navigation methods defined
for Iterator or TreeWalker will not return
FILTER_REJECT this node. For TreeWalker, the children of
this node will also be rejected. Iterators
treat this as a synonym for FILTER_SKIP.
Reject the node. Navigation methods defined
for Iterator or TreeWalker will not return
FILTER_SKIP this node. For both Iterator and Treewalker,
the children of this node will still be
considered.
Methods
acceptNode
Test whether a specified node is visible in the logical view
of a TreeWalker or NodeIterator. This function will be called
by the implementation of TreeWalker and NodeIterator; it is
not intended to be called directly from user code.
Parameters
Node n The node to check to see if it passes the filter or
not.
Return Value
short a constant to determine whether the node is accepted,
rejected, or skipped, as defined above.
No Exceptions
Interface TreeWalker (introduced in DOM Level 2)
TreeWalker objects are used to navigate a document tree or subtree
using the view of the document defined by its whatToShow flags and any
filters that are defined for the TreeWalker. Any function which
performs navigation using a TreeWalker will automatically support any
view defined by a TreeWalker.
Omitting nodes from the logical view of a subtree can result in a
structure that is substantially different from the same subtree in the
complete, unfiltered document. Nodes that are siblings in the
TreeWalker view may be children of different, widely separated nodes in
the original view. For instance, consider a Filter that skips all nodes
except for Text nodes and the root node of a document. In the logical
view that results, all text nodes will be siblings and appear as direct
children of the root node, no matter how deeply nested the structure of
the original document.
IDL Definition
// Introduced in DOM Level 2:
interface TreeWalker {
readonly attribute long whatToShow;
// Constants for whatToShow
const unsigned long SHOW_ALL = 0x0000FFFF;
const unsigned long SHOW_ELEMENT = 0x00000001;
const unsigned long SHOW_ATTRIBUTE = 0x00000002;
const unsigned long SHOW_TEXT = 0x00000004;
const unsigned long SHOW_CDATA_SECTION = 0x00000008;
const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
const unsigned long SHOW_ENTITY = 0x00000020;
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
const unsigned long SHOW_COMMENT = 0x00000080;
const unsigned long SHOW_DOCUMENT = 0x00000100;
const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
const unsigned long SHOW_NOTATION = 0x00000800;
readonly attribute NodeFilter filter;
readonly attribute boolean expandEntityReferences;
attribute Node currentNode;
Node parentNode();
Node firstChild();
Node lastChild();
Node previousSibling();
Node nextSibling();
Node previousNode();
Node nextNode();
};
Attributes
whatToShow of type long, readonly
This attribute determines which node types are presented via
the TreeWalker.
Definition group Constants for whatToShow
These are the available values for the whatToShow parameter.
They are the same as the set of possible types for Node, and
their values are derived by using a bit position
corresponding to the value of NodeType for the equivalent
node type.
Defined Constants
SHOW_ALL Show all nodes.
SHOW_ELEMENT Show Element nodes.
Show Attribute nodes. This
is meaningful only when
creating a TreeWalker with
an attribute node as its
root; in this case, it
means that the attribute
SHOW_ATTRIBUTE node will appear as the
root node of the filtered
tree. Since attributes are
not part of the document
tree, they do not appear
when iterating over the
document tree.
SHOW_TEXT Show Text nodes.
SHOW_CDATA_SECTION Show CDATASection nodes.
SHOW_ENTITY_REFERENCE Show Entity Reference
nodes.
Show Entity nodes. This is
meaningful only when
creating an Iterator with
an Entity node as its root;
in this case, it means that
SHOW_ENTITY the Entity node will appear
in the first position of
the iteration. Since
entities are not part of
the document tree, they do
not appear when iterating
over the document tree.
SHOW_PROCESSING_INSTRUCTION Show ProcessingInstruction
nodes.
SHOW_COMMENT Show Comment nodes.
SHOW_DOCUMENT Show Document nodes.
SHOW_DOCUMENT_TYPE Show DocumentType nodes.
SHOW_DOCUMENT_FRAGMENT Show DocumentFragment
nodes.
Show Notation nodes. This
is meaningful only when
creating an Iterator with a
Notation node as its root;
in this case, it means that
the Notation node will
SHOW_NOTATION appear in the first
position of the iteration.
Since notations are not
part of the document tree,
they do not appear when
iterating over the document
tree.
filter of type NodeFilter, readonly
The filter used to screen nodes.
expandEntityReferences of type boolean, readonly
The value of this flag determines whether entity reference
nodes are expanded. To produce a view of the document that
has entity references expanded and does not expose the entity
reference node itself, use the whatToShow flags to hide the
entity reference node and set expandEntityReferences to true
when creating the iterator. To produce a view of the document
that has entity reference nodes but no entity expansion, use
the whatToShow flags to show the entity reference node and
set expandEntityReferences to true.
currentNode of type Node
The current node.
The value must not be null. Attempting to set it to null will
raise a NOT_SUPPORTED_ERR exception. When setting a node, the
whatToShow flags and any Filter associated with the
TreeWalker are not checked. The currentNode may be set to any
Node of any type.
Methods
parentNode
Moves to and returns the parent node of the current node. If
there is no parent node, or if the current node is the root
node from which this TreeWalker was created, retains the
current position and returns null.
Return Value
Node The new parent node, or null if the current node has no
parent in the TreeWalker's logical view.
No Parameters
No Exceptions
firstChild
Moves the TreeWalker to the first child of the current node,
and returns the new node. If the current node has no
children, returns null, and retains the current node.
Return Value
Node The new node, or null if the current node has no
children.
No Parameters
No Exceptions
lastChild
Moves the TreeWalker to the last child of the current node,
and returns the new node. If the current node has no
children, returns null, and retains the current node.
Return Value
Node The new node, or null if the current node has no
children.
No Parameters
No Exceptions
previousSibling
Moves the TreeWalker to the previous sibling of the current
node, and returns the new node. If the current node has no
previous sibling, returns null, and retains the current node.
Return Value
Node The new node, or null if the current node has no
previous sibling.
No Parameters
No Exceptions
nextSibling
Moves the TreeWalker to the next sibling of the current node,
and returns the new node. If the current node has no next
sibling, returns null, and retains the current node.
Return Value
Node The new node, or null if the current node has no next
sibling.
No Parameters
No Exceptions
previousNode
Moves the TreeWalker to the previous node in document order
relative to the current node, and returns the new node. If
the current node has no previous node, returns null, and
retains the current node.
Return Value
Node The new node, or null if the current node has no
previous node.
No Parameters
No Exceptions
nextNode
Moves the TreeWalker to the next node in document order
relative to the current node, and returns the new node. If
the current node has no next node, returns null, and retains
the current node.
Return Value
Node The new node, or null if the current node has no next
node.
No Parameters
No Exceptions
Interface DocumentTraversal (introduced in DOM Level 2)
DocumentTraversal contains methods that creates Iterators to traverse a
node and its children in document order (depth first, pre-order
traversal, which is equivalent to the order in which the start tags
occur in the text representation of the document).
IDL Definition
// Introduced in DOM Level 2:
interface DocumentTraversal {
NodeIterator createNodeIterator(in Node root,
in long whatToShow,
in NodeFilter filter,
in boolean entityReferenceExpansion);
TreeWalker createTreeWalker(in Node root,
in long whatToShow,
in NodeFilter filter,
in boolean entityReferenceExpansion)
raises(DOMException);
};
Methods
createNodeIterator
Parameters
Node root The node which will be
iterated together with
its children. The
iterator is initially
positioned just before
this node. The
whatToShow flags and
the filter, if any, are
not considered when
setting this position.
long whatToShow This flag specifies
which node types may
appear in the logical
view of the tree
presented by the
Iterator. See the
description of Iterator
for the set of possible
values. These flags can
be combined using OR.
These flags can be
combined using OR.
NodeFilter filter The Filter to be used
with this TreeWalker,
or null to indicate no
filter.
boolean entityReferenceExpansion The value of this flag
determines whether
entity reference nodes
are expanded.
Return Value
NodeIterator The newly created NodeIterator.
No Exceptions
createTreeWalker
Create a new TreeWalker over the subtree rooted by the
specified node.
Parameters
Node root The node which will
serve as the root for
the TreeWalker. The
currentNode of the
TreeWalker is set to
this node. The
whatToShow flags and
the NodeFilter are not
considered when setting
this value; any node
type will be accepted
as the root. The root
must not be null.
long whatToShow This flag specifies
which node types may
appear in the logical
view of the tree
presented by the
Iterator. See the
description of
TreeWalker for the set
of possible values.
These flags can be
combined using OR.
These flags can be
combined using OR.
NodeFilter filter The Filter to be used
with this TreeWalker,
or null to indicate no
filter.
boolean entityReferenceExpansion The value of this flag
determines whether
entity reference nodes
are expanded.
Return Value
TreeWalker The newly created TreeWalker.
Exceptions
DOMException Raises the exception NOT_SUPPORTED_ERR if the
specified root node is null.
8. Document Object Model Range
Editors
Vidur Apparao, Netscape Communications
Peter Sharpe, SoftQuad Software Inc.
8.1. Introduction
A Range identifies a range of content in a Document, DocumentFragment or
Attr. It is contiguous in the sense that it can be characterized as
selecting all of the content between a pair of end-points. Note: In a text
editor or a word processor, a user can make a selection by pressing down the
mouse at one point in a document, moving the mouse to another point, and
releasing the mouse. The resulting selection is contiguous and consists of
the content between the two points.
The term 'selecting' does not mean that every Range corresponds to a
selection made by a GUI user; however, such a selection can be returned to a
DOM user as a Range.
The Range interface provides methods for accessing and manipulating the
document tree at a higher level than similar methods in the Node interface.
The expectation is that each of the methods provided by the Range interface
for the insertion, deletion and copying of content can be directly mapped to
a series of Node editing operations enabled by DOM Core. In this sense, the
Range operations can be viewed as convenience methods that also enable the
implementation to optimize common editing patterns.
This chapter describes the Range interface, including methods for creating
and moving a Range and methods for manipulating content with Ranges.
8.2. Definitions and Notation
8.2.1. Position
This chapter refers to two different representations of a document: the text
or source form that includes the document markup and the tree representation
similar to the one described in the Introduction.
A Range consists of two end-points corresponding to the start and the end of
the Range. An end-point's position in a document or document fragment tree
can be characterized by a node and an offset. The node is called the
container of the end-point and of its position. The container and its
ancestors are the ancestor containers of the end-point and of its position.
The offset within the node is called the offset of the end-point and its
position. If the container is an Attribute, Document, Document Fragment,
Element or EntityReference node, the offset is within its child nodes list.
If the container is a CharacterData, Comment or ProcessingInstruction node,
the offset is within the 16-bit units contained by it.
The end-points of a Range must have a common ancestor container which is
either a Document, DocumentFragment or Attr node. That is, the content of a
Range must be entirely within the subtree rooted by a single Document,
DocumentFragment or Attr Node. This common ancestor container is known as
the root container of the Range. The tree rooted by the root container is
known as the Range's context tree.
The container of an end-point of a Range must be an Element, Comment,
ProcessingInstruction, EntityReference, CDATASection, Document,
DocumentFragment, Attr, or Text node. None of the ancestor containers of the
end-point of a Range can be a DocumentType, Entity or Notation node.
In terms of the text representation of a document, the end-points of a Range
can only be on token boundaries. That is, the end-point of the text range
cannot be in the middle of a start- or end-tag of an element or within the
name of an entity or character reference. A Range locates a contiguous
portion of the content of the structure model.
The relationship between locations in a text representation of the document
and in the Node tree interface of the DOM is illustrated in the following
diagram:
---------------------------------------------------------------------
[Range Example]
---------------------------------------------------------------------
Range Example
---------------------------------------------------------------------
In this diagram, four different Ranges are illustrated. The end-points of
each range are labelled with s# (the start of the range) and e# (the end of
the range), where # is the number of the Range. For Range 2, the start is in
the BODY element and is immediately after the H1 element and immediately
before the P element, so its position is between the H1 and P children of
BODY. The offset of an end-point whose container is not a Text node is 0 if
it is before the first child, 1 if between the first and second child, and
so on. So, for the start of the Range 2, the container is BODY and the
offset is 1. The offset of an end-point whose container is a Text node is
obtained similarly but using 16-bit unit positions instead. For example, the
end-point labelled s1 of the Range 1 has a Text node (the one containing
"Title") as its container and an offset of 2 since it is between the second
and third 16-bit unit.
Notice that the end-points of Ranges 3 and 4 correspond to the same location
in the text representation. An important feature of the Range is that an
end-point of a Range can unambiguously represent every position within the
document tree.
The containers and offsets of the end-points can be obtained through the
following read-only Range attributes:
readonly attribute Node startContainer;
readonly attribute long startOffset;
readonly attribute Node endContainer;
readonly attribute long endOffset;
If the end-points of a Range have the same containers and offsets, the Range
is said to be a collapsed Range. (This is often referred to as an insertion
point in a user agent.)
8.2.2. Selection and Partial Selection
A node or 16-bit unit is said to be selected by a Range if it is between the
two end-points of the Range, that is, if the position immediately before the
node or 16-bit unit is before the end of the Range and the position
immediately after the node or 16-bit unit is after the start of the range.
For example, in terms of a text representation of the document, an element
would be selected by a Range if its corresponding start-tag was located
after the start of the Range and its end-tag was located before the end of
the Range. In the examples in the above diagram, the Range 2 selects the P
node and the Range 3 selects the text node containing the text "Blah xyz."
A node is said to be partially selected by a Range if it is an ancestor
container of exactly one end-point of the Range. For example, consider Range
1 in the above diagram. The element H1 is partially selected by that Range
since the start of the Range is within one of its children.
8.2.3. Notation
Many of the examples in this chapter are illustrated using a text
representation of a document. The end-points of a range are indicated by
displaying the characters (be they markup or data characters) between the
two end-points in bold, as in
ABCDEF
When both end-points are at the same position, they are indicated with a
bold caret ('^'), as in
A^BCDEF
And when referring to a single end-point, it will be shown as a bold
asterisk ('*') as in
A*BCDEF
8.3. Creating a Range
A range is created by calling the createRange() method on the DocumentRange
interface. This interface can be obtained from the object implementing the
Document interface using binding-specific casting methods.
interface DocumentRange {
Range createRange();
}
The initial state of the range returned from this method is such that both
of its end-points are positioned at the beginning of the corresponding
Document, before any content. In other words, the container of each
end-point is the Document node and the offset within that node is 0.
Like some objects created using methods in the Document interface (such as
Nodes and DocumentFragments), Ranges created via a particular document
instance can select only content associated with that Document, or with
DocumentFragments and Attrs for which that Document is the ownerDocument.
Such Ranges, then, can not be used with other Document instances.
8.4. Changing a Range's Position
A Range's position can be specified by setting the container and offset of
each end-point with the setStart and setEnd methods.
void setStart(in Node parent, in long offset)
raises(RangeException);
void setEnd(in Node parent, in long offset)
raises(RangeException);
If one end-point of a Range is set to have a root container other than the
current one for the range, the range is collapsed to the new position. This
enforces the restriction that both end-points of a Range must have the same
root container.
The start position of a Range is guaranteed to never be after the end
position. To enforce this restriction, if the start is set to be at a
position after the end, the range is collapsed to that position. Similarly,
if the end is set to be at a position before the start, the range is
collapsed to that position.
It is also possible to set a Range's position relative to nodes in the tree:
void setStartBefore(in Node node);
raises(RangeException);
void setStartAfter(in Node node);
raises(RangeException);
void setEndBefore(in Node node);
raises(RangeException);
void setEndAfter(in Node node);
raises(RangeException);
The parent of the node becomes the container of the end-point and the Range
is subject to the same restrictions as given above in the description of
setStart() and setEnd().
A Range can be collapsed to either end-point:
void collapse(in boolean toStart);
Passing TRUE as the parameter toStart will collapse the Range to its start ,
FALSE to its end.
Testing whether a Range is collapsed can be done by examining the
isCollapsed attribute:
readonly attribute boolean isCollapsed;
The following methods can be used to make a range select the contents of a
node or the node itself.
void selectNode(in Node n);
void selectNodeContents(in Node n);
The following examples demonstrate the operation of the methods selectNode
and selectNodeContents:
Before:
^ABC
After range.selectNodeContents(FOO):
ABC
After range.selectNode(FOO):
ABC
8.5. Comparing Range End-Points
It is possible to compare two Ranges by comparing their end-points:
int compareEndPoints(in CompareHow how, in Range sourceRange) raises(RangeException);
where CompareHow is one of four values: StartToStart, StartToEnd, EndToEnd
and EndToStart. The return value is -1, 0 or 1 depending on whether the
corresponding end-point of the Range is before, equal to, or after the
corresponding end-point of sourceRange. An exception is thrown if the two
Ranges have different root containers.
The result of comparing two end-points (or positions) is specified below. An
informal but not always correct specification is that an end-point is
before, equal to, or after another if it corresponds to a location in a text
representation before, equal to, or after the other's corresponding
location.
Let A and B be two end-points or positions. Then one of the following holds:
A is before B, A is equal to B, or A is after B. Which one holds is
specified in the following by examining four cases:
In the first case the end-points have the same container. A is before B if
its offset is less than the offset of B, A is equal to B if its offset is
equal to the offset of B, and A if after B if its offset is greater than the
offset of B.
In the second case a child C of the container of A is an ancestor container
of B. In this case, A is before B if the offset of A is less than or equal
to the index of the child C and A is after B otherwise.
In the third case a child C of the container of B is an ancestor container
of A. In this case, A is before B if the index of the child C is less than
the offset of B and A is after B otherwise.
In the fourth case, none of three other cases hold: the containers of A and
B are siblings or descendants of sibling nodes. In this case, A is before B
if the container of A is before the container of B in a pre-order traversal
of the Ranges' context tree and A is after B otherwise.
Note that because the same location in a text representation of the document
can correspond to two different positions in the DOM tree, it is possible
for two end-points to not compare equal even though they would be equal in
the text representation. For this reason, the informal definition above can
sometimes be incorrect.
8.6. Deleting Content with a Range
One can delete the contents selected by a Range with:
void deleteContents();
deleteContents() deletes all nodes and characters selected by the Range. All
other nodes and characters remain in the context tree of the Range. Some
examples of this deletion operation are:
(1) ABCDCD -->
A^CD
(2) ABCDE -->
AB^E
(3) XYZWQ -->
X^WQ
(4)
ABCD
--> A^D
After deleteContents() is invoked on a Range, the Range is collapsed. If no
node was partially selected by the Range, then it is collapsed to its
original start point, as in example (1). If a node was partially selected by
the Range and was an ancestor container of the start of the Range and no
ancestor of the node satisfies these two conditions, then the Range is
collapsed to the position immediately after the node, as in examples (2) and
(4). If a node waspartially selected by the Range and was an ancestor
container of the end of the Range and no ancestor of the node satisfies
these two conditions, then the Range is collapsed to the position
immediately before the node, as in examples (3) and (4).
8.7. Extracting Content
If the contents of a range need to be extracted rather than deleted, the
following method may be used:
DocumentFragment extractContents();
The extractContents() method removes nodes from the Range's context tree
similarly to the deleteContents() method. In addition, it places the deleted
contents in a new DocumentFragment. The following examples illustrate the
contents of the returned document fragment:
(1) ABCDCD -->
BCD
(2) ABCDE -->
CD
(3) XYZWQ -->
YZ
(4)
ABCD
--> BC
It is important to note that nodes that are partially selected by the range
are cloned. Since part of such a node's contents must remain in the Range's
context tree and part of the contents must be moved to the new fragment, a
clone of the partially selected node is included in the new fragment. Note
that cloning does not take place for selected elements; these nodes are
moved to the new fragment.
8.8. Cloning Content
The contents of a range may be duplicated using the following method:
DocumentFragment cloneContents();
This method returns a DocumentFragment that is similar to the one returned
by the method extractContents(). However, in this case, the original nodes
and character data in the Range are not removed from the Range's context
tree. Instead, all of the nodes and text content within the returned
DocumentFragment are cloned.
8.9. Inserting Content
A node may be inserted into a range using the following method:
void insertNode(in Node n) raises(RangeException);
The insertNode() method inserts the specified node into the Range's context
tree. For this method, the end of the range is ignored and the node is
inserted at the start of the range.
The Node passed into this method can be a DocumentFragment. In that case,
the contents of the fragment are inserted at the start position of the
range, but the fragment itself is not. Note that if the Node represents the
root of a sub-tree, the entire sub-tree is inserted.
The same rules that apply to the insertBefore() method on the Node interface
apply here. Specifically, the Node passed in, if it is already has a parent,
will be removed from its existing position.
8.10. Surrounding Content
The insertion of a single node to subsume the content selected by a Range
can be performed with:
void surroundContents(in Node n);
The surroundContents() method causes all of the content selected by the
range to be rooted by the specified node. Calling surroundContents() with
the node FOO in the following examples yields:
Before:
ABCDE
After surroundContents(FOO):
ABCDE
Another way of of describing the effect of this method on the Range's
context tree is to decompose it in terms of other operations:
1. Remove the contents selected by the range with a call to
extractContents().
2. Insert node where the range is now collapsed (after the extraction)
with insertNode()
3. Insert the entire contents of the extracted fragment into node.
Specifically, invoke the appendChild() on node passing in the
DocumentFragment returned as a result of the call to extractContents()
4. Select node and all of its contents with selectNode().
The surroundContents() method raises an exception if the range partially
selects a non-Text node. An example of a range for which surroundContents()
raises an exception is:
ABCDE
If node has any children, those children are removed before its insertion.
Also, if node already has a parent, it is removed from the original parent's
childNodes list.
8.11. Miscellaneous Members
One can clone a Range:
Range cloneRange();
This creates a new Range which selects exactly the same content as that
selected by the Range on which the method cloneRange was invoked. No content
is affected by this operation.
Because the end-points of a range do not necessarily have the same
containers, use:
readonly attribute Node commonAncestorContainer;
to get the ancestor container of both end-points that is furthest down from
the Range's root container
One can get a copy of all the character data selected or partially selected
by a range with:
DOMString toString();
This does nothing more than simply concatenate all the character data
selected by the range. This includes character data in both Text and
CDATASection nodes.
8.12. Range modification under document mutation
As a document is modified, the Ranges within the document need to be
updated. For example, if one end-point of a Range is within a node and that
node is removed from the document, then the Range would be invalid unless it
is fixed up in some way. This section describes how Ranges are modified
under document mutations so that they remain valid.
There are two general principles which apply to Ranges under document
mutation: The first is that all Ranges in a document will remain valid after
any mutation operation and the second is that, as much as possible, all
Ranges will select the same portion of the document after any mutation
operation.
Any mutation of the document tree which affect Ranges can be considered to
be a combination of basic delete and insertion operations. In fact, it can
be convenient to think of those operations as being accomplished using the
deleteContents() and insertNode() Range methods.
8.12.1. Insertions
An insertion occurs at a single point, the insertion point, in the document.
For any Range in the document tree, consider each end-point. The only case
in which the end-point will be changed after the insertion is when the
end-point and the insertion point have the same container and the offset of
the insertion point is strictly less than the offset of the Range's
end-point. In that case the offset of the Range's end-point will be
increased so that it is between the same nodes or characters as it was
before the insertion.
Note that when content is inserted at an end-point, it is ambiguous as to
where the end-point should be repositioned if its relative position is to be
maintained.
This is not the same as the principle, given above, of having the Range
select the same content, although often the Range ends up selecting the same
content.There are two possibilities: at the start or at the end of the newly
inserted content. We have chosen that in this case neither the container nor
offset of the end-point is changed. As a result, it will be positioned at
the start of the newly inserted content.
Examples:
Suppose the Range selects the following:
Abcd efgh XY blah ijkl
Consider the insertion of the text "inserted text" at the following
positions:
1. Before the 'X':
Abcd efgh inserted textXY blah ijkl
2. After the 'X':
Abcd efgh Xinserted textY blah ijkl
3. After the 'Y':
Abcd efgh XYinserted text blah ijkl
4. After the 'h' in "Y blah":
Abcd efgh XY blahinserted text ijkl
8.12.2. Deletions
Any deletion from the document tree can be considered as a sequence of
deleteContents() operations applied to a minimal set of disjoint Ranges. To
specify how a Range is modified under deletions we need only to consider
what happens to a Range only under a single deleteContents() operation of
another Range. And, in fact, we need only to consider what happens to a
single end-point of the Range since both end-points are modified using the
same algorithm.
If an end-point is within the content being deleted, then after the deletion
it will be at the same position as the one common to the end-points of the
Range used to delete the contents.
If an end-point is after the content being deleted then it is not affected
by the deletion unless its container is also the container of one of the
end-points of the range being deleted. If there is such a common container,
then the index of the end-point is modified so that the end-point maintains
its position relative to the content of the container.
If an end-point is before the content being deleted then it is not affected
by the deletion at all.
Examples:
In these examples, the Range on which deleteContents() is invoked is
indicated by the underline.
Example 1.
Before:
Abcd efgh The Range
ijkl
After:
Abcd Range ijkl
Example 2.
Before:
Abcd efgh The Range ijkl
After:
Abcd ^kl
Example 3.
Before:
ABCD efgh The
Range ijkl
After:
ABCD ange ijkl
Example 4.
Before:
Abcd efgh The Range ijkl
After:
Abcd he Range ijkl
Example 5.
Before:
Abcd efgh The Range
ijkl
After:
Abcd ^kl
8.13. Formal Description of the Range Interface
To summarize, the complete, formal description of the Range interface is
given below:
Interface Range (introduced in DOM Level 2)
IDL Definition
// Introduced in DOM Level 2:
interface Range {
readonly attribute Node startContainer;
readonly attribute long startOffset;
readonly attribute Node endContainer;
readonly attribute long endOffset;
readonly attribute boolean isCollapsed;
readonly attribute Node commonAncestorContainer;
void setStart(in Node refNode,
in long offset)
raises(RangeException);
void setEnd(in Node refNode,
in long offset)
raises(RangeException);
void setStartBefore(in Node refNode)
raises(RangeException);
void setStartAfter(in Node refNode)
raises(RangeException);
void setEndBefore(in Node refNode)
raises(RangeException);
void setEndAfter(in Node refNode)
raises(RangeException);
void collapse(in boolean toStart);
void selectNode(in Node refNode)
raises(RangeException);
void selectNodeContents(in Node refNode)
raises(RangeException);
typedef enum CompareHow_ {
StartToStart,
StartToEnd,
EndToEnd,
EndToStart
} CompareHow;
short compareEndPoints(in CompareHow how,
in Range sourceRange)
raises(DOMException);
void deleteContents()
raises(DOMException);
DocumentFragment extractContents()
raises(DOMException);
DocumentFragment cloneContents()
raises(DOMException);
void insertNode(in Node newNode)
raises(DOMException,
RangeException);
void surroundContents(in Node newParent)
raises(DOMException,
RangeException);
Range cloneRange();
DOMString toString();
};
Attributes
startContainer of type Node, readonly
Node within which the range begins
startOffset of type long, readonly
Offset within the starting node of the range.
endContainer of type Node, readonly
Node within which the range ends
endOffset of type long, readonly
Offset within the ending node of the range.
isCollapsed of type boolean, readonly
TRUE if the range is collapsed
commonAncestorContainer of type Node, readonly
The common ancestor container of the range's two end-points.
Type Definition CompareHow
Enumeration CompareHow_
Enumerator Values
StartToStart
StartToEnd
EndToEnd
EndToStart
Methods
setStart
Sets the attributes describing the start of the range.
Parameters
Node refNode The refNode value. This parameter must be
different from null.
long offset The startOffset value.
Exceptions
RangeException NULL_NODE_ERR: Raised if refNode is null.
INVALID_NODE_TYPE_ERR: Raised if refNode or
an ancestor of refNode is an Attr, Entity,
Notation, or DocumentType node.
If an offset is out-of-bounds, should it just
be fixed up or should an exception be raised.
No Return Value
setEnd
Sets the attributes describing the end of a range.
Parameters
Node refNode The refNode value. This parameter must be
different from null.
long offset The endOffset value.
Exceptions
RangeException NULL_NODE_ERR: Raised if refNode is null.
INVALID_NODE_TYPE_ERR: Raised if refNode or
an ancestor of refNode is an Attr, Entity,
Notation, or DocumentType node.
No Return Value
setStartBefore
Sets the start position to be before a node
Parameters
Node refNode Range starts before refNode
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor
of refNode is an Attr, Entity, Notation, or
DocumentType node or if refNode is a
Document, DocumentFragment, Attr, Entity, or
Notation node.
No Return Value
setStartAfter
Sets the start position to be after a node
Parameters
Node refNode Range starts after refNode
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor
of refNode is an Attr, Entity, Notation, or
DocumentType node or if refNode is a
Document, DocumentFragment, Attr, Entity, or
Notation node.
No Return Value
setEndBefore
Sets the end position to be before a node.
Parameters
Node refNode Range ends before refNode
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor
of refNode is an Attr, Entity, Notation, or
DocumentType node or if refNode is a
Document, DocumentFragment, Attr, Entity, or
Notation node.
No Return Value
setEndAfter
Sets the end of a range to be after a node
Parameters
Node refNode Range ends after refNode.
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor
of refNode is an Attr, Entity, Notation or
DocumentType node or if refNode is a
Document, DocumentFragment, Attr, Entity, or
Notation node.
No Return Value
collapse
Collapse a range onto one of its end-points
Parameters
boolean toStart If TRUE, collapses the Range onto its
start; if FALSE, collapses it onto its end.
No Return Value
No Exceptions
selectNode
Select a node and its contents
Parameters
Node refNode The node to select.
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor
of refNode is an Attr, Entity, Notation or
DocumentType node or if refNode is a
Document, DocumentFragment, Attr, Entity, or
Notation node.
No Return Value
selectNodeContents
Select the contents within a node
Parameters
Node refNode Node to select from
Exceptions
RangeException INVALID_NODE_TYPE_ERR: Raised if refNode or
an ancestor of refNode is an Attr, Entity,
Notation or DocumentType node.
No Return Value
compareEndPoints
Compare the end-points of two ranges in a document.
Parameters
CompareHow how
Range sourceRange
Return Value
short -1, 0 or 1 depending on whether the corresponding
end-point of the Range is before, equal to, or after
the corresponding end-point of sourceRange.
Exceptions
DOMException WRONG_DOCUMENT_ERR: Raised if the two Ranges
are not in the same document or document
fragment.
deleteContents
Removes the contents of a range from the containing document
or document fragment without returning a reference to the
removed content.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if any
portion of the content of the range is
read-only or any of the nodes that contain any
of the content of the range are read-only.
No Parameters
No Return Value
extractContents
Moves the contents of a range from the containing document or
document fragment to a new DocumentFragment.
Return Value
DocumentFragment A DocumentFragment containing the extracted
contents.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if any
portion of the content of the range is
read-only or any of the nodes which contain any
of the content of the range are read-only.
HIERARCHY_REQUEST_ERR: Raised if a DocumentType
node would be extracted into the new
DocumentFragment.
No Parameters
cloneContents
Duplicates the contents of a range
Return Value
DocumentFragment A DocumentFragment containing contents
equivalent to those of this range.
Exceptions
DOMException HIERARCHY_REQUEST_ERR: Raised if a DocumentType
node would be extracted into the new
DocumentFragment.
No Parameters
insertNode
Inserts a node into the document or document fragment at the
start of the range.
Parameters
Node newNode The node to insert at the start of the range
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if an
ancestor container of the start of the range
is read-only.
WRONG_DOCUMENT_ERR: Raised if newNode and the
container of the start of the Range were not
created from the same document.
HIERARCHY_REQUEST_ERR: Raised if the
container of the start of the Range is of a
type that does not allow children of the type
of newNode or if newNode is an ancestor of
the container.
RangeException INVALID_NODE_TYPE_ERR: Raised if node is an
Attr, Entity, Notation, DocumentFragment, or
Document node.
No Return Value
surroundContents
Reparents the contents of the range to the given node and
inserts the node at the position of the start of the range.
Parameters
Node newParent The node to surround the contents with.
Exceptions
DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if an
ancestor container of either end-point of the
range is read-only.
WRONG_DOCUMENT_ERR: Raised if newParent and
the container of the start of the Range were
not created from the same document.
HIERARCHY_REQUEST_ERR: Raised if the
container of the start of the Range is of a
type that does not allow children of the type
of newParent or if newParent is an ancestor
of the container or if node would end up with
a child node of a type not allowed by the
type of node.
RangeException BAD_ENDPOINTS_ERR: Raised if the range
partially selects a non-text node.
INVALID_NODE_TYPE_ERR: Raised if node is an
Attr, Entity, DocumentType, Notation,
Document, or DocumentFragment node.
No Return Value
cloneRange
Produces a new range whose end-points are equal to the
end-points of the range.
Return Value
Range The duplicated range.
No Parameters
No Exceptions
toString
Returns the contents of a range as a string.
Return Value
DOMString The contents of the range.
No Parameters
No Exceptions
Interface DocumentRange (introduced in DOM Level 2)
IDL Definition
// Introduced in DOM Level 2:
interface DocumentRange {
Range createRange();
};
Methods
createRange
This interface can be obtained from the object implementing
the Document interface using binding-specific casting
methods.
Return Value
Range The initial state of the range returned from this
method is such that both of its end-points are
positioned at the beginning of the corresponding
Document, before any content. The range returned can
only be used to select content associated with this
Document, or with DocumentFragments and Attrs for
which this Document is the ownerDocument.
No Parameters
No Exceptions
Exception RangeException introduced in DOM Level 2
The Range object needs additional exception codes to those in DOM Level
1. These codes will need to be consolidated with other exception codes
added to DOM Level 2.
IDL Definition
// Introduced in DOM Level 2:
exception RangeException {
unsigned short code;
};
// RangeExceptionCode
const unsigned short BAD_ENDPOINTS_ERR = 201;
const unsigned short INVALID_NODE_TYPE_ERR = 202;
const unsigned short NULL_NODE_ERR = 203;
Definition group RangeExceptionCode
An integer indicating the type of error generated.
Defined Constants
BAD_ENDPOINTS_ERR If the end-points of a range do not
meet specific requirements.
If the container of an end-point of a
INVALID_NODE_TYPE_ERR range is being set to either a node of
an invalid type or a node with an
ancestor of an invalid type.
NULL_NODE_ERR If the container of an end-point of a
range is being set to null.
Appendix A: Changes
Editors
Arnaud Le Hors, W3C
A.1: Changes between DOM Level 1 and DOM Level 2
A.1.1: Changes to DOM Level 1 interfaces
Interface Attr
The Attr interface has one new attribute: ownerElement.
Interface Document
The Document interface has four new methods: importNode,
createElementNS, createAttributeNS and getElementsByTagNameNS.
Interface NamedNodeMap
The NamedNodeMap interface has two new methods: getNamedItemNS,
removeNamedItemNS.
Interface Node
The Node interface has one new method: supports.
The Node interface has three new attributes: namespaceURI, prefix and
localName.
The ownerDocument attribute was specified to be null when the node is a
Document. It is now also null when the node is a DocumentType which is
not used with any Document yet.
Interface DocumentType
The DocumentType interface has two new attributes: publicID and
systemID.
Interface DOMImplementation
The DOMImplementation interface has two new methods: createDocumentType
and createDocument.
Interface Element
The Element interface has six new methods: getAttributeNS,
setAttributeNS, removeAttributeNS, getAttributeNodeNS,
setAttributeNodeNS, getElementsByTagNameNS.
A.1.2: New interfaces
HTML
The HTMLDOMImplementation interface was added to the HTML module.
Views
This new module defines the interface AbstractView.
StyleSheets
This new module defines the following interfaces: StyleSheet,
StyleSheetList, MediaList, DocumentStyle and LinkStyle.
CSS
This new module defines the following interfaces CSSException,
CSS2Azimuth, CSS2BackgroundPosition, CSS2BorderSpacing,
CSS2CounterIncrement, CSS2CounterReset, CSS2Cursor, CSS2FontFaceSrc,
CSS2FontFaceWidths, CSS2PageSize, CSS2PlayDuring, CSS2Properties,
CSS2TextShadow, CSSCharsetRule, CSSFontFaceRule, CSSImportRule,
CSSMediaRule, CSSPageRule, CSSPrimitiveValue, CSSRule, CSSRuleList,
CSSStyleDeclaration, CSSStyleRule, CSSStyleSheet, CSSUnknownRule,
CSSValue, CSSValueList, Counter, RGBColor, Rect, ViewCSS, DocumentCSS,
DOMImplementationCSS and HTMLElementCSS.
Events
This new module defines the following interfaces Event, EventListener,
EventTarget, MutationEvent, UIEvent, MouseEvent, and KeyEvent.
Traversal
This new module defines the following interfaces NodeFilter,
NodeIterator, TreeWalker, and DocumentTraversal.
Range
This new module defines the interface Range and the exception
RangeException.
Appendix B: IDL Definitions
This appendix contains the complete OMG IDL for the Level 2 Document Object
Model definitions. The definitions are divided into Core, HTML, Stylesheets,
CSS, Events, TreeWalkers, Filters, and Iterators, and Range.
The IDL files are also available as:
http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/idl.zip
B.1: Document Object Model Core
dom.idl:
// File: dom.idl
#ifndef _DOM_IDL_
#define _DOM_IDL_
#pragma prefix "w3c.org"
module dom
{
typedef sequence DOMString;
interface DocumentType;
interface Document;
interface NodeList;
interface NamedNodeMap;
interface Element;
exception DOMException {
unsigned short code;
};
// ExceptionCode
const unsigned short INDEX_SIZE_ERR = 1;
const unsigned short DOMSTRING_SIZE_ERR = 2;
const unsigned short HIERARCHY_REQUEST_ERR = 3;
const unsigned short WRONG_DOCUMENT_ERR = 4;
const unsigned short INVALID_CHARACTER_ERR = 5;
const unsigned short NO_DATA_ALLOWED_ERR = 6;
const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7;
const unsigned short NOT_FOUND_ERR = 8;
const unsigned short NOT_SUPPORTED_ERR = 9;
const unsigned short INUSE_ATTRIBUTE_ERR = 10;
interface DOMImplementation {
boolean hasFeature(in DOMString feature,
in DOMString version);
// Introduced in DOM Level 2:
DocumentType createDocumentType(in DOMString qualifiedName,
in DOMString publicID,
in DOMString systemID);
// Introduced in DOM Level 2:
Document createDocument(in DOMString namespaceURI,
in DOMString qualifiedName,
in DocumentType doctype)
raises(DOMException);
};
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short CDATA_SECTION_NODE = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5;
const unsigned short ENTITY_NODE = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7;
const unsigned short COMMENT_NODE = 8;
const unsigned short DOCUMENT_NODE = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11;
const unsigned short NOTATION_NODE = 12;
readonly attribute DOMString nodeName;
attribute DOMString nodeValue;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned short nodeType;
readonly attribute Node parentNode;
readonly attribute NodeList childNodes;
readonly attribute Node firstChild;
readonly attribute Node lastChild;
readonly attribute Node previousSibling;
readonly attribute Node nextSibling;
readonly attribute NamedNodeMap attributes;
// Modified in DOM Level 2:
readonly attribute Document ownerDocument;
Node insertBefore(in Node newChild,
in Node refChild)
raises(DOMException);
Node replaceChild(in Node newChild,
in Node oldChild)
raises(DOMException);
Node removeChild(in Node oldChild)
raises(DOMException);
Node appendChild(in Node newChild)
raises(DOMException);
boolean hasChildNodes();
Node cloneNode(in boolean deep);
// Introduced in DOM Level 2:
boolean supports(in DOMString feature,
in DOMString version);
// Introduced in DOM Level 2:
readonly attribute DOMString namespaceURI;
// Introduced in DOM Level 2:
attribute DOMString prefix;
// raises(DOMException) on setting
// Introduced in DOM Level 2:
readonly attribute DOMString localName;
};
interface NodeList {
Node item(in unsigned long index);
readonly attribute unsigned long length;
};
interface NamedNodeMap {
Node getNamedItem(in DOMString name);
Node setNamedItem(in Node arg)
raises(DOMException);
Node removeNamedItem(in DOMString name)
raises(DOMException);
Node item(in unsigned long index);
readonly attribute unsigned long length;
// Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
Node removeNamedItemNS(in DOMString namespaceURI,
in DOMString name)
raises(DOMException);
};
interface CharacterData : Node {
attribute DOMString data;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute unsigned long length;
DOMString substringData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void appendData(in DOMString arg)
raises(DOMException);
void insertData(in unsigned long offset,
in DOMString arg)
raises(DOMException);
void deleteData(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void replaceData(in unsigned long offset,
in unsigned long count,
in DOMString arg)
raises(DOMException);
};
interface Attr : Node {
readonly attribute DOMString name;
readonly attribute boolean specified;
attribute DOMString value;
// raises(DOMException) on setting
// Introduced in DOM Level 2:
readonly attribute Element ownerElement;
};
interface Element : Node {
readonly attribute DOMString tagName;
DOMString getAttribute(in DOMString name);
void setAttribute(in DOMString name,
in DOMString value)
raises(DOMException);
void removeAttribute(in DOMString name)
raises(DOMException);
Attr getAttributeNode(in DOMString name);
Attr setAttributeNode(in Attr newAttr)
raises(DOMException);
Attr removeAttributeNode(in Attr oldAttr)
raises(DOMException);
NodeList getElementsByTagName(in DOMString name);
void normalize();
// Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI,
in DOMString localName,
in DOMString value)
raises(DOMException);
// Introduced in DOM Level 2:
void removeAttributeNS(in DOMString namespacURI,
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName);
// Introduced in DOM Level 2:
Attr setAttributeNodeNS(in Attr newAttr)
raises(DOMException);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
};
interface Text : CharacterData {
Text splitText(in unsigned long offset)
raises(DOMException);
};
interface Comment : CharacterData {
};
interface CDATASection : Text {
};
interface DocumentType : Node {
readonly attribute DOMString name;
readonly attribute NamedNodeMap entities;
readonly attribute NamedNodeMap notations;
// Introduced in DOM Level 2:
readonly attribute DOMString publicID;
// Introduced in DOM Level 2:
readonly attribute DOMString systemID;
};
interface Notation : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
};
interface Entity : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString notationName;
};
interface EntityReference : Node {
};
interface ProcessingInstruction : Node {
readonly attribute DOMString target;
attribute DOMString data;
// raises(DOMException) on setting
};
interface DocumentFragment : Node {
};
interface Document : Node {
readonly attribute DocumentType doctype;
readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement;
Element createElement(in DOMString tagName)
raises(DOMException);
DocumentFragment createDocumentFragment();
Text createTextNode(in DOMString data);
Comment createComment(in DOMString data);
CDATASection createCDATASection(in DOMString data)
raises(DOMException);
ProcessingInstruction createProcessingInstruction(in DOMString target,
in DOMString data)
raises(DOMException);
Attr createAttribute(in DOMString name)
raises(DOMException);
EntityReference createEntityReference(in DOMString name)
raises(DOMException);
NodeList getElementsByTagName(in DOMString tagname);
// Introduced in DOM Level 2:
Node importNode(in Node importedNode,
in boolean deep)
raises(DOMException);
// Introduced in DOM Level 2:
Element createElementNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
Attr createAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
};
};
#endif // _DOM_IDL_
B.2: Document Object Model HTML
html.idl:
// File: html.idl
#ifndef _HTML_IDL_
#define _HTML_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module html
{
typedef dom::DOMString DOMString;
typedef dom::Node Node;
typedef dom::DOMImplementation DOMImplementation;
typedef dom::Document Document;
typedef dom::Element Element;
typedef dom::NodeList NodeList;
interface HTMLDocument;
interface HTMLElement;
interface HTMLFormElement;
interface HTMLTableCaptionElement;
interface HTMLTableSectionElement;
interface HTMLCollection {
readonly attribute unsigned long length;
Node item(in unsigned long index);
Node namedItem(in DOMString name);
};
// Introduced in DOM Level 2:
interface HTMLDOMImplementation : DOMImplementation {
HTMLDocument createHTMLDocument(in DOMString title);
};
interface HTMLDocument : Document {
attribute DOMString title;
readonly attribute DOMString referrer;
readonly attribute DOMString domain;
readonly attribute DOMString URL;
attribute HTMLElement body;
readonly attribute HTMLCollection images;
readonly attribute HTMLCollection applets;
readonly attribute HTMLCollection links;
readonly attribute HTMLCollection forms;
readonly attribute HTMLCollection anchors;
attribute DOMString cookie;
void open();
void close();
void write(in DOMString text);
void writeln(in DOMString text);
Element getElementById(in DOMString elementId);
NodeList getElementsByName(in DOMString elementName);
};
interface HTMLElement : Element {
attribute DOMString id;
attribute DOMString title;
attribute DOMString lang;
attribute DOMString dir;
attribute DOMString className;
};
interface HTMLHtmlElement : HTMLElement {
attribute DOMString version;
};
interface HTMLHeadElement : HTMLElement {
attribute DOMString profile;
};
interface HTMLLinkElement : HTMLElement {
attribute boolean disabled;
attribute DOMString charset;
attribute DOMString href;
attribute DOMString hreflang;
attribute DOMString media;
attribute DOMString rel;
attribute DOMString rev;
attribute DOMString target;
attribute DOMString type;
};
interface HTMLTitleElement : HTMLElement {
attribute DOMString text;
};
interface HTMLMetaElement : HTMLElement {
attribute DOMString content;
attribute DOMString httpEquiv;
attribute DOMString name;
attribute DOMString scheme;
};
interface HTMLBaseElement : HTMLElement {
attribute DOMString href;
attribute DOMString target;
};
interface HTMLIsIndexElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString prompt;
};
interface HTMLStyleElement : HTMLElement {
attribute boolean disabled;
attribute DOMString media;
attribute DOMString type;
};
interface HTMLBodyElement : HTMLElement {
attribute DOMString aLink;
attribute DOMString background;
attribute DOMString bgColor;
attribute DOMString link;
attribute DOMString text;
attribute DOMString vLink;
};
interface HTMLFormElement : HTMLElement {
readonly attribute HTMLCollection elements;
readonly attribute long length;
attribute DOMString name;
attribute DOMString acceptCharset;
attribute DOMString action;
attribute DOMString enctype;
attribute DOMString method;
attribute DOMString target;
void submit();
void reset();
};
interface HTMLSelectElement : HTMLElement {
readonly attribute DOMString type;
attribute long selectedIndex;
attribute DOMString value;
readonly attribute long length;
readonly attribute HTMLFormElement form;
readonly attribute HTMLCollection options;
attribute boolean disabled;
attribute boolean multiple;
attribute DOMString name;
attribute long size;
attribute long tabIndex;
void add(in HTMLElement element,
in HTMLElement before);
void remove(in long index);
void blur();
void focus();
};
interface HTMLOptGroupElement : HTMLElement {
attribute boolean disabled;
attribute DOMString label;
};
interface HTMLOptionElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute boolean defaultSelected;
readonly attribute DOMString text;
readonly attribute long index;
attribute boolean disabled;
attribute DOMString label;
attribute boolean selected;
attribute DOMString value;
};
interface HTMLInputElement : HTMLElement {
attribute DOMString defaultValue;
attribute boolean defaultChecked;
readonly attribute HTMLFormElement form;
attribute DOMString accept;
attribute DOMString accessKey;
attribute DOMString align;
attribute DOMString alt;
attribute boolean checked;
attribute boolean disabled;
attribute long maxLength;
attribute DOMString name;
attribute boolean readOnly;
attribute DOMString size;
attribute DOMString src;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString useMap;
attribute DOMString value;
void blur();
void focus();
void select();
void click();
};
interface HTMLTextAreaElement : HTMLElement {
attribute DOMString defaultValue;
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute long cols;
attribute boolean disabled;
attribute DOMString name;
attribute boolean readOnly;
attribute long rows;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString value;
void blur();
void focus();
void select();
};
interface HTMLButtonElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute boolean disabled;
attribute DOMString name;
attribute long tabIndex;
readonly attribute DOMString type;
attribute DOMString value;
};
interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString htmlFor;
};
interface HTMLFieldSetElement : HTMLElement {
readonly attribute HTMLFormElement form;
};
interface HTMLLegendElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString align;
};
interface HTMLUListElement : HTMLElement {
attribute boolean compact;
attribute DOMString type;
};
interface HTMLOListElement : HTMLElement {
attribute boolean compact;
attribute long start;
attribute DOMString type;
};
interface HTMLDListElement : HTMLElement {
attribute boolean compact;
};
interface HTMLDirectoryElement : HTMLElement {
attribute boolean compact;
};
interface HTMLMenuElement : HTMLElement {
attribute boolean compact;
};
interface HTMLLIElement : HTMLElement {
attribute DOMString type;
attribute long value;
};
interface HTMLDivElement : HTMLElement {
attribute DOMString align;
};
interface HTMLParagraphElement : HTMLElement {
attribute DOMString align;
};
interface HTMLHeadingElement : HTMLElement {
attribute DOMString align;
};
interface HTMLQuoteElement : HTMLElement {
attribute DOMString cite;
};
interface HTMLPreElement : HTMLElement {
attribute long width;
};
interface HTMLBRElement : HTMLElement {
attribute DOMString clear;
};
interface HTMLBaseFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
interface HTMLFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
interface HTMLHRElement : HTMLElement {
attribute DOMString align;
attribute boolean noShade;
attribute DOMString size;
attribute DOMString width;
};
interface HTMLModElement : HTMLElement {
attribute DOMString cite;
attribute DOMString dateTime;
};
interface HTMLAnchorElement : HTMLElement {
attribute DOMString accessKey;
attribute DOMString charset;
attribute DOMString coords;
attribute DOMString href;
attribute DOMString hreflang;
attribute DOMString name;
attribute DOMString rel;
attribute DOMString rev;
attribute DOMString shape;
attribute long tabIndex;
attribute DOMString target;
attribute DOMString type;
void blur();
void focus();
};
interface HTMLImageElement : HTMLElement {
attribute DOMString lowSrc;
attribute DOMString name;
attribute DOMString align;
attribute DOMString alt;
attribute DOMString border;
attribute DOMString height;
attribute DOMString hspace;
attribute boolean isMap;
attribute DOMString longDesc;
attribute DOMString src;
attribute DOMString useMap;
attribute DOMString vspace;
attribute DOMString width;
};
interface HTMLObjectElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString code;
attribute DOMString align;
attribute DOMString archive;
attribute DOMString border;
attribute DOMString codeBase;
attribute DOMString codeType;
attribute DOMString data;
attribute boolean declare;
attribute DOMString height;
attribute DOMString hspace;
attribute DOMString name;
attribute DOMString standby;
attribute long tabIndex;
attribute DOMString type;
attribute DOMString useMap;
attribute DOMString vspace;
attribute DOMString width;
};
interface HTMLParamElement : HTMLElement {
attribute DOMString name;
attribute DOMString type;
attribute DOMString value;
attribute DOMString valueType;
};
interface HTMLAppletElement : HTMLElement {
attribute DOMString align;
attribute DOMString alt;
attribute DOMString archive;
attribute DOMString code;
attribute DOMString codeBase;
attribute DOMString height;
attribute DOMString hspace;
attribute DOMString name;
attribute DOMString object;
attribute DOMString vspace;
attribute DOMString width;
};
interface HTMLMapElement : HTMLElement {
readonly attribute HTMLCollection areas;
attribute DOMString name;
};
interface HTMLAreaElement : HTMLElement {
attribute DOMString accessKey;
attribute DOMString alt;
attribute DOMString coords;
attribute DOMString href;
attribute boolean noHref;
attribute DOMString shape;
attribute long tabIndex;
attribute DOMString target;
};
interface HTMLScriptElement : HTMLElement {
attribute DOMString text;
attribute DOMString htmlFor;
attribute DOMString event;
attribute DOMString charset;
attribute boolean defer;
attribute DOMString src;
attribute DOMString type;
};
interface HTMLTableElement : HTMLElement {
attribute HTMLTableCaptionElement caption;
attribute HTMLTableSectionElement tHead;
attribute HTMLTableSectionElement tFoot;
readonly attribute HTMLCollection rows;
readonly attribute HTMLCollection tBodies;
attribute DOMString align;
attribute DOMString bgColor;
attribute DOMString border;
attribute DOMString cellPadding;
attribute DOMString cellSpacing;
attribute DOMString frame;
attribute DOMString rules;
attribute DOMString summary;
attribute DOMString width;
HTMLElement createTHead();
void deleteTHead();
HTMLElement createTFoot();
void deleteTFoot();
HTMLElement createCaption();
void deleteCaption();
HTMLElement insertRow(in long index);
void deleteRow(in long index);
};
interface HTMLTableCaptionElement : HTMLElement {
attribute DOMString align;
};
interface HTMLTableColElement : HTMLElement {
attribute DOMString align;
attribute DOMString ch;
attribute DOMString chOff;
attribute long span;
attribute DOMString vAlign;
attribute DOMString width;
};
interface HTMLTableSectionElement : HTMLElement {
attribute DOMString align;
attribute DOMString ch;
attribute DOMString chOff;
attribute DOMString vAlign;
readonly attribute HTMLCollection rows;
HTMLElement insertRow(in long index);
void deleteRow(in long index);
};
interface HTMLTableRowElement : HTMLElement {
readonly attribute long rowIndex;
readonly attribute long sectionRowIndex;
readonly attribute HTMLCollection cells;
attribute DOMString align;
attribute DOMString bgColor;
attribute DOMString ch;
attribute DOMString chOff;
attribute DOMString vAlign;
HTMLElement insertCell(in long index);
void deleteCell(in long index);
};
interface HTMLTableCellElement : HTMLElement {
readonly attribute long cellIndex;
attribute DOMString abbr;
attribute DOMString align;
attribute DOMString axis;
attribute DOMString bgColor;
attribute DOMString ch;
attribute DOMString chOff;
attribute long colSpan;
attribute DOMString headers;
attribute DOMString height;
attribute boolean noWrap;
attribute long rowSpan;
attribute DOMString scope;
attribute DOMString vAlign;
attribute DOMString width;
};
interface HTMLFrameSetElement : HTMLElement {
attribute DOMString cols;
attribute DOMString rows;
};
interface HTMLFrameElement : HTMLElement {
attribute DOMString frameBorder;
attribute DOMString longDesc;
attribute DOMString marginHeight;
attribute DOMString marginWidth;
attribute DOMString name;
attribute boolean noResize;
attribute DOMString scrolling;
attribute DOMString src;
};
interface HTMLIFrameElement : HTMLElement {
attribute DOMString align;
attribute DOMString frameBorder;
attribute DOMString height;
attribute DOMString longDesc;
attribute DOMString marginHeight;
attribute DOMString marginWidth;
attribute DOMString name;
attribute DOMString scrolling;
attribute DOMString src;
attribute DOMString width;
};
};
#endif // _HTML_IDL_
B.3: Document Object Model Views
views.idl:
// File: views.idl
#ifndef _VIEWS_IDL_
#define _VIEWS_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module views
{
interface DocumentView;
// Introduced in DOM Level 2:
interface AbstractView {
readonly attribute DocumentView document;
};
// Introduced in DOM Level 2:
interface DocumentView {
readonly attribute AbstractView defaultView;
};
};
#endif // _VIEWS_IDL_
B.4: Document Object Model Stylesheets
stylesheets.idl:
// File: stylesheets.idl
#ifndef _STYLESHEETS_IDL_
#define _STYLESHEETS_IDL_
#include "dom.idl"
#include "html.idl"
#pragma prefix "dom.w3c.org"
module stylesheets
{
typedef dom::DOMString DOMString;
typedef dom::Node Node;
interface MediaList;
// Introduced in DOM Level 2:
interface StyleSheet {
readonly attribute DOMString type;
attribute boolean disabled;
readonly attribute Node ownerNode;
readonly attribute StyleSheet parentStyleSheet;
readonly attribute DOMString href;
readonly attribute DOMString title;
readonly attribute MediaList media;
};
// Introduced in DOM Level 2:
interface StyleSheetList {
readonly attribute unsigned long length;
StyleSheet item(in unsigned long index);
};
// Introduced in DOM Level 2:
interface MediaList {
attribute DOMString cssText;
// raises(dom::DOMException) on setting
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
void delete(in DOMString oldMedium)
raises(dom::DOMException);
void append(in DOMString newMedium)
raises(dom::DOMException);
};
interface LinkStyle {
readonly attribute StyleSheet sheet;
};
// Introduced in DOM Level 2:
interface DocumentStyle {
readonly attribute StyleSheetList styleSheets;
};
};
#endif // _STYLESHEETS_IDL_
B.5: Document Object Model CSS
css.idl:
// File: css.idl
#ifndef _CSS_IDL_
#define _CSS_IDL_
#include "dom.idl"
#include "stylesheets.idl"
#include "html.idl"
#include "views.idl"
#pragma prefix "dom.w3c.org"
module css
{
typedef dom::DOMString DOMString;
typedef dom::Element Element;
typedef dom::DOMImplementation DOMImplementation;
interface CSSRule;
interface CSSStyleSheet;
interface CSSStyleDeclaration;
interface CSSValue;
interface Counter;
interface Rect;
interface RGBColor;
exception CSSException {
unsigned short code;
};
// CSSExceptionCode
const unsigned short SYNTAX_ERR = 0;
const unsigned short INVALID_MODIFICATION_ERR = 1;
// Introduced in DOM Level 2:
interface CSSRuleList {
readonly attribute unsigned long length;
CSSRule item(in unsigned long index);
};
// Introduced in DOM Level 2:
interface CSSRule {
// RuleType
const unsigned short UNKNOWN_RULE = 0;
const unsigned short STYLE_RULE = 1;
const unsigned short CHARSET_RULE = 2;
const unsigned short IMPORT_RULE = 3;
const unsigned short MEDIA_RULE = 4;
const unsigned short FONT_FACE_RULE = 5;
const unsigned short PAGE_RULE = 6;
readonly attribute unsigned short type;
attribute DOMString cssText;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute CSSStyleSheet parentStyleSheet;
readonly attribute CSSRule parentRule;
};
// Introduced in DOM Level 2:
interface CSSStyleRule : CSSRule {
attribute DOMString selectorText;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute CSSStyleDeclaration style;
};
// Introduced in DOM Level 2:
interface CSSMediaRule : CSSRule {
readonly attribute stylesheets::MediaList media;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(dom::DOMException,
CSSException);
void deleteRule(in unsigned long index)
raises(dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSSFontFaceRule : CSSRule {
readonly attribute CSSStyleDeclaration style;
};
// Introduced in DOM Level 2:
interface CSSPageRule : CSSRule {
attribute DOMString selectorText;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute CSSStyleDeclaration style;
};
// Introduced in DOM Level 2:
interface CSSImportRule : CSSRule {
readonly attribute DOMString href;
readonly attribute stylesheets::MediaList media;
readonly attribute CSSStyleSheet styleSheet;
};
// Introduced in DOM Level 2:
interface CSSCharsetRule : CSSRule {
attribute DOMString encoding;
// raises(CSSException,
// dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSSUnknownRule : CSSRule {
};
// Introduced in DOM Level 2:
interface CSSStyleDeclaration {
attribute DOMString cssText;
// raises(CSSException,
// dom::DOMException) on setting
DOMString getPropertyValue(in DOMString propertyName);
CSSValue getPropertyCSSValue(in DOMString propertyName);
DOMString removeProperty(in DOMString propertyName)
raises(dom::DOMException);
DOMString getPropertyPriority(in DOMString propertyName);
void setProperty(in DOMString propertyName,
in DOMString value,
in DOMString priority)
raises(CSSException,
dom::DOMException);
readonly attribute unsigned long length;
DOMString item(in unsigned long index);
readonly attribute CSSRule parentRule;
};
// Introduced in DOM Level 2:
interface CSSValue {
// UnitTypes
const unsigned short CSS_INHERIT = 0;
const unsigned short CSS_PRIMITIVE_VALUE = 1;
const unsigned short CSS_VALUE_LIST = 2;
const unsigned short CSS_CUSTOM = 3;
attribute DOMString cssText;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute unsigned short valueType;
};
// Introduced in DOM Level 2:
interface CSSPrimitiveValue : CSSValue {
// UnitTypes
const unsigned short CSS_UNKNOWN = 0;
const unsigned short CSS_NUMBER = 1;
const unsigned short CSS_PERCENTAGE = 2;
const unsigned short CSS_EMS = 3;
const unsigned short CSS_EXS = 4;
const unsigned short CSS_PX = 5;
const unsigned short CSS_CM = 6;
const unsigned short CSS_MM = 9;
const unsigned short CSS_IN = 10;
const unsigned short CSS_PT = 11;
const unsigned short CSS_PC = 12;
const unsigned short CSS_DEG = 13;
const unsigned short CSS_RAD = 14;
const unsigned short CSS_GRAD = 15;
const unsigned short CSS_MS = 16;
const unsigned short CSS_S = 17;
const unsigned short CSS_HZ = 18;
const unsigned short CSS_KHZ = 19;
const unsigned short CSS_DIMENSION = 20;
const unsigned short CSS_STRING = 21;
const unsigned short CSS_URI = 22;
const unsigned short CSS_IDENT = 23;
const unsigned short CSS_ATTR = 24;
const unsigned short CSS_COUNTER = 25;
const unsigned short CSS_RECT = 26;
const unsigned short CSS_RGBCOLOR = 27;
readonly attribute unsigned short primitiveType;
void setFloatValue(in unsigned short unitType,
in float floatValue)
raises(dom::DOMException);
float getFloatValue(in unsigned short unitType)
raises(dom::DOMException);
void setStringValue(in unsigned short stringType,
in DOMString stringValue)
raises(dom::DOMException);
DOMString getStringValue()
raises(dom::DOMException);
Counter getCounterValue()
raises(dom::DOMException);
Rect getRectValue()
raises(dom::DOMException);
RGBColor getRGBColorValue()
raises(dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSSValueList : CSSValue {
readonly attribute unsigned long length;
CSSValue item(in unsigned long index);
};
// Introduced in DOM Level 2:
interface RGBColor {
readonly attribute CSSPrimitiveValue red;
readonly attribute CSSPrimitiveValue green;
readonly attribute CSSPrimitiveValue blue;
};
// Introduced in DOM Level 2:
interface Rect {
readonly attribute CSSPrimitiveValue top;
readonly attribute CSSPrimitiveValue right;
readonly attribute CSSPrimitiveValue bottom;
readonly attribute CSSPrimitiveValue left;
};
// Introduced in DOM Level 2:
interface Counter {
readonly attribute DOMString identifier;
readonly attribute DOMString listStyle;
readonly attribute DOMString separator;
};
// Introduced in DOM Level 2:
interface CSS2Azimuth : CSSValue {
readonly attribute unsigned short azimuthType;
readonly attribute DOMString identifier;
readonly attribute boolean behind;
void setAngleValue(in unsigned short uType,
in float fValue)
raises(dom::DOMException);
float getAngleValue(in unsigned short uType)
raises(dom::DOMException);
void setIdentifier(in DOMString ident,
in boolean b)
raises(CSSException,
dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSS2BackgroundPosition : CSSValue {
readonly attribute unsigned short horizontalType;
readonly attribute unsigned short verticalType;
readonly attribute DOMString horizontalIdentifier;
readonly attribute DOMString verticalIdentifier;
float getHorizontalPosition(in float hType)
raises(dom::DOMException);
float getVerticalPosition(in float vType)
raises(dom::DOMException);
void setHorizontalPosition(in unsigned short hType,
in float value)
raises(dom::DOMException);
void setVerticalPosition(in unsigned short vType,
in float value)
raises(dom::DOMException);
void setPositionIdentifier(in DOMString hIdentifier,
in DOMString vIdentifier)
raises(CSSException,
dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSS2BorderSpacing : CSSValue {
readonly attribute unsigned short horizontalType;
readonly attribute unsigned short verticalType;
float getHorizontalSpacing(in float hType)
raises(dom::DOMException);
float getVerticalSpacing(in float vType)
raises(dom::DOMException);
void setHorizontalSpacing(in unsigned short hType,
in float value)
raises(dom::DOMException);
void setVerticalSpacing(in unsigned short vType,
in float value)
raises(dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSS2CounterReset : CSSValue {
attribute DOMString identifier;
// raises(CSSException,
// dom::DOMException) on setting
attribute short reset;
// raises(dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSS2CounterIncrement : CSSValue {
attribute DOMString identifier;
// raises(CSSException,
// dom::DOMException) on setting
attribute short increment;
// raises(dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSS2Cursor : CSSValue {
readonly attribute CSSValueList uris;
attribute DOMString predefinedCursor;
// raises(CSSException,
// dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSS2PlayDuring : CSSValue {
readonly attribute unsigned short playDuringType;
attribute DOMString playDuringIdentifier;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString uri;
// raises(CSSException,
// dom::DOMException) on setting
attribute boolean mix;
// raises(dom::DOMException) on setting
attribute boolean repeat;
// raises(dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSS2TextShadow {
readonly attribute CSSValue color;
readonly attribute CSSValue horizontal;
readonly attribute CSSValue vertical;
readonly attribute CSSValue blur;
};
// Introduced in DOM Level 2:
interface CSS2FontFaceSrc {
attribute DOMString uri;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute CSSValueList format;
attribute DOMString fontFaceName;
// raises(CSSException,
// dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSS2FontFaceWidths {
attribute DOMString urange;
// raises(CSSException,
// dom::DOMException) on setting
readonly attribute CSSValueList numbers;
};
// Introduced in DOM Level 2:
interface CSS2PageSize : CSSValue {
readonly attribute unsigned short widthType;
readonly attribute unsigned short heightType;
readonly attribute DOMString identifier;
float getWidth(in float wType)
raises(dom::DOMException);
float getHeightSize(in float hType)
raises(dom::DOMException);
void setWidthSize(in unsigned short wType,
in float value)
raises(dom::DOMException);
void setHeightSize(in unsigned short hType,
in float value)
raises(dom::DOMException);
void setIdentifier(in DOMString ident)
raises(CSSException,
dom::DOMException);
};
// Introduced in DOM Level 2:
interface CSS2Properties {
attribute DOMString azimuth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString background;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString backgroundAttachment;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString backgroundColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString backgroundImage;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString backgroundPosition;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString backgroundRepeat;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString border;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderCollapse;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderSpacing;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderTop;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderRight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderBottom;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderLeft;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderTopColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderRightColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderBottomColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderLeftColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderTopStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderRightStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderBottomStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderLeftStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderTopWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderRightWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderBottomWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderLeftWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString borderWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString bottom;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString captionSide;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString clear;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString clip;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString color;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString content;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString counterIncrement;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString counterReset;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString cue;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString cueAfter;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString cueBefore;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString cursor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString direction;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString display;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString elevation;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString emptyCells;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString cssFloat;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString font;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontFamily;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontSize;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontSizeAdjust;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontStretch;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontVariant;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString fontWeight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString height;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString left;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString letterSpacing;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString lineHeight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString listStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString listStyleImage;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString listStylePosition;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString listStyleType;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString margin;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString marginTop;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString marginRight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString marginBottom;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString marginLeft;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString markerOffset;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString marks;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString maxHeight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString maxWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString minHeight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString minWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString orphans;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString outline;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString outlineColor;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString outlineStyle;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString outlineWidth;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString overflow;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString padding;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString paddingTop;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString paddingRight;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString paddingBottom;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString paddingLeft;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString page;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pageBreakAfter;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pageBreakBefore;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pageBreakInside;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pause;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pauseAfter;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pauseBefore;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pitch;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString pitchRange;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString playDuring;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString position;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString quotes;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString richness;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString right;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString size;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString speak;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString speakHeader;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString speakNumeral;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString speakPunctuation;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString speechRate;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString stress;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString tableLayout;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString textAlign;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString textDecoration;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString textIndent;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString textShadow;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString textTransform;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString top;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString unicodeBidi;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString verticalAlign;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString visibility;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString voiceFamily;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString volume;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString whiteSpace;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString widows;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString width;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString wordSpacing;
// raises(CSSException,
// dom::DOMException) on setting
attribute DOMString zIndex;
// raises(CSSException,
// dom::DOMException) on setting
};
// Introduced in DOM Level 2:
interface CSSStyleSheet : stylesheets::StyleSheet {
readonly attribute CSSRule ownerRule;
readonly attribute CSSRuleList cssRules;
unsigned long insertRule(in DOMString rule,
in unsigned long index)
raises(dom::DOMException,
CSSException);
void deleteRule(in unsigned long index)
raises(dom::DOMException);
};
interface ViewCSS : views::AbstractView {
CSSStyleDeclaration getComputedStyle(in Element elt,
in DOMString pseudoElt);
};
interface DocumentCSS : stylesheets::DocumentStyle {
CSSStyleDeclaration getOverrideStyle(in Element elt,
in DOMString pseudoElt);
};
// Introduced in DOM Level 2:
interface DOMImplementationCSS : DOMImplementation {
CSSStyleSheet createCSSStyleSheet(in DOMString title,
inout DOMString media);
};
// Introduced in DOM Level 2:
interface HTMLElementCSS : html::HTMLElement {
readonly attribute CSSStyleDeclaration style;
};
};
#endif // _CSS_IDL_
B.6: Document Object Model Events
events.idl:
// File: events.idl
#ifndef _EVENTS_IDL_
#define _EVENTS_IDL_
#include "dom.idl"
#include "views.idl"
#pragma prefix "dom.w3c.org"
module events
{
typedef dom::DOMString DOMString;
typedef dom::Node Node;
interface EventListener;
interface Event;
// Introduced in DOM Level 2:
interface EventTarget {
void addEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
void removeEventListener(in DOMString type,
in EventListener listener,
in boolean useCapture);
boolean dispatchEvent(in Event evt)
raises(dom::DOMException);
};
// Introduced in DOM Level 2:
interface EventListener {
void handleEvent(in Event evt);
};
// Introduced in DOM Level 2:
interface Event {
// PhaseType
const unsigned short BUBBLING_PHASE = 1;
const unsigned short CAPTURING_PHASE = 2;
const unsigned short AT_TARGET = 3;
readonly attribute DOMString type;
readonly attribute EventTarget target;
readonly attribute Node currentNode;
readonly attribute unsigned short eventPhase;
readonly attribute boolean bubbles;
readonly attribute boolean cancelable;
void preventBubble();
void preventCapture();
void preventDefault();
void initEvent(in DOMString eventTypeArg,
in boolean canBubbleArg,
in boolean cancelableArg);
};
// Introduced in DOM Level 2:
interface DocumentEvent {
Event createEvent(in DOMString type)
raises(dom::DOMException);
};
// Introduced in DOM Level 2:
interface UIEvent : Event {
readonly attribute views::AbstractView view;
readonly attribute unsigned short detail;
void initUIEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in views::AbstractView viewArg,
in unsigned short detailArg);
};
// Introduced in DOM Level 2:
interface MouseEvent : UIEvent {
readonly attribute long screenX;
readonly attribute long screenY;
readonly attribute long clientX;
readonly attribute long clientY;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
readonly attribute boolean altKey;
readonly attribute boolean metaKey;
readonly attribute unsigned short button;
readonly attribute Node relatedNode;
void initMouseEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in views::AbstractView viewArg,
in unsigned short detailArg,
in long screenXArg,
in long screenYArg,
in long clientXArg,
in long clientYArg,
in boolean ctrlKeyArg,
in boolean altKeyArg,
in boolean shiftKeyArg,
in boolean metaKeyArg,
in unsigned short buttonArg,
in Node relatedNodeArg);
};
// Introduced in DOM Level 2:
interface KeyEvent : UIEvent {
// VirtualKeyCode
const unsigned long CHAR_UNDEFINED = 0x0FFFF;
const unsigned long DOM_VK_0 = 0x30;
const unsigned long DOM_VK_1 = 0x31;
const unsigned long DOM_VK_2 = 0x32;
const unsigned long DOM_VK_3 = 0x33;
const unsigned long DOM_VK_4 = 0x34;
const unsigned long DOM_VK_5 = 0x35;
const unsigned long DOM_VK_6 = 0x36;
const unsigned long DOM_VK_7 = 0x37;
const unsigned long DOM_VK_8 = 0x38;
const unsigned long DOM_VK_9 = 0x39;
const unsigned long DOM_VK_A = 0x41;
const unsigned long DOM_VK_ACCEPT = 0x1E;
const unsigned long DOM_VK_ADD = 0x6B;
const unsigned long DOM_VK_AGAIN = 0xFFC9;
const unsigned long DOM_VK_ALL_CANDIDATES = 0x0100;
const unsigned long DOM_VK_ALPHANUMERIC = 0x00F0;
const unsigned long DOM_VK_ALT = 0x12;
const unsigned long DOM_VK_ALT_GRAPH = 0xFF7E;
const unsigned long DOM_VK_AMPERSAND = 0x96;
const unsigned long DOM_VK_ASTERISK = 0x97;
const unsigned long DOM_VK_AT = 0x0200;
const unsigned long DOM_VK_B = 0x42;
const unsigned long DOM_VK_BACK_QUOTE = 0xC0;
const unsigned long DOM_VK_BACK_SLASH = 0x5C;
const unsigned long DOM_VK_BACK_SPACE = 0x08;
const unsigned long DOM_VK_BRACELEFT = 0xA1;
const unsigned long DOM_VK_BRACERIGHT = 0xA2;
const unsigned long DOM_VK_C = 0x43;
const unsigned long DOM_VK_CANCEL = 0x03;
const unsigned long DOM_VK_CAPS_LOCK = 0x14;
const unsigned long DOM_VK_CIRCUMFLEX = 0x0202;
const unsigned long DOM_VK_CLEAR = 0x0C;
const unsigned long DOM_VK_CLOSE_BRACKET = 0x5D;
const unsigned long DOM_VK_CODE_INPUT = 0x0102;
const unsigned long DOM_VK_COLON = 0x0201;
const unsigned long DOM_VK_COMMA = 0x2C;
const unsigned long DOM_VK_COMPOSE = 0xFF20;
const unsigned long DOM_VK_CONTROL = 0x11;
const unsigned long DOM_VK_CONVERT = 0x1C;
const unsigned long DOM_VK_COPY = 0xFFCD;
const unsigned long DOM_VK_CUT = 0xFFD1;
const unsigned long DOM_VK_D = 0x44;
const unsigned long DOM_VK_DEAD_ABOVEDOT = 0x86;
const unsigned long DOM_VK_DEAD_ABOVERING = 0x88;
const unsigned long DOM_VK_DEAD_ACUTE = 0x81;
const unsigned long DOM_VK_DEAD_BREVE = 0x85;
const unsigned long DOM_VK_DEAD_CARON = 0x8A;
const unsigned long DOM_VK_DEAD_CEDILLA = 0x8B;
const unsigned long DOM_VK_DEAD_CIRCUMFLEX = 0x82;
const unsigned long DOM_VK_DEAD_DIAERESIS = 0x87;
const unsigned long DOM_VK_DEAD_DOUBLEACUTE = 0x89;
const unsigned long DOM_VK_DEAD_GRAVE = 0x80;
const unsigned long DOM_VK_DEAD_IOTA = 0x8D;
const unsigned long DOM_VK_DEAD_MACRON = 0x84;
const unsigned long DOM_VK_DEAD_OGONEK = 0x8C;
const unsigned long DOM_VK_DEAD_SEMIVOICED_SOUND = 0x8F;
const unsigned long DOM_VK_DEAD_TILDE = 0x83;
const unsigned long DOM_VK_DEAD_VOICED_SOUND = 0x8E;
const unsigned long DOM_VK_DECIMAL = 0x6E;
const unsigned long DOM_VK_DELETE = 0x7F;
const unsigned long DOM_VK_DIVIDE = 0x6F;
const unsigned long DOM_VK_DOLLAR = 0x0203;
const unsigned long DOM_VK_DOWN = 0x28;
const unsigned long DOM_VK_E = 0x45;
const unsigned long DOM_VK_END = 0x23;
const unsigned long DOM_VK_ENTER = 0x0D;
const unsigned long DOM_VK_EQUALS = 0x3D;
const unsigned long DOM_VK_ESCAPE = 0x1B;
const unsigned long DOM_VK_EURO_SIGN = 0x0204;
const unsigned long DOM_VK_EXCLAMATION_MARK = 0x0205;
const unsigned long DOM_VK_F = 0x46;
const unsigned long DOM_VK_F1 = 0x70;
const unsigned long DOM_VK_F10 = 0x79;
const unsigned long DOM_VK_F11 = 0x7A;
const unsigned long DOM_VK_F12 = 0x7B;
const unsigned long DOM_VK_F13 = 0xF000;
const unsigned long DOM_VK_F14 = 0xF001;
const unsigned long DOM_VK_F15 = 0xF002;
const unsigned long DOM_VK_F16 = 0xF003;
const unsigned long DOM_VK_F17 = 0xF004;
const unsigned long DOM_VK_F18 = 0xF005;
const unsigned long DOM_VK_F19 = 0xF006;
const unsigned long DOM_VK_F2 = 0x71;
const unsigned long DOM_VK_F20 = 0xF007;
const unsigned long DOM_VK_F21 = 0xF008;
const unsigned long DOM_VK_F22 = 0xF009;
const unsigned long DOM_VK_F23 = 0xF00A;
const unsigned long DOM_VK_F24 = 0xF00B;
const unsigned long DOM_VK_F3 = 0x72;
const unsigned long DOM_VK_F4 = 0x73;
const unsigned long DOM_VK_F5 = 0x74;
const unsigned long DOM_VK_F6 = 0x75;
const unsigned long DOM_VK_F7 = 0x76;
const unsigned long DOM_VK_F8 = 0x77;
const unsigned long DOM_VK_F9 = 0x78;
const unsigned long DOM_VK_FINAL = 0x18;
const unsigned long DOM_VK_FIND = 0xFFD0;
const unsigned long DOM_VK_FULL_WIDTH = 0x00F3;
const unsigned long DOM_VK_G = 0x47;
const unsigned long DOM_VK_GREATER = 0xA0;
const unsigned long DOM_VK_H = 0x48;
const unsigned long DOM_VK_HALF_WIDTH = 0x00F4;
const unsigned long DOM_VK_HELP = 0x9C;
const unsigned long DOM_VK_HIRAGANA = 0x00F2;
const unsigned long DOM_VK_HOME = 0x24;
const unsigned long DOM_VK_I = 0x49;
const unsigned long DOM_VK_INSERT = 0x9B;
const unsigned long DOM_VK_INVERTED_EXCLAMATION_MARK = 0x0206;
const unsigned long DOM_VK_J = 0x4A;
const unsigned long DOM_VK_JAPANESE_HIRAGANA = 0x0104;
const unsigned long DOM_VK_JAPANESE_KATAKANA = 0x0103;
const unsigned long DOM_VK_JAPANESE_ROMAN = 0x0105;
const unsigned long DOM_VK_K = 0x4B;
const unsigned long DOM_VK_KANA = 0x15;
const unsigned long DOM_VK_KANJI = 0x19;
const unsigned long DOM_VK_KATAKANA = 0x00F1;
const unsigned long DOM_VK_KP_DOWN = 0xE1;
const unsigned long DOM_VK_KP_LEFT = 0xE2;
const unsigned long DOM_VK_KP_RIGHT = 0xE3;
const unsigned long DOM_VK_KP_UP = 0xE0;
const unsigned long DOM_VK_L = 0x4C;
const unsigned long DOM_VK_LEFT = 0x25;
const unsigned long DOM_VK_LEFT_PARENTHESIS = 0x0207;
const unsigned long DOM_VK_LESS = 0x99;
const unsigned long DOM_VK_M = 0x4D;
const unsigned long DOM_VK_META = 0x9D;
const unsigned long DOM_VK_MINUS = 0x2D;
const unsigned long DOM_VK_MODECHANGE = 0x1F;
const unsigned long DOM_VK_MULTIPLY = 0x6A;
const unsigned long DOM_VK_N = 0x4E;
const unsigned long DOM_VK_NONCONVERT = 0x1D;
const unsigned long DOM_VK_NUM_LOCK = 0x90;
const unsigned long DOM_VK_NUMBER_SIGN = 0x0208;
const unsigned long DOM_VK_NUMPAD0 = 0x60;
const unsigned long DOM_VK_NUMPAD1 = 0x61;
const unsigned long DOM_VK_NUMPAD2 = 0x62;
const unsigned long DOM_VK_NUMPAD3 = 0x63;
const unsigned long DOM_VK_NUMPAD4 = 0x64;
const unsigned long DOM_VK_NUMPAD5 = 0x65;
const unsigned long DOM_VK_NUMPAD6 = 0x66;
const unsigned long DOM_VK_NUMPAD7 = 0x67;
const unsigned long DOM_VK_NUMPAD8 = 0x68;
const unsigned long DOM_VK_NUMPAD9 = 0x69;
const unsigned long DOM_VK_O = 0x4F;
const unsigned long DOM_VK_OPEN_BRACKET = 0x5B;
const unsigned long DOM_VK_P = 0x50;
const unsigned long DOM_VK_PAGE_DOWN = 0x22;
const unsigned long DOM_VK_PAGE_UP = 0x21;
const unsigned long DOM_VK_PASTE = 0xFFCF;
const unsigned long DOM_VK_PAUSE = 0x13;
const unsigned long DOM_VK_PERIOD = 0x2E;
const unsigned long DOM_VK_PLUS = 0x0209;
const unsigned long DOM_VK_PREVIOUS_CANDIDATE = 0x0101;
const unsigned long DOM_VK_PRINTSCREEN = 0x9A;
const unsigned long DOM_VK_PROPS = 0xFFCA;
const unsigned long DOM_VK_Q = 0x51;
const unsigned long DOM_VK_QUOTE = 0xDE;
const unsigned long DOM_VK_QUOTEDBL = 0x98;
const unsigned long DOM_VK_R = 0x52;
const unsigned long DOM_VK_RIGHT = 0x27;
const unsigned long DOM_VK_RIGHT_PARENTHESIS = 0x020A;
const unsigned long DOM_VK_ROMAN_CHARACTERS = 0x00F5;
const unsigned long DOM_VK_S = 0x53;
const unsigned long DOM_VK_SCROLL_LOCK = 0x91;
const unsigned long DOM_VK_SEMICOLON = 0x3B;
const unsigned long DOM_VK_SEPARATER = 0x6C;
const unsigned long DOM_VK_SHIFT = 0x10;
const unsigned long DOM_VK_SLASH = 0x2F;
const unsigned long DOM_VK_SPACE = 0x20;
const unsigned long DOM_VK_STOP = 0xFFC8;
const unsigned long DOM_VK_SUBTRACT = 0x6D;
const unsigned long DOM_VK_T = 0x54;
const unsigned long DOM_VK_TAB = 0x09;
const unsigned long DOM_VK_U = 0x55;
const unsigned long DOM_VK_UNDEFINED = 0x0;
const unsigned long DOM_VK_UNDERSCORE = 0x020B;
const unsigned long DOM_VK_UNDO = 0xFFCB;
const unsigned long DOM_VK_UP = 0x26;
const unsigned long DOM_VK_V = 0x56;
const unsigned long DOM_VK_W = 0x57;
const unsigned long DOM_VK_X = 0x58;
const unsigned long DOM_VK_Y = 0x59;
const unsigned long DOM_VK_Z = 0x5A;
readonly attribute boolean ctrlKey;
readonly attribute boolean shiftKey;
readonly attribute boolean altKey;
readonly attribute boolean metaKey;
readonly attribute unsigned long keyCode;
readonly attribute unsigned long charCode;
void initKeyEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in boolean ctrlKeyArg,
in boolean altKeyArg,
in boolean shiftKeyArg,
in boolean metaKeyArg,
in unsigned long keyCodeArg,
in unsigned long charCodeArg,
in views::AbstractView viewArg);
};
// Introduced in DOM Level 2:
interface MutationEvent : Event {
readonly attribute Node relatedNode;
readonly attribute DOMString prevValue;
readonly attribute DOMString newValue;
readonly attribute DOMString attrName;
void initMutationEvent(in DOMString typeArg,
in boolean canBubbleArg,
in boolean cancelableArg,
in Node relatedNodeArg,
in DOMString prevValueArg,
in DOMString newValueArg,
in DOMString attrNameArg);
};
};
#endif // _EVENTS_IDL_
B.7: Document Object Model Traversal
traversal.idl:
// File: traversal.idl
#ifndef _TRAVERSAL_IDL_
#define _TRAVERSAL_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module traversal
{
typedef dom::Node Node;
interface NodeFilter;
// Introduced in DOM Level 2:
interface NodeIterator {
readonly attribute long whatToShow;
// Constants for whatToShow
const unsigned long SHOW_ALL = 0x0000FFFF;
const unsigned long SHOW_ELEMENT = 0x00000001;
const unsigned long SHOW_ATTRIBUTE = 0x00000002;
const unsigned long SHOW_TEXT = 0x00000004;
const unsigned long SHOW_CDATA_SECTION = 0x00000008;
const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
const unsigned long SHOW_ENTITY = 0x00000020;
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
const unsigned long SHOW_COMMENT = 0x00000080;
const unsigned long SHOW_DOCUMENT = 0x00000100;
const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
const unsigned long SHOW_NOTATION = 0x00000800;
readonly attribute NodeFilter filter;
readonly attribute boolean expandEntityReferences;
Node nextNode();
Node previousNode();
};
// Introduced in DOM Level 2:
interface NodeFilter {
// Constants returned by acceptNode
const short FILTER_ACCEPT = 1;
const short FILTER_REJECT = 2;
const short FILTER_SKIP = 3;
short acceptNode(in Node n);
};
// Introduced in DOM Level 2:
interface TreeWalker {
readonly attribute long whatToShow;
// Constants for whatToShow
const unsigned long SHOW_ALL = 0x0000FFFF;
const unsigned long SHOW_ELEMENT = 0x00000001;
const unsigned long SHOW_ATTRIBUTE = 0x00000002;
const unsigned long SHOW_TEXT = 0x00000004;
const unsigned long SHOW_CDATA_SECTION = 0x00000008;
const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010;
const unsigned long SHOW_ENTITY = 0x00000020;
const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040;
const unsigned long SHOW_COMMENT = 0x00000080;
const unsigned long SHOW_DOCUMENT = 0x00000100;
const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200;
const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400;
const unsigned long SHOW_NOTATION = 0x00000800;
readonly attribute NodeFilter filter;
readonly attribute boolean expandEntityReferences;
attribute Node currentNode;
Node parentNode();
Node firstChild();
Node lastChild();
Node previousSibling();
Node nextSibling();
Node previousNode();
Node nextNode();
};
// Introduced in DOM Level 2:
interface DocumentTraversal {
NodeIterator createNodeIterator(in Node root,
in long whatToShow,
in NodeFilter filter,
in boolean entityReferenceExpansion);
TreeWalker createTreeWalker(in Node root,
in long whatToShow,
in NodeFilter filter,
in boolean entityReferenceExpansion)
raises(dom::DOMException);
};
};
#endif // _TRAVERSAL_IDL_
B.8: Document Object Model Range
range.idl:
// File: range.idl
#ifndef _RANGE_IDL_
#define _RANGE_IDL_
#include "dom.idl"
#pragma prefix "dom.w3c.org"
module range
{
typedef dom::Node Node;
typedef dom::DocumentFragment DocumentFragment;
typedef dom::DOMString DOMString;
// Introduced in DOM Level 2:
exception RangeException {
unsigned short code;
};
// RangeExceptionCode
const unsigned short BAD_ENDPOINTS_ERR = 201;
const unsigned short INVALID_NODE_TYPE_ERR = 202;
const unsigned short NULL_NODE_ERR = 203;
// Introduced in DOM Level 2:
interface Range {
readonly attribute Node startContainer;
readonly attribute long startOffset;
readonly attribute Node endContainer;
readonly attribute long endOffset;
readonly attribute boolean isCollapsed;
readonly attribute Node commonAncestorContainer;
void setStart(in Node refNode,
in long offset)
raises(RangeException);
void setEnd(in Node refNode,
in long offset)
raises(RangeException);
void setStartBefore(in Node refNode)
raises(RangeException);
void setStartAfter(in Node refNode)
raises(RangeException);
void setEndBefore(in Node refNode)
raises(RangeException);
void setEndAfter(in Node refNode)
raises(RangeException);
void collapse(in boolean toStart);
void selectNode(in Node refNode)
raises(RangeException);
void selectNodeContents(in Node refNode)
raises(RangeException);
typedef enum CompareHow_ {
StartToStart,
StartToEnd,
EndToEnd,
EndToStart
} CompareHow;
short compareEndPoints(in CompareHow how,
in Range sourceRange)
raises(dom::DOMException);
void deleteContents()
raises(dom::DOMException);
DocumentFragment extractContents()
raises(dom::DOMException);
DocumentFragment cloneContents()
raises(dom::DOMException);
void insertNode(in Node newNode)
raises(dom::DOMException,
RangeException);
void surroundContents(in Node newParent)
raises(dom::DOMException,
RangeException);
Range cloneRange();
DOMString toString();
};
// Introduced in DOM Level 2:
interface DocumentRange {
Range createRange();
};
};
#endif // _RANGE_IDL_
Appendix C: Java Language Binding
This appendix contains the complete Java bindings for the Level 2 Document
Object Model. The definitions are divided into Core, HTML, Stylesheets, CSS,
Events, Filters and Iterators, and Range.
The Java files are also available as
http://www.w3.org/TR/1999/WD-DOM-Level-2-19990923/java-binding.zip
C.1: Document Object Model Core
org/w3c/dom/DOMException.java:
package org.w3c.dom;
public abstract class DOMException extends RuntimeException {
public DOMException(short code, String message) {
super(message);
this.code = code;
}
public short code;
// ExceptionCode
public static final short INDEX_SIZE_ERR = 1;
public static final short DOMSTRING_SIZE_ERR = 2;
public static final short HIERARCHY_REQUEST_ERR = 3;
public static final short WRONG_DOCUMENT_ERR = 4;
public static final short INVALID_CHARACTER_ERR = 5;
public static final short NO_DATA_ALLOWED_ERR = 6;
public static final short NO_MODIFICATION_ALLOWED_ERR = 7;
public static final short NOT_FOUND_ERR = 8;
public static final short NOT_SUPPORTED_ERR = 9;
public static final short INUSE_ATTRIBUTE_ERR = 10;
}
org/w3c/dom/DOMImplementation.java:
package org.w3c.dom;
public interface DOMImplementation {
public boolean hasFeature(String feature,
String version);
public DocumentType createDocumentType(String qualifiedName,
String publicID,
String systemID);
public Document createDocument(String namespaceURI,
String qualifiedName,
DocumentType doctype)
throws DOMException;
}
org/w3c/dom/DocumentFragment.java:
package org.w3c.dom;
public interface DocumentFragment extends Node {
}
org/w3c/dom/Document.java:
package org.w3c.dom;
public interface Document extends Node {
public DocumentType getDoctype();
public DOMImplementation getImplementation();
public Element getDocumentElement();
public Element createElement(String tagName)
throws DOMException;
public DocumentFragment createDocumentFragment();
public Text createTextNode(String data);
public Comment createComment(String data);
public CDATASection createCDATASection(String data)
throws DOMException;
public ProcessingInstruction createProcessingInstruction(String target,
String data)
throws DOMException;
public Attr createAttribute(String name)
throws DOMException;
public EntityReference createEntityReference(String name)
throws DOMException;
public NodeList getElementsByTagName(String tagname);
public Node importNode(Node importedNode,
boolean deep)
throws DOMException;
public Element createElementNS(String namespaceURI,
String qualifiedName)
throws DOMException;
public Attr createAttributeNS(String namespaceURI,
String qualifiedName)
throws DOMException;
public NodeList getElementsByTagNameNS(String namespaceURI,
String localName);
}
org/w3c/dom/Node.java:
package org.w3c.dom;
public interface Node {
// NodeType
public static final short ELEMENT_NODE = 1;
public static final short ATTRIBUTE_NODE = 2;
public static final short TEXT_NODE = 3;
public static final short CDATA_SECTION_NODE = 4;
public static final short ENTITY_REFERENCE_NODE = 5;
public static final short ENTITY_NODE = 6;
public static final short PROCESSING_INSTRUCTION_NODE = 7;
public static final short COMMENT_NODE = 8;
public static final short DOCUMENT_NODE = 9;
public static final short DOCUMENT_TYPE_NODE = 10;
public static final short DOCUMENT_FRAGMENT_NODE = 11;
public static final short NOTATION_NODE = 12;
public String getNodeName();
public String getNodeValue()
throws DOMException;
public void setNodeValue(String nodeValue)
throws DOMException;
public short getNodeType();
public Node getParentNode();
public NodeList getChildNodes();
public Node getFirstChild();
public Node getLastChild();
public Node getPreviousSibling();
public Node getNextSibling();
public NamedNodeMap getAttributes();
public Document getOwnerDocument();
public Node insertBefore(Node newChild,
Node refChild)
throws DOMException;
public Node replaceChild(Node newChild,
Node oldChild)
throws DOMException;
public Node removeChild(Node oldChild)
throws DOMException;
public Node appendChild(Node newChild)
throws DOMException;
public boolean hasChildNodes();
public Node cloneNode(boolean deep);
public boolean supports(String feature,
String version);
public String getNamespaceURI();
public String getPrefix();
public void setPrefix(String prefix)
throws DOMException;
public String getLocalName();
}
org/w3c/dom/NodeList.java:
package org.w3c.dom;
public interface NodeList {
public Node item(int index);
public int getLength();
}
org/w3c/dom/NamedNodeMap.java:
package org.w3c.dom;
public interface NamedNodeMap {
public Node getNamedItem(String name);
public Node setNamedItem(Node arg)
throws DOMException;
public Node removeNamedItem(String name)
throws DOMException;
public Node item(int index);
public int getLength();
public Node getNamedItemNS(String namespaceURI,
String localName);
public Node removeNamedItemNS(String namespaceURI,
String name)
throws DOMException;
}
org/w3c/dom/CharacterData.java:
package org.w3c.dom;
public interface CharacterData extends Node {
public String getData()
throws DOMException;
public void setData(String data)
throws DOMException;
public int getLength();
public String substringData(int offset,
int count)
throws DOMException;
public void appendData(String arg)
throws DOMException;
public void insertData(int offset,
String arg)
throws DOMException;
public void deleteData(int offset,
int count)
throws DOMException;
public void replaceData(int offset,
int count,
String arg)
throws DOMException;
}
org/w3c/dom/Attr.java:
package org.w3c.dom;
public interface Attr extends Node {
public String getName();
public boolean getSpecified();
public String getValue();
public void setValue(String value)
throws DOMException;
public Element getOwnerElement();
}
org/w3c/dom/Element.java:
package org.w3c.dom;
public interface Element extends Node {
public String getTagName();
public String getAttribute(String name);
public void setAttribute(String name,
String value)
throws DOMException;
public void removeAttribute(String name)
throws DOMException;
public Attr getAttributeNode(String name);
public Attr setAttributeNode(Attr newAttr)
throws DOMException;
public Attr removeAttributeNode(Attr oldAttr)
throws DOMException;
public NodeList getElementsByTagName(String name);
public void normalize();
public String getAttributeNS(String namespaceURI,
String localName);
public void setAttributeNS(String namespaceURI,
String localName,
String value)
throws DOMException;
public void removeAttributeNS(String namespacURI,
String localName)
throws DOMException;
public Attr getAttributeNodeNS(String namespaceURI,
String localName);
public Attr setAttributeNodeNS(Attr newAttr)
throws DOMException;
public NodeList getElementsByTagNameNS(String namespaceURI,
String localName);
}
org/w3c/dom/Text.java:
package org.w3c.dom;
public interface Text extends CharacterData {
public Text splitText(int offset)
throws DOMException;
}
org/w3c/dom/Comment.java:
package org.w3c.dom;
public interface Comment extends CharacterData {
}
org/w3c/dom/CDATASection.java:
package org.w3c.dom;
public interface CDATASection extends Text {
}
org/w3c/dom/DocumentType.java:
package org.w3c.dom;
public interface DocumentType extends Node {
public String getName();
public NamedNodeMap getEntities();
public NamedNodeMap getNotations();
public String getPublicID();
public String getSystemID();
}
org/w3c/dom/Notation.java:
package org.w3c.dom;
public interface Notation extends Node {
public String getPublicId();
public String getSystemId();
}
org/w3c/dom/Entity.java:
package org.w3c.dom;
public interface Entity extends Node {
public String getPublicId();
public String getSystemId();
public String getNotationName();
}
org/w3c/dom/EntityReference.java:
package org.w3c.dom;
public interface EntityReference extends Node {
}
org/w3c/dom/ProcessingInstruction.java:
package org.w3c.dom;
public interface ProcessingInstruction extends Node {
public String getTarget();
public String getData();
public void setData(String data)
throws DOMException;
}
C.2: Document Object Model HTML
org/w3c/dom/html/HTMLDOMImplementation.java:
package org.w3c.dom.html;
import org.w3c.dom.DOMImplementation;
public interface HTMLDOMImplementation extends DOMImplementation {
public HTMLDocument createHTMLDocument(String title);
}
org/w3c/dom/html/HTMLCollection.java:
package org.w3c.dom.html;
import org.w3c.dom.Node;
public interface HTMLCollection {
public int getLength();
public Node item(int index);
public Node namedItem(String name);
}
org/w3c/dom/html/HTMLDocument.java:
package org.w3c.dom.html;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public interface HTMLDocument extends Document {
public String getTitle();
public void setTitle(String title);
public String getReferrer();
public String getDomain();
public String getURL();
public HTMLElement getBody();
public void setBody(HTMLElement body);
public HTMLCollection getImages();
public HTMLCollection getApplets();
public HTMLCollection getLinks();
public HTMLCollection getForms();
public HTMLCollection getAnchors();
public String getCookie();
public void setCookie(String cookie);
public void open();
public void close();
public void write(String text);
public void writeln(String text);
public Element getElementById(String elementId);
public NodeList getElementsByName(String elementName);
}
org/w3c/dom/html/HTMLElement.java:
package org.w3c.dom.html;
import org.w3c.dom.Element;
public interface HTMLElement extends Element {
public String getId();
public void setId(String id);
public String getTitle();
public void setTitle(String title);
public String getLang();
public void setLang(String lang);
public String getDir();
public void setDir(String dir);
public String getClassName();
public void setClassName(String className);
}
org/w3c/dom/html/HTMLHtmlElement.java:
package org.w3c.dom.html;
public interface HTMLHtmlElement extends HTMLElement {
public String getVersion();
public void setVersion(String version);
}
org/w3c/dom/html/HTMLHeadElement.java:
package org.w3c.dom.html;
public interface HTMLHeadElement extends HTMLElement {
public String getProfile();
public void setProfile(String profile);
}
org/w3c/dom/html/HTMLLinkElement.java:
package org.w3c.dom.html;
public interface HTMLLinkElement extends HTMLElement {
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getCharset();
public void setCharset(String charset);
public String getHref();
public void setHref(String href);
public String getHreflang();
public void setHreflang(String hreflang);
public String getMedia();
public void setMedia(String media);
public String getRel();
public void setRel(String rel);
public String getRev();
public void setRev(String rev);
public String getTarget();
public void setTarget(String target);
public String getType();
public void setType(String type);
}
org/w3c/dom/html/HTMLTitleElement.java:
package org.w3c.dom.html;
public interface HTMLTitleElement extends HTMLElement {
public String getText();
public void setText(String text);
}
org/w3c/dom/html/HTMLMetaElement.java:
package org.w3c.dom.html;
public interface HTMLMetaElement extends HTMLElement {
public String getContent();
public void setContent(String content);
public String getHttpEquiv();
public void setHttpEquiv(String httpEquiv);
public String getName();
public void setName(String name);
public String getScheme();
public void setScheme(String scheme);
}
org/w3c/dom/html/HTMLBaseElement.java:
package org.w3c.dom.html;
public interface HTMLBaseElement extends HTMLElement {
public String getHref();
public void setHref(String href);
public String getTarget();
public void setTarget(String target);
}
org/w3c/dom/html/HTMLIsIndexElement.java:
package org.w3c.dom.html;
public interface HTMLIsIndexElement extends HTMLElement {
public HTMLFormElement getForm();
public String getPrompt();
public void setPrompt(String prompt);
}
org/w3c/dom/html/HTMLStyleElement.java:
package org.w3c.dom.html;
public interface HTMLStyleElement extends HTMLElement {
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getMedia();
public void setMedia(String media);
public String getType();
public void setType(String type);
}
org/w3c/dom/html/HTMLBodyElement.java:
package org.w3c.dom.html;
public interface HTMLBodyElement extends HTMLElement {
public String getALink();
public void setALink(String aLink);
public String getBackground();
public void setBackground(String background);
public String getBgColor();
public void setBgColor(String bgColor);
public String getLink();
public void setLink(String link);
public String getText();
public void setText(String text);
public String getVLink();
public void setVLink(String vLink);
}
org/w3c/dom/html/HTMLFormElement.java:
package org.w3c.dom.html;
public interface HTMLFormElement extends HTMLElement {
public HTMLCollection getElements();
public int getLength();
public String getName();
public void setName(String name);
public String getAcceptCharset();
public void setAcceptCharset(String acceptCharset);
public String getAction();
public void setAction(String action);
public String getEnctype();
public void setEnctype(String enctype);
public String getMethod();
public void setMethod(String method);
public String getTarget();
public void setTarget(String target);
public void submit();
public void reset();
}
org/w3c/dom/html/HTMLSelectElement.java:
package org.w3c.dom.html;
public interface HTMLSelectElement extends HTMLElement {
public String getType();
public int getSelectedIndex();
public void setSelectedIndex(int selectedIndex);
public String getValue();
public void setValue(String value);
public int getLength();
public HTMLFormElement getForm();
public HTMLCollection getOptions();
public boolean getDisabled();
public void setDisabled(boolean disabled);
public boolean getMultiple();
public void setMultiple(boolean multiple);
public String getName();
public void setName(String name);
public int getSize();
public void setSize(int size);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public void add(HTMLElement element,
HTMLElement before);
public void remove(int index);
public void blur();
public void focus();
}
org/w3c/dom/html/HTMLOptGroupElement.java:
package org.w3c.dom.html;
public interface HTMLOptGroupElement extends HTMLElement {
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getLabel();
public void setLabel(String label);
}
org/w3c/dom/html/HTMLOptionElement.java:
package org.w3c.dom.html;
public interface HTMLOptionElement extends HTMLElement {
public HTMLFormElement getForm();
public boolean getDefaultSelected();
public void setDefaultSelected(boolean defaultSelected);
public String getText();
public int getIndex();
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getLabel();
public void setLabel(String label);
public boolean getSelected();
public void setSelected(boolean selected);
public String getValue();
public void setValue(String value);
}
org/w3c/dom/html/HTMLInputElement.java:
package org.w3c.dom.html;
public interface HTMLInputElement extends HTMLElement {
public String getDefaultValue();
public void setDefaultValue(String defaultValue);
public boolean getDefaultChecked();
public void setDefaultChecked(boolean defaultChecked);
public HTMLFormElement getForm();
public String getAccept();
public void setAccept(String accept);
public String getAccessKey();
public void setAccessKey(String accessKey);
public String getAlign();
public void setAlign(String align);
public String getAlt();
public void setAlt(String alt);
public boolean getChecked();
public void setChecked(boolean checked);
public boolean getDisabled();
public void setDisabled(boolean disabled);
public int getMaxLength();
public void setMaxLength(int maxLength);
public String getName();
public void setName(String name);
public boolean getReadOnly();
public void setReadOnly(boolean readOnly);
public String getSize();
public void setSize(String size);
public String getSrc();
public void setSrc(String src);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getType();
public String getUseMap();
public void setUseMap(String useMap);
public String getValue();
public void setValue(String value);
public void blur();
public void focus();
public void select();
public void click();
}
org/w3c/dom/html/HTMLTextAreaElement.java:
package org.w3c.dom.html;
public interface HTMLTextAreaElement extends HTMLElement {
public String getDefaultValue();
public void setDefaultValue(String defaultValue);
public HTMLFormElement getForm();
public String getAccessKey();
public void setAccessKey(String accessKey);
public int getCols();
public void setCols(int cols);
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getName();
public void setName(String name);
public boolean getReadOnly();
public void setReadOnly(boolean readOnly);
public int getRows();
public void setRows(int rows);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getType();
public String getValue();
public void setValue(String value);
public void blur();
public void focus();
public void select();
}
org/w3c/dom/html/HTMLButtonElement.java:
package org.w3c.dom.html;
public interface HTMLButtonElement extends HTMLElement {
public HTMLFormElement getForm();
public String getAccessKey();
public void setAccessKey(String accessKey);
public boolean getDisabled();
public void setDisabled(boolean disabled);
public String getName();
public void setName(String name);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getType();
public String getValue();
public void setValue(String value);
}
org/w3c/dom/html/HTMLLabelElement.java:
package org.w3c.dom.html;
public interface HTMLLabelElement extends HTMLElement {
public HTMLFormElement getForm();
public String getAccessKey();
public void setAccessKey(String accessKey);
public String getHtmlFor();
public void setHtmlFor(String htmlFor);
}
org/w3c/dom/html/HTMLFieldSetElement.java:
package org.w3c.dom.html;
public interface HTMLFieldSetElement extends HTMLElement {
public HTMLFormElement getForm();
}
org/w3c/dom/html/HTMLLegendElement.java:
package org.w3c.dom.html;
public interface HTMLLegendElement extends HTMLElement {
public HTMLFormElement getForm();
public String getAccessKey();
public void setAccessKey(String accessKey);
public String getAlign();
public void setAlign(String align);
}
org/w3c/dom/html/HTMLUListElement.java:
package org.w3c.dom.html;
public interface HTMLUListElement extends HTMLElement {
public boolean getCompact();
public void setCompact(boolean compact);
public String getType();
public void setType(String type);
}
org/w3c/dom/html/HTMLOListElement.java:
package org.w3c.dom.html;
public interface HTMLOListElement extends HTMLElement {
public boolean getCompact();
public void setCompact(boolean compact);
public int getStart();
public void setStart(int start);
public String getType();
public void setType(String type);
}
org/w3c/dom/html/HTMLDListElement.java:
package org.w3c.dom.html;
public interface HTMLDListElement extends HTMLElement {
public boolean getCompact();
public void setCompact(boolean compact);
}
org/w3c/dom/html/HTMLDirectoryElement.java:
package org.w3c.dom.html;
public interface HTMLDirectoryElement extends HTMLElement {
public boolean getCompact();
public void setCompact(boolean compact);
}
org/w3c/dom/html/HTMLMenuElement.java:
package org.w3c.dom.html;
public interface HTMLMenuElement extends HTMLElement {
public boolean getCompact();
public void setCompact(boolean compact);
}
org/w3c/dom/html/HTMLLIElement.java:
package org.w3c.dom.html;
public interface HTMLLIElement extends HTMLElement {
public String getType();
public void setType(String type);
public int getValue();
public void setValue(int value);
}
org/w3c/dom/html/HTMLDivElement.java:
package org.w3c.dom.html;
public interface HTMLDivElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
}
org/w3c/dom/html/HTMLParagraphElement.java:
package org.w3c.dom.html;
public interface HTMLParagraphElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
}
org/w3c/dom/html/HTMLHeadingElement.java:
package org.w3c.dom.html;
public interface HTMLHeadingElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
}
org/w3c/dom/html/HTMLQuoteElement.java:
package org.w3c.dom.html;
public interface HTMLQuoteElement extends HTMLElement {
public String getCite();
public void setCite(String cite);
}
org/w3c/dom/html/HTMLPreElement.java:
package org.w3c.dom.html;
public interface HTMLPreElement extends HTMLElement {
public int getWidth();
public void setWidth(int width);
}
org/w3c/dom/html/HTMLBRElement.java:
package org.w3c.dom.html;
public interface HTMLBRElement extends HTMLElement {
public String getClear();
public void setClear(String clear);
}
org/w3c/dom/html/HTMLBaseFontElement.java:
package org.w3c.dom.html;
public interface HTMLBaseFontElement extends HTMLElement {
public String getColor();
public void setColor(String color);
public String getFace();
public void setFace(String face);
public String getSize();
public void setSize(String size);
}
org/w3c/dom/html/HTMLFontElement.java:
package org.w3c.dom.html;
public interface HTMLFontElement extends HTMLElement {
public String getColor();
public void setColor(String color);
public String getFace();
public void setFace(String face);
public String getSize();
public void setSize(String size);
}
org/w3c/dom/html/HTMLHRElement.java:
package org.w3c.dom.html;
public interface HTMLHRElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
public boolean getNoShade();
public void setNoShade(boolean noShade);
public String getSize();
public void setSize(String size);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLModElement.java:
package org.w3c.dom.html;
public interface HTMLModElement extends HTMLElement {
public String getCite();
public void setCite(String cite);
public String getDateTime();
public void setDateTime(String dateTime);
}
org/w3c/dom/html/HTMLAnchorElement.java:
package org.w3c.dom.html;
public interface HTMLAnchorElement extends HTMLElement {
public String getAccessKey();
public void setAccessKey(String accessKey);
public String getCharset();
public void setCharset(String charset);
public String getCoords();
public void setCoords(String coords);
public String getHref();
public void setHref(String href);
public String getHreflang();
public void setHreflang(String hreflang);
public String getName();
public void setName(String name);
public String getRel();
public void setRel(String rel);
public String getRev();
public void setRev(String rev);
public String getShape();
public void setShape(String shape);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getTarget();
public void setTarget(String target);
public String getType();
public void setType(String type);
public void blur();
public void focus();
}
org/w3c/dom/html/HTMLImageElement.java:
package org.w3c.dom.html;
public interface HTMLImageElement extends HTMLElement {
public String getLowSrc();
public void setLowSrc(String lowSrc);
public String getName();
public void setName(String name);
public String getAlign();
public void setAlign(String align);
public String getAlt();
public void setAlt(String alt);
public String getBorder();
public void setBorder(String border);
public String getHeight();
public void setHeight(String height);
public String getHspace();
public void setHspace(String hspace);
public boolean getIsMap();
public void setIsMap(boolean isMap);
public String getLongDesc();
public void setLongDesc(String longDesc);
public String getSrc();
public void setSrc(String src);
public String getUseMap();
public void setUseMap(String useMap);
public String getVspace();
public void setVspace(String vspace);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLObjectElement.java:
package org.w3c.dom.html;
public interface HTMLObjectElement extends HTMLElement {
public HTMLFormElement getForm();
public String getCode();
public void setCode(String code);
public String getAlign();
public void setAlign(String align);
public String getArchive();
public void setArchive(String archive);
public String getBorder();
public void setBorder(String border);
public String getCodeBase();
public void setCodeBase(String codeBase);
public String getCodeType();
public void setCodeType(String codeType);
public String getData();
public void setData(String data);
public boolean getDeclare();
public void setDeclare(boolean declare);
public String getHeight();
public void setHeight(String height);
public String getHspace();
public void setHspace(String hspace);
public String getName();
public void setName(String name);
public String getStandby();
public void setStandby(String standby);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getType();
public void setType(String type);
public String getUseMap();
public void setUseMap(String useMap);
public String getVspace();
public void setVspace(String vspace);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLParamElement.java:
package org.w3c.dom.html;
public interface HTMLParamElement extends HTMLElement {
public String getName();
public void setName(String name);
public String getType();
public void setType(String type);
public String getValue();
public void setValue(String value);
public String getValueType();
public void setValueType(String valueType);
}
org/w3c/dom/html/HTMLAppletElement.java:
package org.w3c.dom.html;
public interface HTMLAppletElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
public String getAlt();
public void setAlt(String alt);
public String getArchive();
public void setArchive(String archive);
public String getCode();
public void setCode(String code);
public String getCodeBase();
public void setCodeBase(String codeBase);
public String getHeight();
public void setHeight(String height);
public String getHspace();
public void setHspace(String hspace);
public String getName();
public void setName(String name);
public String getObject();
public void setObject(String object);
public String getVspace();
public void setVspace(String vspace);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLMapElement.java:
package org.w3c.dom.html;
public interface HTMLMapElement extends HTMLElement {
public HTMLCollection getAreas();
public String getName();
public void setName(String name);
}
org/w3c/dom/html/HTMLAreaElement.java:
package org.w3c.dom.html;
public interface HTMLAreaElement extends HTMLElement {
public String getAccessKey();
public void setAccessKey(String accessKey);
public String getAlt();
public void setAlt(String alt);
public String getCoords();
public void setCoords(String coords);
public String getHref();
public void setHref(String href);
public boolean getNoHref();
public void setNoHref(boolean noHref);
public String getShape();
public void setShape(String shape);
public int getTabIndex();
public void setTabIndex(int tabIndex);
public String getTarget();
public void setTarget(String target);
}
org/w3c/dom/html/HTMLScriptElement.java:
package org.w3c.dom.html;
public interface HTMLScriptElement extends HTMLElement {
public String getText();
public void setText(String text);
public String getHtmlFor();
public void setHtmlFor(String htmlFor);
public String getEvent();
public void setEvent(String event);
public String getCharset();
public void setCharset(String charset);
public boolean getDefer();
public void setDefer(boolean defer);
public String getSrc();
public void setSrc(String src);
public String getType();
public void setType(String type);
}
org/w3c/dom/html/HTMLTableElement.java:
package org.w3c.dom.html;
public interface HTMLTableElement extends HTMLElement {
public HTMLTableCaptionElement getCaption();
public void setCaption(HTMLTableCaptionElement caption);
public HTMLTableSectionElement getTHead();
public void setTHead(HTMLTableSectionElement tHead);
public HTMLTableSectionElement getTFoot();
public void setTFoot(HTMLTableSectionElement tFoot);
public HTMLCollection getRows();
public HTMLCollection getTBodies();
public String getAlign();
public void setAlign(String align);
public String getBgColor();
public void setBgColor(String bgColor);
public String getBorder();
public void setBorder(String border);
public String getCellPadding();
public void setCellPadding(String cellPadding);
public String getCellSpacing();
public void setCellSpacing(String cellSpacing);
public String getFrame();
public void setFrame(String frame);
public String getRules();
public void setRules(String rules);
public String getSummary();
public void setSummary(String summary);
public String getWidth();
public void setWidth(String width);
public HTMLElement createTHead();
public void deleteTHead();
public HTMLElement createTFoot();
public void deleteTFoot();
public HTMLElement createCaption();
public void deleteCaption();
public HTMLElement insertRow(int index);
public void deleteRow(int index);
}
org/w3c/dom/html/HTMLTableCaptionElement.java:
package org.w3c.dom.html;
public interface HTMLTableCaptionElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
}
org/w3c/dom/html/HTMLTableColElement.java:
package org.w3c.dom.html;
public interface HTMLTableColElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
public String getCh();
public void setCh(String ch);
public String getChOff();
public void setChOff(String chOff);
public int getSpan();
public void setSpan(int span);
public String getVAlign();
public void setVAlign(String vAlign);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLTableSectionElement.java:
package org.w3c.dom.html;
public interface HTMLTableSectionElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
public String getCh();
public void setCh(String ch);
public String getChOff();
public void setChOff(String chOff);
public String getVAlign();
public void setVAlign(String vAlign);
public HTMLCollection getRows();
public HTMLElement insertRow(int index);
public void deleteRow(int index);
}
org/w3c/dom/html/HTMLTableRowElement.java:
package org.w3c.dom.html;
public interface HTMLTableRowElement extends HTMLElement {
public int getRowIndex();
public int getSectionRowIndex();
public HTMLCollection getCells();
public String getAlign();
public void setAlign(String align);
public String getBgColor();
public void setBgColor(String bgColor);
public String getCh();
public void setCh(String ch);
public String getChOff();
public void setChOff(String chOff);
public String getVAlign();
public void setVAlign(String vAlign);
public HTMLElement insertCell(int index);
public void deleteCell(int index);
}
org/w3c/dom/html/HTMLTableCellElement.java:
package org.w3c.dom.html;
public interface HTMLTableCellElement extends HTMLElement {
public int getCellIndex();
public String getAbbr();
public void setAbbr(String abbr);
public String getAlign();
public void setAlign(String align);
public String getAxis();
public void setAxis(String axis);
public String getBgColor();
public void setBgColor(String bgColor);
public String getCh();
public void setCh(String ch);
public String getChOff();
public void setChOff(String chOff);
public int getColSpan();
public void setColSpan(int colSpan);
public String getHeaders();
public void setHeaders(String headers);
public String getHeight();
public void setHeight(String height);
public boolean getNoWrap();
public void setNoWrap(boolean noWrap);
public int getRowSpan();
public void setRowSpan(int rowSpan);
public String getScope();
public void setScope(String scope);
public String getVAlign();
public void setVAlign(String vAlign);
public String getWidth();
public void setWidth(String width);
}
org/w3c/dom/html/HTMLFrameSetElement.java:
package org.w3c.dom.html;
public interface HTMLFrameSetElement extends HTMLElement {
public String getCols();
public void setCols(String cols);
public String getRows();
public void setRows(String rows);
}
org/w3c/dom/html/HTMLFrameElement.java:
package org.w3c.dom.html;
public interface HTMLFrameElement extends HTMLElement {
public String getFrameBorder();
public void setFrameBorder(String frameBorder);
public String getLongDesc();
public void setLongDesc(String longDesc);
public String getMarginHeight();
public void setMarginHeight(String marginHeight);
public String getMarginWidth();
public void setMarginWidth(String marginWidth);
public String getName();
public void setName(String name);
public boolean getNoResize();
public void setNoResize(boolean noResize);
public String getScrolling();
public void setScrolling(String scrolling);
public String getSrc();
public void setSrc(String src);
}
org/w3c/dom/html/HTMLIFrameElement.java:
package org.w3c.dom.html;
public interface HTMLIFrameElement extends HTMLElement {
public String getAlign();
public void setAlign(String align);
public String getFrameBorder();
public void setFrameBorder(String frameBorder);
public String getHeight();
public void setHeight(String height);
public String getLongDesc();
public void setLongDesc(String longDesc);
public String getMarginHeight();
public void setMarginHeight(String marginHeight);
public String getMarginWidth();
public void setMarginWidth(String marginWidth);
public String getName();
public void setName(String name);
public String getScrolling();
public void setScrolling(String scrolling);
public String getSrc();
public void setSrc(String src);
public String getWidth();
public void setWidth(String width);
}
C.3: Document Object Model Views
org/w3c/dom/views/AbstractView.java:
package org.w3c.dom.views;
public interface AbstractView {
public DocumentView getDocument();
}
org/w3c/dom/views/DocumentView.java:
package org.w3c.dom.views;
public interface DocumentView {
public AbstractView getDefaultView();
}
C.4: Document Object Model Stylesheets
org/w3c/dom/stylesheets/StyleSheet.java:
package org.w3c.dom.stylesheets;
import org.w3c.dom.Node;
public interface StyleSheet {
public String getType();
public boolean getDisabled();
public void setDisabled(boolean disabled);
public Node getOwnerNode();
public StyleSheet getParentStyleSheet();
public String getHref();
public String getTitle();
public MediaList getMedia();
}
org/w3c/dom/stylesheets/StyleSheetList.java:
package org.w3c.dom.stylesheets;
public interface StyleSheetList {
public int getLength();
public StyleSheet item(int index);
}
org/w3c/dom/stylesheets/MediaList.java:
package org.w3c.dom.stylesheets;
import org.w3c.dom.DOMException;
public interface MediaList {
public String getCssText();
public void setCssText(String cssText)
throws DOMException;
public int getLength();
public String item(int index);
public void delete(String oldMedium)
throws DOMException;
public void append(String newMedium)
throws DOMException;
}
org/w3c/dom/stylesheets/LinkStyle.java:
package org.w3c.dom.stylesheets;
public interface LinkStyle {
public StyleSheet getSheet();
}
org/w3c/dom/stylesheets/DocumentStyle.java:
package org.w3c.dom.stylesheets;
public interface DocumentStyle {
public StyleSheetList getStyleSheets();
}
C.5: Document Object Model CSS
org/w3c/dom/css/CSSException.java:
package org.w3c.dom.css;
public abstract class CSSException extends RuntimeException {
public CSSException(short code, String message) {
super(message);
this.code = code;
}
public short code;
// CSSExceptionCode
public static final short SYNTAX_ERR = 0;
public static final short INVALID_MODIFICATION_ERR = 1;
}
org/w3c/dom/css/CSSStyleSheet.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
import org.w3c.dom.stylesheets.StyleSheet;
public interface CSSStyleSheet extends StyleSheet {
public CSSRule getOwnerRule();
public CSSRuleList getCssRules();
public int insertRule(String rule,
int index)
throws DOMException, CSSException;
public void deleteRule(int index)
throws DOMException;
}
org/w3c/dom/css/CSSRuleList.java:
package org.w3c.dom.css;
public interface CSSRuleList {
public int getLength();
public CSSRule item(int index);
}
org/w3c/dom/css/CSSRule.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSRule {
// RuleType
public static final short UNKNOWN_RULE = 0;
public static final short STYLE_RULE = 1;
public static final short CHARSET_RULE = 2;
public static final short IMPORT_RULE = 3;
public static final short MEDIA_RULE = 4;
public static final short FONT_FACE_RULE = 5;
public static final short PAGE_RULE = 6;
public short getType();
public String getCssText();
public void setCssText(String cssText)
throws CSSException, DOMException;
public CSSStyleSheet getParentStyleSheet();
public CSSRule getParentRule();
}
org/w3c/dom/css/CSSStyleRule.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSStyleRule extends CSSRule {
public String getSelectorText();
public void setSelectorText(String selectorText)
throws CSSException, DOMException;
public CSSStyleDeclaration getStyle();
}
org/w3c/dom/css/CSSMediaRule.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
import org.w3c.dom.stylesheets.MediaList;
public interface CSSMediaRule extends CSSRule {
public MediaList getMedia();
public CSSRuleList getCssRules();
public int insertRule(String rule,
int index)
throws DOMException, CSSException;
public void deleteRule(int index)
throws DOMException;
}
org/w3c/dom/css/CSSFontFaceRule.java:
package org.w3c.dom.css;
public interface CSSFontFaceRule extends CSSRule {
public CSSStyleDeclaration getStyle();
}
org/w3c/dom/css/CSSPageRule.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSPageRule extends CSSRule {
public String getSelectorText();
public void setSelectorText(String selectorText)
throws CSSException, DOMException;
public CSSStyleDeclaration getStyle();
}
org/w3c/dom/css/CSSImportRule.java:
package org.w3c.dom.css;
import org.w3c.dom.stylesheets.MediaList;
public interface CSSImportRule extends CSSRule {
public String getHref();
public MediaList getMedia();
public CSSStyleSheet getStyleSheet();
}
org/w3c/dom/css/CSSCharsetRule.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSCharsetRule extends CSSRule {
public String getEncoding();
public void setEncoding(String encoding)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSSUnknownRule.java:
package org.w3c.dom.css;
public interface CSSUnknownRule extends CSSRule {
}
org/w3c/dom/css/CSSStyleDeclaration.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSStyleDeclaration {
public String getCssText();
public void setCssText(String cssText)
throws CSSException, DOMException;
public String getPropertyValue(String propertyName);
public CSSValue getPropertyCSSValue(String propertyName);
public String removeProperty(String propertyName)
throws DOMException;
public String getPropertyPriority(String propertyName);
public void setProperty(String propertyName,
String value,
String priority)
throws CSSException, DOMException;
public int getLength();
public String item(int index);
public CSSRule getParentRule();
}
org/w3c/dom/css/CSSValue.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSValue {
// UnitTypes
public static final short CSS_INHERIT = 0;
public static final short CSS_PRIMITIVE_VALUE = 1;
public static final short CSS_VALUE_LIST = 2;
public static final short CSS_CUSTOM = 3;
public String getCssText();
public void setCssText(String cssText)
throws CSSException, DOMException;
public short getValueType();
}
org/w3c/dom/css/CSSPrimitiveValue.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSSPrimitiveValue extends CSSValue {
// UnitTypes
public static final short CSS_UNKNOWN = 0;
public static final short CSS_NUMBER = 1;
public static final short CSS_PERCENTAGE = 2;
public static final short CSS_EMS = 3;
public static final short CSS_EXS = 4;
public static final short CSS_PX = 5;
public static final short CSS_CM = 6;
public static final short CSS_MM = 9;
public static final short CSS_IN = 10;
public static final short CSS_PT = 11;
public static final short CSS_PC = 12;
public static final short CSS_DEG = 13;
public static final short CSS_RAD = 14;
public static final short CSS_GRAD = 15;
public static final short CSS_MS = 16;
public static final short CSS_S = 17;
public static final short CSS_HZ = 18;
public static final short CSS_KHZ = 19;
public static final short CSS_DIMENSION = 20;
public static final short CSS_STRING = 21;
public static final short CSS_URI = 22;
public static final short CSS_IDENT = 23;
public static final short CSS_ATTR = 24;
public static final short CSS_COUNTER = 25;
public static final short CSS_RECT = 26;
public static final short CSS_RGBCOLOR = 27;
public short getPrimitiveType();
public void setFloatValue(short unitType,
float floatValue)
throws DOMException;
public float getFloatValue(short unitType)
throws DOMException;
public void setStringValue(short stringType,
String stringValue)
throws DOMException;
public String getStringValue()
throws DOMException;
public Counter getCounterValue()
throws DOMException;
public Rect getRectValue()
throws DOMException;
public RGBColor getRGBColorValue()
throws DOMException;
}
org/w3c/dom/css/CSSValueList.java:
package org.w3c.dom.css;
public interface CSSValueList extends CSSValue {
public int getLength();
public CSSValue item(int index);
}
org/w3c/dom/css/RGBColor.java:
package org.w3c.dom.css;
public interface RGBColor {
public CSSPrimitiveValue getRed();
public CSSPrimitiveValue getGreen();
public CSSPrimitiveValue getBlue();
}
org/w3c/dom/css/Rect.java:
package org.w3c.dom.css;
public interface Rect {
public CSSPrimitiveValue getTop();
public CSSPrimitiveValue getRight();
public CSSPrimitiveValue getBottom();
public CSSPrimitiveValue getLeft();
}
org/w3c/dom/css/Counter.java:
package org.w3c.dom.css;
public interface Counter {
public String getIdentifier();
public String getListStyle();
public String getSeparator();
}
org/w3c/dom/css/ViewCSS.java:
package org.w3c.dom.css;
import org.w3c.dom.Element;
import org.w3c.dom.views.AbstractView;
public interface ViewCSS extends AbstractView {
public CSSStyleDeclaration getComputedStyle(Element elt,
String pseudoElt);
}
org/w3c/dom/css/DocumentCSS.java:
package org.w3c.dom.css;
import org.w3c.dom.Element;
import org.w3c.dom.stylesheets.DocumentStyle;
public interface DocumentCSS extends DocumentStyle {
public CSSStyleDeclaration getOverrideStyle(Element elt,
String pseudoElt);
}
org/w3c/dom/css/DOMImplementationCSS.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMImplementation;
public interface DOMImplementationCSS extends DOMImplementation {
public CSSStyleSheet createCSSStyleSheet(String title,
String media);
}
org/w3c/dom/css/CSS2Azimuth.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2Azimuth extends CSSValue {
public short getAzimuthType();
public String getIdentifier();
public boolean getBehind();
public void setAngleValue(short uType,
float fValue)
throws DOMException;
public float getAngleValue(short uType)
throws DOMException;
public void setIdentifier(String ident,
boolean b)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSS2BackgroundPosition.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2BackgroundPosition extends CSSValue {
public short getHorizontalType();
public short getVerticalType();
public String getHorizontalIdentifier();
public String getVerticalIdentifier();
public float getHorizontalPosition(float hType)
throws DOMException;
public float getVerticalPosition(float vType)
throws DOMException;
public void setHorizontalPosition(short hType,
float value)
throws DOMException;
public void setVerticalPosition(short vType,
float value)
throws DOMException;
public void setPositionIdentifier(String hIdentifier,
String vIdentifier)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSS2BorderSpacing.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2BorderSpacing extends CSSValue {
public short getHorizontalType();
public short getVerticalType();
public float getHorizontalSpacing(float hType)
throws DOMException;
public float getVerticalSpacing(float vType)
throws DOMException;
public void setHorizontalSpacing(short hType,
float value)
throws DOMException;
public void setVerticalSpacing(short vType,
float value)
throws DOMException;
}
org/w3c/dom/css/CSS2CounterReset.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2CounterReset extends CSSValue {
public String getIdentifier();
public void setIdentifier(String identifier)
throws CSSException, DOMException;
public short getReset();
public void setReset(short reset)
throws DOMException;
}
org/w3c/dom/css/CSS2CounterIncrement.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2CounterIncrement extends CSSValue {
public String getIdentifier();
public void setIdentifier(String identifier)
throws CSSException, DOMException;
public short getIncrement();
public void setIncrement(short increment)
throws DOMException;
}
org/w3c/dom/css/CSS2Cursor.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2Cursor extends CSSValue {
public CSSValueList getUris();
public String getPredefinedCursor();
public void setPredefinedCursor(String predefinedCursor)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSS2PlayDuring.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2PlayDuring extends CSSValue {
public short getPlayDuringType();
public String getPlayDuringIdentifier();
public void setPlayDuringIdentifier(String playDuringIdentifier)
throws CSSException, DOMException;
public String getUri();
public void setUri(String uri)
throws CSSException, DOMException;
public boolean getMix();
public void setMix(boolean mix)
throws DOMException;
public boolean getRepeat();
public void setRepeat(boolean repeat)
throws DOMException;
}
org/w3c/dom/css/CSS2TextShadow.java:
package org.w3c.dom.css;
public interface CSS2TextShadow {
public CSSValue getColor();
public CSSValue getHorizontal();
public CSSValue getVertical();
public CSSValue getBlur();
}
org/w3c/dom/css/CSS2FontFaceSrc.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2FontFaceSrc {
public String getUri();
public void setUri(String uri)
throws CSSException, DOMException;
public CSSValueList getFormat();
public String getFontFaceName();
public void setFontFaceName(String fontFaceName)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSS2FontFaceWidths.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2FontFaceWidths {
public String getUrange();
public void setUrange(String urange)
throws CSSException, DOMException;
public CSSValueList getNumbers();
}
org/w3c/dom/css/CSS2PageSize.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2PageSize extends CSSValue {
public short getWidthType();
public short getHeightType();
public String getIdentifier();
public float getWidth(float wType)
throws DOMException;
public float getHeightSize(float hType)
throws DOMException;
public void setWidthSize(short wType,
float value)
throws DOMException;
public void setHeightSize(short hType,
float value)
throws DOMException;
public void setIdentifier(String ident)
throws CSSException, DOMException;
}
org/w3c/dom/css/CSS2Properties.java:
package org.w3c.dom.css;
import org.w3c.dom.DOMException;
public interface CSS2Properties {
public String getAzimuth();
public void setAzimuth(String azimuth)
throws CSSException, DOMException;
public String getBackground();
public void setBackground(String background)
throws CSSException, DOMException;
public String getBackgroundAttachment();
public void setBackgroundAttachment(String backgroundAttachment)
throws CSSException, DOMException;
public String getBackgroundColor();
public void setBackgroundColor(String backgroundColor)
throws CSSException, DOMException;
public String getBackgroundImage();
public void setBackgroundImage(String backgroundImage)
throws CSSException, DOMException;
public String getBackgroundPosition();
public void setBackgroundPosition(String backgroundPosition)
throws CSSException, DOMException;
public String getBackgroundRepeat();
public void setBackgroundRepeat(String backgroundRepeat)
throws CSSException, DOMException;
public String getBorder();
public void setBorder(String border)
throws CSSException, DOMException;
public String getBorderCollapse();
public void setBorderCollapse(String borderCollapse)
throws CSSException, DOMException;
public String getBorderColor();
public void setBorderColor(String borderColor)
throws CSSException, DOMException;
public String getBorderSpacing();
public void setBorderSpacing(String borderSpacing)
throws CSSException, DOMException;
public String getBorderStyle();
public void setBorderStyle(String borderStyle)
throws CSSException, DOMException;
public String getBorderTop();
public void setBorderTop(String borderTop)
throws CSSException, DOMException;
public String getBorderRight();
public void setBorderRight(String borderRight)
throws CSSException, DOMException;
public String getBorderBottom();
public void setBorderBottom(String borderBottom)
throws CSSException, DOMException;
public String getBorderLeft();
public void setBorderLeft(String borderLeft)
throws CSSException, DOMException;
public String getBorderTopColor();
public void setBorderTopColor(String borderTopColor)
throws CSSException, DOMException;
public String getBorderRightColor();
public void setBorderRightColor(String borderRightColor)
throws CSSException, DOMException;
public String getBorderBottomColor();
public void setBorderBottomColor(String borderBottomColor)
throws CSSException, DOMException;
public String getBorderLeftColor();
public void setBorderLeftColor(String borderLeftColor)
throws CSSException, DOMException;
public String getBorderTopStyle();
public void setBorderTopStyle(String borderTopStyle)
throws CSSException, DOMException;
public String getBorderRightStyle();
public void setBorderRightStyle(String borderRightStyle)
throws CSSException, DOMException;
public String getBorderBottomStyle();
public void setBorderBottomStyle(String borderBottomStyle)
throws CSSException, DOMException;
public String getBorderLeftStyle();
public void setBorderLeftStyle(String borderLeftStyle)
throws CSSException, DOMException;
public String getBorderTopWidth();
public void setBorderTopWidth(String borderTopWidth)
throws CSSException, DOMException;
public String getBorderRightWidth();
public void setBorderRightWidth(String borderRightWidth)
throws CSSException, DOMException;
public String getBorderBottomWidth();
public void setBorderBottomWidth(String borderBottomWidth)
throws CSSException, DOMException;
public String getBorderLeftWidth();
public void setBorderLeftWidth(String borderLeftWidth)
throws CSSException, DOMException;
public String getBorderWidth();
public void setBorderWidth(String borderWidth)
throws CSSException, DOMException;
public String getBottom();
public void setBottom(String bottom)
throws CSSException, DOMException;
public String getCaptionSide();
public void setCaptionSide(String captionSide)
throws CSSException, DOMException;
public String getClear();
public void setClear(String clear)
throws CSSException, DOMException;
public String getClip();
public void setClip(String clip)
throws CSSException, DOMException;
public String getColor();
public void setColor(String color)
throws CSSException, DOMException;
public String getContent();
public void setContent(String content)
throws CSSException, DOMException;
public String getCounterIncrement();
public void setCounterIncrement(String counterIncrement)
throws CSSException, DOMException;
public String getCounterReset();
public void setCounterReset(String counterReset)
throws CSSException, DOMException;
public String getCue();
public void setCue(String cue)
throws CSSException, DOMException;
public String getCueAfter();
public void setCueAfter(String cueAfter)
throws CSSException, DOMException;
public String getCueBefore();
public void setCueBefore(String cueBefore)
throws CSSException, DOMException;
public String getCursor();
public void setCursor(String cursor)
throws CSSException, DOMException;
public String getDirection();
public void setDirection(String direction)
throws CSSException, DOMException;
public String getDisplay();
public void setDisplay(String display)
throws CSSException, DOMException;
public String getElevation();
public void setElevation(String elevation)
throws CSSException, DOMException;
public String getEmptyCells();
public void setEmptyCells(String emptyCells)
throws CSSException, DOMException;
public String getCssFloat();
public void setCssFloat(String cssFloat)
throws CSSException, DOMException;
public String getFont();
public void setFont(String font)
throws CSSException, DOMException;
public String getFontFamily();
public void setFontFamily(String fontFamily)
throws CSSException, DOMException;
public String getFontSize();
public void setFontSize(String fontSize)
throws CSSException, DOMException;
public String getFontSizeAdjust();
public void setFontSizeAdjust(String fontSizeAdjust)
throws CSSException, DOMException;
public String getFontStretch();
public void setFontStretch(String fontStretch)
throws CSSException, DOMException;
public String getFontStyle();
public void setFontStyle(String fontStyle)
throws CSSException, DOMException;
public String getFontVariant();
public void setFontVariant(String fontVariant)
throws CSSException, DOMException;
public String getFontWeight();
public void setFontWeight(String fontWeight)
throws CSSException, DOMException;
public String getHeight();
public void setHeight(String height)
throws CSSException, DOMException;
public String getLeft();
public void setLeft(String left)
throws CSSException, DOMException;
public String getLetterSpacing();
public void setLetterSpacing(String letterSpacing)
throws CSSException, DOMException;
public String getLineHeight();
public void setLineHeight(String lineHeight)
throws CSSException, DOMException;
public String getListStyle();
public void setListStyle(String listStyle)
throws CSSException, DOMException;
public String getListStyleImage();
public void setListStyleImage(String listStyleImage)
throws CSSException, DOMException;
public String getListStylePosition();
public void setListStylePosition(String listStylePosition)
throws CSSException, DOMException;
public String getListStyleType();
public void setListStyleType(String listStyleType)
throws CSSException, DOMException;
public String getMargin();
public void setMargin(String margin)
throws CSSException, DOMException;
public String getMarginTop();
public void setMarginTop(String marginTop)
throws CSSException, DOMException;
public String getMarginRight();
public void setMarginRight(String marginRight)
throws CSSException, DOMException;
public String getMarginBottom();
public void setMarginBottom(String marginBottom)
throws CSSException, DOMException;
public String getMarginLeft();
public void setMarginLeft(String marginLeft)
throws CSSException, DOMException;
public String getMarkerOffset();
public void setMarkerOffset(String markerOffset)
throws CSSException, DOMException;
public String getMarks();
public void setMarks(String marks)
throws CSSException, DOMException;
public String getMaxHeight();
public void setMaxHeight(String maxHeight)
throws CSSException, DOMException;
public String getMaxWidth();
public void setMaxWidth(String maxWidth)
throws CSSException, DOMException;
public String getMinHeight();
public void setMinHeight(String minHeight)
throws CSSException, DOMException;
public String getMinWidth();
public void setMinWidth(String minWidth)
throws CSSException, DOMException;
public String getOrphans();
public void setOrphans(String orphans)
throws CSSException, DOMException;
public String getOutline();
public void setOutline(String outline)
throws CSSException, DOMException;
public String getOutlineColor();
public void setOutlineColor(String outlineColor)
throws CSSException, DOMException;
public String getOutlineStyle();
public void setOutlineStyle(String outlineStyle)
throws CSSException, DOMException;
public String getOutlineWidth();
public void setOutlineWidth(String outlineWidth)
throws CSSException, DOMException;
public String getOverflow();
public void setOverflow(String overflow)
throws CSSException, DOMException;
public String getPadding();
public void setPadding(String padding)
throws CSSException, DOMException;
public String getPaddingTop();
public void setPaddingTop(String paddingTop)
throws CSSException, DOMException;
public String getPaddingRight();
public void setPaddingRight(String paddingRight)
throws CSSException, DOMException;
public String getPaddingBottom();
public void setPaddingBottom(String paddingBottom)
throws CSSException, DOMException;
public String getPaddingLeft();
public void setPaddingLeft(String paddingLeft)
throws CSSException, DOMException;
public String getPage();
public void setPage(String page)
throws CSSException, DOMException;
public String getPageBreakAfter();
public void setPageBreakAfter(String pageBreakAfter)
throws CSSException, DOMException;
public String getPageBreakBefore();
public void setPageBreakBefore(String pageBreakBefore)
throws CSSException, DOMException;
public String getPageBreakInside();
public void setPageBreakInside(String pageBreakInside)
throws CSSException, DOMException;
public String getPause();
public void setPause(String pause)
throws CSSException, DOMException;
public String getPauseAfter();
public void setPauseAfter(String pauseAfter)
throws CSSException, DOMException;
public String getPauseBefore();
public void setPauseBefore(String pauseBefore)
throws CSSException, DOMException;
public String getPitch();
public void setPitch(String pitch)
throws CSSException, DOMException;
public String getPitchRange();
public void setPitchRange(String pitchRange)
throws CSSException, DOMException;
public String getPlayDuring();
public void setPlayDuring(String playDuring)
throws CSSException, DOMException;
public String getPosition();
public void setPosition(String position)
throws CSSException, DOMException;
public String getQuotes();
public void setQuotes(String quotes)
throws CSSException, DOMException;
public String getRichness();
public void setRichness(String richness)
throws CSSException, DOMException;
public String getRight();
public void setRight(String right)
throws CSSException, DOMException;
public String getSize();
public void setSize(String size)
throws CSSException, DOMException;
public String getSpeak();
public void setSpeak(String speak)
throws CSSException, DOMException;
public String getSpeakHeader();
public void setSpeakHeader(String speakHeader)
throws CSSException, DOMException;
public String getSpeakNumeral();
public void setSpeakNumeral(String speakNumeral)
throws CSSException, DOMException;
public String getSpeakPunctuation();
public void setSpeakPunctuation(String speakPunctuation)
throws CSSException, DOMException;
public String getSpeechRate();
public void setSpeechRate(String speechRate)
throws CSSException, DOMException;
public String getStress();
public void setStress(String stress)
throws CSSException, DOMException;
public String getTableLayout();
public void setTableLayout(String tableLayout)
throws CSSException, DOMException;
public String getTextAlign();
public void setTextAlign(String textAlign)
throws CSSException, DOMException;
public String getTextDecoration();
public void setTextDecoration(String textDecoration)
throws CSSException, DOMException;
public String getTextIndent();
public void setTextIndent(String textIndent)
throws CSSException, DOMException;
public String getTextShadow();
public void setTextShadow(String textShadow)
throws CSSException, DOMException;
public String getTextTransform();
public void setTextTransform(String textTransform)
throws CSSException, DOMException;
public String getTop();
public void setTop(String top)
throws CSSException, DOMException;
public String getUnicodeBidi();
public void setUnicodeBidi(String unicodeBidi)
throws CSSException, DOMException;
public String getVerticalAlign();
public void setVerticalAlign(String verticalAlign)
throws CSSException, DOMException;
public String getVisibility();
public void setVisibility(String visibility)
throws CSSException, DOMException;
public String getVoiceFamily();
public void setVoiceFamily(String voiceFamily)
throws CSSException, DOMException;
public String getVolume();
public void setVolume(String volume)
throws CSSException, DOMException;
public String getWhiteSpace();
public void setWhiteSpace(String whiteSpace)
throws CSSException, DOMException;
public String getWidows();
public void setWidows(String widows)
throws CSSException, DOMException;
public String getWidth();
public void setWidth(String width)
throws CSSException, DOMException;
public String getWordSpacing();
public void setWordSpacing(String wordSpacing)
throws CSSException, DOMException;
public String getZIndex();
public void setZIndex(String zIndex)
throws CSSException, DOMException;
}
org/w3c/dom/css/HTMLElementCSS.java:
package org.w3c.dom.css;
import org.w3c.dom.html.HTMLElement;
public interface HTMLElementCSS extends HTMLElement {
public CSSStyleDeclaration getStyle();
}
C.6: Document Object Model Events
org/w3c/dom/events/EventTarget.java:
package org.w3c.dom.events;
import org.w3c.dom.DOMException;
public interface EventTarget {
public void addEventListener(String type,
EventListener listener,
boolean useCapture);
public void removeEventListener(String type,
EventListener listener,
boolean useCapture);
public boolean dispatchEvent(Event evt)
throws DOMException;
}
org/w3c/dom/events/EventListener.java:
package org.w3c.dom.events;
public interface EventListener {
public void handleEvent(Event evt);
}
org/w3c/dom/events/Event.java:
package org.w3c.dom.events;
import org.w3c.dom.Node;
public interface Event {
// PhaseType
public static final short BUBBLING_PHASE = 1;
public static final short CAPTURING_PHASE = 2;
public static final short AT_TARGET = 3;
public String getType();
public EventTarget getTarget();
public Node getCurrentNode();
public short getEventPhase();
public boolean getBubbles();
public boolean getCancelable();
public void preventBubble();
public void preventCapture();
public void preventDefault();
public void initEvent(String eventTypeArg,
boolean canBubbleArg,
boolean cancelableArg);
}
org/w3c/dom/events/DocumentEvent.java:
package org.w3c.dom.events;
import org.w3c.dom.DOMException;
public interface DocumentEvent {
public Event createEvent(String type)
throws DOMException;
}
org/w3c/dom/events/UIEvent.java:
package org.w3c.dom.events;
import org.w3c.dom.views.AbstractView;
public interface UIEvent extends Event {
public AbstractView getView();
public short getDetail();
public void initUIEvent(String typeArg,
boolean canBubbleArg,
boolean cancelableArg,
AbstractView viewArg,
short detailArg);
}
org/w3c/dom/events/MouseEvent.java:
package org.w3c.dom.events;
import org.w3c.dom.Node;
import org.w3c.dom.views.AbstractView;
public interface MouseEvent extends UIEvent {
public int getScreenX();
public int getScreenY();
public int getClientX();
public int getClientY();
public boolean getCtrlKey();
public boolean getShiftKey();
public boolean getAltKey();
public boolean getMetaKey();
public short getButton();
public Node getRelatedNode();
public void initMouseEvent(String typeArg,
boolean canBubbleArg,
boolean cancelableArg,
AbstractView viewArg,
short detailArg,
int screenXArg,
int screenYArg,
int clientXArg,
int clientYArg,
boolean ctrlKeyArg,
boolean altKeyArg,
boolean shiftKeyArg,
boolean metaKeyArg,
short buttonArg,
Node relatedNodeArg);
}
org/w3c/dom/events/KeyEvent.java:
package org.w3c.dom.events;
import org.w3c.dom.views.AbstractView;
public interface KeyEvent extends UIEvent {
// VirtualKeyCode
public static final int CHAR_UNDEFINED = 0x0FFFF;
public static final int DOM_VK_0 = 0x30;
public static final int DOM_VK_1 = 0x31;
public static final int DOM_VK_2 = 0x32;
public static final int DOM_VK_3 = 0x33;
public static final int DOM_VK_4 = 0x34;
public static final int DOM_VK_5 = 0x35;
public static final int DOM_VK_6 = 0x36;
public static final int DOM_VK_7 = 0x37;
public static final int DOM_VK_8 = 0x38;
public static final int DOM_VK_9 = 0x39;
public static final int DOM_VK_A = 0x41;
public static final int DOM_VK_ACCEPT = 0x1E;
public static final int DOM_VK_ADD = 0x6B;
public static final int DOM_VK_AGAIN = 0xFFC9;
public static final int DOM_VK_ALL_CANDIDATES = 0x0100;
public static final int DOM_VK_ALPHANUMERIC = 0x00F0;
public static final int DOM_VK_ALT = 0x12;
public static final int DOM_VK_ALT_GRAPH = 0xFF7E;
public static final int DOM_VK_AMPERSAND = 0x96;
public static final int DOM_VK_ASTERISK = 0x97;
public static final int DOM_VK_AT = 0x0200;
public static final int DOM_VK_B = 0x42;
public static final int DOM_VK_BACK_QUOTE = 0xC0;
public static final int DOM_VK_BACK_SLASH = 0x5C;
public static final int DOM_VK_BACK_SPACE = 0x08;
public static final int DOM_VK_BRACELEFT = 0xA1;
public static final int DOM_VK_BRACERIGHT = 0xA2;
public static final int DOM_VK_C = 0x43;
public static final int DOM_VK_CANCEL = 0x03;
public static final int DOM_VK_CAPS_LOCK = 0x14;
public static final int DOM_VK_CIRCUMFLEX = 0x0202;
public static final int DOM_VK_CLEAR = 0x0C;
public static final int DOM_VK_CLOSE_BRACKET = 0x5D;
public static final int DOM_VK_CODE_INPUT = 0x0102;
public static final int DOM_VK_COLON = 0x0201;
public static final int DOM_VK_COMMA = 0x2C;
public static final int DOM_VK_COMPOSE = 0xFF20;
public static final int DOM_VK_CONTROL = 0x11;
public static final int DOM_VK_CONVERT = 0x1C;
public static final int DOM_VK_COPY = 0xFFCD;
public static final int DOM_VK_CUT = 0xFFD1;
public static final int DOM_VK_D = 0x44;
public static final int DOM_VK_DEAD_ABOVEDOT = 0x86;
public static final int DOM_VK_DEAD_ABOVERING = 0x88;
public static final int DOM_VK_DEAD_ACUTE = 0x81;
public static final int DOM_VK_DEAD_BREVE = 0x85;
public static final int DOM_VK_DEAD_CARON = 0x8A;
public static final int DOM_VK_DEAD_CEDILLA = 0x8B;
public static final int DOM_VK_DEAD_CIRCUMFLEX = 0x82;
public static final int DOM_VK_DEAD_DIAERESIS = 0x87;
public static final int DOM_VK_DEAD_DOUBLEACUTE = 0x89;
public static final int DOM_VK_DEAD_GRAVE = 0x80;
public static final int DOM_VK_DEAD_IOTA = 0x8D;
public static final int DOM_VK_DEAD_MACRON = 0x84;
public static final int DOM_VK_DEAD_OGONEK = 0x8C;
public static final int DOM_VK_DEAD_SEMIVOICED_SOUND = 0x8F;
public static final int DOM_VK_DEAD_TILDE = 0x83;
public static final int DOM_VK_DEAD_VOICED_SOUND = 0x8E;
public static final int DOM_VK_DECIMAL = 0x6E;
public static final int DOM_VK_DELETE = 0x7F;
public static final int DOM_VK_DIVIDE = 0x6F;
public static final int DOM_VK_DOLLAR = 0x0203;
public static final int DOM_VK_DOWN = 0x28;
public static final int DOM_VK_E = 0x45;
public static final int DOM_VK_END = 0x23;
public static final int DOM_VK_ENTER = 0x0D;
public static final int DOM_VK_EQUALS = 0x3D;
public static final int DOM_VK_ESCAPE = 0x1B;
public static final int DOM_VK_EURO_SIGN = 0x0204;
public static final int DOM_VK_EXCLAMATION_MARK = 0x0205;
public static final int DOM_VK_F = 0x46;
public static final int DOM_VK_F1 = 0x70;
public static final int DOM_VK_F10 = 0x79;
public static final int DOM_VK_F11 = 0x7A;
public static final int DOM_VK_F12 = 0x7B;
public static final int DOM_VK_F13 = 0xF000;
public static final int DOM_VK_F14 = 0xF001;
public static final int DOM_VK_F15 = 0xF002;
public static final int DOM_VK_F16 = 0xF003;
public static final int DOM_VK_F17 = 0xF004;
public static final int DOM_VK_F18 = 0xF005;
public static final int DOM_VK_F19 = 0xF006;
public static final int DOM_VK_F2 = 0x71;
public static final int DOM_VK_F20 = 0xF007;
public static final int DOM_VK_F21 = 0xF008;
public static final int DOM_VK_F22 = 0xF009;
public static final int DOM_VK_F23 = 0xF00A;
public static final int DOM_VK_F24 = 0xF00B;
public static final int DOM_VK_F3 = 0x72;
public static final int DOM_VK_F4 = 0x73;
public static final int DOM_VK_F5 = 0x74;
public static final int DOM_VK_F6 = 0x75;
public static final int DOM_VK_F7 = 0x76;
public static final int DOM_VK_F8 = 0x77;
public static final int DOM_VK_F9 = 0x78;
public static final int DOM_VK_FINAL = 0x18;
public static final int DOM_VK_FIND = 0xFFD0;
public static final int DOM_VK_FULL_WIDTH = 0x00F3;
public static final int DOM_VK_G = 0x47;
public static final int DOM_VK_GREATER = 0xA0;
public static final int DOM_VK_H = 0x48;
public static final int DOM_VK_HALF_WIDTH = 0x00F4;
public static final int DOM_VK_HELP = 0x9C;
public static final int DOM_VK_HIRAGANA = 0x00F2;
public static final int DOM_VK_HOME = 0x24;
public static final int DOM_VK_I = 0x49;
public static final int DOM_VK_INSERT = 0x9B;
public static final int DOM_VK_INVERTED_EXCLAMATION_MARK = 0x0206;
public static final int DOM_VK_J = 0x4A;
public static final int DOM_VK_JAPANESE_HIRAGANA = 0x0104;
public static final int DOM_VK_JAPANESE_KATAKANA = 0x0103;
public static final int DOM_VK_JAPANESE_ROMAN = 0x0105;
public static final int DOM_VK_K = 0x4B;
public static final int DOM_VK_KANA = 0x15;
public static final int DOM_VK_KANJI = 0x19;
public static final int DOM_VK_KATAKANA = 0x00F1;
public static final int DOM_VK_KP_DOWN = 0xE1;
public static final int DOM_VK_KP_LEFT = 0xE2;
public static final int DOM_VK_KP_RIGHT = 0xE3;
public static final int DOM_VK_KP_UP = 0xE0;
public static final int DOM_VK_L = 0x4C;
public static final int DOM_VK_LEFT = 0x25;
public static final int DOM_VK_LEFT_PARENTHESIS = 0x0207;
public static final int DOM_VK_LESS = 0x99;
public static final int DOM_VK_M = 0x4D;
public static final int DOM_VK_META = 0x9D;
public static final int DOM_VK_MINUS = 0x2D;
public static final int DOM_VK_MODECHANGE = 0x1F;
public static final int DOM_VK_MULTIPLY = 0x6A;
public static final int DOM_VK_N = 0x4E;
public static final int DOM_VK_NONCONVERT = 0x1D;
public static final int DOM_VK_NUM_LOCK = 0x90;
public static final int DOM_VK_NUMBER_SIGN = 0x0208;
public static final int DOM_VK_NUMPAD0 = 0x60;
public static final int DOM_VK_NUMPAD1 = 0x61;
public static final int DOM_VK_NUMPAD2 = 0x62;
public static final int DOM_VK_NUMPAD3 = 0x63;
public static final int DOM_VK_NUMPAD4 = 0x64;
public static final int DOM_VK_NUMPAD5 = 0x65;
public static final int DOM_VK_NUMPAD6 = 0x66;
public static final int DOM_VK_NUMPAD7 = 0x67;
public static final int DOM_VK_NUMPAD8 = 0x68;
public static final int DOM_VK_NUMPAD9 = 0x69;
public static final int DOM_VK_O = 0x4F;
public static final int DOM_VK_OPEN_BRACKET = 0x5B;
public static final int DOM_VK_P = 0x50;
public static final int DOM_VK_PAGE_DOWN = 0x22;
public static final int DOM_VK_PAGE_UP = 0x21;
public static final int DOM_VK_PASTE = 0xFFCF;
public static final int DOM_VK_PAUSE = 0x13;
public static final int DOM_VK_PERIOD = 0x2E;
public static final int DOM_VK_PLUS = 0x0209;
public static final int DOM_VK_PREVIOUS_CANDIDATE = 0x0101;
public static final int DOM_VK_PRINTSCREEN = 0x9A;
public static final int DOM_VK_PROPS = 0xFFCA;
public static final int DOM_VK_Q = 0x51;
public static final int DOM_VK_QUOTE = 0xDE;
public static final int DOM_VK_QUOTEDBL = 0x98;
public static final int DOM_VK_R = 0x52;
public static final int DOM_VK_RIGHT = 0x27;
public static final int DOM_VK_RIGHT_PARENTHESIS = 0x020A;
public static final int DOM_VK_ROMAN_CHARACTERS = 0x00F5;
public static final int DOM_VK_S = 0x53;
public static final int DOM_VK_SCROLL_LOCK = 0x91;
public static final int DOM_VK_SEMICOLON = 0x3B;
public static final int DOM_VK_SEPARATER = 0x6C;
public static final int DOM_VK_SHIFT = 0x10;
public static final int DOM_VK_SLASH = 0x2F;
public static final int DOM_VK_SPACE = 0x20;
public static final int DOM_VK_STOP = 0xFFC8;
public static final int DOM_VK_SUBTRACT = 0x6D;
public static final int DOM_VK_T = 0x54;
public static final int DOM_VK_TAB = 0x09;
public static final int DOM_VK_U = 0x55;
public static final int DOM_VK_UNDEFINED = 0x0;
public static final int DOM_VK_UNDERSCORE = 0x020B;
public static final int DOM_VK_UNDO = 0xFFCB;
public static final int DOM_VK_UP = 0x26;
public static final int DOM_VK_V = 0x56;
public static final int DOM_VK_W = 0x57;
public static final int DOM_VK_X = 0x58;
public static final int DOM_VK_Y = 0x59;
public static final int DOM_VK_Z = 0x5A;
public boolean getCtrlKey();
public boolean getShiftKey();
public boolean getAltKey();
public boolean getMetaKey();
public int getKeyCode();
public int getCharCode();
public void initKeyEvent(String typeArg,
boolean canBubbleArg,
boolean cancelableArg,
boolean ctrlKeyArg,
boolean altKeyArg,
boolean shiftKeyArg,
boolean metaKeyArg,
int keyCodeArg,
int charCodeArg,
AbstractView viewArg);
}
org/w3c/dom/events/MutationEvent.java:
package org.w3c.dom.events;
import org.w3c.dom.Node;
public interface MutationEvent extends Event {
public Node getRelatedNode();
public String getPrevValue();
public String getNewValue();
public String getAttrName();
public void initMutationEvent(String typeArg,
boolean canBubbleArg,
boolean cancelableArg,
Node relatedNodeArg,
String prevValueArg,
String newValueArg,
String attrNameArg);
}
C.7: Document Object Model Traversal
org/w3c/dom/traversal/NodeIterator.java:
package org.w3c.dom.traversal;
import org.w3c.dom.Node;
public interface NodeIterator {
public int getWhatToShow();
// Constants for whatToShow
public static final int SHOW_ALL = 0x0000FFFF;
public static final int SHOW_ELEMENT = 0x00000001;
public static final int SHOW_ATTRIBUTE = 0x00000002;
public static final int SHOW_TEXT = 0x00000004;
public static final int SHOW_CDATA_SECTION = 0x00000008;
public static final int SHOW_ENTITY_REFERENCE = 0x00000010;
public static final int SHOW_ENTITY = 0x00000020;
public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
public static final int SHOW_COMMENT = 0x00000080;
public static final int SHOW_DOCUMENT = 0x00000100;
public static final int SHOW_DOCUMENT_TYPE = 0x00000200;
public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400;
public static final int SHOW_NOTATION = 0x00000800;
public NodeFilter getFilter();
public boolean getExpandEntityReferences();
public Node nextNode();
public Node previousNode();
}
org/w3c/dom/traversal/NodeFilter.java:
package org.w3c.dom.traversal;
import org.w3c.dom.Node;
public interface NodeFilter {
// Constants returned by acceptNode
public static final short FILTER_ACCEPT = 1;
public static final short FILTER_REJECT = 2;
public static final short FILTER_SKIP = 3;
public short acceptNode(Node n);
}
org/w3c/dom/traversal/TreeWalker.java:
package org.w3c.dom.traversal;
import org.w3c.dom.Node;
public interface TreeWalker {
public int getWhatToShow();
// Constants for whatToShow
public static final int SHOW_ALL = 0x0000FFFF;
public static final int SHOW_ELEMENT = 0x00000001;
public static final int SHOW_ATTRIBUTE = 0x00000002;
public static final int SHOW_TEXT = 0x00000004;
public static final int SHOW_CDATA_SECTION = 0x00000008;
public static final int SHOW_ENTITY_REFERENCE = 0x00000010;
public static final int SHOW_ENTITY = 0x00000020;
public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
public static final int SHOW_COMMENT = 0x00000080;
public static final int SHOW_DOCUMENT = 0x00000100;
public static final int SHOW_DOCUMENT_TYPE = 0x00000200;
public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400;
public static final int SHOW_NOTATION = 0x00000800;
public NodeFilter getFilter();
public boolean getExpandEntityReferences();
public Node getCurrentNode();
public void setCurrentNode(Node currentNode);
public Node parentNode();
public Node firstChild();
public Node lastChild();
public Node previousSibling();
public Node nextSibling();
public Node previousNode();
public Node nextNode();
}
org/w3c/dom/traversal/DocumentTraversal.java:
package org.w3c.dom.traversal;
import org.w3c.dom.DOMException;
import org.w3c.dom.Node;
public interface DocumentTraversal {
public NodeIterator createNodeIterator(Node root,
int whatToShow,
NodeFilter filter,
boolean entityReferenceExpansion);
public TreeWalker createTreeWalker(Node root,
int whatToShow,
NodeFilter filter,
boolean entityReferenceExpansion)
throws DOMException;
}
C.8: Document Object Model Range
org/w3c/dom/range/RangeException.java:
package org.w3c.dom.range;
public abstract class RangeException extends RuntimeException {
public RangeException(short code, String message) {
super(message);
this.code = code;
}
public short code;
// RangeExceptionCode
public static final short BAD_ENDPOINTS_ERR = 201;
public static final short INVALID_NODE_TYPE_ERR = 202;
public static final short NULL_NODE_ERR = 203;
}
org/w3c/dom/range/Range.java:
package org.w3c.dom.range;
import org.w3c.dom.DOMException;
import org.w3c.dom.DocumentFragment;
import org.w3c.dom.Node;
public interface Range {
public Node getStartContainer();
public int getStartOffset();
public Node getEndContainer();
public int getEndOffset();
public boolean getIsCollapsed();
public Node getCommonAncestorContainer();
public void setStart(Node refNode,
int offset)
throws RangeException;
public void setEnd(Node refNode,
int offset)
throws RangeException;
public void setStartBefore(Node refNode)
throws RangeException;
public void setStartAfter(Node refNode)
throws RangeException;
public void setEndBefore(Node refNode)
throws RangeException;
public void setEndAfter(Node refNode)
throws RangeException;
public void collapse(boolean toStart);
public void selectNode(Node refNode)
throws RangeException;
public void selectNodeContents(Node refNode)
throws RangeException;
public static final int StartToStart = 1;
public static final int StartToEnd = 2;
public static final int EndToEnd = 3;
public static final int EndToStart = 4;
public short compareEndPoints(int how,
Range sourceRange)
throws DOMException;
public void deleteContents()
throws DOMException;
public DocumentFragment extractContents()
throws DOMException;
public DocumentFragment cloneContents()
throws DOMException;
public void insertNode(Node newNode)
throws DOMException, RangeException;
public void surroundContents(Node newParent)
throws DOMException, RangeException;
public Range cloneRange();
public String toString();
}
org/w3c/dom/range/DocumentRange.java:
package org.w3c.dom.range;
public interface DocumentRange {
public Range createRange();
}
Appendix D: ECMA Script Language Binding
This appendix contains the complete ECMA Script binding for the Level 2
Document Object Model definitions. The definitions are divided into Core,
HTML, Stylesheets, CSS, Events, Traversal, and Range.
D.1: Document Object Model Core
Object DOMString
Object DOMImplementation
The DOMImplementation object has the following methods:
hasFeature(feature, version)
This method returns a boolean. The feature parameter is of
type DOMString. The version parameter is of type DOMString.
createDocumentType(qualifiedName, publicID, systemID)
This method returns a DocumentType. The qualifiedName
parameter is of type DOMString. The publicID parameter is of
type DOMString. The systemID parameter is of type DOMString.
createDocument(namespaceURI, qualifiedName, doctype)
This method returns a Document. The namespaceURI parameter is
of type DOMString. The qualifiedName parameter is of type
DOMString. The doctype parameter is of type DocumentType.
Object DocumentFragment
DocumentFragment has the all the properties and methods of Node as well
as the properties and methods defined below.
Object Document
Document has the all the properties and methods of Node as well as the
properties and methods defined below.
The Document object has the following properties:
doctype
This property is of type DocumentType.
implementation
This property is of type DOMImplementation.
documentElement
This property is of type Element.
The Document object has the following methods:
createElement(tagName)
This method returns a Element. The tagName parameter is of
type DOMString.
createDocumentFragment()
This method returns a DocumentFragment.
createTextNode(data)
This method returns a Text. The data parameter is of type
DOMString.
createComment(data)
This method returns a Comment. The data parameter is of type
DOMString.
createCDATASection(data)
This method returns a CDATASection. The data parameter is of
type DOMString.
createProcessingInstruction(target, data)
This method returns a ProcessingInstruction. The target
parameter is of type DOMString. The data parameter is of type
DOMString.
createAttribute(name)
This method returns a Attr. The name parameter is of type
DOMString.
createEntityReference(name)
This method returns a EntityReference. The name parameter is
of type DOMString.
getElementsByTagName(tagname)
This method returns a NodeList. The tagname parameter is of
type DOMString.
importNode(importedNode, deep)
This method returns a Node. The importedNode parameter is of
type Node. The deep parameter is of type boolean.
createElementNS(namespaceURI, qualifiedName)
This method returns a Element. The namespaceURI parameter is
of type DOMString. The qualifiedName parameter is of type
DOMString.
createAttributeNS(namespaceURI, qualifiedName)
This method returns a Attr. The namespaceURI parameter is of
type DOMString. The qualifiedName parameter is of type
DOMString.
getElementsByTagNameNS(namespaceURI, localName)
This method returns a NodeList. The namespaceURI parameter is
of type DOMString. The localName parameter is of type
DOMString.
Object Node
The Node object has the following properties:
nodeName
This property is of type String.
nodeValue
This property is of type String.
nodeType
This property is of type short.
parentNode
This property is of type Node.
childNodes
This property is of type NodeList.
firstChild
This property is of type Node.
lastChild
This property is of type Node.
previousSibling
This property is of type Node.
nextSibling
This property is of type Node.
attributes
This property is of type NamedNodeMap.
ownerDocument
This property is of type Document.
namespaceURI
This property is of type String.
prefix
This property is of type String.
localName
This property is of type String.
The Node object has the following methods:
insertBefore(newChild, refChild)
This method returns a Node. The newChild parameter is of type
Node. The refChild parameter is of type Node.
replaceChild(newChild, oldChild)
This method returns a Node. The newChild parameter is of type
Node. The oldChild parameter is of type Node.
removeChild(oldChild)
This method returns a Node. The oldChild parameter is of type
Node.
appendChild(newChild)
This method returns a Node. The newChild parameter is of type
Node.
hasChildNodes()
This method returns a boolean.
cloneNode(deep)
This method returns a Node. The deep parameter is of type
boolean.
supports(feature, version)
This method returns a boolean. The feature parameter is of
type DOMString. The version parameter is of type DOMString.
Object NodeList
The NodeList object has the following properties:
length
This property is of type int.
The NodeList object has the following methods:
item(index)
This method returns a Node. The index parameter is of type
unsigned long.
Object NamedNodeMap
The NamedNodeMap object has the following properties:
length
This property is of type int.
The NamedNodeMap object has the following methods:
getNamedItem(name)
This method returns a Node. The name parameter is of type
DOMString.
setNamedItem(arg)
This method returns a Node. The arg parameter is of type
Node.
removeNamedItem(name)
This method returns a Node. The name parameter is of type
DOMString.
item(index)
This method returns a Node. The index parameter is of type
unsigned long.
getNamedItemNS(namespaceURI, localName)
This method returns a Node. The namespaceURI parameter is of
type DOMString. The localName parameter is of type DOMString.
removeNamedItemNS(namespaceURI, name)
This method returns a Node. The namespaceURI parameter is of
type DOMString. The name parameter is of type DOMString.
Object CharacterData
CharacterData has the all the properties and methods of Node as well as
the properties and methods defined below.
The CharacterData object has the following properties:
data
This property is of type String.
length
This property is of type int.
The CharacterData object has the following methods:
substringData(offset, count)
This method returns a DOMString. The offset parameter is of
type unsigned long. The count parameter is of type unsigned
long.
appendData(arg)
This method returns a void. The arg parameter is of type
DOMString.
insertData(offset, arg)
This method returns a void. The offset parameter is of type
unsigned long. The arg parameter is of type DOMString.
deleteData(offset, count)
This method returns a void. The offset parameter is of type
unsigned long. The count parameter is of type unsigned long.
replaceData(offset, count, arg)
This method returns a void. The offset parameter is of type
unsigned long. The count parameter is of type unsigned long.
The arg parameter is of type DOMString.
Object Attr
Attr has the all the properties and methods of Node as well as the
properties and methods defined below.
The Attr object has the following properties:
name
This property is of type String.
specified
This property is of type boolean.
value
This property is of type String.
ownerElement
This property is of type Element.
Object Element
Element has the all the properties and methods of Node as well as the
properties and methods defined below.
The Element object has the following properties:
tagName
This property is of type String.
The Element object has the following methods:
getAttribute(name)
This method returns a DOMString. The name parameter is of
type DOMString.
setAttribute(name, value)
This method returns a void. The name parameter is of type
DOMString. The value parameter is of type DOMString.
removeAttribute(name)
This method returns a void. The name parameter is of type
DOMString.
getAttributeNode(name)
This method returns a Attr. The name parameter is of type
DOMString.
setAttributeNode(newAttr)
This method returns a Attr. The newAttr parameter is of type
Attr.
removeAttributeNode(oldAttr)
This method returns a Attr. The oldAttr parameter is of type
Attr.
getElementsByTagName(name)
This method returns a NodeList. The name parameter is of type
DOMString.
normalize()
This method returns a void.
getAttributeNS(namespaceURI, localName)
This method returns a DOMString. The namespaceURI parameter
is of type DOMString. The localName parameter is of type
DOMString.
setAttributeNS(namespaceURI, localName, value)
This method returns a void. The namespaceURI parameter is of
type DOMString. The localName parameter is of type DOMString.
The value parameter is of type DOMString.
removeAttributeNS(namespacURI, localName)
This method returns a void. The namespacURI parameter is of
type DOMString. The localName parameter is of type DOMString.
getAttributeNodeNS(namespaceURI, localName)
This method returns a Attr. The namespaceURI parameter is of
type DOMString. The localName parameter is of type DOMString.
setAttributeNodeNS(newAttr)
This method returns a Attr. The newAttr parameter is of type
Attr.
getElementsByTagNameNS(namespaceURI, localName)
This method returns a NodeList. The namespaceURI parameter is
of type DOMString. The localName parameter is of type
DOMString.
Object Text
Text has the all the properties and methods of CharacterData as well as
the properties and methods defined below.
The Text object has the following methods:
splitText(offset)
This method returns a Text. The offset parameter is of type
unsigned long.
Object Comment
Comment has the all the properties and methods of CharacterData as well
as the properties and methods defined below.
Object CDATASection
CDATASection has the all the properties and methods of Text as well as
the properties and methods defined below.
Object DocumentType
DocumentType has the all the properties and methods of Node as well as
the properties and methods defined below.
The DocumentType object has the following properties:
name
This property is of type String.
entities
This property is of type NamedNodeMap.
notations
This property is of type NamedNodeMap.
publicID
This property is of type String.
systemID
This property is of type String.
Object Notation
Notation has the all the properties and methods of Node as well as the
properties and methods defined below.
The Notation object has the following properties:
publicId
This property is of type String.
systemId
This property is of type String.
Object Entity
Entity has the all the properties and methods of Node as well as the
properties and methods defined below.
The Entity object has the following properties:
publicId
This property is of type String.
systemId
This property is of type String.
notationName
This property is of type String.
Object EntityReference
EntityReference has the all the properties and methods of Node as well
as the properties and methods defined below.
Object ProcessingInstruction
ProcessingInstruction has the all the properties and methods of Node as
well as the properties and methods defined below.
The ProcessingInstruction object has the following properties:
target
This property is of type String.
data
This property is of type String.
D.2: Document Object Model HTML
Object HTMLDOMImplementation
HTMLDOMImplementation has the all the properties and methods of
DOMImplementation as well as the properties and methods defined below.
The HTMLDOMImplementation object has the following methods:
createHTMLDocument(title)
This method returns a HTMLDocument. The title parameter is of
type DOMString.
Object HTMLCollection
The HTMLCollection object has the following properties:
length
This property is of type int.
The HTMLCollection object has the following methods:
item(index)
This method returns a Node. The index parameter is of type
unsigned long.
namedItem(name)
This method returns a Node. The name parameter is of type
DOMString.
Object HTMLDocument
HTMLDocument has the all the properties and methods of Document as well
as the properties and methods defined below.
The HTMLDocument object has the following properties:
title
This property is of type String.
referrer
This property is of type String.
domain
This property is of type String.
URL
This property is of type String.
body
This property is of type HTMLElement.
images
This property is of type HTMLCollection.
applets
This property is of type HTMLCollection.
links
This property is of type HTMLCollection.
forms
This property is of type HTMLCollection.
anchors
This property is of type HTMLCollection.
cookie
This property is of type String.
The HTMLDocument object has the following methods:
open()
This method returns a void.
close()
This method returns a void.
write(text)
This method returns a void. The text parameter is of type
DOMString.
writeln(text)
This method returns a void. The text parameter is of type
DOMString.
getElementById(elementId)
This method returns a Element. The elementId parameter is of
type DOMString.
getElementsByName(elementName)
This method returns a NodeList. The elementName parameter is
of type DOMString.
Object HTMLElement
HTMLElement has the all the properties and methods of Element as well
as the properties and methods defined below.
The HTMLElement object has the following properties:
id
This property is of type String.
title
This property is of type String.
lang
This property is of type String.
dir
This property is of type String.
className
This property is of type String.
Object HTMLHtmlElement
HTMLHtmlElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLHtmlElement object has the following properties:
version
This property is of type String.
Object HTMLHeadElement
HTMLHeadElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLHeadElement object has the following properties:
profile
This property is of type String.
Object HTMLLinkElement
HTMLLinkElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLLinkElement object has the following properties:
disabled
This property is of type boolean.
charset
This property is of type String.
href
This property is of type String.
hreflang
This property is of type String.
media
This property is of type String.
rel
This property is of type String.
rev
This property is of type String.
target
This property is of type String.
type
This property is of type String.
Object HTMLTitleElement
HTMLTitleElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLTitleElement object has the following properties:
text
This property is of type String.
Object HTMLMetaElement
HTMLMetaElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLMetaElement object has the following properties:
content
This property is of type String.
httpEquiv
This property is of type String.
name
This property is of type String.
scheme
This property is of type String.
Object HTMLBaseElement
HTMLBaseElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLBaseElement object has the following properties:
href
This property is of type String.
target
This property is of type String.
Object HTMLIsIndexElement
HTMLIsIndexElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLIsIndexElement object has the following properties:
form
This property is of type HTMLFormElement.
prompt
This property is of type String.
Object HTMLStyleElement
HTMLStyleElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLStyleElement object has the following properties:
disabled
This property is of type boolean.
media
This property is of type String.
type
This property is of type String.
Object HTMLBodyElement
HTMLBodyElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLBodyElement object has the following properties:
aLink
This property is of type String.
background
This property is of type String.
bgColor
This property is of type String.
link
This property is of type String.
text
This property is of type String.
vLink
This property is of type String.
Object HTMLFormElement
HTMLFormElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLFormElement object has the following properties:
elements
This property is of type HTMLCollection.
length
This property is of type long.
name
This property is of type String.
acceptCharset
This property is of type String.
action
This property is of type String.
enctype
This property is of type String.
method
This property is of type String.
target
This property is of type String.
The HTMLFormElement object has the following methods:
submit()
This method returns a void.
reset()
This method returns a void.
Object HTMLSelectElement
HTMLSelectElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLSelectElement object has the following properties:
type
This property is of type String.
selectedIndex
This property is of type long.
value
This property is of type String.
length
This property is of type long.
form
This property is of type HTMLFormElement.
options
This property is of type HTMLCollection.
disabled
This property is of type boolean.
multiple
This property is of type boolean.
name
This property is of type String.
size
This property is of type long.
tabIndex
This property is of type long.
The HTMLSelectElement object has the following methods:
add(element, before)
This method returns a void. The element parameter is of type
HTMLElement. The before parameter is of type HTMLElement.
remove(index)
This method returns a void. The index parameter is of type
long.
blur()
This method returns a void.
focus()
This method returns a void.
Object HTMLOptGroupElement
HTMLOptGroupElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLOptGroupElement object has the following properties:
disabled
This property is of type boolean.
label
This property is of type String.
Object HTMLOptionElement
HTMLOptionElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLOptionElement object has the following properties:
form
This property is of type HTMLFormElement.
defaultSelected
This property is of type boolean.
text
This property is of type String.
index
This property is of type long.
disabled
This property is of type boolean.
label
This property is of type String.
selected
This property is of type boolean.
value
This property is of type String.
Object HTMLInputElement
HTMLInputElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLInputElement object has the following properties:
defaultValue
This property is of type String.
defaultChecked
This property is of type boolean.
form
This property is of type HTMLFormElement.
accept
This property is of type String.
accessKey
This property is of type String.
align
This property is of type String.
alt
This property is of type String.
checked
This property is of type boolean.
disabled
This property is of type boolean.
maxLength
This property is of type long.
name
This property is of type String.
readOnly
This property is of type boolean.
size
This property is of type String.
src
This property is of type String.
tabIndex
This property is of type long.
type
This property is of type String.
useMap
This property is of type String.
value
This property is of type String.
The HTMLInputElement object has the following methods:
blur()
This method returns a void.
focus()
This method returns a void.
select()
This method returns a void.
click()
This method returns a void.
Object HTMLTextAreaElement
HTMLTextAreaElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTextAreaElement object has the following properties:
defaultValue
This property is of type String.
form
This property is of type HTMLFormElement.
accessKey
This property is of type String.
cols
This property is of type long.
disabled
This property is of type boolean.
name
This property is of type String.
readOnly
This property is of type boolean.
rows
This property is of type long.
tabIndex
This property is of type long.
type
This property is of type String.
value
This property is of type String.
The HTMLTextAreaElement object has the following methods:
blur()
This method returns a void.
focus()
This method returns a void.
select()
This method returns a void.
Object HTMLButtonElement
HTMLButtonElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLButtonElement object has the following properties:
form
This property is of type HTMLFormElement.
accessKey
This property is of type String.
disabled
This property is of type boolean.
name
This property is of type String.
tabIndex
This property is of type long.
type
This property is of type String.
value
This property is of type String.
Object HTMLLabelElement
HTMLLabelElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLLabelElement object has the following properties:
form
This property is of type HTMLFormElement.
accessKey
This property is of type String.
htmlFor
This property is of type String.
Object HTMLFieldSetElement
HTMLFieldSetElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLFieldSetElement object has the following properties:
form
This property is of type HTMLFormElement.
Object HTMLLegendElement
HTMLLegendElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLLegendElement object has the following properties:
form
This property is of type HTMLFormElement.
accessKey
This property is of type String.
align
This property is of type String.
Object HTMLUListElement
HTMLUListElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLUListElement object has the following properties:
compact
This property is of type boolean.
type
This property is of type String.
Object HTMLOListElement
HTMLOListElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLOListElement object has the following properties:
compact
This property is of type boolean.
start
This property is of type long.
type
This property is of type String.
Object HTMLDListElement
HTMLDListElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLDListElement object has the following properties:
compact
This property is of type boolean.
Object HTMLDirectoryElement
HTMLDirectoryElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLDirectoryElement object has the following properties:
compact
This property is of type boolean.
Object HTMLMenuElement
HTMLMenuElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLMenuElement object has the following properties:
compact
This property is of type boolean.
Object HTMLLIElement
HTMLLIElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLLIElement object has the following properties:
type
This property is of type String.
value
This property is of type long.
Object HTMLDivElement
HTMLDivElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLDivElement object has the following properties:
align
This property is of type String.
Object HTMLParagraphElement
HTMLParagraphElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLParagraphElement object has the following properties:
align
This property is of type String.
Object HTMLHeadingElement
HTMLHeadingElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLHeadingElement object has the following properties:
align
This property is of type String.
Object HTMLQuoteElement
HTMLQuoteElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLQuoteElement object has the following properties:
cite
This property is of type String.
Object HTMLPreElement
HTMLPreElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLPreElement object has the following properties:
width
This property is of type long.
Object HTMLBRElement
HTMLBRElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLBRElement object has the following properties:
clear
This property is of type String.
Object HTMLBaseFontElement
HTMLBaseFontElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLBaseFontElement object has the following properties:
color
This property is of type String.
face
This property is of type String.
size
This property is of type String.
Object HTMLFontElement
HTMLFontElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLFontElement object has the following properties:
color
This property is of type String.
face
This property is of type String.
size
This property is of type String.
Object HTMLHRElement
HTMLHRElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLHRElement object has the following properties:
align
This property is of type String.
noShade
This property is of type boolean.
size
This property is of type String.
width
This property is of type String.
Object HTMLModElement
HTMLModElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLModElement object has the following properties:
cite
This property is of type String.
dateTime
This property is of type String.
Object HTMLAnchorElement
HTMLAnchorElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLAnchorElement object has the following properties:
accessKey
This property is of type String.
charset
This property is of type String.
coords
This property is of type String.
href
This property is of type String.
hreflang
This property is of type String.
name
This property is of type String.
rel
This property is of type String.
rev
This property is of type String.
shape
This property is of type String.
tabIndex
This property is of type long.
target
This property is of type String.
type
This property is of type String.
The HTMLAnchorElement object has the following methods:
blur()
This method returns a void.
focus()
This method returns a void.
Object HTMLImageElement
HTMLImageElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLImageElement object has the following properties:
lowSrc
This property is of type String.
name
This property is of type String.
align
This property is of type String.
alt
This property is of type String.
border
This property is of type String.
height
This property is of type String.
hspace
This property is of type String.
isMap
This property is of type boolean.
longDesc
This property is of type String.
src
This property is of type String.
useMap
This property is of type String.
vspace
This property is of type String.
width
This property is of type String.
Object HTMLObjectElement
HTMLObjectElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLObjectElement object has the following properties:
form
This property is of type HTMLFormElement.
code
This property is of type String.
align
This property is of type String.
archive
This property is of type String.
border
This property is of type String.
codeBase
This property is of type String.
codeType
This property is of type String.
data
This property is of type String.
declare
This property is of type boolean.
height
This property is of type String.
hspace
This property is of type String.
name
This property is of type String.
standby
This property is of type String.
tabIndex
This property is of type long.
type
This property is of type String.
useMap
This property is of type String.
vspace
This property is of type String.
width
This property is of type String.
Object HTMLParamElement
HTMLParamElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLParamElement object has the following properties:
name
This property is of type String.
type
This property is of type String.
value
This property is of type String.
valueType
This property is of type String.
Object HTMLAppletElement
HTMLAppletElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLAppletElement object has the following properties:
align
This property is of type String.
alt
This property is of type String.
archive
This property is of type String.
code
This property is of type String.
codeBase
This property is of type String.
height
This property is of type String.
hspace
This property is of type String.
name
This property is of type String.
object
This property is of type String.
vspace
This property is of type String.
width
This property is of type String.
Object HTMLMapElement
HTMLMapElement has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLMapElement object has the following properties:
areas
This property is of type HTMLCollection.
name
This property is of type String.
Object HTMLAreaElement
HTMLAreaElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLAreaElement object has the following properties:
accessKey
This property is of type String.
alt
This property is of type String.
coords
This property is of type String.
href
This property is of type String.
noHref
This property is of type boolean.
shape
This property is of type String.
tabIndex
This property is of type long.
target
This property is of type String.
Object HTMLScriptElement
HTMLScriptElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLScriptElement object has the following properties:
text
This property is of type String.
htmlFor
This property is of type String.
event
This property is of type String.
charset
This property is of type String.
defer
This property is of type boolean.
src
This property is of type String.
type
This property is of type String.
Object HTMLTableElement
HTMLTableElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLTableElement object has the following properties:
caption
This property is of type HTMLTableCaptionElement.
tHead
This property is of type HTMLTableSectionElement.
tFoot
This property is of type HTMLTableSectionElement.
rows
This property is of type HTMLCollection.
tBodies
This property is of type HTMLCollection.
align
This property is of type String.
bgColor
This property is of type String.
border
This property is of type String.
cellPadding
This property is of type String.
cellSpacing
This property is of type String.
frame
This property is of type String.
rules
This property is of type String.
summary
This property is of type String.
width
This property is of type String.
The HTMLTableElement object has the following methods:
createTHead()
This method returns a HTMLElement.
deleteTHead()
This method returns a void.
createTFoot()
This method returns a HTMLElement.
deleteTFoot()
This method returns a void.
createCaption()
This method returns a HTMLElement.
deleteCaption()
This method returns a void.
insertRow(index)
This method returns a HTMLElement. The index parameter is of
type long.
deleteRow(index)
This method returns a void. The index parameter is of type
long.
Object HTMLTableCaptionElement
HTMLTableCaptionElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTableCaptionElement object has the following properties:
align
This property is of type String.
Object HTMLTableColElement
HTMLTableColElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTableColElement object has the following properties:
align
This property is of type String.
ch
This property is of type String.
chOff
This property is of type String.
span
This property is of type long.
vAlign
This property is of type String.
width
This property is of type String.
Object HTMLTableSectionElement
HTMLTableSectionElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTableSectionElement object has the following properties:
align
This property is of type String.
ch
This property is of type String.
chOff
This property is of type String.
vAlign
This property is of type String.
rows
This property is of type HTMLCollection.
The HTMLTableSectionElement object has the following methods:
insertRow(index)
This method returns a HTMLElement. The index parameter is of
type long.
deleteRow(index)
This method returns a void. The index parameter is of type
long.
Object HTMLTableRowElement
HTMLTableRowElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTableRowElement object has the following properties:
rowIndex
This property is of type long.
sectionRowIndex
This property is of type long.
cells
This property is of type HTMLCollection.
align
This property is of type String.
bgColor
This property is of type String.
ch
This property is of type String.
chOff
This property is of type String.
vAlign
This property is of type String.
The HTMLTableRowElement object has the following methods:
insertCell(index)
This method returns a HTMLElement. The index parameter is of
type long.
deleteCell(index)
This method returns a void. The index parameter is of type
long.
Object HTMLTableCellElement
HTMLTableCellElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLTableCellElement object has the following properties:
cellIndex
This property is of type long.
abbr
This property is of type String.
align
This property is of type String.
axis
This property is of type String.
bgColor
This property is of type String.
ch
This property is of type String.
chOff
This property is of type String.
colSpan
This property is of type long.
headers
This property is of type String.
height
This property is of type String.
noWrap
This property is of type boolean.
rowSpan
This property is of type long.
scope
This property is of type String.
vAlign
This property is of type String.
width
This property is of type String.
Object HTMLFrameSetElement
HTMLFrameSetElement has the all the properties and methods of
HTMLElement as well as the properties and methods defined below.
The HTMLFrameSetElement object has the following properties:
cols
This property is of type String.
rows
This property is of type String.
Object HTMLFrameElement
HTMLFrameElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLFrameElement object has the following properties:
frameBorder
This property is of type String.
longDesc
This property is of type String.
marginHeight
This property is of type String.
marginWidth
This property is of type String.
name
This property is of type String.
noResize
This property is of type boolean.
scrolling
This property is of type String.
src
This property is of type String.
Object HTMLIFrameElement
HTMLIFrameElement has the all the properties and methods of HTMLElement
as well as the properties and methods defined below.
The HTMLIFrameElement object has the following properties:
align
This property is of type String.
frameBorder
This property is of type String.
height
This property is of type String.
longDesc
This property is of type String.
marginHeight
This property is of type String.
marginWidth
This property is of type String.
name
This property is of type String.
scrolling
This property is of type String.
src
This property is of type String.
width
This property is of type String.
D.3: Document Object Model Views
Object AbstractView
The AbstractView object has the following properties:
document
This property is of type DocumentView.
Object DocumentView
The DocumentView object has the following properties:
defaultView
This property is of type AbstractView.
D.4: Document Object Model Stylesheets
Object StyleSheet
The StyleSheet object has the following properties:
type
This property is of type String.
disabled
This property is of type boolean.
ownerNode
This property is of type Node.
parentStyleSheet
This property is of type StyleSheet.
href
This property is of type String.
title
This property is of type String.
media
This property is of type MediaList.
Object StyleSheetList
The StyleSheetList object has the following properties:
length
This property is of type int.
The StyleSheetList object has the following methods:
item(index)
This method returns a StyleSheet. The index parameter is of
type unsigned long.
Object MediaList
The MediaList object has the following properties:
cssText
This property is of type String.
length
This property is of type int.
The MediaList object has the following methods:
item(index)
This method returns a DOMString. The index parameter is of
type unsigned long.
delete(oldMedium)
This method returns a void. The oldMedium parameter is of
type DOMString.
append(newMedium)
This method returns a void. The newMedium parameter is of
type DOMString.
Object LinkStyle
The LinkStyle object has the following properties:
sheet
This property is of type StyleSheet.
Object DocumentStyle
The DocumentStyle object has the following properties:
styleSheets
This property is of type StyleSheetList.
D.5: Document Object Model CSS
Object CSSStyleSheet
CSSStyleSheet has the all the properties and methods of StyleSheet as
well as the properties and methods defined below.
The CSSStyleSheet object has the following properties:
ownerRule
This property is of type CSSRule.
cssRules
This property is of type CSSRuleList.
The CSSStyleSheet object has the following methods:
insertRule(rule, index)
This method returns a unsigned long. The rule parameter is of
type DOMString. The index parameter is of type unsigned long.
deleteRule(index)
This method returns a void. The index parameter is of type
unsigned long.
Object CSSRuleList
The CSSRuleList object has the following properties:
length
This property is of type int.
The CSSRuleList object has the following methods:
item(index)
This method returns a CSSRule. The index parameter is of type
unsigned long.
Object CSSRule
The CSSRule object has the following properties:
type
This property is of type short.
cssText
This property is of type String.
parentStyleSheet
This property is of type CSSStyleSheet.
parentRule
This property is of type CSSRule.
Object CSSStyleRule
CSSStyleRule has the all the properties and methods of CSSRule as well
as the properties and methods defined below.
The CSSStyleRule object has the following properties:
selectorText
This property is of type String.
style
This property is of type CSSStyleDeclaration.
Object CSSMediaRule
CSSMediaRule has the all the properties and methods of CSSRule as well
as the properties and methods defined below.
The CSSMediaRule object has the following properties:
media
This property is of type MediaList.
cssRules
This property is of type CSSRuleList.
The CSSMediaRule object has the following methods:
insertRule(rule, index)
This method returns a unsigned long. The rule parameter is of
type DOMString. The index parameter is of type unsigned long.
deleteRule(index)
This method returns a void. The index parameter is of type
unsigned long.
Object CSSFontFaceRule
CSSFontFaceRule has the all the properties and methods of CSSRule as
well as the properties and methods defined below.
The CSSFontFaceRule object has the following properties:
style
This property is of type CSSStyleDeclaration.
Object CSSPageRule
CSSPageRule has the all the properties and methods of CSSRule as well
as the properties and methods defined below.
The CSSPageRule object has the following properties:
selectorText
This property is of type String.
style
This property is of type CSSStyleDeclaration.
Object CSSImportRule
CSSImportRule has the all the properties and methods of CSSRule as well
as the properties and methods defined below.
The CSSImportRule object has the following properties:
href
This property is of type String.
media
This property is of type MediaList.
styleSheet
This property is of type CSSStyleSheet.
Object CSSCharsetRule
CSSCharsetRule has the all the properties and methods of CSSRule as
well as the properties and methods defined below.
The CSSCharsetRule object has the following properties:
encoding
This property is of type String.
Object CSSUnknownRule
CSSUnknownRule has the all the properties and methods of CSSRule as
well as the properties and methods defined below.
Object CSSStyleDeclaration
The CSSStyleDeclaration object has the following properties:
cssText
This property is of type String.
length
This property is of type int.
parentRule
This property is of type CSSRule.
The CSSStyleDeclaration object has the following methods:
getPropertyValue(propertyName)
This method returns a DOMString. The propertyName parameter
is of type DOMString.
getPropertyCSSValue(propertyName)
This method returns a CSSValue. The propertyName parameter is
of type DOMString.
removeProperty(propertyName)
This method returns a DOMString. The propertyName parameter
is of type DOMString.
getPropertyPriority(propertyName)
This method returns a DOMString. The propertyName parameter
is of type DOMString.
setProperty(propertyName, value, priority)
This method returns a void. The propertyName parameter is of
type DOMString. The value parameter is of type DOMString. The
priority parameter is of type DOMString.
item(index)
This method returns a DOMString. The index parameter is of
type unsigned long.
Object CSSValue
The CSSValue object has the following properties:
cssText
This property is of type String.
valueType
This property is of type short.
Object CSSPrimitiveValue
CSSPrimitiveValue has the all the properties and methods of CSSValue as
well as the properties and methods defined below.
The CSSPrimitiveValue object has the following properties:
primitiveType
This property is of type short.
The CSSPrimitiveValue object has the following methods:
setFloatValue(unitType, floatValue)
This method returns a void. The unitType parameter is of type
unsigned short. The floatValue parameter is of type float.
getFloatValue(unitType)
This method returns a float. The unitType parameter is of
type unsigned short.
setStringValue(stringType, stringValue)
This method returns a void. The stringType parameter is of
type unsigned short. The stringValue parameter is of type
DOMString.
getStringValue()
This method returns a DOMString.
getCounterValue()
This method returns a Counter.
getRectValue()
This method returns a Rect.
getRGBColorValue()
This method returns a RGBColor.
Object CSSValueList
CSSValueList has the all the properties and methods of CSSValue as well
as the properties and methods defined below.
The CSSValueList object has the following properties:
length
This property is of type int.
The CSSValueList object has the following methods:
item(index)
This method returns a CSSValue. The index parameter is of
type unsigned long.
Object RGBColor
The RGBColor object has the following properties:
red
This property is of type CSSPrimitiveValue.
green
This property is of type CSSPrimitiveValue.
blue
This property is of type CSSPrimitiveValue.
Object Rect
The Rect object has the following properties:
top
This property is of type CSSPrimitiveValue.
right
This property is of type CSSPrimitiveValue.
bottom
This property is of type CSSPrimitiveValue.
left
This property is of type CSSPrimitiveValue.
Object Counter
The Counter object has the following properties:
identifier
This property is of type String.
listStyle
This property is of type String.
separator
This property is of type String.
Object ViewCSS
ViewCSS has the all the properties and methods of AbstractView as well
as the properties and methods defined below.
The ViewCSS object has the following methods:
getComputedStyle(elt, pseudoElt)
This method returns a CSSStyleDeclaration. The elt parameter
is of type Element. The pseudoElt parameter is of type
DOMString.
Object DocumentCSS
DocumentCSS has the all the properties and methods of DocumentStyle as
well as the properties and methods defined below.
The DocumentCSS object has the following methods:
getOverrideStyle(elt, pseudoElt)
This method returns a CSSStyleDeclaration. The elt parameter
is of type Element. The pseudoElt parameter is of type
DOMString.
Object DOMImplementationCSS
DOMImplementationCSS has the all the properties and methods of
DOMImplementation as well as the properties and methods defined below.
The DOMImplementationCSS object has the following methods:
createCSSStyleSheet(title, media)
This method returns a CSSStyleSheet. The title parameter is
of type DOMString. The media parameter is of type DOMString.
Object CSS2Azimuth
CSS2Azimuth has the all the properties and methods of CSSValue as well
as the properties and methods defined below.
The CSS2Azimuth object has the following properties:
azimuthType
This property is of type short.
identifier
This property is of type String.
behind
This property is of type boolean.
The CSS2Azimuth object has the following methods:
setAngleValue(uType, fValue)
This method returns a void. The uType parameter is of type
unsigned short. The fValue parameter is of type float.
getAngleValue(uType)
This method returns a float. The uType parameter is of type
unsigned short.
setIdentifier(ident, b)
This method returns a void. The ident parameter is of type
DOMString. The b parameter is of type boolean.
Object CSS2BackgroundPosition
CSS2BackgroundPosition has the all the properties and methods of
CSSValue as well as the properties and methods defined below.
The CSS2BackgroundPosition object has the following properties:
horizontalType
This property is of type short.
verticalType
This property is of type short.
horizontalIdentifier
This property is of type String.
verticalIdentifier
This property is of type String.
The CSS2BackgroundPosition object has the following methods:
getHorizontalPosition(hType)
This method returns a float. The hType parameter is of type
float.
getVerticalPosition(vType)
This method returns a float. The vType parameter is of type
float.
setHorizontalPosition(hType, value)
This method returns a void. The hType parameter is of type
unsigned short. The value parameter is of type float.
setVerticalPosition(vType, value)
This method returns a void. The vType parameter is of type
unsigned short. The value parameter is of type float.
setPositionIdentifier(hIdentifier, vIdentifier)
This method returns a void. The hIdentifier parameter is of
type DOMString. The vIdentifier parameter is of type
DOMString.
Object CSS2BorderSpacing
CSS2BorderSpacing has the all the properties and methods of CSSValue as
well as the properties and methods defined below.
The CSS2BorderSpacing object has the following properties:
horizontalType
This property is of type short.
verticalType
This property is of type short.
The CSS2BorderSpacing object has the following methods:
getHorizontalSpacing(hType)
This method returns a float. The hType parameter is of type
float.
getVerticalSpacing(vType)
This method returns a float. The vType parameter is of type
float.
setHorizontalSpacing(hType, value)
This method returns a void. The hType parameter is of type
unsigned short. The value parameter is of type float.
setVerticalSpacing(vType, value)
This method returns a void. The vType parameter is of type
unsigned short. The value parameter is of type float.
Object CSS2CounterReset
CSS2CounterReset has the all the properties and methods of CSSValue as
well as the properties and methods defined below.
The CSS2CounterReset object has the following properties:
identifier
This property is of type String.
reset
This property is of type short.
Object CSS2CounterIncrement
CSS2CounterIncrement has the all the properties and methods of CSSValue
as well as the properties and methods defined below.
The CSS2CounterIncrement object has the following properties:
identifier
This property is of type String.
increment
This property is of type short.
Object CSS2Cursor
CSS2Cursor has the all the properties and methods of CSSValue as well
as the properties and methods defined below.
The CSS2Cursor object has the following properties:
uris
This property is of type CSSValueList.
predefinedCursor
This property is of type String.
Object CSS2PlayDuring
CSS2PlayDuring has the all the properties and methods of CSSValue as
well as the properties and methods defined below.
The CSS2PlayDuring object has the following properties:
playDuringType
This property is of type short.
playDuringIdentifier
This property is of type String.
uri
This property is of type String.
mix
This property is of type boolean.
repeat
This property is of type boolean.
Object CSS2TextShadow
The CSS2TextShadow object has the following properties:
color
This property is of type CSSValue.
horizontal
This property is of type CSSValue.
vertical
This property is of type CSSValue.
blur
This property is of type CSSValue.
Object CSS2FontFaceSrc
The CSS2FontFaceSrc object has the following properties:
uri
This property is of type String.
format
This property is of type CSSValueList.
fontFaceName
This property is of type String.
Object CSS2FontFaceWidths
The CSS2FontFaceWidths object has the following properties:
urange
This property is of type String.
numbers
This property is of type CSSValueList.
Object CSS2PageSize
CSS2PageSize has the all the properties and methods of CSSValue as well
as the properties and methods defined below.
The CSS2PageSize object has the following properties:
widthType
This property is of type short.
heightType
This property is of type short.
identifier
This property is of type String.
The CSS2PageSize object has the following methods:
getWidth(wType)
This method returns a float. The wType parameter is of type
float.
getHeightSize(hType)
This method returns a float. The hType parameter is of type
float.
setWidthSize(wType, value)
This method returns a void. The wType parameter is of type
unsigned short. The value parameter is of type float.
setHeightSize(hType, value)
This method returns a void. The hType parameter is of type
unsigned short. The value parameter is of type float.
setIdentifier(ident)
This method returns a void. The ident parameter is of type
DOMString.
Object CSS2Properties
The CSS2Properties object has the following properties:
azimuth
This property is of type String.
background
This property is of type String.
backgroundAttachment
This property is of type String.
backgroundColor
This property is of type String.
backgroundImage
This property is of type String.
backgroundPosition
This property is of type String.
backgroundRepeat
This property is of type String.
border
This property is of type String.
borderCollapse
This property is of type String.
borderColor
This property is of type String.
borderSpacing
This property is of type String.
borderStyle
This property is of type String.
borderTop
This property is of type String.
borderRight
This property is of type String.
borderBottom
This property is of type String.
borderLeft
This property is of type String.
borderTopColor
This property is of type String.
borderRightColor
This property is of type String.
borderBottomColor
This property is of type String.
borderLeftColor
This property is of type String.
borderTopStyle
This property is of type String.
borderRightStyle
This property is of type String.
borderBottomStyle
This property is of type String.
borderLeftStyle
This property is of type String.
borderTopWidth
This property is of type String.
borderRightWidth
This property is of type String.
borderBottomWidth
This property is of type String.
borderLeftWidth
This property is of type String.
borderWidth
This property is of type String.
bottom
This property is of type String.
captionSide
This property is of type String.
clear
This property is of type String.
clip
This property is of type String.
color
This property is of type String.
content
This property is of type String.
counterIncrement
This property is of type String.
counterReset
This property is of type String.
cue
This property is of type String.
cueAfter
This property is of type String.
cueBefore
This property is of type String.
cursor
This property is of type String.
direction
This property is of type String.
display
This property is of type String.
elevation
This property is of type String.
emptyCells
This property is of type String.
cssFloat
This property is of type String.
font
This property is of type String.
fontFamily
This property is of type String.
fontSize
This property is of type String.
fontSizeAdjust
This property is of type String.
fontStretch
This property is of type String.
fontStyle
This property is of type String.
fontVariant
This property is of type String.
fontWeight
This property is of type String.
height
This property is of type String.
left
This property is of type String.
letterSpacing
This property is of type String.
lineHeight
This property is of type String.
listStyle
This property is of type String.
listStyleImage
This property is of type String.
listStylePosition
This property is of type String.
listStyleType
This property is of type String.
margin
This property is of type String.
marginTop
This property is of type String.
marginRight
This property is of type String.
marginBottom
This property is of type String.
marginLeft
This property is of type String.
markerOffset
This property is of type String.
marks
This property is of type String.
maxHeight
This property is of type String.
maxWidth
This property is of type String.
minHeight
This property is of type String.
minWidth
This property is of type String.
orphans
This property is of type String.
outline
This property is of type String.
outlineColor
This property is of type String.
outlineStyle
This property is of type String.
outlineWidth
This property is of type String.
overflow
This property is of type String.
padding
This property is of type String.
paddingTop
This property is of type String.
paddingRight
This property is of type String.
paddingBottom
This property is of type String.
paddingLeft
This property is of type String.
page
This property is of type String.
pageBreakAfter
This property is of type String.
pageBreakBefore
This property is of type String.
pageBreakInside
This property is of type String.
pause
This property is of type String.
pauseAfter
This property is of type String.
pauseBefore
This property is of type String.
pitch
This property is of type String.
pitchRange
This property is of type String.
playDuring
This property is of type String.
position
This property is of type String.
quotes
This property is of type String.
richness
This property is of type String.
right
This property is of type String.
size
This property is of type String.
speak
This property is of type String.
speakHeader
This property is of type String.
speakNumeral
This property is of type String.
speakPunctuation
This property is of type String.
speechRate
This property is of type String.
stress
This property is of type String.
tableLayout
This property is of type String.
textAlign
This property is of type String.
textDecoration
This property is of type String.
textIndent
This property is of type String.
textShadow
This property is of type String.
textTransform
This property is of type String.
top
This property is of type String.
unicodeBidi
This property is of type String.
verticalAlign
This property is of type String.
visibility
This property is of type String.
voiceFamily
This property is of type String.
volume
This property is of type String.
whiteSpace
This property is of type String.
widows
This property is of type String.
width
This property is of type String.
wordSpacing
This property is of type String.
zIndex
This property is of type String.
Object HTMLElementCSS
HTMLElementCSS has the all the properties and methods of HTMLElement as
well as the properties and methods defined below.
The HTMLElementCSS object has the following properties:
style
This property is of type CSSStyleDeclaration.
D.6: Document Object Model Events
Object EventTarget
The EventTarget object has the following methods:
addEventListener(type, listener, useCapture)
This method returns a void. The type parameter is of type
DOMString. The listener parameter is of type EventListener.
The useCapture parameter is of type boolean.
removeEventListener(type, listener, useCapture)
This method returns a void. The type parameter is of type
DOMString. The listener parameter is of type EventListener.
The useCapture parameter is of type boolean.
dispatchEvent(evt)
This method returns a boolean. The evt parameter is of type
Event.
Object EventListener
The EventListener object has the following methods:
handleEvent(evt)
This method returns a void. The evt parameter is of type
Event.
Object Event
The Event object has the following properties:
type
This property is of type String.
target
This property is of type EventTarget.
currentNode
This property is of type Node.
eventPhase
This property is of type short.
bubbles
This property is of type boolean.
cancelable
This property is of type boolean.
The Event object has the following methods:
preventBubble()
This method returns a void.
preventCapture()
This method returns a void.
preventDefault()
This method returns a void.
initEvent(eventTypeArg, canBubbleArg, cancelableArg)
This method returns a void. The eventTypeArg parameter is of
type DOMString. The canBubbleArg parameter is of type
boolean. The cancelableArg parameter is of type boolean.
Object DocumentEvent
The DocumentEvent object has the following methods:
createEvent(type)
This method returns a Event. The type parameter is of type
DOMString.
Object UIEvent
UIEvent has the all the properties and methods of Event as well as the
properties and methods defined below.
The UIEvent object has the following properties:
view
This property is of type AbstractView.
detail
This property is of type short.
The UIEvent object has the following methods:
initUIEvent(typeArg, canBubbleArg, cancelableArg, viewArg,
detailArg)
This method returns a void. The typeArg parameter is of type
DOMString. The canBubbleArg parameter is of type boolean. The
cancelableArg parameter is of type boolean. The viewArg
parameter is of type views::AbstractView. The detailArg
parameter is of type unsigned short.
Object MouseEvent
MouseEvent has the all the properties and methods of UIEvent as well as
the properties and methods defined below.
The MouseEvent object has the following properties:
screenX
This property is of type long.
screenY
This property is of type long.
clientX
This property is of type long.
clientY
This property is of type long.
ctrlKey
This property is of type boolean.
shiftKey
This property is of type boolean.
altKey
This property is of type boolean.
metaKey
This property is of type boolean.
button
This property is of type short.
relatedNode
This property is of type Node.
The MouseEvent object has the following methods:
initMouseEvent(typeArg, canBubbleArg, cancelableArg, viewArg,
detailArg, screenXArg, screenYArg, clientXArg, clientYArg,
ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg,
relatedNodeArg)
This method returns a void. The typeArg parameter is of type
DOMString. The canBubbleArg parameter is of type boolean. The
cancelableArg parameter is of type boolean. The viewArg
parameter is of type views::AbstractView. The detailArg
parameter is of type unsigned short. The screenXArg parameter
is of type long. The screenYArg parameter is of type long.
The clientXArg parameter is of type long. The clientYArg
parameter is of type long. The ctrlKeyArg parameter is of
type boolean. The altKeyArg parameter is of type boolean. The
shiftKeyArg parameter is of type boolean. The metaKeyArg
parameter is of type boolean. The buttonArg parameter is of
type unsigned short. The relatedNodeArg parameter is of type
Node.
Object KeyEvent
KeyEvent has the all the properties and methods of UIEvent as well as
the properties and methods defined below.
The KeyEvent object has the following properties:
ctrlKey
This property is of type boolean.
shiftKey
This property is of type boolean.
altKey
This property is of type boolean.
metaKey
This property is of type boolean.
keyCode
This property is of type int.
charCode
This property is of type int.
The KeyEvent object has the following methods:
initKeyEvent(typeArg, canBubbleArg, cancelableArg, ctrlKeyArg,
altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg,
viewArg)
This method returns a void. The typeArg parameter is of type
DOMString. The canBubbleArg parameter is of type boolean. The
cancelableArg parameter is of type boolean. The ctrlKeyArg
parameter is of type boolean. The altKeyArg parameter is of
type boolean. The shiftKeyArg parameter is of type boolean.
The metaKeyArg parameter is of type boolean. The keyCodeArg
parameter is of type unsigned long. The charCodeArg parameter
is of type unsigned long. The viewArg parameter is of type
views::AbstractView.
Object MutationEvent
MutationEvent has the all the properties and methods of Event as well
as the properties and methods defined below.
The MutationEvent object has the following properties:
relatedNode
This property is of type Node.
prevValue
This property is of type String.
newValue
This property is of type String.
attrName
This property is of type String.
The MutationEvent object has the following methods:
initMutationEvent(typeArg, canBubbleArg, cancelableArg,
relatedNodeArg, prevValueArg, newValueArg, attrNameArg)
This method returns a void. The typeArg parameter is of type
DOMString. The canBubbleArg parameter is of type boolean. The
cancelableArg parameter is of type boolean. The
relatedNodeArg parameter is of type Node. The prevValueArg
parameter is of type DOMString. The newValueArg parameter is
of type DOMString. The attrNameArg parameter is of type
DOMString.
D.7: Document Object Model Traversal
Object NodeIterator
The NodeIterator object has the following properties:
whatToShow
This property is of type long.
filter
This property is of type NodeFilter.
expandEntityReferences
This property is of type boolean.
The NodeIterator object has the following methods:
nextNode()
This method returns a Node.
previousNode()
This method returns a Node.
Object NodeFilter
The NodeFilter object has the following methods:
acceptNode(n)
This method returns a short. The n parameter is of type Node.
Object TreeWalker
The TreeWalker object has the following properties:
whatToShow
This property is of type long.
filter
This property is of type NodeFilter.
expandEntityReferences
This property is of type boolean.
currentNode
This property is of type Node.
The TreeWalker object has the following methods:
parentNode()
This method returns a Node.
firstChild()
This method returns a Node.
lastChild()
This method returns a Node.
previousSibling()
This method returns a Node.
nextSibling()
This method returns a Node.
previousNode()
This method returns a Node.
nextNode()
This method returns a Node.
Object DocumentTraversal
The DocumentTraversal object has the following methods:
createNodeIterator(root, whatToShow, filter,
entityReferenceExpansion)
This method returns a NodeIterator. The root parameter is of
type Node. The whatToShow parameter is of type long. The
filter parameter is of type NodeFilter. The
entityReferenceExpansion parameter is of type boolean.
createTreeWalker(root, whatToShow, filter,
entityReferenceExpansion)
This method returns a TreeWalker. The root parameter is of
type Node. The whatToShow parameter is of type long. The
filter parameter is of type NodeFilter. The
entityReferenceExpansion parameter is of type boolean.
D.8: Document Object Model Range
Object Range
The Range object has the following properties:
startContainer
This property is of type Node.
startOffset
This property is of type long.
endContainer
This property is of type Node.
endOffset
This property is of type long.
isCollapsed
This property is of type boolean.
commonAncestorContainer
This property is of type Node.
The Range object has the following methods:
setStart(refNode, offset)
This method returns a void. The refNode parameter is of type
Node. The offset parameter is of type long.
setEnd(refNode, offset)
This method returns a void. The refNode parameter is of type
Node. The offset parameter is of type long.
setStartBefore(refNode)
This method returns a void. The refNode parameter is of type
Node.
setStartAfter(refNode)
This method returns a void. The refNode parameter is of type
Node.
setEndBefore(refNode)
This method returns a void. The refNode parameter is of type
Node.
setEndAfter(refNode)
This method returns a void. The refNode parameter is of type
Node.
collapse(toStart)
This method returns a void. The toStart parameter is of type
boolean.
selectNode(refNode)
This method returns a void. The refNode parameter is of type
Node.
selectNodeContents(refNode)
This method returns a void. The refNode parameter is of type
Node.
compareEndPoints(how, sourceRange)
This method returns a short. The how parameter is of type
CompareHow. The sourceRange parameter is of type Range.
deleteContents()
This method returns a void.
extractContents()
This method returns a DocumentFragment.
cloneContents()
This method returns a DocumentFragment.
insertNode(newNode)
This method returns a void. The newNode parameter is of type
Node.
surroundContents(newParent)
This method returns a void. The newParent parameter is of
type Node.
cloneRange()
This method returns a Range.
toString()
This method returns a DOMString.
Object DocumentRange
The DocumentRange object has the following methods:
createRange()
This method returns a Range.
Acknowledgments
The authors of this specification, members of the DOM Working Group, deserve
much credit for their hard work: Lauren Wood (SoftQuad Software Inc.,
chair), Arnaud Le Hors (W3C, W3C staff contact), Andy Heninger (IBM), Bill
Smith (Sun), Bill Shea (Merrill Lynch), Bob Sutor (IBM), Chris Wilson
(Microsoft), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Jared Sorensen
(Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Jonathan Robie
(Software AG), Laurence Cable (Sun), Mike Champion (Software AG), Patti
Lutsky (Arbortext), Peter Sharpe (SoftQuad Software Inc.), Philippe Le
Hégaret (W3C), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer (iMall),
Rich Rollman (Microsoft), Tom Pixley (Netscape), and Vidur Apparao
(Netscape).
Thanks to David Brownell (Sun), Don Park (Docuverse), and Miles Sabin
(Cromwell Media), members of the DOM Interest Group, for their review and
constructive comments, throughout the elaboration of this document.
Thanks to all those who have helped to improve this specification by sending
suggestions and corrections.
Thanks to Joe English, author of cost for helping so much in allowing us to
develop a framework that made the production of this specification possible.
Thanks to Jan Kärrman, author of html2ps for helping so much in creating the
Postscript version of the specification.
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. Since a DOMString is a UTF-16 encoded
string, a single 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:
1. Expansion of internal text entities.
2. Expansion of external entities.
3. Model augmentation with style-specified generated text.
4. Execution of style-specified reordering.
5. 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 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 equivalent as NodeList objects, and the pairs
of equivalent attributes must in fact be deeply equivalent.
Two NodeList objects are equivalent if they have the same length, and
the nodes corresponding by index are deeply equivalent.
Two 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 equivalent.
Two DocumentType nodes are equivalent if they are equivalent as nodes,
have the same names, and have equivalent entities and attributes
NamedNodeMap objects.
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].
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
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]
References
CSS2
W3C (World Wide Web Consortium) Cascading Style Sheets, level 2
Specification. See http://www.w3.org/TR/REC-CSS2.
COM
Microsoft The Component Object Model. See http://www.microsoft.com/com.
CORBA
OMG (Object Management Group) The Common Object Request Broker:
Architecture and Specification. See
http://www.omg.org/corba/corbiiop.htm.
DOM-Level-1
W3C (World Wide Web Consortium) DOM Level 1 Specification. See
http://www.w3.org/TR/REC-DOM-Level-1.
ECMAScript
ECMA (European Computer Manufacturers Association) ECMAScript Language
Specification. See http://www.ecma.ch/stand/ecma-262.htm.
HTML4.0
W3C (World Wide Web Consortium) HTML 4.0 Specification. See
http://www.w3.org/TR/REC-html40.
Infoset
W3C (World Wide Web Consortium) XML Information Set. See
http://www.w3.org/TR/1999/WD-xml-infoset-19990517.
Java
Sun The Java Language Specification. See
http://java.sun.com/docs/books/jls.
JavaIDL
Sun Java IDL. See http://java.sun.com/products/jdk/1.2/docs/guide/idl.
JavaScript
Netscape JavaScript Resources. See
http://developer.netscape.com/one/javascript/resources.html.
MIDL
Microsoft MIDL Language Reference. See
http://msdn.microsoft.com/library/sdkdoc/midl/mi-laref_1r1h.htm.
Namespaces
W3C (World Wide Web Consortium) Namespaces in XML. See
http://www.w3.org/TR/REC-xml-names.
RFC2396
IETF (Internet Engineering Task Force) RFC 2396: Uniform Resource
Identifiers (URI): Generic Syntax, eds. T. Berners-Lee, R. Fielding, L.
Masinter. August 1998.
Unicode
The Unicode Consortium. The Unicode Standard, Version 2.0. Reading,
Mass.: Addison-Wesley Developers Press, 1996.
XML
W3C (World Wide Web Consortium) Extensible Markup Language (XML) 1.0.
See http://www.w3.org/TR/REC-xml.
Objects Index
Document Object Model Core
Attr CDATASection CharacterData
Comment DOMException DOMImplementation
DOMString Document DocumentFragment
DocumentType Element Entity
EntityReference ExceptionCode NamedNodeMap
Node NodeList Notation
ProcessingInstruction Text
Document Object Model HTML
HTMLAnchorElement HTMLAppletElement HTMLAreaElement
HTMLBRElement HTMLBaseElement HTMLBaseFontElement
HTMLBodyElement HTMLButtonElement HTMLCollection
HTMLDListElement HTMLDOMImplementation HTMLDirectoryElement
HTMLDivElement HTMLDocument HTMLElement
HTMLFieldSetElement HTMLFontElement HTMLFormElement
HTMLFrameElement HTMLFrameSetElement HTMLHRElement
HTMLHeadElement HTMLHeadingElement HTMLHtmlElement
HTMLIFrameElement HTMLImageElement HTMLInputElement
HTMLIsIndexElement HTMLLIElement HTMLLabelElement
HTMLLegendElement HTMLLinkElement HTMLMapElement
HTMLMenuElement HTMLMetaElement HTMLModElement
HTMLOListElement HTMLObjectElement HTMLOptGroupElement
HTMLOptionElement HTMLParagraphElement HTMLParamElement
HTMLPreElement HTMLQuoteElement HTMLScriptElement
HTMLSelectElement HTMLStyleElement HTMLTableCaptionElement
HTMLTableCellElement HTMLTableColElement HTMLTableElement
HTMLTableRowElement HTMLTableSectionElement HTMLTextAreaElement
HTMLTitleElement HTMLUListElement
Document Object Model Views
AbstractView DocumentView
Document Object Model StyleSheets
DocumentStyle LinkStyle MediaList
StyleSheet StyleSheetList
Document Object Model CSS
CSS2Azimuth CSS2BackgroundPosition CSS2BorderSpacing
CSS2CounterIncrement CSS2CounterReset CSS2Cursor
CSS2FontFaceSrc CSS2FontFaceWidths CSS2PageSize
CSS2PlayDuring CSS2Properties CSS2TextShadow
CSSCharsetRule CSSException CSSExceptionCode
CSSFontFaceRule CSSImportRule CSSMediaRule
CSSPageRule CSSPrimitiveValue CSSRule
CSSRuleList CSSStyleDeclaration CSSStyleRule
CSSStyleSheet CSSUnknownRule CSSValue
CSSValueList Counter DOMImplementationCSS
DocumentCSS HTMLElementCSS RGBColor
Rect ViewCSS
Document Object Model Events
DocumentEvent Event EventListener
EventTarget KeyEvent MouseEvent
MutationEvent UIEvent
Document Object Model Traversal
DocumentTraversal NodeFilter NodeIterator
TreeWalker
Document Object Model Range
DocumentRange Range RangeException
RangeExceptionCode
Index
abbr 1 AbstractView 1 accept 1
acceptCharset 1 acceptNode 1 accessKey 1, 2, 3, 4, 5, 6, 7
action 1 add 1 addEventListener 1
align 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, aLink 1 alt 1, 2, 3, 4
15, 16
altKey 1, 2 anchors 1 append 1
appendChild 1 appendData 1 applets 1
archive 1, 2 areas 1 AT_TARGET 1
Attr 1 ATTRIBUTE_NODE 1 attributes 1
attrName 1 axis 1 azimuth 1
azimuthType 1 background 1, 2 backgroundAttachment 1
backgroundColor 1 backgroundImage 1 backgroundPosition 1
backgroundRepeat 1 BAD_ENDPOINTS_ERR 1 behind 1
bgColor 1, 2, 3, 4 blue 1 blur 1, 2, 3, 4, 5
body 1 border 1, 2, 3, 4 borderBottom 1
borderBottomColor 1 borderBottomStyle 1 borderBottomWidth 1
borderCollapse 1 borderColor 1 borderLeft 1
borderLeftColor 1 borderLeftStyle 1 borderLeftWidth 1
borderRight 1 borderRightColor 1 borderRightStyle 1
borderRightWidth 1 borderSpacing 1 borderStyle 1
borderTop 1 borderTopColor 1 borderTopStyle 1
borderTopWidth 1 borderWidth 1 bottom 1, 2
bubbles 1 BUBBLING_PHASE 1 button 1
cancelable 1 caption 1 captionSide 1
CAPTURING_PHASE 1 CDATA_SECTION_NODE 1 CDATASection 1
cellIndex 1 cellPadding 1 cells 1
cellSpacing 1 ch 1, 2, 3, 4 CHAR_UNDEFINED 1
CharacterData 1 charCode 1 charset 1, 2, 3
CHARSET_RULE 1 checked 1 childNodes 1
chOff 1, 2, 3, 4 cite 1, 2 className 1
clear 1, 2 click 1 clientX 1
clientY 1 clip 1 cloneContents 1
cloneNode 1 cloneRange 1 close 1
code 1, 2 codeBase 1, 2 codeType 1
collapse 1 color 1, 2, 3, 4 cols 1, 2
colSpan 1 Comment 1 COMMENT_NODE 1
commonAncestorContainer 1 compact 1, 2, 3, 4, 5 compareEndPoints 1
CompareHow 1 content 1, 2 cookie 1
coords 1, 2 Counter 1 counterIncrement 1
counterReset 1 createAttribute 1 createAttributeNS 1
createCaption 1 createCDATASection 1 createComment 1
createCSSStyleSheet 1 createDocument 1 createDocumentFragment 1
createDocumentType 1 createElement 1 createElementNS 1
createEntityReference 1 createEvent 1 createHTMLDocument 1
createNodeIterator 1 createProcessingInstruction createRange 1
1
createTextNode 1 createTFoot 1 createTHead 1
createTreeWalker 1 CSS2Azimuth 1 CSS2BackgroundPosition 1
CSS2BorderSpacing 1 CSS2CounterIncrement 1 CSS2CounterReset 1
CSS2Cursor 1 CSS2FontFaceSrc 1 CSS2FontFaceWidths 1
CSS2PageSize 1 CSS2PlayDuring 1 CSS2Properties 1
CSS2TextShadow 1 CSS_ATTR 1 CSS_CM 1
CSS_COUNTER 1 CSS_CUSTOM 1 CSS_DEG 1
CSS_DIMENSION 1 CSS_EMS 1 CSS_EXS 1
CSS_GRAD 1 CSS_HZ 1 CSS_IDENT 1
CSS_IN 1 CSS_INHERIT 1 CSS_KHZ 1
CSS_MM 1 CSS_MS 1 CSS_NUMBER 1
CSS_PC 1 CSS_PERCENTAGE 1 CSS_PRIMITIVE_VALUE 1
CSS_PT 1 CSS_PX 1 CSS_RAD 1
CSS_RECT 1 CSS_RGBCOLOR 1 CSS_S 1
CSS_STRING 1 CSS_UNKNOWN 1 CSS_URI 1
CSS_VALUE_LIST 1 CSSCharsetRule 1 CSSException 1
cssFloat 1 CSSFontFaceRule 1 CSSImportRule 1
CSSMediaRule 1 CSSPageRule 1 CSSPrimitiveValue 1
CSSRule 1 CSSRuleList 1 cssRules 1, 2
CSSStyleDeclaration 1 CSSStyleRule 1 CSSStyleSheet 1
cssText 1, 2, 3, 4 CSSUnknownRule 1 CSSValue 1
CSSValueList 1 ctrlKey 1, 2 cue 1
cueAfter 1 cueBefore 1 currentNode 1, 2
cursor 1 data 1, 2, 3 dateTime 1
declare 1 defaultChecked 1 defaultSelected 1
defaultValue 1, 2 defaultView 1 defer 1
delete 1 deleteCaption 1 deleteCell 1
deleteContents 1 deleteData 1 deleteRow 1, 2
deleteRule 1, 2 deleteTFoot 1 deleteTHead 1
detail 1 dir 1 direction 1
disabled 1, 2, 3, 4, 5, 6,
7, 8, 9 dispatchEvent 1 display 1
doctype 1 document 1 Document 1
DOCUMENT_FRAGMENT_NODE 1 DOCUMENT_NODE 1 DOCUMENT_TYPE_NODE 1
DocumentCSS 1 documentElement 1 DocumentEvent 1
DocumentFragment 1 DocumentRange 1 DocumentStyle 1
DocumentTraversal 1 DocumentType 1 DocumentView 1
DOM_VK_0 1 DOM_VK_1 1 DOM_VK_2 1
DOM_VK_3 1 DOM_VK_4 1 DOM_VK_5 1
DOM_VK_6 1 DOM_VK_7 1 DOM_VK_8 1
DOM_VK_9 1 DOM_VK_A 1 DOM_VK_ACCEPT 1
DOM_VK_ADD 1 DOM_VK_AGAIN 1 DOM_VK_ALL_CANDIDATES 1
DOM_VK_ALPHANUMERIC 1 DOM_VK_ALT 1 DOM_VK_ALT_GRAPH 1
DOM_VK_AMPERSAND 1 DOM_VK_ASTERISK 1 DOM_VK_AT 1
DOM_VK_B 1 DOM_VK_BACK_QUOTE 1 DOM_VK_BACK_SLASH 1
DOM_VK_BACK_SPACE 1 DOM_VK_BRACELEFT 1 DOM_VK_BRACERIGHT 1
DOM_VK_C 1 DOM_VK_CANCEL 1 DOM_VK_CAPS_LOCK 1
DOM_VK_CIRCUMFLEX 1 DOM_VK_CLEAR 1 DOM_VK_CLOSE_BRACKET 1
DOM_VK_CODE_INPUT 1 DOM_VK_COLON 1 DOM_VK_COMMA 1
DOM_VK_COMPOSE 1 DOM_VK_CONTROL 1 DOM_VK_CONVERT 1
DOM_VK_COPY 1 DOM_VK_CUT 1 DOM_VK_D 1
DOM_VK_DEAD_ABOVEDOT 1 DOM_VK_DEAD_ABOVERING 1 DOM_VK_DEAD_ACUTE 1
DOM_VK_DEAD_BREVE 1 DOM_VK_DEAD_CARON 1 DOM_VK_DEAD_CEDILLA 1
DOM_VK_DEAD_CIRCUMFLEX 1 DOM_VK_DEAD_DIAERESIS 1 DOM_VK_DEAD_DOUBLEACUTE 1
DOM_VK_DEAD_GRAVE 1 DOM_VK_DEAD_IOTA 1 DOM_VK_DEAD_MACRON 1
DOM_VK_DEAD_OGONEK 1 DOM_VK_DEAD_SEMIVOICED_SOUND DOM_VK_DEAD_TILDE 1
1
DOM_VK_DEAD_VOICED_SOUND 1 DOM_VK_DECIMAL 1 DOM_VK_DELETE 1
DOM_VK_DIVIDE 1 DOM_VK_DOLLAR 1 DOM_VK_DOWN 1
DOM_VK_E 1 DOM_VK_END 1 DOM_VK_ENTER 1
DOM_VK_EQUALS 1 DOM_VK_ESCAPE 1 DOM_VK_EURO_SIGN 1
DOM_VK_EXCLAMATION_MARK 1 DOM_VK_F 1 DOM_VK_F1 1
DOM_VK_F10 1 DOM_VK_F11 1 DOM_VK_F12 1
DOM_VK_F13 1 DOM_VK_F14 1 DOM_VK_F15 1
DOM_VK_F16 1 DOM_VK_F17 1 DOM_VK_F18 1
DOM_VK_F19 1 DOM_VK_F2 1 DOM_VK_F20 1
DOM_VK_F21 1 DOM_VK_F22 1 DOM_VK_F23 1
DOM_VK_F24 1 DOM_VK_F3 1 DOM_VK_F4 1
DOM_VK_F5 1 DOM_VK_F6 1 DOM_VK_F7 1
DOM_VK_F8 1 DOM_VK_F9 1 DOM_VK_FINAL 1
DOM_VK_FIND 1 DOM_VK_FULL_WIDTH 1 DOM_VK_G 1
DOM_VK_GREATER 1 DOM_VK_H 1 DOM_VK_HALF_WIDTH 1
DOM_VK_HELP 1 DOM_VK_HIRAGANA 1 DOM_VK_HOME 1
DOM_VK_I 1 DOM_VK_INSERT 1 DOM_VK_INVERTED_EXCLAMATION_MARK
1
DOM_VK_J 1 DOM_VK_JAPANESE_HIRAGANA 1 DOM_VK_JAPANESE_KATAKANA 1
DOM_VK_JAPANESE_ROMAN 1 DOM_VK_K 1 DOM_VK_KANA 1
DOM_VK_KANJI 1 DOM_VK_KATAKANA 1 DOM_VK_KP_DOWN 1
DOM_VK_KP_LEFT 1 DOM_VK_KP_RIGHT 1 DOM_VK_KP_UP 1
DOM_VK_L 1 DOM_VK_LEFT 1 DOM_VK_LEFT_PARENTHESIS 1
DOM_VK_LESS 1 DOM_VK_M 1 DOM_VK_META 1
DOM_VK_MINUS 1 DOM_VK_MODECHANGE 1 DOM_VK_MULTIPLY 1
DOM_VK_N 1 DOM_VK_NONCONVERT 1 DOM_VK_NUM_LOCK 1
DOM_VK_NUMBER_SIGN 1 DOM_VK_NUMPAD0 1 DOM_VK_NUMPAD1 1
DOM_VK_NUMPAD2 1 DOM_VK_NUMPAD3 1 DOM_VK_NUMPAD4 1
DOM_VK_NUMPAD5 1 DOM_VK_NUMPAD6 1 DOM_VK_NUMPAD7 1
DOM_VK_NUMPAD8 1 DOM_VK_NUMPAD9 1 DOM_VK_O 1
DOM_VK_OPEN_BRACKET 1 DOM_VK_P 1 DOM_VK_PAGE_DOWN 1
DOM_VK_PAGE_UP 1 DOM_VK_PASTE 1 DOM_VK_PAUSE 1
DOM_VK_PERIOD 1 DOM_VK_PLUS 1 DOM_VK_PREVIOUS_CANDIDATE 1
DOM_VK_PRINTSCREEN 1 DOM_VK_PROPS 1 DOM_VK_Q 1
DOM_VK_QUOTE 1 DOM_VK_QUOTEDBL 1 DOM_VK_R 1
DOM_VK_RIGHT 1 DOM_VK_RIGHT_PARENTHESIS 1 DOM_VK_ROMAN_CHARACTERS 1
DOM_VK_S 1 DOM_VK_SCROLL_LOCK 1 DOM_VK_SEMICOLON 1
DOM_VK_SEPARATER 1 DOM_VK_SHIFT 1 DOM_VK_SLASH 1
DOM_VK_SPACE 1 DOM_VK_STOP 1 DOM_VK_SUBTRACT 1
DOM_VK_T 1 DOM_VK_TAB 1 DOM_VK_U 1
DOM_VK_UNDEFINED 1 DOM_VK_UNDERSCORE 1 DOM_VK_UNDO 1
DOM_VK_UP 1 DOM_VK_V 1 DOM_VK_W 1
DOM_VK_X 1 DOM_VK_Y 1 DOM_VK_Z 1
domain 1 DOMException 1 DOMImplementation 1
DOMImplementationCSS 1 DOMString 1 DOMSTRING_SIZE_ERR 1
Element 1 ELEMENT_NODE 1 elements 1
elevation 1 emptyCells 1 encoding 1
enctype 1 endContainer 1 endOffset 1
entities 1 Entity 1 ENTITY_NODE 1
ENTITY_REFERENCE_NODE 1 EntityReference 1 Event 1
event 1 EventListener 1 eventPhase 1
EventTarget 1 expandEntityReferences 1, 2 extractContents 1
face 1, 2 filter 1, 2 FILTER_ACCEPT 1
FILTER_REJECT 1 FILTER_SKIP 1 firstChild 1, 2
focus 1, 2, 3, 4 font 1 FONT_FACE_RULE 1
fontFaceName 1 fontFamily 1 fontSize 1
fontSizeAdjust 1 fontStretch 1 fontStyle 1
fontVariant 1 fontWeight 1 form 1, 2, 3, 4, 5, 6, 7, 8, 9,
10
format 1 forms 1 frame 1
frameBorder 1, 2 getAngleValue 1 getAttribute 1
getAttributeNode 1 getAttributeNodeNS 1 getAttributeNS 1
getComputedStyle 1 getCounterValue 1 getElementById 1
getElementsByName 1 getElementsByTagName 1, 2 getElementsByTagNameNS 1, 2
getFloatValue 1 getHeightSize 1 getHorizontalPosition 1
getHorizontalSpacing 1 getNamedItem 1 getNamedItemNS 1
getOverrideStyle 1 getPropertyCSSValue 1 getPropertyPriority 1
getPropertyValue 1 getRectValue 1 getRGBColorValue 1
getStringValue 1 getVerticalPosition 1 getVerticalSpacing 1
getWidth 1 green 1 handleEvent 1
hasChildNodes 1 hasFeature 1 headers 1
height 1, 2, 3, 4, 5, 6 heightType 1 HIERARCHY_REQUEST_ERR 1
horizontal 1 horizontalIdentifier 1 horizontalType 1, 2
href 1, 2, 3, 4, 5, 6 hreflang 1, 2 hspace 1, 2, 3
HTMLAnchorElement 1 HTMLAppletElement 1 HTMLAreaElement 1
HTMLBaseElement 1 HTMLBaseFontElement 1 HTMLBodyElement 1
HTMLBRElement 1 HTMLButtonElement 1 HTMLCollection 1
HTMLDirectoryElement 1 HTMLDivElement 1 HTMLDListElement 1
HTMLDocument 1 HTMLDOMImplementation 1 HTMLElement 1
HTMLElementCSS 1 HTMLFieldSetElement 1 HTMLFontElement 1
htmlFor 1, 2 HTMLFormElement 1 HTMLFrameElement 1
HTMLFrameSetElement 1 HTMLHeadElement 1 HTMLHeadingElement 1
HTMLHRElement 1 HTMLHtmlElement 1 HTMLIFrameElement 1
HTMLImageElement 1 HTMLInputElement 1 HTMLIsIndexElement 1
HTMLLabelElement 1 HTMLLegendElement 1 HTMLLIElement 1
HTMLLinkElement 1 HTMLMapElement 1 HTMLMenuElement 1
HTMLMetaElement 1 HTMLModElement 1 HTMLObjectElement 1
HTMLOListElement 1 HTMLOptGroupElement 1 HTMLOptionElement 1
HTMLParagraphElement 1 HTMLParamElement 1 HTMLPreElement 1
HTMLQuoteElement 1 HTMLScriptElement 1 HTMLSelectElement 1
HTMLStyleElement 1 HTMLTableCaptionElement 1 HTMLTableCellElement 1
HTMLTableColElement 1 HTMLTableElement 1 HTMLTableRowElement 1
HTMLTableSectionElement 1 HTMLTextAreaElement 1 HTMLTitleElement 1
HTMLUListElement 1 httpEquiv 1 id 1
identifier 1, 2, 3, 4, 5 images 1 implementation 1
IMPORT_RULE 1 importNode 1 increment 1
index 1 INDEX_SIZE_ERR 1 initEvent 1
initKeyEvent 1 initMouseEvent 1 initMutationEvent 1
initUIEvent 1 insertBefore 1 insertCell 1
insertData 1 insertNode 1 insertRow 1, 2
insertRule 1, 2 INUSE_ATTRIBUTE_ERR 1 INVALID_CHARACTER_ERR 1
INVALID_MODIFICATION_ERR 1 INVALID_NODE_TYPE_ERR 1 isCollapsed 1
isMap 1 item 1, 2, 3, 4, 5, 6, 7, 8 keyCode 1
KeyEvent 1 label 1, 2 lang 1
lastChild 1, 2 left 1, 2 length 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11
letterSpacing 1 lineHeight 1 link 1
links 1 LinkStyle 1 listStyle 1, 2
listStyleImage 1 listStylePosition 1 listStyleType 1
localName 1 longDesc 1, 2, 3 lowSrc 1
margin 1 marginBottom 1 marginHeight 1, 2
marginLeft 1 marginRight 1 marginTop 1
marginWidth 1, 2 markerOffset 1 marks 1
maxHeight 1 maxLength 1 maxWidth 1
media 1, 2, 3, 4, 5 MEDIA_RULE 1 MediaList 1
metaKey 1, 2 method 1 minHeight 1
minWidth 1 mix 1 MouseEvent 1
multiple 1 MutationEvent 1 name 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16
namedItem 1 NamedNodeMap 1 namespaceURI 1
newValue 1 nextNode 1, 2 nextSibling 1, 2
NO_DATA_ALLOWED_ERR 1 NO_MODIFICATION_ALLOWED_ERR Node 1
1
NodeFilter 1 NodeIterator 1 NodeList 1
nodeName 1 nodeType 1 nodeValue 1
noHref 1 noResize 1 normalize 1
noShade 1 NOT_FOUND_ERR 1 NOT_SUPPORTED_ERR 1
Notation 1 NOTATION_NODE 1 notationName 1
notations 1 noWrap 1 NULL_NODE_ERR 1
numbers 1 object 1 open 1
options 1 orphans 1 outline 1
outlineColor 1 outlineStyle 1 outlineWidth 1
overflow 1 ownerDocument 1 ownerElement 1
ownerNode 1 ownerRule 1 padding 1
paddingBottom 1 paddingLeft 1 paddingRight 1
paddingTop 1 page 1 PAGE_RULE 1
pageBreakAfter 1 pageBreakBefore 1 pageBreakInside 1
parentNode 1, 2 parentRule 1, 2 parentStyleSheet 1, 2
pause 1 pauseAfter 1 pauseBefore 1
pitch 1 pitchRange 1 playDuring 1
playDuringIdentifier 1 playDuringType 1 position 1
predefinedCursor 1 prefix 1 preventBubble 1
preventCapture 1 preventDefault 1 previousNode 1, 2
previousSibling 1, 2 prevValue 1 primitiveType 1
PROCESSING_INSTRUCTION_NODE
1 ProcessingInstruction 1 profile 1
prompt 1 publicID 1 publicId 1, 2
quotes 1 Range 1 RangeException 1
readOnly 1, 2 Rect 1 red 1
referrer 1 rel 1, 2 relatedNode 1, 2
remove 1 removeAttribute 1 removeAttributeNode 1
removeAttributeNS 1 removeChild 1 removeEventListener 1
removeNamedItem 1 removeNamedItemNS 1 removeProperty 1
repeat 1 replaceChild 1 replaceData 1
reset 1, 2 rev 1, 2 RGBColor 1
richness 1 right 1, 2 rowIndex 1
rows 1, 2, 3, 4 rowSpan 1 rules 1
scheme 1 scope 1 screenX 1
screenY 1 scrolling 1, 2 sectionRowIndex 1
select 1, 2 selected 1 selectedIndex 1
selectNode 1 selectNodeContents 1 selectorText 1, 2
separator 1 setAngleValue 1 setAttribute 1
setAttributeNode 1 setAttributeNodeNS 1 setAttributeNS 1
setEnd 1 setEndAfter 1 setEndBefore 1
setFloatValue 1 setHeightSize 1 setHorizontalPosition 1
setHorizontalSpacing 1 setIdentifier 1, 2 setNamedItem 1
setPositionIdentifier 1 setProperty 1 setStart 1
setStartAfter 1 setStartBefore 1 setStringValue 1
setVerticalPosition 1 setVerticalSpacing 1 setWidthSize 1
shape 1, 2 sheet 1 shiftKey 1, 2
SHOW_ALL 1, 2 SHOW_ATTRIBUTE 1, 2 SHOW_CDATA_SECTION 1, 2
SHOW_COMMENT 1, 2 SHOW_DOCUMENT 1, 2 SHOW_DOCUMENT_FRAGMENT 1, 2
SHOW_DOCUMENT_TYPE 1, 2 SHOW_ELEMENT 1, 2 SHOW_ENTITY 1, 2
SHOW_ENTITY_REFERENCE 1, 2 SHOW_NOTATION 1, 2 SHOW_PROCESSING_INSTRUCTION 1, 2
SHOW_TEXT 1, 2 size 1, 2, 3, 4, 5, 6 span 1
speak 1 speakHeader 1 speakNumeral 1
speakPunctuation 1 specified 1 speechRate 1
splitText 1 src 1, 2, 3, 4, 5 standby 1
start 1 startContainer 1 startOffset 1
stress 1 style 1, 2, 3, 4 STYLE_RULE 1
StyleSheet 1 styleSheet 1 StyleSheetList 1
styleSheets 1 submit 1 substringData 1
summary 1 supports 1 surroundContents 1
SYNTAX_ERR 1 systemID 1 systemId 1, 2
tabIndex 1, 2, 3, 4, 5, 6,
7 tableLayout 1 tagName 1
target 1, 2, 3, 4, 5, 6, 7 tBodies 1 text 1, 2, 3, 4
Text 1 TEXT_NODE 1 textAlign 1
textDecoration 1 textIndent 1 textShadow 1
textTransform 1 tFoot 1 tHead 1
title 1, 2, 3 top 1, 2 toString 1
type 1, 2, 3, 4, 5, 6, 7, 8,
TreeWalker 1 9, 10, 11, 12, 13, 14, 15, UIEvent 1
16
unicodeBidi 1 UNKNOWN_RULE 1 urange 1
uri 1, 2 uris 1 URL 1
useMap 1, 2, 3 vAlign 1, 2, 3, 4 value 1, 2, 3, 4, 5, 6, 7, 8
valueType 1, 2 version 1 vertical 1
verticalAlign 1 verticalIdentifier 1 verticalType 1, 2
view 1 ViewCSS 1 visibility 1
vLink 1 voiceFamily 1 volume 1
vspace 1, 2, 3 whatToShow 1, 2 whiteSpace 1
widows 1 width 1, 2, 3, 4, 5, 6, 7, widthType 1
8, 9, 10
wordSpacing 1 write 1 writeln 1
WRONG_DOCUMENT_ERR 1 zIndex 1