This specification defines the Document Object Model Validation
Level 3, a platform- and language-neutral interface. This module
provides the guidance to programs and scripts to dynamically
update the content and the structure of documents while ensuring
that the document remains valid, or to ensure that the document
becomes valid.

This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. A list of current W3C publications and the latest
revision of this technical report can be found in the W3C technical reports index
at http://www.w3.org/TR/.

This is the Proposed
Recommendation specification of "DOM Level 3
Validation". This version is based on the feedback
during the Candidate Recommendation period. W3C Advisory
Committee Members are invited to send formal review comments to
the W3C Team-only list dom-review@w3.org until 14
January 2004, 11pm EDT. The public is also invited to send
comments on this document to the public mailing list www-dom@w3.org. An archive is available
at http://lists.w3.org/Archives/Public/www-dom/.

An implementation
report is also available.

This is a draft document and may be updated, replaced or
obsoleted by other documents at any time. It is inappropriate to
use W3C Working Drafts as reference material or to cite them as
other than "work in progress". This is work in progress and does
not imply endorsement by, or the consensus of, either W3C or
participants 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 Working
Group participants.

Patent disclosures relevant to this specification may be found
on the Working Group's patent
disclosure page.

This document is published under the . The bindings within this document
are published under the .
The software license requires "Notice of any changes or
modifications to the W3C files, including the date changes were
made." Consequently, modified versions of the DOM bindings must
document that they do not conform to the W3C standard; in the case
of the IDL definitions, the pragma prefix can no longer be
'w3c.org'; in the case of the Java language binding, the package
names can no longer be in the 'org.w3c' package.

W3C® Document Copyright Notice and License

This section is a copy of the W3C® Document
Notice and License and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231.

Public documents on the W3C site are provided by the copyright
holders under the following license. By using and/or copying this
document, or the W3C document from which this statement is linked,
you (the licensee) agree that you have read, understood, and will
comply with the following terms and conditions:

Permission to 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:

When space permits, inclusion of the full text of this NOTICE should be provided. We request that
authorship attribution be provided in 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 of W3C documents is
granted pursuant to this license. However, if additional requirements
(documented in the Copyright
FAQ) are satisfied, the right to create modifications or
derivatives is sometimes granted by the W3C to individuals complying with
those requirements.

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.

W3C® Software Copyright Notice and License

This section is a copy of the W3C® Software
Copyright Notice and License and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231

This work (and included software, documentation such as READMEs,
or other related items) is being provided by the copyright holders
under the following license. By obtaining, using and/or copying
this work, you (the licensee) agree that you have read,
understood, and will comply with the following terms and
conditions.

Permission to copy, modify, and distribute this software and its
documentation, with or without modification, for any purpose and
without fee or royalty is hereby granted, provided that you
include the following on ALL copies of the software and
documentation or portions thereof, including modifications:

The full text of this NOTICE in a location viewable to users of the
redistributed or derivative work.

Any pre-existing intellectual property disclaimers, notices,
or terms and conditions. If none exist, the should be included (hypertext
is preferred, text is permitted) within the body of any
redistributed or derivative code.

Notice of any changes or modifications to the files, including
the date changes were made. (We recommend you provide URIs to
the location from which the code is derived.)

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
DOCUMENTATION 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 SOFTWARE OR
DOCUMENTATION.

The name and trademarks of copyright holders may NOT be used in
advertising or publicity pertaining to the software without specific,
written prior permission. Title to copyright in this software and any
associated documentation will at all times remain with copyright holders.

W3C® Short Software Notice

This section is a copy of the W3C® Short Software
Notice and could be found at http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231

This chapter describes the optional DOM Level 3 Validation
feature. This module provides Application Programming Interfaces
(APIs) to guide construction and editing
of XML documents. Examples of such guided editing are queries like
those that combine questions like "what does
the schema allow me to insert/delete here" and "if I insert/delete
here, will the document still be valid."

To aid users in the editing and creation of XML documents, other
queries may expose different levels of details, e.g.,
all the possible children, those which would be valid given
what precedes this point, lists of defined symbols of a given
kind.
Some of these queries would prompt checks and warn users if they're
about to conflict with or overwrite such data.

Finally, users would like to validate an edited or newly
constructed document before serializing it or passing it to other
users. They may edit, come up with an invalid document,
then edit again to result in a valid document. During this process,
these APIs can allow the user to check the validity of the document
or subtree on demand. If necessary, these APIs can also require that the
document or subtree remain valid during this editing process via
the DocumentEditVal.continuousValidityChecking flag.

A DOM application can use the hasFeature(feature, version)
method of the DOMImplementation interface to determine
with parameter values "Validation" and "3.0",
respectively, whether or not these interfaces are
supported by the implementation. This implementation is dependent
on and the
DOMConfiguration interface.

This chapter focuses on the editing aspects used in the XML
document editing world and usage of such information. The
appendix describes in detail all the possible outcomes of
the validation operations on the different node types.

Exceptions

This section describes the "VAL-DOC-EDIT" exceptions.

Some Validation operations may throw an ExceptionVAL as
described in their descriptions.

unsigned short

An integer indicating the type of error generated.

This error occurs when the operation cannot complete due to an
unavailable schema.

Document Editing Interfaces

This section contains "Document Editing" methods as described in the
DocumentEditVAL, NodeEditVAL,
ElementEditVAL, and CharacterDataEditVAL
interfaces. References to new interfaces
such as DOMStringList and NameList also
exist. With the latter interface, if the schema is a DTD, the
element information item names are simply local names; if the schema
is a W3C XML schema, the names are qualified names, which may contain
namespace prefixes.

This interface extends the NodeEditVAL interface with additional methods for document editing. An object implementing this interface must also implement the Document interface.

An attribute specifying whether the validity of the document
is continuously enforced. When the attribute is set to
true, the implementation may raise certain
exceptions, depending on the situation (see the following).
This attribute is false by default.

NOT_SUPPORTED_ERR: Raised if the implementation
does not support setting this attribute to
true.

NO_SCHEMA_AVAILABLE_ERR: Raised if this
attribute is set to true
and a schema is unavailable.

VALIDATION_ERR: Raised if an operation makes
this document not compliant with the
VAL_INCOMPLETE validity type
or the document is invalid, and this
attribute is set to true.

This allows the setting of the error handler, as described in the
DOMConfiguration interface.
An object implementing this DocumentEditVAL interface
and the Document interface, which also has a domConfig attribute, needs to only implement this attribute once.

Returns list of all element information item names of
global declaration,
belonging to the specified namespace.

namespaceURI of namespace. For DTDs,
this is null.

List of all element information item names belonging to the
specified namespace or null if no schema is
available.

Validates the document against the schema, e.g., a DTD or an
W3C XML schema or another. Any attempt to modify any part of the
document while validating results in implementation-dependent
behavior. In addition, the validation operation itself cannot
modify the document, e.g., for default attributes.
This method makes use of the error handler, as
described in the DOMConfiguration interface, with all errors
being SEVERITY_ERROR as defined in the
DOMError interface.

A validation state constant.

This interface is similar to the Node interface, with methods for guided document editing.

An integer indicating the validation type.
Other specifications can define stricter
validation types/constants by extending
the NodeEditVAL interface.

Check if the node is
well-formed.

Check if the node is
namespace
well-formed.

Check if the node's immediate children are those
expected by the content model. This node's trailing
required children could be missing.
It includes VAL_NS_WF.

Check if the node's entire subtree are those expected
by the content model. It includes VAL_NS_WF.

An integer indicating the validation state,
or whether the operation can or cannot be done.

True if the node is valid with regards to the operation,
or if the operation can be done.

False if the node is invalid with regards to the
operation, or if the operation cannot be done.

The validity of the node is unknown.

The default value specified in an attribute or an element declaration or null if unspecified. If the schema is a W3C XML schema,
this is the canonical lexical representation of the default value.

A DOMStringList, as
described in ,
of distinct values for an attribute
or an element declaration or null
if unspecified. If the schema is a W3C XML schema, this is a
list of strings which are lexical representations corresponding
to the values in the [value] property of the enumeration
component for the type of the attribute or element. It is
recommended that the canonical lexical representations of the
values be used.

Determines whether the Node.insertBefore operation
would make this document not compliant with the VAL_INCOMPLETE
validity type.

Node to be inserted.

Reference Node.

A validation state constant.

Determines whether the Node.removeChild operation
would make this document not compliant with the VAL_INCOMPLETE
validity type.

Node to be removed.

A validation state constant.

Determines whether the Node.replaceChild operation
would make this document not compliant with the VAL_INCOMPLETE
validity type.

New Node.

Node to be replaced.

A validation state constant.

Determines whether the Node.appendChild operation
would make this document not compliant with the VAL_INCOMPLETE
validity type.

Node to be appended.

A validation state constant.

Determines if the node is valid relative to the
validation type
specified in valType. This operation
doesn't normalize before checking if it is valid.
To do so, one would need to explicitly call a normalize
method. The difference between this method and the
DocumentEditVAL.validateDocument method
is that the latter method only checks to
determine whether the entire document is valid.

Flag to indicate the
validation type
checking to be done.

A validation state constant.

This interface extends the NodeEditVAL interface
with additional methods for guided document editing. An
object implementing this interface must also implement the
Element interface.

This interface also has attributes that are a
NameList of elements or attributes which can
appear in the specified context. Some schema languages,
i.e., W3C XML
schema, define wildcards which provide for validation
of attribute and element information items dependent on
their namespace names but independent of their local names.

To expose wildcards, the NameList returns the values
that represent the
namespace constraint:

{namespaceURI, name}
is {null, ##any} if any;

{namespaceURI, name}
is {namespace_a, ##other} if
not and a namespace name (namespace_a);

{namespaceURI, name}
is {null, ##other} if
not and absent;

Pairs of {namespaceURI, name} with values
{a_namespaceURI | null, null} if
a set whose members are either namespace
names or absent.

An integer indicating the content type of an element.

The content model does not allow any
content.
If the schema is a W3C XML schema, this corresponds
to the empty content type; and if the schema is a DTD,
this corresponds to the EMPTY content model.

The content model contains unordered child information
item(s), i.e.,
element, processing instruction, unexpanded entity reference,
character, and comment information items as defined in the
XML Information Set.
If the schema is a DTD, this corresponds to the
ANY content model.

The content model contains a sequence of ordered
element information items
optionally interspersed with character data. If the schema
is a W3C XML schema, this corresponds to the mixed
content type.

The content model contains a sequence of
element information items
optionally separated by whitespace. If the schema is a DTD, this
is the element content content model; and if the schema
is a W3C XML schema, this is the
element-only content type.

The content model contains
character information items. If the schema is a W3C XML schema,
then the element has a content type of VAL_SIMPLE_CONTENTTYPE
if the type of the element is a simple type definition,
or the type of the element is a complexType whose
{content type} is a simple type definition.

A NameList, as described in ,
of all possible element information items or
wildcards
that can appear as children of this element, or null
if this element has no context or schema.
Duplicate pairs of {namespaceURI, name} are eliminated.

A NameList, as described in ,
of all possible element information items or
wildcards
that can appear as a first child of this element, or null
if this element has no context or schema.
Duplicate pairs of {namespaceURI, name} are eliminated.

A NameList, as described in ,
of all possible element information items
that can appear as a parent this element, or null
if this element has no context or schema.

A NameList, as described in ,
of all element information items
or wildcards
that can be inserted as a next sibling of this element, or null
if this element has no context or schema.
Duplicate pairs of {namespaceURI, name} are eliminated.

A NameList, as described in ,
of all element information items
or wildcards
that can be inserted as a previous sibling of this element, or null
if this element has no context or schema.

A NameList, as described in ,
of all possible attribute information items
or wildcards
that can appear as attributes of this element, or null
if this element has no context or schema.
Duplicate pairs of {namespaceURI, name} are eliminated.

A NameList, as described in ,
of required attribute information items
that must appear on this element, or null
if this element has no context or schema.

The content type of an element as defined above.

Determines if the text content of this node and its descendants
can be set to the string passed in.

Possible text content string.

A validation state constant.

Determines if the value for specified attribute can be set.

Name of attribute.

Value to be assigned to the attribute.

A validation state constant.

Determines if an attribute node can be added.

Node in which the attribute can possibly be set.

A validation state constant.

Determines if the attribute with given namespace and qualified name
can be created if not already present in the attribute list of the element. If
the attribute with the same qualified name and namespaceURI is already present in the
element's attribute list, it tests whether the value of the attribute and its prefix can be set to
the new value.

namespaceURI of namespace.

Qualified name of attribute.

Value to be assigned to the attribute.

A validation state constant.

Verifies if an attribute by the given name can be removed.

Name of attribute.

A validation state constant.

Verifies if an attribute by the given local name and namespace can be
removed.

The namespace URI of the attribute to remove.

Local name of the attribute to be removed.

A validation state constant.

Determines if an attribute node can be removed.

The Attr node to remove from the attribute list.

A validation state constant.

Determines if name is defined in the schema.
This only applies to global declarations. This method is for non-namespace aware schemas.

Name of element.

A validation state constant.

Determines if name in this namespace is defined in the
current context. Thus not only does this apply to global declarations.
but depending on the content, this may also apply to local
definitions. This method is for namespace aware schemas.

namespaceURI of namespace.

Name of element.

A validation state constant.

This interface extends the NodeEditVAL interface with additional methods for document editing. An object
implementing this interface must also implement CharacterData interface.
When validating CharacterData nodes, the
NodeEditVAL.nodeValidity
operation must find the nearest parent node in order to do this; if
no parent node is found,
VAL_UNKNOWN
is returned. In addition, when
VAL_INCOMPLETE
is passed in as an argument to the NodeEditVAL.nodeValidity
operation to operate on such nodes, the operation considers all the text and not just some of it.

Determines if character data is only whitespace.

A validation state constant.

Determines if character data can be set.

Argument to be set.

A validation state constant.

Determines if character data can be appended.

Data to be appended.

A validation state constant.

Determines if character data can be replaced.

Offset.

Replacement.

Argument to be set.

A validation state constant.

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.

Determines if character data can be inserted.

Offset.

Argument to be set.

A validation state constant.

INDEX_SIZE_ERR: Raised if the specified offset
is negative or greater than the number of 16-bit
units in data.

Determines if character data can be deleted.

Offset.

Number of 16-bit units to delete.

A validation state constant.

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.

The following table describes all possible validation outcomes of
the NodeEditVAL.nodeValidity(valType) method.

Validation Type

Validity outcome

VAL_TRUE

VAL_FALSE

VAL_UNKNOWN

VAL_WF

The node is well-formed.

The node is not well-formed.

Not applicable.

VAL_NS_WF

The node is well-formed.
Processor must take into account all
the in-scope namespace declarations.

The node is not namespace well-formed.
Processor must take into account all
the in-scope namespace declarations.

Not applicable.

VAL_NS_WF

The node is well-formed.
Processor must take into account all
namespace declarations in scope.

The node is not namespace well-formed.
Processor must take into account all
the in-scope namespace declarations.

Not applicable.

VAL_SCHEMA

The node is valid: it complies with all
the constraints expressed in the schema.

The node fails to comply to all the
constraints expressed in the schema.

If the schema is an XML Schema, PSVI
[validity] property value is unknown.

VAL_INCOMPLETE

The node is valid: it complies with the
VAL_INCOMPLETE definition.

The node is invalid with regard to the
VAL_INCOMPLETE definition.

If the schema is an XML Schema, PSVI
[validity] property value is unknown.

The following table describes the outcome of the
DocumentEditVAL.validateDocument() and
NodeEditVAL.nodeValidity(valType) methods, with the
latter called on the DocumentEditVAL node with
validationType NodeEditVAL.VAL_SCHEMA.

Methods

Validity outcome

VAL_TRUE

VAL_FALSE

VAL_UNKNOWN

validateDocument and nodeValidity,
called on the Document node with validationType
VAL_SCHEMA.

If the schema is a DTD, then the document valid constraint is
satisfied. If the schema is an XML Schema, then the
document validity is the same as the validity of the validation root, i.e.,
documentElement: PSVI [validity]valid.

Fails to satisfy the constraints defined.

If the schema is an XML Schema, then schema is not found or
the declaration for the validation root is not
found: PSVI [validity]unknown.

The following table describes outcomes for the
NodeEditVAL.nodeValidity(valType) method called with
the validationType NodeEditVAL.VAL_SCHEMA:

Node types

Validity outcome

VAL_TRUE

VAL_FALSE

VAL_UNKNOWN

Element

If the schema is a DTD, then element and attribute validity
constraints, including attribute validity constraint defined
below are satisfied. If the schema is an XML Schema, then
PSVI [validity]valid.

Fails to satisfy the constraints defined.

If the schema is an XML Schema, then PSVI [validity]unknown.

Attr

If the schema is a DTD, then all validity constraints
defined in section 3.3.1, "Attribute Type",
required and fixed attribute are
satisfied. If the schema is an XML Schema, then PSVI
[validity]valid.

Fails to satisfy the constraints defined.

If the schema is an XML Schema, then PSVI [validity]unknown.

Text

The node is well-formed.

The node is not well-formed.

If no parent node is found.

CDATASection

The node is well-formed.

The node is not well-formed.

If no parent node is found.

ProcessingInstruction

The node is well-formed.

The node is not well-formed.

If no parent node is found.

Comment

The node is well-formed.

The node is not well-formed.

If no parent node is found.

EntityReference

Entity is
declared.

Entity is not
declared.

Not applicable.

Entity

Implementation-specific.

Implementation-specific.

Implementation-specific.

Notation

Implementation-specific.

Implementation-specific.

Implementation-specific.

DocumentType

Implementation-specific.

Implementation-specific.

Implementation-specific.

DocumentFragment

Not applicable.

Not applicable.

Not applicable.

Other validation operations

The table below describes validation outcomes from can*
validation operations, such as
NodeEditVAL.canRemoveChild(), or
ElementEditVAL.canSetAttributeNS,
CharacterDataEditVAL.canAppendData(). All these operations
attempt to validate with validityType
NodeEditVAL.VAL_INCOMPLETE.

VAL_TRUE

VAL_FALSE

VAL_UNKNOWN

If the associated operation is performed, then the node would
be valid with regards to the VAL_INCOMPLETE
definition or if there is no schema found.

If the associated operation is performed, then the node would
be invalid with regards to the VAL_INCOMPLETE
definition.

Not applicable.

Note: If the document includes more than one type of schema, e.g., DTD and XML Schema, and
the DOMConfiguration "schema-type"
parameter is not specified, the validation outcome for
NodeEditVAL.VAL_INCOMPLETE and
NodeEditVAL.VAL_SCHEMA is implementation-specific.

This specification was written in XML. The HTML, OMG IDL, Java and
ECMAScript bindings were all produced automatically.

Thanks to Joe English, author of cost, which was used as the
basis for producing DOM Level 1. Thanks also to Gavin Nicol, who wrote
the scripts which run on top of cost. Arnaud Le Hors and Philippe Le
Hégaret maintained the scripts.

After DOM Level 1, we used Xerces as the basis DOM
implementation and wish to thank the authors. Philippe Le Hégaret
and Arnaud Le Hors wrote the Java
programs which are the DOM application.

Thanks also to Jan Kärrman, author of html2ps, which we use
in creating the PostScript version of the specification.

Some of the following term definitions have been borrowed or
modified from similar definitions in other W3C or standards documents.
See the links within the definitions for more information.

16-bit unit

The base unit of a DOMString. This indicates that
indexing on a DOMString occurs in units of 16 bits.
This must not be misunderstood to mean that a DOMString
can store arbitrary 16-bit units. A DOMString is a
character string encoded in UTF-16; this means that the restrictions
of UTF-16 as well as the other relevant restrictions on character strings
must be maintained. A single character, for example in the form of a
numeric character reference, may correspond to one or two 16-bit units.

ancestor

An ancestor node of any node A is any node
above A in a tree model, 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.

anonymous type name

An anonymous type name is an
implementation-defined, globally unique qualified name
provided by the processor for every anonymous type declared in
a schema.

bubbling phase

The process by which an event can be handled by one of the
target ancestors after being handled by the target node.

capture phase

The process by which an event can be handled by one of the
target ancestors before being handled by the target node.

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

convenience

A convenience method is an operation on an
object that could be accomplished by a program consisting of
more basic operations on the object. Convenience methods are
usually provided to make the API easier and simpler to use or to
allow specific programs to create more optimized implementations
for common operations. A similar definition holds for a
convenience property.

cooked model

A model for a document that represents the document
after it has been manipulated in some way. For example, any
combination of any of the following transformations would
create a cooked model:

Expansion of internal text entities.

Expansion of external entities.

Model augmentation with style-specified generated
text.

Execution of style-specified
reordering.

Execution of scripts.

A browser might only be able to provide access to a
cooked model, while an editor might provide access to a
cooked or the initial structure model (also known as the
uncooked model) for a document.

CORBA

CORBA is the Common Object Request Broker
Architecture from the OMG. 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, where "below" means "away from the
root."

document element

There is only one document element in a Document. This
element node is a child of the Document node. See
Well-Formed XML
Documents in XML .

document order

There is an ordering, document order, defined on all
the nodes in the document corresponding to the order in which the first
character of the XML representation of each node occurs in the XML
representation of the document after expansion of general entities. Thus,
the document element node
will be the first node. Element nodes occur before their children. Thus,
document order orders element nodes in order of the occurrence of their
start-tag in the XML (after expansion of entities). The attribute nodes
of an element occur after the element and before its children. The
relative order of attribute nodes is implementation-dependent.

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
. As stated in the standard, the
originating technology for ECMAScript was 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 .

event

An event is the representation of some asynchronous occurrence
(such as a mouse click on the presentation of the element, or
the removal of child node from an element, or any of
unthinkably many other possibilities) that gets associated
with an event target.

event target

The object to which an event
is targeted.

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

information item

An information item is an abstract representation of some
component of an XML document. See the
for details.

logically-adjacent text nodes

Logically-adjacent text nodes are Text
or CDATASection nodes that can be visited
sequentially in document
order or in reversed document order without entering,
exiting, or passing over Element,
Comment, or ProcessingInstruction
nodes.

global declaration

A global declaration is a schema declaration,
usually for an element or an attribute, that is available for
use in content models throughout the schema, i.e. a declaration that is
not bound to a particular context.

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.

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
, Microsoft's IDL , and
Sun's Java IDL .

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.

live

An object is live if any change to the underlying
document structure is reflected in the object.

local name

A local name is the local part of a qualified
name.
This is called the local
part in Namespaces in XML .

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 .

namespace URI

A namespace URI is a URI that identifies an XML
namespace. This is called the namespace name in
Namespaces in XML . See also sections 1.3.2 "DOM
URIs" and 1.3.3 "XML
Namespaces" regarding URIs and namespace URIs
handling and comparison in the DOM APIs.

namespace well-formed

A node is a namespace well-formed XML node if it
is a well-formed node,
and follows the productions and namespace constraints. If
is used, the constraints are defined in
. If is used,
the constraints are defined in .

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.

partially valid

A node in a DOM tree is partially valid if it is
well formed (this part is for
comments and processing instructions) and its immediate children are
those expected by the content model. The node may be missing trailing
required children yet still be considered partially
valid.

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 .

read only node

A read only node is a node that is immutable. This
means its list of children, its content, and its attributes, when it
is an element, cannot be changed in any way. However, a read only node
can possibly be moved, when it is not itself contained in a read only
node.

root node

The root node is a node that is not a child of any
other node. All other nodes are children or other descendants of the
root node.

schema

A schema defines a set of structural and value
constraints applicable to XML documents. Schemas can be
expressed in schema languages, such as DTD, XML Schema, etc.

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 .

tag valid document

A document is tag valid if all begin and
end tags are properly balanced and nested.

target node

The target node is the node representing the event target to which an event is targeted using the DOM event
flow.

target phase

The process by which an event can be handled by the event target.

token

An information item such as an
XML Name which has been
tokenized.

tokenized

The description given to various information items (for example,
attribute values of various types, but not including the StringType
CDATA) after having been processed by the XML processor. The process
includes stripping leading and trailing white space, and replacing
multiple space characters by one. See the definition of
tokenized type.

type valid document

A document is type valid if it conforms to
an explicit DTD.

uncooked model

See initial structure model.

well-formed

A node is a well-formed XML node if its
serialized form, without doing any transformation during its
serialization, matches its respective production in or (depending on the XML
version in use) with all well-formedness constraints related
to that production, and if the entities which are referenced
within the node are also well-formed. If namespaces for XML
are in use, the node must also be namespace
well-formed.

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 name

See XML name in
the XML specification ().

XML namespace

An XML namespace is a collection of names,
identified by a URI reference , which are used
in XML documents as element types and attribute names.

References

For the latest version of any W3C specification please consult the list of
W3C Technical Reports available at
http://www.w3.org/TR.

Canonical XML Version 1.0, J. Boyer,
Editor. World Wide Web Consortium, 15 March 2001. This version
of the Canonical XML Recommendation is
http://www.w3.org/TR/2001/REC-xml-c14n-20010315. The latest version of Canonical
XML is available at http://www.w3.org/TR/xml-c14n.
Character Model for the World Wide Web 1.0,
M. Dürst, F. Yergeau, R. Ishida, M. Wolf,
T. Texin, Editors. World Wide Web Consortium, August 2003. This
version of the Character Model for the World Wide Web
Specification is http://www.w3.org/TR/2003/WD-charmod-20030822/. The latest version of Character
Model is available at http://www.w3.org/TR/charmod/.
The Microsoft Component Object Model,
Microsoft Corporation. Available at http://www.microsoft.com/com.
The Common Object Request Broker: Architecture and
Specification, version 2. Object Management
Group. The latest version of CORBA version 2.0 is available at
http://www.omg.org/technology/documents/formal/corba_2.htm.
Cascading Style Sheets, level 2
Specification, B. Bos, H. Wium Lie, C.
Lilley, and I. Jacobs, Editors. World Wide Web Consortium, 12
May 1998. This version of the Cascading Style Sheets
Recommendation is http://www.w3.org/TR/1998/REC-CSS2-19980512. The latest version of Cascading
Style Sheets is available at
http://www.w3.org/TR/REC-CSS2.
DOM Level 1 Specification, V. Apparao,
et al., Editors. World Wide Web Consortium, 1 October 1998. This
version of the DOM Level 1 Recommendation is http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001. The
latest version
of DOM Level 1 is available at
http://www.w3.org/TR/REC-DOM-Level-1.
Document Object Model Level 2 Core
Specification, A. Le Hors, et al., Editors. World
Wide Web Consortium, 13 November 2000. This version of the DOM
Level 2 Core Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113. The latest version of
DOM Level 2 Core is available at
http://www.w3.org/TR/DOM-Level-2-Core.
Document Object Model Level 3 Core
Specification, A. Le Hors, et al., Editors. World
Wide Web Consortium, November 2003. This version of the Document
Object Model Level 3 Core Specification is
http://www.w3.org/TR/2003/CR-DOM-Level-3-Core-20031107. The latest version of
DOM Level 3 Core is available at
http://www.w3.org/TR/DOM-Level-3-Core.
Document Object Model Level 2 Events
Specification, T. Pixley, Editor. World Wide Web
Consortium, 13 November 2000. This version of the Document
Object Model Level 2 Events Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113. The
latest
version of Document Object Model Level 2 Events is
available at http://www.w3.org/TR/DOM-Level-2-Events.
Document Object Model Level 3 Events
Specification, P. Le Hégaret, T. Pixley,
Editors. World Wide Web Consortium, October 2003. This version of
the Document Object Model Level 3 Events Specification is
http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107. The latest version of
Document Object Model Level 3 Events is available at
http://www.w3.org/TR/DOM-Level-3-Events.
Document Object Model Level 3 Load and Save
Specification, J. Stenback, A. Heninger,
Editors. World Wide Web Consortium, November 2003. This version of
the DOM Level 3 Load and Save Specification is
http://www.w3.org/TR/2003/CR-DOM-Level-3-LS-20031107. The latest version of DOM
Level 3 Load and Save is available at
http://www.w3.org/TR/DOM-Level-3-LS.
Document Object Model Level 2 HTML
Specification, J. Stenback, et al., Editors. World
Wide Web Consortium, 9 January 2003. This version of the Document
Object Model Level 2 HTML Recommendation is http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109. The latest version of
Document Object Model Level 2 HTML is available at
http://www.w3.org/TR/DOM-Level-2-HTML.
DOM Requirements for DOM Level 3 in DOM
Requirements for DOM Level 3, B. Chang, et al.,
Editors. World Wide Web Consortium, April 2001. This version of
the DOM Requirements for DOM Level 3 is
http://www.w3.org/TR/2001/WD-DOM-Requirements-20010419/#Level3.
The latest
version of DOM Requirements is available at
http://www.w3.org/TR/DOM-Requirements.
Document Object Model Level 2 Style Sheets and CSS
Specification, C. Wilson, P. Le Hégaret,
V. Apparao, Editors. World Wide Web Consortium, 13 November
2000. This version of the Document Object Model Level 2 Style
Sheets and CSS Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113. The latest version of
Document Object Model Level 2 Style Sheets and CSS is
available at http://www.w3.org/TR/DOM-Level-2-Style.
Document Object Model Level 2 Traversal and Range
Specification, J. Kesselman, J. Robie, M.
Champion, P. Sharpe, V. Apparao, L. Wood,
Editors. World Wide Web Consortium, 13 November 2000. This
version of the Document Object Model Level 2 Traversal and Range
Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113. The latest
version of Document Object Model Level 2 Traversal and
Range is available at
http://www.w3.org/TR/DOM-Level-2-Traversal-Range.
Document Object Model Level 3 Validation
Specification, B. Chang, J. Kesselman, R. Rahman,
Editors. World Wide Web Consortium, July 2003. This version of
the DOM Level 3 Validation Specification is
http://www.w3.org/TR/2003/CR-DOM-Level-3-Val-20030730. The latest version of
DOM Level 3 Validation is available at
http://www.w3.org/TR/DOM-Level-3-Val.
Document Object Model Level 2 Views
Specification, A. Le Hors, L. Cable, Editors. World Wide Web
Consortium, 13 November 2000. This version of the Document Object
Model Level 2 Views Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113. The latest version of Document Object Model Level 2
Views is available at http://www.w3.org/TR/DOM-Level-2-Views.
Document Object Model Level 3 XPath
Specification, R. Whitmer, Editor. World Wide Web
Consortium, March 2003. This version of the Document Object
Model Level 3 XPath Specification is http://www.w3.org/TR/2003/CR-DOM-Level-3-XPath-20030331. The
latest
version of Document Object Model Level 3 XPath is
available at http://www.w3.org/TR/DOM-Level-3-XPath.
Developing International Software for Windows 95 and
Windows NT: A Handbook for International Software
Design, N. Kano, Author. Microsoft Press, 1995. ISBN
1-55615-840-8.
ECMAScript Language Specification, Third
Edition. European Computer Manufacturers Association, Standard
ECMA-262, December 1999. This version of the ECMAScript
Language is available from http://www.ecma-international.org/.
HTML 4.01 Specification, D. Raggett, A. Le
Hors, and I. Jacobs, Editors. World Wide Web Consortium, 17
December 1997, revised 24 April 1998, revised 24 December
1999. This version of the HTML 4.01 Recommendation is
http://www.w3.org/TR/1999/REC-html401-19991224. The latest version of HTML 4 is
available at http://www.w3.org/TR/html4.
Official Names for Character Sets,
K. Simonsen, et al., Editors. Internet Assigned Numbers
Authority. Available at
ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets.
ISO/IEC 10646-2000 (E). Information technology -
Universal Multiple-Octet Coded Character Set (UCS) - Part 1:
Architecture and Basic Multilingual Plane, as, from
time to time, amended, replaced by a new edition or expanded by
the addition of new parts. [Geneva]: International Organization
for Standardization, 2000. See also International Organization for
Standardization, available at http://www.iso.ch, for the
latest version.
The Java Language Specification, J.
Gosling, B. Joy, and G. Steele, Authors. Addison-Wesley,
September 1996. Available at http://java.sun.com/docs/books/jls
Java IDL. Sun Microsystems. Available at http://java.sun.com/products/jdk/1.2/docs/guide/idl
JavaScript Resources. Netscape
Communications Corporation. Available at http://developer.netscape.com/tech/javascript/resources.html
Java API for XML Processing (JAXP). Sun
Microsystems. Available at
http://java.sun.com/xml/jaxp/.
JScript Resources. Microsoft. Available at
http://msdn.microsoft.com/scripting/default.htm
Java 2 SDK, Standard Edition Documentation, Version
1.4.1, Class java.awt.events.KeyEvent. Sun
Microsystems. Available at
http://java.sun.com/j2se/1.4.1/docs/api/java/awt/event/KeyEvent.html.
.NET Framework Class Library, Keys
Enumeration. Microsoft. Available at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWindowsFormsKeysClassTopic.asp.
Mathematical Markup Language (MathML) Version
2.0, D. Carlisle, P. Ion, R. Miner, N. Poppelier,
Editors. World Wide Web Consortium, 21 February 2001. This version
of the Math 2.0 Recommendation is http://www.w3.org/TR/2001/REC-MathML2-20010221. The latest version of MathML
2.0 is available at http://www.w3.org/TR/MathML2.
MIDL Language
Reference. Microsoft. Available at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/midl_language_reference.asp.
OMG IDL Syntax and Semantics defined in
The Common Object Request Broker: Architecture and
Specification, version 2, Object Management
Group. The latest version of CORBA version 2.0 is available at
http://www.omg.org/technology/documents/formal/corba_2.htm.
Internationalized Resource Identifiers
(IRIs), M. Dürst, and M. Suignard, Authors. Internet
Engineering Task Force, March 2003. Available at
http://www.w3.org/International/iri-edit/draft-duerst-iri-03.txt.
Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee,
R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at
http://www.ietf.org/rfc/rfc2396.txt.
Hypertext Transfer Protocol -- HTTP/1.1,
R. Fielding, et al., Authors. Internet Engineering Task Force,
June 1999. Available at http://www.ietf.org/rfc/rfc2616.txt.
XML Media Types, M. Murata, S. St.Laurent,
and D. Kohn, Editors. Internet Engineering Task Force, January
2001. Available at http://www.ietf.org/rfc/rfc3023.txt.
Simple API for XML, D. Megginson and
D. Brownell, Maintainers. Available at
http://www.saxproject.org/.
Scalable Vector Graphics (SVG) 1.1
Specification, J. Ferraiolo, 藤沢
淳 (FUJISAWA Jun), and D. Jackson, Editors. World Wide Web
Consortium, 14 January 2003. This version of the SVG 1.1
Recommendation is http://www.w3.org/TR/2003/REC-SVG11-20030114/. The latest version of SVG 1.1
is available at http://www.w3.org/TR/SVG.
The Unicode Standard, Version 4, ISBN
0-321-18578-1, as updated from time to time by the publication
of new versions. The Unicode Consortium, 2000. See also Versions
of the Unicode Standard, available at
http://www.unicode.org/unicode/standard/versions, for latest
version and additional information on versions of the standard
and of the Unicode Character Database.
Unicode Normalization Forms, The Unicode
Standard Annex #15. The Unicode Consortium, 2003. The latest
version of this annex is available at
http://www.unicode.org/unicode/reports/tr15/.
Voice Extensible Markup Language (VoiceXML) Version
2.0, S. McGlashan, et al., Editors. World Wide Web
Consortium, February 2003. This version of the Voice Extensible
Markup Language Version 2.0 specification is
http://www.w3.org/TR/2003/CR-voicexml20-20030220. The latest version of Voice
Extensible Markup Language Version 2.0 is available at
http://www.w3.org/TR/voicexml20/.
XForms 1.0, M. Dubinko, et al.,
Editors. World Wide Web Consortium, August 2003. This
version of the XForms 1.0 specification is http://www.w3.org/TR/2003/PR-xforms-20030801/. The latest version of XForms
1.0 is available at http://www.w3.org/TR/xforms/.
XHTML 1.0: The Extensible HyperText Markup
Language, S. Pemberton, et al., Authors. World Wide
Web Consortium, 26 January 2000, revised 1 August 2002. This
version of the XHTML 1.0 Recommendation is http://www.w3.org/TR/2002/REC-xhtml1-20020801. The latest version of XHTML
1.0 is available at http://www.w3.org/TR/xhtml1.
W3C (World Wide Web Consortium) XQuery
1.0 and XML Path 2.0 Data Model, June 2001. Available at
http://www.w3.org/TR/query-datamodel
Extensible Markup Language (XML) 1.0 (Second
Edition), T. Bray, J. Paoli,
C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide Web
Consortium, 10 February 1998, revised 6 October 2000. This
version of the XML 1.0 Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006. The latest version of XML
1.0 is available at http://www.w3.org/TR/REC-xml.
XML 1.1, T. Bray, and al., Editors. World
Wide Web Consortium, November 2003. This version of the XML 1.1
Specification is http://www.w3.org/TR/2003/PR-xml11-20031105. The latest version of XML
1.1 is available at http://www.w3.org/TR/xml11.
XML Base, J. Marsh, Editor. World
Wide Web Consortium, June 2001. This version of the XML Base
Recommendation is http://www.w3.org/TR/2001/REC-xmlbase-20010627. The latest version of XML
Base is available at http://www.w3.org/TR/xmlbase.
XML Information Set, J. Cowan and R.
Tobin, Editors. World Wide Web Consortium, 24 October 2001.
This version of the XML Information Set Recommendation is
http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The latest version of XML
Information Set is available at
http://www.w3.org/TR/xml-infoset.
XML Events, S. McCarron, S. Pemberton,
and T.V. Raman, Editors. World Wide Web Consortium, August
2003. This version of the XML Events specification is
http://www.w3.org/TR/2003/PR-xml-events-20030804. The latest version of XML
Events is available at http://www.w3.org/TR/xml-events.
Namespaces in XML, T. Bray, D.
Hollander, and A. Layman, Editors. World Wide Web
Consortium, 14 January 1999. This version of the XML
Information Set Recommendation is http://www.w3.org/TR/1999/REC-xml-names-19990114. The latest version of
Namespaces in XML is available at
http://www.w3.org/TR/REC-xml-names.
Namespaces in XML 1.1, T. Bray, D.
Hollander, A. Layman, and R. Tobin, Editors. World Wide Web
Consortium, November 2003. This version of the XML Information
Set Specification is
http://www.w3.org/TR/2003/PR-xml-names11-20031105/. The latest version of
Namespaces in XML is available at
http://www.w3.org/TR/xml-names11/.
XML Schema Part 0: Primer, D. Fallside,
Editor. World Wide Web Consortium, 2 May 2001. This version of
the XML Part 0 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-0-20010502. The
latest version of
XML Schema Part 0 is available at
http://www.w3.org/TR/xmlschema-0.
XML Schema Part 1: Structures, H. Thompson,
D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web
Consortium, 2 May 2001. This version of the XML Part 1
Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-1-20010502. The latest version of XML
Schema Part 1 is available at
http://www.w3.org/TR/xmlschema-1.
XML Schema Part 2: Datatypes, P. Byron and
Ashok Malhotra, Editors. World Wide Web Consortium, 2 May 2001.
This version of the XML Part 2 Recommendation is
http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The latest version of XML
Schema Part 2 is available at
http://www.w3.org/TR/xmlschema-2.
W3C (World Wide Web Consortium) Associating Style Sheets with XML
documents Version 1.0, June 1999. Available at
http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
XML Path Language (XPath) Version 1.0,
J. Clark and S. DeRose, Editors. World Wide Web
Consortium, 16 November 1999. This version of the XPath 1.0
Recommendation is http://www.w3.org/TR/1999/REC-xpath-19991116. The latest version of XPath
1.0 is available at http://www.w3.org/TR/xpath.
XPointer Framework, P. Grosso, E. Maler,
J. Marsh, and N. Walsh., Editors. World Wide Web Consortium,
25 March 2003. This version of the XPointer Framework
Recommendation is http://www.w3.org/TR/2003/REC-xptr-framework-20030325/. The latest version of
XPointer Framework is available at
http://www.w3.org/TR/xptr-framework/.
Index