Checking in Sources/Docs of DOM Level 3 Core from:

http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/


git-svn-id: https://svn.apache.org/repos/asf/xml/commons/trunk@226242 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
mrglavas 2005-06-17 20:59:08 +00:00
parent db0802b6ce
commit 7827b8b3e4
31 changed files with 16037 additions and 10293 deletions

View File

@ -1,223 +1,164 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:42:26 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:10:47 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Document Object Model (DOM) Level 2 Core
Specification</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='expanded-toc.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<title>Document Object Model (DOM) Level 3 Core Specification</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='expanded-toc.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='n'
href='expanded-toc.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Expanded Table of Contents' accesskey='n' href='expanded-toc.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='head'>
<p><a href='http://www.w3.org/'><img height='48' width='72'
alt='W3C' src='./images/w3c_home.gif' /></a></p>
<p><a href='http://www.w3.org/'>
<img height='48' width='72'
alt='W3C' src='./images/w3c_home.gif'></a></p>
<h1 id='title'>Document Object Model (DOM) Level 3 Core Specification</h1>
<h2 id='version'>Version 1.0</h2>
<!-- REC-DOM-Level-3-Core-20040407
--> <h2 id='W3C-doctype'>W3C Recommendation 07 April 2004</h2>
<dl><dt>This version:</dt>
<dd><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407</a></dd><dt>Latest version:</dt>
<h1 id='title'>Document Object Model (DOM) Level 2 Core
Specification</h1>
<dd><a href='http://www.w3.org/TR/DOM-Level-3-Core'>http://www.w3.org/TR/DOM-Level-3-Core</a></dd>
<h2 id='version'>Version 1.0</h2>
<dt>Previous version:</dt>
<!-- REC-DOM-Level-2-Core-20001113
-->
<h2 id='W3C-doctype'>W3C Recommendation <i>13 November,
2000</i></h2>
<dl>
<dt>This version:</dt>
<dd><a href='http://www.w3.org/TR/2004/PR-DOM-Level-3-Core-20040205/'>http://www.w3.org/TR/2004/PR-DOM-Level-3-Core-20040205/</a></dd>
<dd><a
href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113</a><br />
(<a
href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.ps'>
PostScript file</a> , <a
href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.pdf'>
PDF file</a> , <a
href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.txt'>
plain text</a> , <a
href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/DOM2-Core.zip'>
ZIP file</a>)</dd>
<dt>Latest version:</dt>
<dd><a
href='http://www.w3.org/TR/DOM-Level-2-Core'>http://www.w3.org/TR/DOM-Level-2-Core</a></dd>
<dt>Previous version:</dt>
<dd><a
href='http://www.w3.org/TR/2000/PR-DOM-Level-2-Core-20000927'>http://www.w3.org/TR/2000/PR-DOM-Level-2-Core-20000927</a></dd>
</dl>
<dl><dt>Editors:
</dt><dd>Arnaud Le Hors,
<i>IBM</i></dd>
<dd>Philippe Le H&#xe9;garet,
<i>W3C</i></dd>
<dd>Lauren Wood,
<i>SoftQuad, Inc. (WG Chair emerita, for DOM Level 1 and 2)</i></dd>
<dd>Gavin Nicol,
<i>Inso EPS (for DOM Level 1)</i></dd>
<dd>Jonathan Robie,
<i>Texcel Research and Software AG (for DOM Level 1
and 2)</i></dd>
<dd>Mike Champion,
<i>Arbortext and Software AG (for DOM Level 1 and 2)</i></dd>
<dd>Steve Byrne,
<i>JavaSoft (for DOM Level 1 until November 19,
1997)</i></dd>
</dl>
<dl>
<dt>Editors:</dt>
<dd>Arnaud Le Hors, <i>W3C team contact until October 1999, then
IBM</i></dd>
<dd>Philippe Le H&eacute;garet, <i>W3C, team contact (from November
1999)</i></dd>
<dd>Lauren Wood, <i>SoftQuad Software Inc., WG Chair</i></dd>
<dd>Gavin Nicol, <i>Inso EPS (for DOM Level 1)</i></dd>
<dd>Jonathan Robie, <i>Texcel Research and Software AG (for DOM
Level 1)</i></dd>
<dd>Mike Champion, <i>ArborText and Software AG (for DOM Level 1
from November 20, 1997)</i></dd>
<dd>Steve Byrne, <i>JavaSoft (for DOM Level 1 until November 19,
1997)</i></dd>
</dl>
<p class='copyright'>Copyright &copy; 2000 <a
href='http://www.w3.org/'><abbr
title='World Wide Web Consortium'>W3C</abbr></a><sup>&reg;</sup>
(<a href='http://www.lcs.mit.edu/'><abbr
title='Massachusetts Institute of Technology'>MIT</abbr></a>, <a
href='http://www.inria.fr/'><abbr lang='fr'
title='Institut National de Recherche en Informatique et Automatique'>
INRIA</abbr></a>, <a href='http://www.keio.ac.jp/'>Keio</a>), All
Rights Reserved. W3C <a
href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>
liability</a>, <a
href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>
trademark</a>, <a
href='http://www.w3.org/Consortium/Legal/copyright-documents-19990405'>
document use</a> and <a
href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>
software licensing</a> rules apply.</p>
<p>Please refer to the <a href='http://www.w3.org/2004/01/DOM-Level-3-errata'><strong>errata</strong></a> for this document, which may include some normative corrections.</p><p>This document is also available in these non-normative formats: <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/xml-source.xml'>XML file</a>, <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.txt'>plain text</a>, <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.ps'>PostScript file</a>, <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.pdf'>PDF file</a>, <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.html'>single HTML file</a>, and <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/DOM3-Core.zip'>ZIP file</a>.</p>
<p class='translation'>See also <a href='http://www.w3.org/2004/01/DOM-Level-3-translations'>translations</a> of this document.</p><p class='copyright'><a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'> Copyright</a> &#xa9;2004 <a href='http://www.w3.org/'><acronym title='World Wide Web Consortium'>W3C</acronym></a><sup>&#xae;</sup> (<a href='http://www.csail.mit.edu/'><acronym title='Massachusetts Institute of Technology'>MIT</acronym></a>, <a href='http://www.ercim.org/'><acronym title='European Research Consortium for Informatics and Mathematics'>ERCIM</acronym></a>, <a href='http://www.keio.ac.jp/'>Keio</a>), All Rights Reserved. W3C <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>liability</a>, <a href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>trademark</a>, <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>document use</a> and <a href='http://www.w3.org/Consortium/Legal/copyright-software'>software licensing</a> rules apply.</p>
</div>
<hr title='separator from header' />
<hr title='separator from header'>
<h2 id='abstract'>Abstract</h2>
<div class='abstract'>
<p>This specification defines the Document Object Model Level 2
Core, a platform- and language-neutral interface that allows
programs and scripts to dynamically access and update the content
and structure of documents. The Document Object Model Level 2 Core
builds on the Document Object Model Level 1 Core.</p>
<p>The DOM Level 2 Core is made of a set of core interfaces to
create and manipulate the structure and contents of a document. The
Core also contains specialized interfaces dedicated to XML.</p>
</div>
<p>
This specification defines the Document Object Model Core Level
3, 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 Core Level 3 builds on the Document Object Model Core
Level 2 [<a class='noxref' href='references.html#DOM2Core'>DOM Level 2 Core</a>].
</p><p>
This version enhances DOM Level 2 Core by completing the mapping
between DOM and the XML Information Set [<a class='noxref' href='references.html#InfoSet'>XML Information Set</a>],
including the support for XML Base [<a class='noxref' href='references.html#XMLBase'>XML Base</a>],
adding the ability to attach user information to DOM Nodes or to
bootstrap a DOM implementation, providing mechanisms to resolve
namespace prefixes or to manipulate "ID" attributes, giving to type
information, etc.
</p></div>
<h2 id='status'>Status of this document</h2>
<div class='status'>
<p><em>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. The latest status of this document series is maintained
at the W3C.</em></p>
<p>This document has been reviewed by W3C Members and other
interested parties and has been endorsed by the Director as a <a
href='http://www.w3.org/Consortium/Process/Process-19991111/tr.html#RecsW3C'>
W3C Recommendation</a>. It is a stable document and may be used as
reference material or cited as a normative reference from another
document. W3C's role in making the Recommendation is to draw
attention to the specification and to promote its widespread
deployment. This enhances the functionality and interoperability of
the Web.</p>
<p>This document has been produced as part of the <a
href='http://www.w3.org/DOM/Activity.html'>W3C DOM Activity</a>.
The authors of this document are the DOM Working Group members.
Different modules of the Document Object Model have different
editors.</p>
<p>Please send general comments about this document to the public
mailing list <a href='mailto:www-dom@w3.org'>www-dom@w3.org</a>. An
<a href='http://lists.w3.org/Archives/Public/www-dom/'>archive</a>
is available at http://lists.w3.org/Archives/Public/www-dom/.</p>
<p>The English version of this specification is the only normative
version. Information about <a
href='http://www.w3.org/2000/11/DOM-Level-2-translations'>translations</a>
of this document is available at
http://www.w3.org/2000/11/DOM-Level-2-translations.</p>
<p>The <a href='http://www.w3.org/2000/11/DOM-Level-2-errata'>list
of known errors</a> in this document is available at
http://www.w3.org/2000/11/DOM-Level-2-errata</p>
<p>A list of <a href='http://www.w3.org/TR/'>current W3C
Recommendations and other technical documents</a> can be found at
http://www.w3.org/TR.</p>
</div>
<h2 id='table-of-contents'><a id="contents" name='contents'>Table
of contents</a></h2>
<p>
<em>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 <a href='http://www.w3.org/TR/'>W3C technical reports index</a>
at http://www.w3.org/TR/.</em>
</p><p>
This document contains the Document Object Model Level 3 Core
specification and is a <a href='http://www.w3.org/2004/02/Process-20040205/tr.html#RecsW3C'>W3C
Recommendation</a>. It has been produced as part of the <a href='http://www.w3.org/DOM/Activity.html'>W3C DOM
Activity</a>. The authors of this document are the <a href='http://www.w3.org/DOM/'>DOM Working Group</a>
participants. For more information about DOM, readers can also
refer to <a href='http://www.w3.org/DOM/faq.html'>DOM
FAQ</a> and <a href='http://www.w3.org/DOM/Test/'>DOM
Conformance Test Suites</a>.
</p><p>
It is based on the feedback received during the <a href='http://www.w3.org/2004/02/19-dom-level-3-issues/issues.html'>Proposed
Recommendation</a> period. <a href='http://www.w3.org/2004/03/DOM-Level-3-Core-changes.html'>Changes
since the Proposed Recommendation version</a> and an <a href='http://www.w3.org/2003/10/DOM-Level-3-Core-implementations.html'>implementation
report</a> are available. Please refer to the <a href='http://www.w3.org/2004/01/DOM-Level-3-errata'>errata</a> for this
document, which may include some normative corrections.
</p><p>
Comments on this document should be sent to the public mailing
list <a href='mailto:www-dom@w3.org'>www-dom@w3.org</a> (<a href='http://lists.w3.org/Archives/Public/www-dom/'>public archive</a>).
</p><p>
This is a stable document and has been endorsed by the W3C
Membership and the participants of the DOM working group. The
English version of this specification is the only normative
version. See also <a href='http://www.w3.org/2004/01/DOM-Level-3-translations'>translations</a>.
</p><p>
Patent disclosures relevant to this specification may be found
on the Working Group's <a href='http://www.w3.org/2002/08/02-DOM-Disclosures.html'>patent
disclosure page</a>. This document has been produced under the
<a href='http://www.w3.org/TR/2002/NOTE-patent-practice-20020124'>24
January 2002 CPP</a> as amended by the <a href='http://www.w3.org/2004/02/05-pp-transition'>W3C Patent
Policy Transition Procedure</a>. An individual who has actual
knowledge of a patent which the individual believes contains
Essential Claim(s) with respect to this specification should
disclose the information in accordance with <a href='http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure'>section
6 of the W3C Patent Policy</a>.
</p></div>
<h2 id='table-of-contents'><a name='contents'>Table of contents</a></h2>
<ul class='toc'>
<li class='tocline2'><a class='tocxref'
href='expanded-toc.html'>Expanded Table of Contents</a></li>
<li class='tocline2'><a class='tocxref'
href='copyright-notice.html'>Copyright Notice</a></li>
<li class='tocline2'><a class='tocxref'
href='introduction.html'>What is the Document Object
Model?</a></li>
<li class='tocline2'><a class='tocxref' href='expanded-toc.html'>Expanded Table of Contents</a></li>
<li class='tocline2'><a class='tocxref' href='copyright-notice.html'>W3C Copyright Notices and Licenses</a></li>
<li class='tocline2'><a class='tocxref' href='introduction.html'>What is the Document Object Model?</a></li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref' href='core.html'>1. Document Object Model Core</a></li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref' href='changes.html'>Appendix A: Changes</a></li>
<li class='tocline2'><a class='tocxref' href='namespaces-algorithms.html'>Appendix B: Namespaces Algorithms</a></li>
<li class='tocline2'><a class='tocxref' href='infoset-mapping.html'>Appendix C: Infoset Mapping</a></li>
<li class='tocline2'><a class='tocxref' href='configuration-settings.html'>Appendix D: Configuration Settings</a></li>
<li class='tocline2'><a class='tocxref' href='accessing-code-point-boundaries.html'>Appendix E: Accessing code point boundaries</a></li>
<li class='tocline2'><a class='tocxref' href='idl-definitions.html'>Appendix F: IDL Definitions</a></li>
<li class='tocline2'><a class='tocxref' href='java-binding.html'>Appendix G: Java Language Binding</a></li>
<li class='tocline2'><a class='tocxref' href='ecma-script-binding.html'>Appendix H: ECMAScript Language Binding</a></li>
<li class='tocline2'><a class='tocxref' href='acknowledgements.html'>Appendix I: Acknowledgements</a></li>
<li class='tocline2'><a class='tocxref' href='glossary.html'>Glossary</a></li>
<li class='tocline2'><a class='tocxref' href='references.html'>References</a></li>
<li class='tocline2'><a class='tocxref' href='def-index.html'>Index</a></li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref' href='core.html'>1.
Document Object Model Core</a></li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref'
href='changes.html'>Appendix A: Changes</a></li>
<li class='tocline2'><a class='tocxref' href='i18n.html'>Appendix
B: Accessing code point boundaries</a></li>
<li class='tocline2'><a class='tocxref'
href='idl-definitions.html'>Appendix C: IDL Definitions</a></li>
<li class='tocline2'><a class='tocxref'
href='java-binding.html'>Appendix D: Java Language Binding</a></li>
<li class='tocline2'><a class='tocxref'
href='ecma-script-binding.html'>Appendix E: ECMAScript Language
Binding</a></li>
<li class='tocline2'><a class='tocxref'
href='acknowledgements.html'>Appendix F: Acknowledgements</a></li>
<li class='tocline2'><a class='tocxref'
href='glossary.html'>Glossary</a></li>
<li class='tocline2'><a class='tocxref'
href='references.html'>References</a></li>
<li class='tocline2'><a class='tocxref'
href='def-index.html'>Index</a></li>
</ul>
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='n' href='expanded-toc.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
<div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Expanded Table of Contents' href='expanded-toc.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,28 +1,16 @@
/* This is an SSI script. Policy:
(1) Use CVS
(2) send e-mail to w3t-comm@w3.org if you edit this
*/
/* Style for a "Recommendation" */
/*
This is an SSI script. Policy:
(1) Use CVS
(2) send e-mail to w3t-comm@w3.org if you edit this
Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved.
The following software licensing rules apply:
http://www.w3.org/Consortium/Legal/copyright-software */
Acknowledgments:
- 'background-color' doesn't work on Mac IE 3, but 'background'
does (Susan Lesch <lesch@macvirus.com>)
- 'smaller' leads to illegible text in both Mac IE and Mac NS,
'small' is better: works in Mac NS, but is always 12pt in Mac IE
3 (Susan Lesch <lesch@macvirus.com>)
$Id$
*/
/* $Id$ */
body {
margin: 2em 1em 2em 70px;
padding: 2em 1em 2em 70px;
margin: 0;
font-family: sans-serif;
color: black;
background: white;
@ -30,13 +18,24 @@ body {
background-attachment: fixed;
background-repeat: no-repeat;
}
:link { color: #00C; background: transparent }
:visited { color: #609; background: transparent }
a:active { color: #C00; background: transparent }
a:link img, a:visited img { border-style: none } /* no border on img links */
a img { color: white; } /* trick to hide the border in Netscape 4 */
@media all { /* hide the next rule from Netscape 4 */
a img { color: inherit; } /* undo the color change above */
}
th, td { /* ns 4 */
font-family: sans-serif;
}
h1, h2, h3, h4, h5, h6 { text-align: left }
h1, h2, h3 { color: #005A9C }
/* background should be transparent, but WebTV has a bug */
h1, h2, h3 { color: #005A9C; background: white }
h1 { font: 170% sans-serif }
h2 { font: 140% sans-serif }
h3 { font: 120% sans-serif }
@ -49,13 +48,12 @@ h6 { font: small-caps 100% sans-serif }
div.head { margin-bottom: 1em }
div.head h1 { margin-top: 2em; clear: both }
div.head table { margin-left: 2em; margin-top: 2em }
div.head img { color: white; border: none } /* remove border from top image */
p.copyright { font-size: small }
p.copyright small { font-size: small }
@media screen { /* hide from IE3 */
a:hover { background: #ffa }
a[href]:hover { background: #ffa }
}
pre { margin-left: 2em }
@ -83,12 +81,9 @@ ul.toc {
pre { speak-punctuation: code }
}
/* Things (icons) that should only show up in projection mode */
.projection { display: none }
@media projection { .projection { display: inline } }
body {
background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC);
background-image: url(./images/REC.gif);
}

View File

@ -0,0 +1,223 @@
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Wed Apr 07 13:11:22 EDT 2004 jfouffa.w3.org
-->
<html lang='en-US'>
<head>
<title>Accessing code point boundaries</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='idl-definitions.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='configuration-settings.html'>
</head>
<body>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Configuration Settings' accesskey='p' href='configuration-settings.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='IDL Definitions' accesskey='n' href='idl-definitions.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a name='i18n'></a>
<h1 id='i18n-h1' class='adiv1'>Appendix E: Accessing code point boundaries</h1>
<dl>
<dd>Mark Davis, IBM</dd>
<dd>Lauren Wood, SoftQuad Software Inc.</dd>
</dl>
<div class='noprint'>
<h2 id='table-of-contents'>Table of contents</h2>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='#i18n-introduction'>E.1 Introduction</a>
</li>
<li class='tocline3'><a class='tocxref' href='#i18n-methods'>E.2 Methods</a>
<ul class='toc'>
<li class='tocline4'><a href='#i18n-methods-StringExtend'>StringExtend</a></ul></li>
</ul>
</div>
<div class='div2'><a name='i18n-introduction'></a>
<h2 id='i18n-introduction-h2' class='adiv2'>E.1 Introduction</h2>
<p>
This appendix is an informative, not a normative, part of the Level 3 DOM
specification.
<p>
Characters are represented in Unicode by numbers called <i>code
points</i> (also called <i>scalar values</i>). These numbers can range
from 0 up to 1,114,111 = 10FFFF<sub>16</sub> (although some of these values are
illegal). Each code point can be directly encoded with a 32-bit code unit.
This encoding is termed UCS-4 (or UTF-32).
The DOM specification, however, uses UTF-16, in which the most frequent
characters (which have values less than FFFF<sub>16</sub>) are represented
by a single 16-bit code unit, while characters above FFFF<sub>16</sub>
use a special pair of code units called a <i>surrogate pair</i>. For more information,
see [<cite><a class='noxref normative' href='references.html#Unicode'>Unicode</a></cite>] or the Unicode Web site.
<p>
While indexing by code points as opposed to code units is not
common in programs, some specifications such as [<cite><a class='noxref informative' href='references.html#XPath10'>XPath 1.0</a></cite>] (and therefore XSLT and [<cite><a class='noxref informative' href='references.html#XPointer'>XPointer</a></cite>]) use code point indices. For
interfacing with such formats it is recommended that the
programming language provide string processing methods for
converting code point indices to code unit indices and back. Some
languages do not provide these functions natively; for these it is
recommended that the native <code>String</code> type that is bound
to <a href='core.html#DOMString'><code>DOMString</code></a> be extended to enable this
conversion. An example of how such an API might look is supplied
below.
<p><b>Note:</b>
Since these methods are supplied as an illustrative example of the type
of functionality that is required, the names of the methods,
exceptions, and interface may differ from those given here.
</p>
</div> <!-- div2 i18n-introduction -->
<div class='div2'><a name='i18n-methods'></a>
<h2 id='i18n-methods-h2' class='adiv2'>E.2 Methods</h2>
<dl>
<dt><b>Interface <i><a name='i18n-methods-StringExtend'>StringExtend</a></i></b></dt>
<dd>
<p>Extensions to a language's native String class or interface
<dl>
<dt><br><b>IDL Definition</b></dt>
<dd>
<div class='idl-code'>
<pre>
interface <a class='noxref' href='accessing-code-point-boundaries.html#i18n-methods-StringExtend'>StringExtend</a> {
int <a class='noxref' href='accessing-code-point-boundaries.html#i18n-methods-StringExtend-findOffset16'>findOffset16</a>(in int offset32)
raises(StringIndexOutOfBoundsException);
int <a class='noxref' href='accessing-code-point-boundaries.html#i18n-methods-StringExtend-findOffset32'>findOffset32</a>(in int offset16)
raises(StringIndexOutOfBoundsException);
};
</pre>
</div><br>
</dd>
<dt><b>Methods</b></dt>
<dd><dl>
<dt><code class='method-name'><a name='i18n-methods-StringExtend-findOffset16'>findOffset16</a></code></dt>
<dd>
<div class='method'>
Returns the UTF-16 offset that corresponds to a UTF-32 offset.
Used for random access.<p><b>Note:</b>
You can always round-trip from a UTF-32 offset to a UTF-16
offset and back. You can round-trip from a UTF-16 offset to
a UTF-32 offset and back if and only if the offset16 is not
in the middle of a surrogate pair. Unmatched surrogates
count as a single UTF-16 value.
</p>
<div class='parameters'>
<b>Parameters</b>
<div class='paramtable'>
<dl>
<dt><code class='parameter-name'>offset32</code> of type
<code>int</code></dt><dd>
UTF-32 offset.
<br>
</dd>
</dl>
</div></div> <!-- parameters -->
<div class='return'>
<b>Return Value</b>
<div class='returntable'>
<table summary='Layout table: the first cell contains
the type of the return value, the second contains a short description'
border='0'><tr><td valign='top'><p><code>int</code></p></td><td>
<p>
UTF-16 offset</td></tr></table>
</div></div> <!-- return -->
<div class='exceptions'>
<b>Exceptions</b>
<div class='exceptiontable'>
<table summary='Layout table: the first cell contains
the type of the exception, the second contains
the specific error code and a short description'
border='0'>
<tr><td valign='top'><p><code>StringIndexOutOfBoundsException</code></p></td><td>
<p>
if <code>offset32</code> is out of bounds.
</td></tr>
</table>
</div></div> <!-- exceptions -->
</div> <!-- method -->
</dd>
<dt><code class='method-name'><a name='i18n-methods-StringExtend-findOffset32'>findOffset32</a></code></dt>
<dd>
<div class='method'>
Returns the UTF-32 offset corresponding to a UTF-16 offset. Used
for random access. To find the UTF-32 length of a string, use:
<div class='eg'>
<pre>len32 = findOffset32(source, source.length());</pre>
</div>
<p><b>Note:</b>
If the UTF-16 offset is into the middle of a surrogate pair,
then the UTF-32 offset of the <em>end</em> of the pair is
returned; that is, the index of the char after the end of the
pair. You can always round-trip from a UTF-32 offset to a UTF-16
offset and back. You can round-trip from a UTF-16 offset to a
UTF-32 offset and back if and only if the offset16 is not in
the middle of a surrogate pair. Unmatched surrogates count as a
single UTF-16 value.
</p>
<div class='parameters'>
<b>Parameters</b>
<div class='paramtable'>
<dl>
<dt><code class='parameter-name'>offset16</code> of type
<code>int</code></dt><dd>
UTF-16 offset<br>
</dd>
</dl>
</div></div> <!-- parameters -->
<div class='return'>
<b>Return Value</b>
<div class='returntable'>
<table summary='Layout table: the first cell contains
the type of the return value, the second contains a short description'
border='0'><tr><td valign='top'><p><code>int</code></p></td><td>
<p>
UTF-32 offset</td></tr></table>
</div></div> <!-- return -->
<div class='exceptions'>
<b>Exceptions</b>
<div class='exceptiontable'>
<table summary='Layout table: the first cell contains
the type of the exception, the second contains
the specific error code and a short description'
border='0'>
<tr><td valign='top'><p><code>StringIndexOutOfBoundsException</code></p></td><td>
<p>if offset16 is out of bounds.</td></tr>
</table>
</div></div> <!-- exceptions -->
</div> <!-- method -->
</dd>
</dl></dd>
</dl></dd>
</dl>
</div> <!-- div2 i18n-methods --></div> <!-- div1 i18n --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Configuration Settings' href='configuration-settings.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='IDL Definitions' href='idl-definitions.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,101 +1,113 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:43:25 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:12:03 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Acknowledgements</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='glossary.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='ecma-script-binding.html' />
<title>Acknowledgements</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='glossary.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='ecma-script-binding.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='ecma-script-binding.html'>previous</a> &nbsp; <a
accesskey='n' href='glossary.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='ECMAScript Language Binding' accesskey='p' href='ecma-script-binding.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Glossary' accesskey='n' href='glossary.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="contributors" name='contributors'></a>
<h1 id='contributors-h1' class='adiv1'>Appendix F:
Acknowledgements</h1>
<p>Many people contributed to this specification, including members
of the DOM Working Group and the DOM Interest Group. We especially
thank the following:</p>
<p>Lauren Wood (SoftQuad Software Inc., <em>chair</em>), Andrew
Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le
Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea
(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris
Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don
Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian
Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared
Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe
Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh
(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim
Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark
Davis (IBM), Mark Scardina (Oracle), Martin D&uuml;rst (W3C), Mick
Goulish (Software AG), Mike Champion (Arbortext and Software AG),
Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso
(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton
(Netscape), Philippe Le H&eacute;garet (W3C, <em>W3C team
contact</em>), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer
(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick
Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO),
Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape),
Vidur Apparao (Netscape), Vinod Anupam (Lucent).</p>
<p>Thanks to all those who have helped to improve this
specification by sending suggestions and corrections.</p>
<div class='div2'><a id="Productions" name='Productions'></a>
<h2 id='Productions-h2' class='adiv2'>F.1: Production Systems</h2>
<p>This specification was written in XML. The HTML, OMG IDL, Java
and ECMA Script bindings were all produced automatically.</p>
<p>Thanks to Joe English, author of <a
href='http://www.flightlab.com/cost'>cost</a>, 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&eacute;garet maintained the scripts.</p>
<p>For DOM Level 2, we used <a
href='http://xml.apache.org/xerces-j'>Xerces</a> as the basis DOM
implementation and wish to thank the authors. Philippe Le
H&eacute;garet and Arnaud Le Hors wrote the <a
href='http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/'>
Java programs</a> which are the DOM application.</p>
<p>Thanks also to Jan K&auml;rrman, author of <a
href='http://www.tdb.uu.se/~jan/html2ps.html'>html2ps</a>, which we
use in creating the PostScript version of the specification.</p>
</div>
<!-- div2 Productions --></div>
<!-- div1 contributors -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='ecma-script-binding.html'>previous</a>
&nbsp; <a accesskey='n' href='glossary.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
<div class='div1'><a name='contributors'></a>
<h1 id='contributors-h1' class='adiv1'>Appendix I: Acknowledgements</h1>
<p class='first'>Many people contributed to the DOM specifications (Level 1, 2
or 3), including participants of the DOM Working Group and the DOM
Interest Group. We especially thank the following:</p><p>
Andrew Watson (Object Management Group), Andy Heninger (IBM),
Angel Diaz (IBM), Arnaud Le Hors (W3C and IBM), Ashok Malhotra
(IBM and Microsoft), Ben Chang (Oracle), Bill Smith (Sun), Bill
Shea (Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft),
Chris Wilson (Microsoft), David Brownell (Sun), David Ezell
(Hewlett-Packard Company), David Singer (IBM), Dimitris
Dimitriadis (Improve AB and invited expert), Don Park (invited),
Elena Litani (IBM), Eric Vasilik (Microsoft), Gavin Nicol
(INSO), Ian Jacobs (W3C), James Clark (invited), James Davidson
(Sun), Jared Sorensen (Novell), Jeroen van Rotterdam (X-Hive
Corporation), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe
Marini (Macromedia), Johnny Stenback (Netscape/AOL), Jon
Ferraiolo (Adobe), Jonathan Marsh (Microsoft), Jonathan Robie
(Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad
Software Inc.), Lauren Wood (SoftQuad Software Inc.,
<em>former Chair</em>), Laurence Cable (Sun), Mark Davis
(IBM), Mark Scardina (Oracle), Martin D&#xfc;rst (W3C), Mary
Brady (NIST), Mick Goulish (Software AG), Mike Champion
(Arbortext and Software AG), Miles Sabin (Cromwell Media), Patti
Lutsky (Arbortext), Paul Grosso (Arbortext), Peter Sharpe
(SoftQuad Software Inc.), Phil Karlton (Netscape), Philippe Le
H&#xe9;garet (W3C, <em>W3C Team Contact and former
Chair</em>), Ramesh Lekshmynarayanan (Merrill Lynch), Ray
Whitmer (iMall, Excite@Home, and Netscape/AOL,
<em>Chair</em>), Rezaur Rahman (Intel), Rich Rollman
(Microsoft), Rick Gessner (Netscape), Rick Jelliffe (invited),
Rob Relyea (Microsoft), Scott Isaacs (Microsoft), Sharon Adler
(INSO), Steve Byrne (JavaSoft), Tim Bray (invited), Tim Yu
(Oracle), Tom Pixley (Netscape/AOL), Vidur Apparao (Netscape),
Vinod Anupam (Lucent).
</p><p>
Thanks to all those who have helped to improve this
specification by sending suggestions and corrections (Please,
keep bugging us with your issues!).
</p><p>
Many thanks to Andrew Clover, Petteri Stenius, Curt Arnold,
Glenn A. Adams, Christopher Aillon, Scott Nichol,
Fran&#xe7;ois Yergeau, Anjana Manian, Susan Lesch, and Jeffery
B. Rancier for their review and comments of this document.
</p><p>
Special thanks to the <a class='normative' href='http://www.w3.org/DOM/Test'>DOM
Conformance Test Suites</a> contributors: Fred Drake, Mary
Brady (NIST), Rick Rivello (NIST), Robert Clary (Netscape), with
a special mention to Curt Arnold.
</p>
<div class='div2'><a name='Productions'></a>
<h2 id='Productions-h2' class='adiv2'>I.1 Production Systems</h2>
<p>
This specification was written in XML. The HTML, OMG IDL, Java and
ECMAScript bindings were all produced automatically.
<p>
Thanks to Joe English, author of <a class='normative' href='http://www.flightlab.com/cost'>cost</a>, 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&#xe9;garet maintained
the scripts.
<p>
After DOM Level 1, we used <a class='normative' href='http://xml.apache.org/xerces-j'>Xerces</a> as the
basis DOM implementation and wish to thank the
authors. Philippe Le H&#xe9;garet and Arnaud Le Hors wrote
the <a class='normative' href='http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/'>Java
programs</a> which are the DOM application.
<p>
Thanks also to Jan K&#xe4;rrman, author of <a class='normative' href='http://user.it.uu.se/~jan/html2ps.html'>html2ps</a>,
which we use in creating the PostScript version of the
specification.
</div> <!-- div2 Productions --></div> <!-- div1 contributors --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='ECMAScript Language Binding' href='ecma-script-binding.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Glossary' href='glossary.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,193 +1,300 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:43:01 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:11:02 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Changes</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='i18n.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='core.html' />
<title>Changes</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='namespaces-algorithms.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='core.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='core.html'>previous</a> &nbsp; <a accesskey='n'
href='i18n.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Document Object Model Core' accesskey='p' href='core.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Namespaces Algorithms' accesskey='n' href='namespaces-algorithms.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="Changes" name='Changes'></a>
<div class='div1'><a name='Changes'></a>
<h1 id='Changes-h1' class='adiv1'>Appendix A: Changes</h1>
<dl>
<dt><i>Editors</i></dt>
<dd>Arnaud Le Hors, IBM</dd>
<dd>Philippe Le H&eacute;garet, W3C</dd>
</dl>
<div class='div2'><a id="DOMLevel1to2Changes"
name='DOMLevel1to2Changes'></a>
<h2 id='DOMLevel1to2Changes-h2' class='adiv2'>A.1: Changes between
DOM Level 1 Core and DOM Level 2 Core</h2>
<dl>
<dt><b>OMG IDL</b></dt>
<dd>The DOM Level 2 specifications are now using Corba 2.3.1
instead of Corba 2.2.</dd>
<dt><b>Type <a
href='core.html#DOMString'><code>DOMString</code></a></b></dt>
<dd>The definition of <a
href='core.html#DOMString'><code>DOMString</code></a> in IDL is now
a <code>valuetype</code>.</dd>
</dl>
<div class='div3'><a id="DOMLevel1Changes"
name='DOMLevel1Changes'></a>
<h3 id='DOMLevel1Changes-h3' class='adiv3'>A.1.1: Changes to DOM
Level 1 Core interfaces and exceptions</h3>
<dl>
<dt><b>Interface <a
href='core.html#ID-637646024'><code>Attr</code></a></b></dt>
<dd>The <a href='core.html#ID-637646024'><code>Attr</code></a>
interface has one new attribute: <code>ownerElement</code>.</dd>
<dt><b>Interface <a
href='core.html#i-Document'><code>Document</code></a></b></dt>
<dd>The <a href='core.html#i-Document'><code>Document</code></a>
interface has five new methods: <code>importNode</code>,
<code>createElementNS</code>, <code>createAttributeNS</code>,
<code>getElementsByTagNameNS</code> and
<code>getElementById</code>.</dd>
<dt><b>Interface <a
href='core.html#ID-1780488922'><code>NamedNodeMap</code></a></b></dt>
<dd>The <a
href='core.html#ID-1780488922'><code>NamedNodeMap</code></a>
interface has three new methods: <code>getNamedItemNS</code>,
<code>setNamedItemNS</code>, <code>removeNamedItemNS</code>.</dd>
<dt><b>Interface <a
href='core.html#ID-1950641247'><code>Node</code></a></b></dt>
<dd>The <a href='core.html#ID-1950641247'><code>Node</code></a>
interface has two new methods: <code>isSupported</code> and
<code>hasAttributes</code>.<br />
<code>normalize</code>, previously in the <a
href='core.html#ID-745549614'><code>Element</code></a> interface,
has been moved in the <a
href='core.html#ID-1950641247'><code>Node</code></a>
interface.<br />
The <a href='core.html#ID-1950641247'><code>Node</code></a>
interface has three new attributes: <code>namespaceURI</code>,
<code>prefix</code> and <code>localName</code>.<br />
The <code>ownerDocument</code> attribute was specified to be
<code>null</code> when the node is a <a
href='core.html#i-Document'><code>Document</code></a>. It now is
also <code>null</code> when the node is a <a
href='core.html#ID-412266927'><code>DocumentType</code></a> which
is not used with any <a class='noxref'
href='core.html#i-Document'><code>Document</code></a> yet.</dd>
<dt><b>Interface <a
href='core.html#ID-412266927'><code>DocumentType</code></a></b></dt>
<dd>The <a
href='core.html#ID-412266927'><code>DocumentType</code></a>
interface has three attributes: <code>publicId</code>,
<code>systemId</code> and <code>internalSubset</code>.</dd>
<dt><b>Interface <a
href='core.html#ID-102161490'><code>DOMImplementation</code></a></b></dt>
<dd>The <a
href='core.html#ID-102161490'><code>DOMImplementation</code></a>
interface has two new methods: <code>createDocumentType</code> and
<code>createDocument</code>.</dd>
<dt><b>Interface <a
href='core.html#ID-745549614'><code>Element</code></a></b></dt>
<dd>The <a href='core.html#ID-745549614'><code>Element</code></a>
interface has eight new methods: <code>getAttributeNS</code>,
<code>setAttributeNS</code>, <code>removeAttributeNS</code>,
<code>getAttributeNodeNS</code>, <code>setAttributeNodeNS</code>,
<code>getElementsByTagNameNS</code>, <code>hasAttribute</code> and
<code>hasAttributeNS</code>.<br />
The method <code>normalize</code> is now inherited from the <a
href='core.html#ID-1950641247'><code>Node</code></a> interface
where it was moved.</dd>
<dt><b>Exception <a
href='core.html#ID-17189187'><code>DOMException</code></a></b></dt>
<dd>The <a
href='core.html#ID-17189187'><code>DOMException</code></a> has five
new exception codes: <code>INVALID_STATE_ERR</code>,
<code>SYNTAX_ERR</code>, <code>INVALID_MODIFICATION_ERR</code>,
<code>NAMESPACE_ERR</code> and
<code>INVALID_ACCESS_ERR</code>.</dd>
<dt><i>Editor</i>:
</dt><dd>Philippe Le H&#xe9;garet, W3C</dd>
</dl>
<div class='noprint'>
<h2 id='table-of-contents'>Table of contents</h2>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='#DOMLevel3Sections'>A.1 New sections</a>
</li>
<li class='tocline3'><a class='tocxref' href='#DOMLevel2Changes'>A.2 Changes to DOM Level 2 Core interfaces and exceptions</a>
</li>
<li class='tocline3'><a class='tocxref' href='#DOMLevel3Addons-features'>A.3 New DOM features</a>
</li>
<li class='tocline3'><a class='tocxref' href='#DOMLevel3Addons-types'>A.4 New types</a>
</li>
<li class='tocline3'><a class='tocxref' href='#DOMLevel3Addons-interfaces'>A.5 New interfaces</a>
</li>
<li class='tocline3'><a class='tocxref' href='#DOMLevel3Addons-objectss'>A.6 Objects</a>
</li>
</ul>
</div>
<p class='first'>
This section summarizes the changes between [<cite><a class='noxref informative' href='references.html#DOM2Core'>DOM Level 2 Core</a></cite>] and this new version of the Core
specification.
</p>
<div class='div2'><a name='DOMLevel3Sections'></a>
<h2 id='DOMLevel3Sections-h2' class='adiv2'>A.1 New sections</h2>
<p>
The following new sections have been added:
<ul>
<li>
<!-- div3 DOMLevel1Changes -->
<div class='div3'><a id="DOMLevel2Addons"
name='DOMLevel2Addons'></a>
<a href='introduction.html#DOMArchitecture'>DOM Architecture</a>: a global overview of the DOM
Level 3 modules;
</li>
<li>
<h3 id='DOMLevel2Addons-h3' class='adiv3'>A.1.2: New features</h3>
<a href='core.html#domURIs'>DOM URIs</a>: general considerations on the URI
handling in DOM Level 3;
</li>
<li>
<div class='div4'><a id="DOMLevel2Addons-types"
name='DOMLevel2Addons-types'></a>
<a href='core.html#baseURIs-Considerations'>Base URIs</a>: How the <b>[base URI]</b> property defined in [<cite><a class='noxref normative' href='references.html#InfoSet'>XML Information Set</a></cite>] has been exposed in DOM Level 3;
</li>
<li>
<h4 id='DOMLevel2Addons-types-h4' class='adiv4'>A.1.2.1: New
types</h4>
<a href='core.html#Embedded-DOM'>Mixed DOM Implementations</a>: general considerations on DOM
implementation extensions;
</li>
<li>
<a href='core.html#DOMFeatures'>DOM Features</a>: overview of the DOM features and how
they relate to the DOM modules;
</li>
<li>
<a href='core.html#Bootstrap'>Bootstrapping</a>: general introduction to the DOM
Level 3 bootstrapping mechanisms;
</li>
<li>
<a href='namespaces-algorithms.html#Algorithms'>Namespaces Algorithms</a>: how namespace URIs and prefixes
are resolved in DOM Level 3;
</li>
<li>
<a href='infoset-mapping.html#InfosetMapping'>Infoset Mapping</a>: relation between DOM Level 3
and [<cite><a class='noxref normative' href='references.html#InfoSet'>XML Information Set</a></cite>];
</li>
<li>
<a href='configuration-settings.html#Parameters'>Configuration Settings</a>: relations between parameters as
used in <a href='core.html#DOMConfiguration'><code>DOMConfiguration</code></a>;
</li>
</ul>
</div> <!-- div2 DOMLevel3Sections -->
<div class='div2'><a name='DOMLevel2Changes'></a>
<h2 id='DOMLevel2Changes-h2' class='adiv2'>A.2 Changes to DOM Level 2 Core interfaces and exceptions</h2>
<dl>
<dt><b><a
href='core.html#DOMTimeStamp'><code>DOMTimeStamp</code></a></b></dt>
<dd>The <a
href='core.html#DOMTimeStamp'><code>DOMTimeStamp</code></a> type
was added to the Core module.</dd>
</dl>
</div>
<!-- div4 DOMLevel2Addons-types --></div>
<!-- div3 DOMLevel2Addons --></div>
<!-- div2 DOMLevel1to2Changes --></div>
<!-- div1 Changes -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='core.html'>previous</a> &nbsp; <a
accesskey='n' href='i18n.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a></div>
<dt>Interface <a href='core.html#ID-637646024'><code>Attr</code></a></dt>
<dd>The <a href='core.html#ID-637646024'><code>Attr</code></a> interface has two new attributes,
<a href='core.html#Attr-schemaTypeInfo'><code>Attr.schemaTypeInfo</code></a>, and
<a href='core.html#Attr-isId'><code>Attr.isId</code></a>.</dd><dt>Interface <a href='core.html#i-Document'><code>Document</code></a></dt>
<dd>The <a href='core.html#i-Document'><code>Document</code></a> interface has seven new
attributes: <a href='core.html#Document3-inputEncoding'><code>Document.inputEncoding</code></a>,
<a href='core.html#Document3-encoding'><code>Document.xmlEncoding</code></a>,
<a href='core.html#Document3-standalone'><code>Document.xmlStandalone</code></a>,
<a href='core.html#Document3-version'><code>Document.xmlVersion</code></a>,
<a href='core.html#Document3-strictErrorChecking'><code>Document.strictErrorChecking</code></a>,
<a href='core.html#Document3-documentURI'><code>Document.documentURI</code></a>, and
<a href='core.html#Document3-domConfig'><code>Document.domConfig</code></a>. It has three new methods:
<a href='core.html#Document3-adoptNode'><code>Document.adoptNode(source)</code></a>,
<a href='core.html#Document3-normalizeDocument'><code>Document.normalizeDocument()</code></a>, and
<a href='core.html#Document3-renameNode'><code>Document.renameNode(n, namespaceURI,
qualifiedName)</code></a>. The attribute
<a href='core.html#ID-B63ED1A31'><code>Document.doctype</code></a> has been modified.
</dd><dt>Exception <a href='core.html#ID-17189187'><code>DOMException</code></a></dt>
<dd>
The <a href='core.html#ID-17189187'><code>DOMException</code></a> has two new exception codes:
<a href='core.html#DOMException-VALIDATION_ERR'><code>VALIDATION_ERR</code></a> and
<a href='core.html#DOMException-TYPE_MISMATCH_ERR'><code>TYPE_MISMATCH_ERR</code></a>.
</dd><dt>Interface <a href='core.html#ID-102161490'><code>DOMImplementation</code></a></dt>
<dd>The <a href='core.html#ID-102161490'><code>DOMImplementation</code></a> interface has one new
method, <a href='core.html#DOMImplementation3-getFeature'><code>DOMImplementation.getFeature(feature,
version)</code></a>.</dd><dt>Interface <a href='core.html#ID-527DCFF2'><code>Entity</code></a></dt>
<dd>The <a href='core.html#ID-527DCFF2'><code>Entity</code></a> interface has three new
attributes: <a href='core.html#Entity3-inputEncoding'><code>Entity.inputEncoding</code></a>,
<a href='core.html#Entity3-encoding'><code>Entity.xmlEncoding</code></a>, and
<a href='core.html#Entity3-version'><code>Entity.xmlVersion</code></a>.
</dd><dt>Interface <a href='core.html#ID-745549614'><code>Element</code></a></dt>
<dd>
The <a href='core.html#ID-745549614'><code>Element</code></a> interface has one new attribute,
<a href='core.html#Element-schemaTypeInfo'><code>Element.schemaTypeInfo</code></a>, and three new methods:
<a href='core.html#ID-ElSetIdAttr'><code>Element.setIdAttribute(name, isId)</code></a>,
<a href='core.html#ID-ElSetIdAttrNS'><code>Element.setIdAttributeNS(namespaceURI, localName,
isId)</code></a>, and <a href='core.html#ID-ElSetIdAttrNode'><code>Element.setIdAttributeNode(idAttr,
isId)</code></a>.
</dd><dt>Interface <a href='core.html#ID-1950641247'><code>Node</code></a></dt>
<dd>The <a href='core.html#ID-1950641247'><code>Node</code></a> interface has two new attributes,
<a href='core.html#Node3-baseURI'><code>Node.baseURI</code></a> and <a href='core.html#Node3-textContent'><code>Node.textContent</code></a>.
It has nine new methods:
<a href='core.html#Node3-compareDocumentPosition'><code>Node.compareDocumentPosition(other)</code></a>,
<a href='core.html#Node3-isSameNode'><code>Node.isSameNode(other)</code></a>,
<a href='core.html#Node3-lookupNamespacePrefix'><code>Node.lookupPrefix(namespaceURI)</code></a>,
<a href='core.html#Node3-isDefaultNamespace'><code>Node.isDefaultNamespace(namespaceURI)</code></a>,
<a href='core.html#Node3-lookupNamespaceURI'><code>Node.lookupNamespaceURI(prefix)</code></a>,
<a href='core.html#Node3-isEqualNode'><code>Node.isEqualNode(arg)</code></a>,
<a href='core.html#Node3-getFeature'><code>Node.getFeature(feature, version)</code></a>,
<a href='core.html#Node3-setUserData'><code>Node.setUserData(key, data, handler)</code></a>,
<a href='core.html#Node3-getUserData'><code>Node.getUserData(key)</code></a>. It introduced 6 new
constants: <a href='core.html#Node-DOCUMENT_POSITION_DISCONNECTED'><code>Node.DOCUMENT_POSITION_DISCONNECTED</code></a>,
<a href='core.html#Node-DOCUMENT_POSITION_PRECEDING'><code>Node.DOCUMENT_POSITION_PRECEDING</code></a>,
<a href='core.html#Node-DOCUMENT_POSITION_FOLLOWING'><code>Node.DOCUMENT_POSITION_FOLLOWING</code></a>,
<a href='core.html#Node-DOCUMENT_POSITION_CONTAINS'><code>Node.DOCUMENT_POSITION_CONTAINS</code></a>,
<a href='core.html#Node-DOCUMENT_POSITION_CONTAINED_BY'><code>Node.DOCUMENT_POSITION_CONTAINED_BY</code></a>, and
<a href='core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC'><code>Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</code></a>. The
methods <a href='core.html#ID-952280727'><code>Node.insertBefore(newChild, refChild)</code></a>,
<a href='core.html#ID-785887307'><code>Node.replaceChild(newChild, oldChild)</code></a> and
<a href='core.html#ID-1734834066'><code>Node.removeChild(oldChild)</code></a> have been modified.
</dd><dt>Interface <a href='core.html#ID-1312295772'><code>Text</code></a></dt>
<dd>
The <a href='core.html#ID-1312295772'><code>Text</code></a> interface has two new attributes,
<a href='core.html#Text3-wholeText'><code>Text.wholeText</code></a> and
<a href='core.html#Text3-isElementContentWhitespace'><code>Text.isElementContentWhitespace</code></a>, and one new
method, <a href='core.html#Text3-replaceWholeText'><code>Text.replaceWholeText(content)</code></a>.
</dd></dl>
</div> <!-- div2 DOMLevel2Changes -->
<div class='div2'><a name='DOMLevel3Addons-features'></a>
<h2 id='DOMLevel3Addons-features-h2' class='adiv2'>A.3 New DOM features</h2>
<dl>
<dt>"XMLVersion"</dt>
<dd>
The "XMLVersion" DOM feature was introduced to represent if
an implementation is able to support [<cite><a class='noxref normative' href='references.html#XML'>XML 1.0</a></cite>] or
[<cite><a class='noxref normative' href='references.html#XML11'>XML 1.1</a></cite>]. See <a href='core.html#Document3-version'><code>Document.xmlVersion</code></a>.
</dd></dl>
</div> <!-- div2 DOMLevel3Addons-features -->
<div class='div2'><a name='DOMLevel3Addons-types'></a>
<h2 id='DOMLevel3Addons-types-h2' class='adiv2'>A.4 New types</h2>
<dl>
<dt><a href='core.html#DOMUserData'><code>DOMUserData</code></a></dt>
<dd>The <a href='core.html#DOMUserData'><code>DOMUserData</code></a> type was added to the Core
module.</dd><dt><a href='core.html#DOMObject'><code>DOMObject</code></a></dt>
<dd>The <a href='core.html#DOMObject'><code>DOMObject</code></a> type was added to the Core
module.</dd></dl>
</div> <!-- div2 DOMLevel3Addons-types -->
<div class='div2'><a name='DOMLevel3Addons-interfaces'></a>
<h2 id='DOMLevel3Addons-interfaces-h2' class='adiv2'>A.5 New interfaces</h2>
<dl>
<dt><a href='core.html#DOMStringList'><code>DOMStringList</code></a></dt>
<dd>
The <a href='core.html#DOMStringList'><code>DOMStringList</code></a> interface has one
attribute, <a href='core.html#DOMStringList-length'><code>DOMStringList.length</code></a>, and one
method, <a href='core.html#DOMStringList-item'><code>DOMStringList.item(index)</code></a>.
</dd><dt><a href='core.html#NameList'><code>NameList</code></a></dt>
<dd>
The <a href='core.html#NameList'><code>NameList</code></a> interface has one attribute,
<a href='core.html#NameList-length'><code>NameList.length</code></a>, and two methods,
<a href='core.html#NameList-getName'><code>NameList.getName(index)</code></a> and
<a href='core.html#NameList-getNamespaceURI'><code>NameList.getNamespaceURI(index)</code></a>.
</dd><dt><a href='core.html#DOMImplementationList'><code>DOMImplementationList</code></a></dt>
<dd>
The <a href='core.html#DOMImplementationList'><code>DOMImplementationList</code></a> interface has one
attribute, <a href='core.html#DOMImplementationList-length'><code>DOMImplementationList.length</code></a>, and
one method,
<a href='core.html#DOMImplementationList-item'><code>DOMImplementationList.item(index)</code></a>.
</dd><dt><a href='core.html#DOMImplementationSource'><code>DOMImplementationSource</code></a></dt>
<dd>
The <a href='core.html#DOMImplementationSource'><code>DOMImplementationSource</code></a> interface has two
methods,
<a href='core.html#ID-getDOMImpl'><code>DOMImplementationSource.getDOMImplementation(features)</code></a>,
and
<a href='core.html#ID-getDOMImpls'><code>DOMImplementationSource.getDOMImplementationList(features)</code></a>.
</dd><dt><a href='core.html#TypeInfo'><code>TypeInfo</code></a></dt>
<dd>
The <a href='core.html#TypeInfo'><code>TypeInfo</code></a> interface has two attributes,
<a href='core.html#TypeInfo-typeName'><code>TypeInfo.typeName</code></a>, and
<a href='core.html#TypeInfo-typeNamespace'><code>TypeInfo.typeNamespace</code></a>.
</dd><dt><a href='core.html#UserDataHandler'><code>UserDataHandler</code></a></dt>
<dd>
The <a href='core.html#UserDataHandler'><code>UserDataHandler</code></a> interface has one method,
<a href='core.html#ID-handleUserDataEvent'><code>UserDataHandler.handle(operation, key, data, src,
dst)</code></a>, and four constants:
<a href='core.html#UserDataHandler-CLONED'><code>UserDataHandler.NODE_CLONED</code></a>,
<a href='core.html#UserDataHandler-IMPORTED'><code>UserDataHandler.NODE_IMPORTED</code></a>,
<a href='core.html#UserDataHandler-DELETED'><code>UserDataHandler.NODE_DELETED</code></a>, and
<a href='core.html#UserDataHandler-RENAMED'><code>UserDataHandler.NODE_RENAMED</code></a>.
</dd><dt><a href='core.html#ERROR-Interfaces-DOMError'><code>DOMError</code></a></dt>
<dd>
The <a href='core.html#ERROR-Interfaces-DOMError'><code>DOMError</code></a> interface has six attributes:
<a href='core.html#ERROR-DOMError-severity'><code>DOMError.severity</code></a>,
<a href='core.html#ERROR-DOMError-message'><code>DOMError.message</code></a>,
<a href='core.html#ERROR-DOMError-type'><code>DOMError.type</code></a>,
<a href='core.html#ERROR-DOMError-relatedException'><code>DOMError.relatedException</code></a>,
<a href='core.html#ERROR-DOMError-relatedData'><code>DOMError.relatedData</code></a>, and
<a href='core.html#ERROR-DOMError-location'><code>DOMError.location</code></a>. It has four constants:
<a href='core.html#ERROR-DOMError-severity-warning'><code>DOMError.SEVERITY_WARNING</code></a>,
<a href='core.html#ERROR-DOMError-severity-error'><code>DOMError.SEVERITY_ERROR</code></a>, and
<a href='core.html#ERROR-DOMError-severity-fatal-error'><code>DOMError.SEVERITY_FATAL_ERROR</code></a>.
</dd><dt><a href='core.html#ERROR-Interfaces-DOMErrorHandler'><code>DOMErrorHandler</code></a></dt>
<dd>
The <a href='core.html#ERROR-Interfaces-DOMErrorHandler'><code>DOMErrorHandler</code></a> interface has one method:
<a href='core.html#ID-ERRORS-DOMErrorHandler-handleError'><code>DOMErrorHandler.handleError(error)</code></a>.
</dd><dt><a href='core.html#Interfaces-DOMLocator'><code>DOMLocator</code></a></dt>
<dd>
The <a href='core.html#Interfaces-DOMLocator'><code>DOMLocator</code></a> interface has seven attributes:
<a href='core.html#DOMLocator-line-number'><code>DOMLocator.lineNumber</code></a>,
<a href='core.html#DOMLocator-column-number'><code>DOMLocator.columnNumber</code></a>,
<a href='core.html#DOMLocator-byteOffset'><code>DOMLocator.byteOffset</code></a>,
<a href='core.html#DOMLocator-utf16Offset'><code>DOMLocator.utf16Offset</code></a>,
<a href='core.html#DOMLocator-node'><code>DOMLocator.relatedNode</code></a>,
<a href='core.html#DOMLocator-uri'><code>DOMLocator.uri</code></a>, and
<a class='noxref' href='core.html#DOMLocator-line-number'><code>DOMLocator.lineNumber</code></a>.
</dd><dt><a href='core.html#DOMConfiguration'><code>DOMConfiguration</code></a></dt>
<dd>
The <a href='core.html#DOMConfiguration'><code>DOMConfiguration</code></a> interface has one attribute:
<a href='core.html#DOMConfiguration-parameterNames'><code>DOMConfiguration.parameterNames</code></a>.
It also has three methods:
<a href='core.html#DOMConfiguration-property'><code>DOMConfiguration.setParameter(name, value)</code></a>,
<a href='core.html#DOMConfiguration-getParameter'><code>DOMConfiguration.getParameter(name)</code></a>, and
<a href='core.html#DOMConfiguration-canSetParameter'><code>DOMConfiguration.canSetParameter(name,
value)</code></a>.
</dd></dl>
</div> <!-- div2 DOMLevel3Addons-interfaces -->
<div class='div2'><a name='DOMLevel3Addons-objectss'></a>
<h2 id='DOMLevel3Addons-objectss-h2' class='adiv2'>A.6 Objects</h2>
<p>
This specification defines one object, only provided in the bindings:
<dl>
<dt><code>DOMImplementationRegistry</code></dt>
<dd>
The <code>DOMImplementationRegistry</code> object has two methods,
<code>DOMImplementationRegistry.getDOMImplementation(features)</code>,
and
<code>DOMImplementationRegistry.getDOMImplementationList(features)</code>.
</dd></dl>
</div> <!-- div2 DOMLevel3Addons-objectss --></div> <!-- div1 Changes --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Document Object Model Core' href='core.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Namespaces Algorithms' href='namespaces-algorithms.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -0,0 +1,209 @@
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Wed Apr 07 13:11:21 EDT 2004 jfouffa.w3.org
-->
<html lang='en-US'>
<head>
<title>Configuration Settings</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='accessing-code-point-boundaries.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='infoset-mapping.html'>
</head>
<body>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Infoset Mapping' accesskey='p' href='infoset-mapping.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Accessing code point boundaries' accesskey='n' href='accessing-code-point-boundaries.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a name='Parameters'></a>
<h1 id='Parameters-h1' class='adiv1'>Appendix D: Configuration Settings</h1>
<dl>
<dt><i>Editor</i>:
</dt><dd>Elena Litani, IBM</dd>
</dl>
<div class='div2'><a name='ConfigTable'></a>
<h2 id='ConfigTable-h2' class='adiv2'>D.1 Configuration Scenarios</h2>
<p>
Using the <a href='core.html#DOMConfiguration'><code>DOMConfiguration</code></a> users can change behavior
of the <code>DOMParser</code>, <code>DOMSerializer</code> and
<a href='core.html#Document3-normalizeDocument'><code>Document.normalizeDocument()</code></a>. If a DOM
implementation supports XML Schemas and DTD validation, the table
below defines behavior of such implementation following various
parameter settings on the <a class='noxref' href='core.html#DOMConfiguration'><code>DOMConfiguration</code></a>. Errors
are effectively reported only if a <a href='core.html#ERROR-Interfaces-DOMErrorHandler'><code>DOMErrorHandler</code></a>
object is attached to the "<a href='core.html#parameter-error-handler'>error-handler</a>" parameter.
</p><table border='1' summary='Layout table: the first cell contains the value of schema-type parameter, the second contains the value of validate parameter, the third contains the value of the validate-if-schema parameter, the 4th contains the actual document schemas, the 5th contains the output of such configuration, the 6th list addition parameters that can be effected.' cellpadding='3'
>
<tr>
<th rowspan='1' colspan='1'>
"<a href='core.html#parameter-schema-type'>schema-type</a>"</th><th rowspan='1' colspan='1'>
"<a href='core.html#parameter-validate'>validate</a>"</th><th rowspan='1' colspan='1'>
"<a href='core.html#parameter-validate-if-schema'>validate-if-schema</a>"</th><th rowspan='1' colspan='1'>
Instance schemas, i.e. the current schema</th><th rowspan='1' colspan='1'>
Outcome</th><th rowspan='1' colspan='1'>
Other parameters</th></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>null</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
DTD and XML Schema</td><td valign='top' rowspan='2' colspan='1'>
Implementation dependent</td><td valign='top' rowspan='2' colspan='1'>
The outcome of setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>",
"<a href='core.html#parameter-element-content-whitespace'>element-content-whitespace</a>"
or "<a href='core.html#parameter-namespaces'>namespaces</a>" parameters
to <code>true</code> or <code>false</code> is implementation
dependent.
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>null</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
none</td><td valign='top' rowspan='1' colspan='1'>
Report an error</td><td valign='top' rowspan='2' colspan='1'>
Setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>"
to <code>true</code> or <code>false</code> has no effect on
the DOM.
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
No error is reported</td></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>null</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
DTD</td><td valign='top' rowspan='2' colspan='1'>
Validate against DTD</td><td valign='top' rowspan='2' colspan='1'>
Setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>"
to <code>true</code> or <code>false</code> has no effect on
the DOM. </td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>null</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
XML Schema</td><td valign='top' rowspan='2' colspan='1'>
Validate against XML Schema
</td><td valign='top' rowspan='2' colspan='1'>
The outcome of setting the "<a href='core.html#parameter-namespaces'>namespaces</a>" to
<code>false</code> is implementation dependent (likely to be
an error). Setting the "<a href='core.html#parameter-element-content-whitespace'>element-content-whitespace</a>"
to <code>false</code> does not have any effect on the DOM.
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>"http://www.w3.org/TR/REC-xml"</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
DTD or XML Schema or both</td><td valign='top' rowspan='1' colspan='1'>
If DTD is found, validate against DTD. Otherwise, report an
error.
</td><td valign='top' rowspan='2' colspan='1'>
Setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>"
to <code>true</code> or <code>false</code> has no effect on
the DOM.
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
If DTD is found, validate against DTD.</td></tr>
<tr>
<td valign='top' rowspan='2' colspan='1'>
<code>"http://www.w3.org/2001/XMLSchema"</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='2' colspan='1'>
DTD or XML Schema or both</td><td valign='top' rowspan='1' colspan='1'>
If XML Schema is found, validate against the schema.
Otherwise, report an error.
</td><td valign='top' rowspan='2' colspan='1'>
Setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>"
to <code>true</code> exposes XML Schema <a class='normative' href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#key-nv'>normalized values</a> in the
DOM. The outcome of setting the "<a href='core.html#parameter-namespaces'>namespaces</a>" to
<code>false</code> is implementation dependent (likely to be
an error).
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>true</code></td><td valign='top' rowspan='1' colspan='1'>
If XML Schema is found, validate against the schema.
</td></tr>
<tr>
<td valign='top' rowspan='1' colspan='1'>
<code>"http://www.w3.org/2001/XMLSchema"</code> or
<code>"http://www.w3.org/TR/REC-xml"</code>
</td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
<code>false</code></td><td valign='top' rowspan='1' colspan='1'>
DTD or XML Schema or both</td><td valign='top' rowspan='1' colspan='1'>
If XML Schema is found, it is ignored. DOM implementations
<a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204#proc-types'>may</a> use information
available in the DTD to perform <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204#intern-replacement'>entity
resolution</a>.
</td><td valign='top' rowspan='1' colspan='1'>
Setting the "<a href='core.html#parameter-datatype-normalization'>datatype-normalization</a>"
to <code>true</code> of <code>false</code> has no effect on
the DOM.
</td></tr>
</table>
<p><b>Note:</b>
If an error has to be reported, as specified in the "Outcome"
column above, the <a href='core.html#ERROR-DOMError-type'><code>DOMError.type</code></a> is
<code>"no-schema-available"</code>.
</p>
</div> <!-- div2 ConfigTable --></div> <!-- div1 Parameters --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Infoset Mapping' href='infoset-mapping.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Accessing code point boundaries' href='accessing-code-point-boundaries.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,229 +1,223 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:42:28 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:10:49 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Copyright Notice</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='introduction.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='expanded-toc.html' />
<title>W3C Copyright Notices and Licenses</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='introduction.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='expanded-toc.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='expanded-toc.html'>previous</a> &nbsp; <a accesskey='n'
href='introduction.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Expanded Table of Contents' accesskey='p' href='expanded-toc.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='What is the Document Object Model?' accesskey='n' href='introduction.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="Copyright-Notice"
name='Copyright-Notice'></a>
<div class='div1'><a name='Copyright-Notice'></a>
<h1 id='Copyright-Notice-h1' class='div1'>W3C Copyright Notices and Licenses</h1>
<p><b>
Copyright &#xa9; 2004 <a class='normative' href='http://www.w3.org/'>World
Wide Web Consortium</a>, (<a class='normative' href='http://www.csail.mit.edu/'>Massachusetts Institute of
Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.
</b></p><p>
This document is published under the <a href='copyright-notice.html#Copyright-notice-document'>W3C<sup>&#xae;</sup> Document Copyright Notice and License</a>. The bindings within this document
are published under the <a href='copyright-notice.html#Copyright-notice-software'>W3C<sup>&#xae;</sup> Software Copyright Notice and License</a>.
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.
</p>
<div class='div2'><a name='Copyright-notice-document'></a>
<hr width='50' align='center' title='Area separator'>
<h2 id='Copyright-notice-document-h2' class='div2'>W3C<sup>&#xae;</sup> Document Copyright Notice and License</h2>
<p><b>Note:</b>
This section is a copy of the W3C<sup>&#xae;</sup> Document
Notice and License and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</a>.
</p>
<p><b>
Copyright &#xa9; 2004 <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.
</b></p><p><b>
http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
</b></p><p>
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:
<p>
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
<em>ALL</em> copies of the document, or portions thereof, that
you use:
<ol>
<li>
<h1 id='Copyright-Notice-h1' class='div1'>Copyright Notice</h1>
A link or URL to the original W3C document.
</li>
<li>
<p><b>Copyright &copy; 2000 <a href='http://www.w3.org/'>World Wide
Web Consortium</a>, (<a
href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a href='http://www.inria.fr/'>Institut National de
Recherche en Informatique et en Automatique</a>, <a
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.</b></p>
The pre-existing copyright notice of the original author, or
if it doesn't exist, a notice (hypertext is preferred, but a
textual representation is permitted) of the form:
"Copyright &#xa9; [$date-of-document] <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>,
(<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute
of Technology</a>, <a class='normative' href='http://www.ercim.org/'>European Research Consortium for
Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All
Rights Reserved. <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231</a>"
</li>
<li>
<p>This document is published under the <a
href='copyright-notice.html#Copyright-notice-document'>W3C Document
Copyright Notice and License</a>. The bindings within this document
are published under the <a
href='copyright-notice.html#Copyright-notice-software'>W3C Software
Copyright Notice and License</a>. 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.</p>
<div class='div2'><a id="Copyright-notice-document"
name='Copyright-notice-document'></a>
<hr width='50' align='center' title='Area separator' />
<h2 id='Copyright-notice-document-h2' class='div2'>W3C Document
Copyright Notice and License</h2>
<p><b>Note:</b> This section is a copy of the W3C Document Notice
and License and could be found at <a
href='http://www.w3.org/Consortium/Legal/copyright-documents-19990405'>
http://www.w3.org/Consortium/Legal/copyright-documents-19990405</a>.</p>
<p><b>Copyright &copy; 1994-2000 <a href='http://www.w3.org/'>World
Wide Web Consortium</a>, (<a
href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a href='http://www.inria.fr/'>Institut National de
Recherche en Informatique et en Automatique</a>, <a
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.</b></p>
<p><b>http://www.w3.org/Consortium/Legal/</b></p>
<p>Public documents on the W3C site are provided by the copyright
holders under the following license. The software or Document Type
Definitions (DTDs) associated with W3C specifications are governed
by the <a
href='http://www.w3.org/Consortium/Legal/copyright-software.html'>Software
Notice</a>. 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:</p>
<p>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 <em>ALL</em>
copies of the document, or portions thereof, that you use:</p>
<ol>
<li>A link or URL to the original W3C document.</li>
<li>The pre-existing copyright notice of the original author, or if
it doesn't exist, a notice of the form: "Copyright &copy;
[$date-of-document] <a href='http://www.w3.org/'>World Wide Web
Consortium</a>, (<a href='http://www.lcs.mit.edu/'>Massachusetts
Institute of Technology</a>, <a
href='http://www.inria.fr/'>Institut National de Recherche en
Informatique et en Automatique</a>, <a
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is
preferred, but a textual representation is permitted.)</li>
<li><em>If it exists</em>, the STATUS of the W3C document.</li>
<em>If it exists</em>, the STATUS of the W3C document.
</li>
</ol>
<p>
When space permits, inclusion of the full text of this <b>NOTICE</b> 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.
<p>
No right to create modifications or derivatives of W3C documents is
granted pursuant to this license. However, if additional requirements
(documented in the <a class='normative' href='http://www.w3.org/Consortium/Legal/IPR-FAQ'>Copyright
FAQ</a>) are satisfied, the right to create modifications or
derivatives is sometimes granted by the W3C to individuals complying with
those requirements.
<p>
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.
<p>
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.
<p>
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.
</div> <!-- div2 Copyright-notice-document -->
<div class='div2'><a name='Copyright-notice-software'></a>
<hr width='50' align='center' title='Area separator'>
<h2 id='Copyright-notice-software-h2' class='div2'>W3C<sup>&#xae;</sup> Software Copyright Notice and License</h2>
<p><b>Note:</b>
This section is a copy of the W3C<sup>&#xae;</sup> Software
Copyright Notice and License and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231</a>
</p>
<p><b>
Copyright &#xa9; 2004 <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.
</b></p><p><b>
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
</b></p><p>
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.
<p>
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:
<ol>
<li>
The full text of this NOTICE in a location viewable to users of the
redistributed or derivative work.</li>
<li>
<p>When space permits, inclusion of the full text of this
<b>NOTICE</b> 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.</p>
Any pre-existing intellectual property disclaimers, notices,
or terms and conditions. If none exist, the <a href='copyright-notice.html#Copyright-short-notice'>W3C<sup>&#xae;</sup> Short Software Notice</a> should be included (hypertext
is preferred, text is permitted) within the body of any
redistributed or derivative code.
</li>
<li>
<p>No right to create modifications or derivatives of W3C documents
is granted pursuant to this license. However, if additional
requirements (documented in the <a
href='http://www.w3.org/Consortium/Legal/IPR-FAQ.html'>Copyright
FAQ</a>) are satisfied, the right to create modifications or
derivatives is sometimes granted by the W3C to individuals
complying with those requirements.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
</div>
<!-- div2 Copyright-notice-document -->
<div class='div2'><a id="Copyright-notice-software"
name='Copyright-notice-software'></a>
<hr width='50' align='center' title='Area separator' />
<h2 id='Copyright-notice-software-h2' class='div2'>W3C Software
Copyright Notice and License</h2>
<p><b>Note:</b> This section is a copy of the W3C Software
Copyright Notice and License and could be found at <a
href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>
http://www.w3.org/Consortium/Legal/copyright-software-19980720</a></p>
<p><b>Copyright &copy; 1994-2000 <a href='http://www.w3.org/'>World
Wide Web Consortium</a>, (<a
href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a href='http://www.inria.fr/'>Institut National de
Recherche en Informatique et en Automatique</a>, <a
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.</b></p>
<p><b>http://www.w3.org/Consortium/Legal/</b></p>
<p>This W3C work (including software, documents, 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:</p>
<p>Permission to use, copy, and modify 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, that you make:</p>
<ol>
<li>The full text of this NOTICE in a location viewable to users of
the redistributed or derivative work.</li>
<li>Any pre-existing intellectual property disclaimers. If none
exist, then a notice of the following form: "Copyright &copy;
[$date-of-software] <a href='http://www.w3.org/'>World Wide Web
Consortium</a>, (<a href='http://www.lcs.mit.edu/'>Massachusetts
Institute of Technology</a>, <a
href='http://www.inria.fr/'>Institut National de Recherche en
Informatique et en Automatique</a>, <a
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved. http://www.w3.org/Consortium/Legal/."</li>
<li>Notice of any changes or modifications to the W3C files,
including the date changes were made. (We recommend you provide
URIs to the location from which the code is derived.)</li>
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.)
</li>
</ol>
<p>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.</p>
<p>COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
SOFTWARE OR DOCUMENTATION.</p>
<p>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.</p>
</div>
<!-- div2 Copyright-notice-software --></div>
<!-- div1 Copyright-Notice -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='expanded-toc.html'>previous</a> &nbsp; <a
accesskey='n' href='introduction.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
<p>
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.
<p>
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
DOCUMENTATION.
<p>
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.
</div> <!-- div2 Copyright-notice-software -->
<div class='div2'><a name='Copyright-short-notice'></a>
<h2 id='Copyright-short-notice-h2' class='div2'>W3C<sup>&#xae;</sup> Short Software Notice</h2>
<p><b>Note:</b>
This section is a copy of the W3C<sup>&#xae;</sup> Short Software
Notice and could be found at <a class='normative' href='http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231'>http://www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231</a>
</p>
<p><b>
Copyright &#xa9; 2004 <a class='normative' href='http://www.w3.org/'>World
Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved.
</b></p><p>
Copyright &#xa9; [$date-of-software] <a class='normative' href='http://www.w3.org/'>World Wide Web Consortium</a>, (<a class='normative' href='http://www.lcs.mit.edu/'>Massachusetts Institute of
Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
Reserved. This work is distributed under the W3C<sup>&#xae;</sup>
Software License [1] in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
<p>
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
</div> <!-- div2 Copyright-short-notice --></div> <!-- div1 Copyright-Notice --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Expanded Table of Contents' href='expanded-toc.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='What is the Document Object Model?' href='introduction.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,220 +1,261 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:42:27 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:10:48 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Expanded Table of Contents</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='copyright-notice.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='Overview.html' />
<title>Expanded Table of Contents</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='copyright-notice.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='Overview.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='Overview.html'>previous</a> &nbsp; <a accesskey='n'
href='copyright-notice.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='overview' accesskey='p' href='Overview.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='W3C Copyright Notices and Licenses' accesskey='n' href='copyright-notice.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="TOC" name='TOC'></a>
<div class='div1'><a name='TOC'></a>
<h1 id='TOC-h1' class='div1'>Expanded Table of Contents</h1>
<ul class='toc'>
<li class='tocline2'><a class='tocxref'
href='expanded-toc.html'>Expanded Table of Contents</a></li>
<li class='tocline2'><a class='tocxref'
href='copyright-notice.html'>Copyright Notice</a>
<li class='tocline2'><a class='tocxref' href='expanded-toc.html'>Expanded Table of Contents</a>
</li>
<li class='tocline2'><a class='tocxref' href='copyright-notice.html'>W3C Copyright Notices and Licenses</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='copyright-notice.html#Copyright-notice-document'>W3C Document
Copyright Notice and License</a></li>
<li class='tocline3'><a class='tocxref'
href='copyright-notice.html#Copyright-notice-software'>W3C Software
Copyright Notice and License</a></li>
<li class='tocline3'><a class='tocxref' href='copyright-notice.html#Copyright-notice-document'>W3C<sup>&#xae;</sup> Document Copyright Notice and License</a>
</li>
<li class='tocline3'><a class='tocxref' href='copyright-notice.html#Copyright-notice-software'>W3C<sup>&#xae;</sup> Software Copyright Notice and License</a>
</li>
<li class='tocline3'><a class='tocxref' href='copyright-notice.html#Copyright-short-notice'>W3C<sup>&#xae;</sup> Short Software Notice</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref'
href='introduction.html'>What is the Document Object Model?</a>
<li class='tocline2'><a class='tocxref' href='introduction.html'>What is the Document Object Model?</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C3082'>Introduction</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C30821'>What the Document Object Model
is</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C30822'>What the Document Object Model
is not</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C30823'>Where the Document Object
Model came from</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C30824'>Entities and the DOM
Core</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-Conformance'>Conformance</a></li>
<li class='tocline3'><a class='tocxref'
href='introduction.html#ID-E7C30826'>DOM Interfaces and DOM
Implementations</a></li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C3082'>Introduction</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30821'>What the Document Object Model is</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30822'>What the Document Object Model is not</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30823'>Where the Document Object Model came from</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30824'>Entities and the DOM Core</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#DOMArchitecture'>DOM Architecture</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-Conformance'>Conformance</a>
</li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30826'>DOM Interfaces and DOM Implementations</a>
</li>
</ul>
</li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref' href='core.html'>1.
Document Object Model Core</a>
<li class='tocline2'><a class='tocxref' href='core.html'>1 Document Object Model Core</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='core.html#ID-1590626201'>1.1. Overview of the DOM Core
Interfaces</a>
<li class='tocline3'><a class='tocxref' href='core.html#ID-1590626201'>1.1 Overview of the DOM Core Interfaces</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-1590626202'>1.1.1. The DOM Structure
Model</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-249F15BA'>1.1.2. Memory Management</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-45A944CB'>1.1.3. Naming Conventions</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-1CED5498'>1.1.4. Inheritance vs. Flattened Views
of the API</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-C74D1578'>1.1.5. The DOMString type</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#Core-DOMTimeStamp'>1.1.6. The DOMTimeStamp
type</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#ID-5DFED1F0'>1.1.7. String comparisons in the
DOM</a></li>
<li class='tocline4'><a class='tocxref'
href='core.html#Namespaces-Considerations'>1.1.8. XML
Namespaces</a></li>
</ul>
<li class='tocline4'><a class='tocxref' href='core.html#ID-1590626202'>1.1.1 The DOM Structure Model</a>
<li class='tocline4'><a class='tocxref' href='core.html#ID-249F15BA'>1.1.2 Memory Management</a>
<li class='tocline4'><a class='tocxref' href='core.html#ID-45A944CB'>1.1.3 Naming Conventions</a>
<li class='tocline4'><a class='tocxref' href='core.html#ID-1CED5498'>1.1.4 Inheritance vs. Flattened Views of the API</a>
</ul></li>
<li class='tocline3'><a class='tocxref' href='core.html#BasicTypes'>1.2 Basic Types</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='core.html#ID-C74D1578'>1.2.1 The DOMString Type</a>
<li class='tocline4'><a class='tocxref' href='core.html#Core-DOMTimeStamp'>1.2.2 The DOMTimeStamp Type</a>
<li class='tocline4'><a class='tocxref' href='core.html#Core-DOMUserData'>1.2.3 The DOMUserData Type</a>
<li class='tocline4'><a class='tocxref' href='core.html#Core-DOMObject'>1.2.4 The DOMObject Type</a>
</ul></li>
<li class='tocline3'><a class='tocxref' href='core.html#Consideration'>1.3 General Considerations</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='core.html#ID-5DFED1F0'>1.3.1 String Comparisons in the DOM</a>
<li class='tocline4'><a class='tocxref' href='core.html#domURIs'>1.3.2 DOM URIs</a>
<li class='tocline4'><a class='tocxref' href='core.html#Namespaces-Considerations'>1.3.3 XML Namespaces</a>
<li class='tocline4'><a class='tocxref' href='core.html#baseURIs-Considerations'>1.3.4 Base URIs</a>
<li class='tocline4'><a class='tocxref' href='core.html#Embedded-DOM'>1.3.5 Mixed DOM Implementations</a>
<li class='tocline4'><a class='tocxref' href='core.html#DOMFeatures'>1.3.6 DOM Features</a>
<li class='tocline4'><a class='tocxref' href='core.html#Bootstrap'>1.3.7 Bootstrapping</a>
</ul></li>
<li class='tocline3'><a class='tocxref' href='core.html#ID-BBACDC08'>1.4 Fundamental Interfaces: Core Module</a>
</li>
<li class='tocline3'><a class='tocxref' href='core.html#ID-E067D597'>1.5 Extended Interfaces: XML Module</a>
</li>
<li class='tocline3'><a class='tocxref'
href='core.html#ID-BBACDC08'>1.2. Fundamental Interfaces</a></li>
<li class='tocline3'><a class='tocxref'
href='core.html#ID-E067D597'>1.3. Extended Interfaces</a></li>
</ul>
</li>
</ul>
<ul class='toc'>
<li class='tocline2'><a class='tocxref'
href='changes.html'>Appendix A: Changes</a>
<li class='tocline2'><a class='tocxref' href='changes.html'>Appendix A: Changes</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='changes.html#DOMLevel1to2Changes'>A.1. Changes between DOM
Level 1 Core and DOM Level 2 Core</a>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Sections'>A.1 New sections</a>
</li>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel2Changes'>A.2 Changes to DOM Level 2 Core interfaces and exceptions</a>
</li>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Addons-features'>A.3 New DOM features</a>
</li>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Addons-types'>A.4 New types</a>
</li>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Addons-interfaces'>A.5 New interfaces</a>
</li>
<li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Addons-objectss'>A.6 Objects</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='namespaces-algorithms.html'>Appendix B: Namespaces Algorithms</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref'
href='changes.html#DOMLevel1Changes'>A.1.1. Changes to DOM Level 1
Core interfaces and exceptions</a></li>
<li class='tocline4'><a class='tocxref'
href='changes.html#DOMLevel2Addons'>A.1.2. New features</a></li>
<li class='tocline3'><a class='tocxref' href='namespaces-algorithms.html#normalizeDocumentAlgo'>B.1 Namespace Normalization</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='namespaces-algorithms.html#scope'>B.1.1 Scope of a Binding</a>
<li class='tocline4'><a class='tocxref' href='namespaces-algorithms.html#conflicting'>B.1.2 Conflicting Namespace Declaration</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='namespaces-algorithms.html#lookupNamespacePrefixAlgo'>B.2 Namespace Prefix Lookup</a>
</li>
<li class='tocline3'><a class='tocxref' href='namespaces-algorithms.html#isDefaultNamespaceAlgo'>B.3 Default Namespace Lookup</a>
</li>
<li class='tocline3'><a class='tocxref' href='namespaces-algorithms.html#lookupNamespaceURIAlgo'>B.4 Namespace URI Lookup</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='infoset-mapping.html'>Appendix C: Infoset Mapping</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#DocumentMapping'>C.1 Document Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Document'>C.1.1 Infoset to Document Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Document2Infoset'>C.1.2 Document Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#ElementMapping'>C.2 Element Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Element'>C.2.1 Infoset to Element Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Element2Infoset'>C.2.2 Element Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#AttrMapping'>C.3 Attr Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Attr'>C.3.1 Infoset to Attr Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Attr2Infoset'>C.3.2 Attr Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#ProcessingInstructionMapping'>C.4 ProcessingInstruction Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2ProcessingInstruction'>C.4.1 Infoset to ProcessingInstruction Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#ProcessingInstruction2Infoset'>C.4.2 ProcessingInstruction Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#EntityReferenceMapping'>C.5 EntityReference Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2EntityReference'>C.5.1 Infoset to EntityReference Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#EntityReference2Infoset'>C.5.2 EntityReference Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#TextMapping'>C.6 Text and CDATASection Nodes Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Text'>C.6.1 Infoset to Text Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Text2Infoset'>C.6.2 Text and CDATASection Nodes to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#CommentMapping'>C.7 Comment Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Comment'>C.7.1 Infoset to Comment Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Comment2Infoset'>C.7.2 Comment Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#DocumentTypeMapping'>C.8 DocumentType Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2DocumentType'>C.8.1 Infoset to DocumentType Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#DocumentType2Infoset'>C.8.2 DocumentType Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#EntityMapping'>C.9 Entity Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Entity'>C.9.1 Infoset to Entity Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Entity2Infoset'>C.9.2 Entity Node to Infoset</a>
</ul>
</li>
<li class='tocline3'><a class='tocxref' href='infoset-mapping.html#NotationMapping'>C.10 Notation Node Mapping</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Infoset2Notation'>C.10.1 Infoset to Notation Node</a>
<li class='tocline4'><a class='tocxref' href='infoset-mapping.html#Notation2Infoset'>C.10.2 Notation Node to Infoset</a>
</ul>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='i18n.html'>Appendix
B: Accessing code point boundaries</a>
<li class='tocline2'><a class='tocxref' href='configuration-settings.html'>Appendix D: Configuration Settings</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='i18n.html#i18n-introduction'>B.1. Introduction</a></li>
<li class='tocline3'><a class='tocxref'
href='i18n.html#i18n-methods'>B.2. Methods</a></li>
<li class='tocline3'><a class='tocxref' href='configuration-settings.html#ConfigTable'>D.1 Configuration Scenarios</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref'
href='idl-definitions.html'>Appendix C: IDL Definitions</a></li>
<li class='tocline2'><a class='tocxref'
href='java-binding.html'>Appendix D: Java Language Binding</a></li>
<li class='tocline2'><a class='tocxref'
href='ecma-script-binding.html'>Appendix E: ECMAScript Language
Binding</a></li>
<li class='tocline2'><a class='tocxref'
href='acknowledgements.html'>Appendix F: Acknowledgements</a>
<li class='tocline2'><a class='tocxref' href='accessing-code-point-boundaries.html'>Appendix E: Accessing code point boundaries</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='acknowledgements.html#Productions'>F.1. Production
Systems</a></li>
<li class='tocline3'><a class='tocxref' href='accessing-code-point-boundaries.html#i18n-introduction'>E.1 Introduction</a>
</li>
<li class='tocline3'><a class='tocxref' href='accessing-code-point-boundaries.html#i18n-methods'>E.2 Methods</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref'
href='glossary.html'>Glossary</a></li>
<li class='tocline2'><a class='tocxref'
href='references.html'>References</a>
<li class='tocline2'><a class='tocxref' href='idl-definitions.html'>Appendix F: IDL Definitions</a>
</li>
<li class='tocline2'><a class='tocxref' href='java-binding.html'>Appendix G: Java Language Binding</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref'
href='references.html#References-Normative'>1. Normative
references</a></li>
<li class='tocline3'><a class='tocxref'
href='references.html#References-Informative'>2. Informative
references</a></li>
<li class='tocline3'><a class='tocxref' href='java-binding.html#Level-3-Java-Binding-Extension'>G.1 Java Binding Extension</a>
</li>
<li class='tocline3'><a class='tocxref' href='java-binding.html#JavaCoreInterfaces'>G.2 Other Core interfaces</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref'
href='def-index.html'>Index</a></li>
<li class='tocline2'><a class='tocxref' href='ecma-script-binding.html'>Appendix H: ECMAScript Language Binding</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='ecma-script-binding.html#Level-3-ECMAScript-Binding-Extension'>H.1 ECMAScript Binding Extension</a>
</li>
<li class='tocline3'><a class='tocxref' href='ecma-script-binding.html#ECMAScriptCoreInterfaces'>H.2 Other Core interfaces</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='acknowledgements.html'>Appendix I: Acknowledgements</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='acknowledgements.html#Productions'>I.1 Production Systems</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='glossary.html'>Glossary</a>
</li>
<li class='tocline2'><a class='tocxref' href='references.html'>References</a>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='references.html#References-Normative'>1 Normative References</a>
</li>
<li class='tocline3'><a class='tocxref' href='references.html#References-Informative'>2 Informative References</a>
</li>
</ul>
</li>
<li class='tocline2'><a class='tocxref' href='def-index.html'>Index</a>
</li>
</ul>
</div>
<!-- div1 TOC -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='Overview.html'>previous</a> &nbsp; <a
accesskey='n' href='copyright-notice.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
</div> <!-- div1 TOC --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='overview' href='Overview.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='W3C Copyright Notices and Licenses' href='copyright-notice.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,356 +1,268 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:43:25 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:12:03 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>Glossary</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='references.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='acknowledgements.html' />
<title>Glossary</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='references.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='acknowledgements.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='acknowledgements.html'>previous</a> &nbsp; <a accesskey='n'
href='references.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Acknowledgements' accesskey='p' href='acknowledgements.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='References' accesskey='n' href='references.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="glossary" name='glossary'></a>
<h1 id='role-glossary' class='glossary'>Glossary</h1>
<div class='div1'><a name='glossary'></a>
<h1 id='role-glossary' class='glossary'>
Glossary</h1>
<dl>
<dt><i>Editors</i></dt>
<dd>Arnaud Le Hors, IBM</dd>
<dd>Lauren Wood, SoftQuad Software Inc.</dd>
<dd>Robert S. Sutor, IBM (for DOM Level 1)</dd>
<dt><i>Editors</i>:
</dt><dd>Arnaud Le Hors, W3C</dd>
<dd>Robert S. Sutor, IBM Research (for DOM Level 1)</dd>
</dl>
<p>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.</p>
<dl>
<dt><b><a id="dt-16-bit-unit" name='dt-16-bit-unit'>16-bit
unit</a></b></dt>
<dd>The base unit of a <a
href='core.html#DOMString'><code>DOMString</code></a>. This
indicates that indexing on a <a class='noxref'
href='core.html#DOMString'><code>DOMString</code></a> occurs in
units of 16 bits. This must not be misunderstood to mean that a <a
class='noxref'
href='core.html#DOMString'><code>DOMString</code></a> can store
arbitrary 16-bit units. A <a class='noxref'
href='core.html#DOMString'><code>DOMString</code></a> 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.<br />
For more information, see [<a class='noxref'
href='references.html#Unicode'>Unicode</a>] and [<a class='noxref'
href='references.html#ISO10646'>ISO/IEC 10646</a>].</dd>
<dt><b><a id="dt-ancestor" name='dt-ancestor'>ancestor</a></b></dt>
<dd>An <i>ancestor</i> node of any node A is any node above A in a
tree model of a document, where "above" means "toward the
root."</dd>
<dt><b><a id="dt-API" name='dt-API'>API</a></b></dt>
<dd>An <i>API</i> is an application programming interface, a set of
functions or <i>methods</i> used to access some functionality.</dd>
<dt><b><a id="dt-child" name='dt-child'>child</a></b></dt>
<dd>A <i>child</i> is an immediate <i>descendant</i> node of a
node.</dd>
<dt><b><a id="dt-application" name='dt-application'>client
application</a></b></dt>
<dd>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.</dd>
<dt><b><a id="dt-COM" name='dt-COM'>COM</a></b></dt>
<dd><i>COM</i> is Microsoft's Component Object Model [<a
class='noxref' href='references.html#COM'>COM</a>], a technology
for building applications from binary software components.</dd>
<dt><b><a id="dt-convenience"
name='dt-convenience'>convenience</a></b></dt>
<dd>A <i>convenience method</i> is an operation on an object that
could be accomplished by a program consisting of more basic
operations on the object. Convenience <i>methods</i> 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 <i>convenience
property</i>.</dd>
<dt><b><a id="dt-datamodel" name='dt-datamodel'>data
model</a></b></dt>
<p class='first'>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.</p><dl>
<dt><b><a name='dt-16-bit-unit'>16-bit unit</a></b></dt>
<dd>The base unit of a <a href='core.html#DOMString'><code>DOMString</code></a>. This indicates that
indexing on a <a class='noxref' href='core.html#DOMString'><code>DOMString</code></a> occurs in units of 16 bits.
This must not be misunderstood to mean that a <a class='noxref' href='core.html#DOMString'><code>DOMString</code></a>
can store arbitrary 16-bit units. A <a class='noxref' href='core.html#DOMString'><code>DOMString</code></a> 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.</dd><dt><b><a name='dt-ancestor'>ancestor</a></b></dt>
<dd>An <i>ancestor</i> node of any node A is any node
above A in a tree model, where "above" means "toward the root."
</dd><dt><b><a name='dt-API'>API</a></b></dt>
<dd>An <i>API</i> is an Application Programming
Interface, a set of functions or methods used to access some
functionality.</dd><dt><b><a name='dt-anonymous'>anonymous type name</a></b></dt>
<dd>
An <i>anonymous type name</i> is an
implementation-defined, globally unique qualified name
provided by the processor for every anonymous type declared in
a <a href='glossary.html#dt-schema'>schema</a>.
</dd><dt><b><a name='dt-child'>child</a></b></dt>
<dd>A <i>child</i> is an immediate descendant node of
a node.</dd><dt><b><a name='dt-application'>client application</a></b></dt>
<dd>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.</dd><dt><b><a name='dt-COM'>COM</a></b></dt>
<dd><i>COM</i> is Microsoft's Component Object Model [<cite><a class='noxref informative' href='references.html#COM'>COM</a></cite>], a technology for building applications from binary
software components.</dd><dt><b><a name='dt-convenience'>convenience</a></b></dt>
<dd>A <i>convenience method</i> 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
<i>convenience property</i>.
</dd><dt><b><a name='dt-datamodel'>data model</a></b></dt>
<dd>A <i>data model</i> is a collection of descriptions of data
structures and their contained fields, together with the operations
or functions that manipulate them.</dd>
<dt><b><a id="dt-descendant"
name='dt-descendant'>descendant</a></b></dt>
<dd>A <i>descendant</i> node of any node A is any node below A in a
tree model of a document, where "above" means "toward the
root."</dd>
<dt><b><a id="dt-ECMAScript"
name='dt-ECMAScript'>ECMAScript</a></b></dt>
<dd>The programming language defined by the ECMA-262 standard [<a
class='noxref' href='references.html#ECMAScript'>ECMAScript</a>].
As stated in the standard, the originating technology for
ECMAScript was JavaScript [<a class='noxref'
href='references.html#JavaScript'>JavaScript</a>]. Note that in the
ECMAScript Language binding, the word "property" is used in the
same sense as the IDL term "attribute."</dd>
<dt><b><a id="dt-element" name='dt-element'>element</a></b></dt>
<dd>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 <a
href='http://www.w3.org/TR/1998/REC-xml-19980210#sec-logical-struct'>
<em>Logical Structures</em></a> in XML [<a class='noxref'
href='references.html#XML'>XML</a>].</dd>
<dt><b><a id="dt-infoitem" name='dt-infoitem'>information
item</a></b></dt>
structures and their contained fields, together with the operations
or functions that manipulate them.</dd><dt><b><a name='dt-descendant'>descendant</a></b></dt>
<dd>A <i>descendant</i> node of any node A is any node
below A in a tree model, where "below" means "away from the
root."</dd><dt><b><a name='dt-document-element'>document element</a></b></dt>
<dd>
There is only one document element in a <a href='core.html#i-Document'><code>Document</code></a>. This
element node is a child of the <a class='noxref' href='core.html#i-Document'><code>Document</code></a> node. See
<a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204#dt-root'><em>Well-Formed XML
Documents</em></a> in XML [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>].
</dd><dt><b><a name='dt-document-order'>document order</a></b></dt>
<dd>There is an ordering, <i>document order</i>, 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 <a href='glossary.html#dt-document-element'>document element</a> 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.</dd><dt><b><a name='dt-ECMAScript'>ECMAScript</a></b></dt>
<dd>The programming language defined by the ECMA-262 standard
[<cite><a class='noxref informative' href='references.html#ECMAScript'>ECMAScript</a></cite>]. As stated in the standard, the
originating technology for ECMAScript was JavaScript [<cite><a class='noxref informative' href='references.html#JavaScript'>JavaScript</a></cite>]. Note that in the ECMAScript binding, the word
"property" is used in the same sense as the IDL term
"attribute."</dd><dt><b><a name='dt-element'>element</a></b></dt>
<dd>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 <a class='normative' href='http://www.w3.org/TR/2004/REC-xml-20040204#sec-logical-struct'><em>Logical
Structures</em></a> in XML [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>].
</dd><dt><b><a name='dt-infoitem'>information item</a></b></dt>
<dd>An information item is an abstract representation of some
component of an XML document. See the [<a class='noxref'
href='references.html#InfoSet'>Infoset</a>] for details.</dd>
<dt><b><a id="dt-implementation" name='dt-implementation'>hosting
implementation</a></b></dt>
<dd>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.</dd>
<dt><b><a id="dt-HTML" name='dt-HTML'>HTML</a></b></dt>
<dd>The HyperText Markup Language (<i>HTML</i>) 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. [<a class='noxref'
href='references.html#HTML40'>HTML4.0</a>]</dd>
<dt><b><a id="dt-inheritance"
name='dt-inheritance'>inheritance</a></b></dt>
component of an XML document. See the [<cite><a class='noxref informative' href='references.html#InfoSet'>XML Information Set</a></cite>]
for details.
</dd><dt><b><a name='dt-logically-adjacent-text-nodes'>logically-adjacent text nodes</a></b></dt>
<dd>
<i>Logically-adjacent text nodes</i> are <a href='core.html#ID-1312295772'><code>Text</code></a>
or <a href='core.html#ID-667469212'><code>CDATASection</code></a> nodes that can be visited
sequentially in <a href='glossary.html#dt-document-order'>document
order</a> or in reversed document order without entering,
exiting, or passing over <a href='core.html#ID-745549614'><code>Element</code></a>,
<a href='core.html#ID-1728279322'><code>Comment</code></a>, or <a href='core.html#ID-1004215813'><code>ProcessingInstruction</code></a>
nodes.
</dd><dt><b><a name='dt-implementation'>hosting implementation</a></b></dt>
<dd>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.</dd><dt><b><a name='dt-HTML'>HTML</a></b></dt>
<dd>The HyperText Markup Language (<i>HTML</i>) 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. [<cite><a class='noxref informative' href='references.html#HTML40'>HTML 4.01</a></cite>]</dd><dt><b><a name='dt-inheritance'>inheritance</a></b></dt>
<dd>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 <i>derived</i> from B. B is said
to be a <i>base</i> class (or interface) for D. Some programming
languages allow for multiple inheritance, that is, inheritance from
more than one class or interface.</dd>
<dt><b><a id="dt-interface"
name='dt-interface'>interface</a></b></dt>
<dd>An <i>interface</i> is a declaration of a set of <i>methods</i>
with no information given about their implementation. In object
systems that support interfaces and inheritance, interfaces can
usually inherit from one another.</dd>
<dt><b><a id="dt-lang-binding" name='dt-lang-binding'>language
binding</a></b></dt>
<dd>A programming <i>language binding</i> 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.</dd>
<dt><b><a id="dt-localname" name='dt-localname'>local
name</a></b></dt>
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 <i>derived</i> from B. B is
said to be a <i>base</i> class (or interface) for D. Some
programming languages allow for multiple inheritance, that is,
inheritance from more than one class or interface.</dd><dt><b><a name='dt-interface'>interface</a></b></dt>
<dd>An <i>interface</i> 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.
</dd><dt><b><a name='dt-lang-binding'>language binding</a></b></dt>
<dd>A programming <i>language binding</i> 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.</dd><dt><b><a name='dt-localname'>local name</a></b></dt>
<dd>A <i>local name</i> is the local part of a <i>qualified
name</i>. This is called the local part in Namespaces in XML [<a
class='noxref'
href='references.html#Namespaces'>Namespaces</a>].</dd>
<dt><b><a id="dt-method" name='dt-method'>method</a></b></dt>
<dd>A <i>method</i> is an operation or function that is associated
with an object and is allowed to manipulate the object's data.</dd>
<dt><b><a id="dt-model" name='dt-model'>model</a></b></dt>
<dd>A <i>model</i> 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.</dd>
<dt><b><a id="dt-namespaceprefix"
name='dt-namespaceprefix'>namespace prefix</a></b></dt>
<dd>A <i>namespace prefix</i> is a string that associates an
element or attribute name with a <i>namespace URI</i> in XML. See
namespace prefix in Namespaces in XML [<a class='noxref'
href='references.html#Namespaces'>Namespaces</a>].</dd>
<dt><b><a id="dt-namespaceURI" name='dt-namespaceURI'>namespace
URI</a></b></dt>
<dd>A <i>namespace URI</i> is a URI that identifies an <i>XML
namespace</i>. Strictly speaking, this actually is a <i>namespace
URI reference</i>. This is called the namespace name in Namespaces
in XML [<a class='noxref'
href='references.html#Namespaces'>Namespaces</a>].</dd>
<dt><b><a id="dt-object-model" name='dt-object-model'>object
model</a></b></dt>
<dd>An <i>object model</i> is a collection of descriptions of
classes or interfaces, together with their member data, member
functions, and class-static operations.</dd>
<dt><b><a id="dt-parent" name='dt-parent'>parent</a></b></dt>
<dd>A <i>parent</i> is an immediate <i>ancestor</i> node of a
node.</dd>
<dt><b><a id="dt-qualifiedname" name='dt-qualifiedname'>qualified
name</a></b></dt>
<dd>A <i>qualified name</i> is the name of an element or attribute
defined as the concatenation of a <i>local name</i> (as defined in
this specification), optionally preceded by a <i>namespace
prefix</i> and colon character. See <a
href='http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames'>
<em>Qualified Names</em></a> in Namespaces in XML [<a
class='noxref'
href='references.html#Namespaces'>Namespaces</a>].</dd>
<dt><b><a id="dt-readonly-node" name='dt-readonly-node'>readonly
node</a></b></dt>
<dd>A <i>readonly node</i> is a node that is immutable. This means
its list of children, its content, and its attributes, when it is
an element, cannot be changed in any way. However, a readonly node
can possibly be moved, when it is not itself contained in a
readonly node.</dd>
<dt><b><a id="dt-root-node" name='dt-root-node'>root
node</a></b></dt>
<dd>The <i>root node</i> is the unique node that is not a
<i>child</i> of any other node. All other nodes are children or
other descendants of the root node.</dd>
<dt><b><a id="dt-sibling" name='dt-sibling'>sibling</a></b></dt>
<dd>Two nodes are <i>siblings</i> if and only if they have the same
<i>parent</i> node.</dd>
<dt><b><a id="dt-string-compare" name='dt-string-compare'>string
comparison</a></b></dt>
<dd>When string matching is required, it is to occur as though the
comparison was between 2 sequences of code points from the Unicode
3.0 standard [<a class='noxref'
href='references.html#Unicode'>Unicode</a>].</dd>
<dt><b><a id="dt-token" name='dt-token'>token</a></b></dt>
<dd>An information item such as an XML Name which has been <a
href='glossary.html#dt-tokenized'><em>tokenized</em></a>.</dd>
<dt><b><a id="dt-tokenized"
name='dt-tokenized'>tokenized</a></b></dt>
<dd>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.</dd>
<dt><b><a id="dt-well-formed" name='dt-well-formed'>well-formed
document</a></b></dt>
<dd>A document is <i>well-formed</i> if it is tag valid and
entities are limited to single elements (i.e., single sub-trees).
See <a
href='http://www.w3.org/TR/1998/REC-xml-19980210#sec-well-formed'><em>
Well-Formed XML Documents</em></a> in XML [<a class='noxref'
href='references.html#XML'>XML</a>].</dd>
<dt><b><a id="dt-XML" name='dt-XML'>XML</a></b></dt>
<dd>Extensible Markup Language (<i>XML</i>) is an extremely simple
dialect of SGML. The goal is to enable generic SGML to be served,
received, and processed on the Web in the way that is now possible
with HTML. XML [<a class='noxref'
href='references.html#XML'>XML</a>] has been designed for ease of
implementation and for interoperability with both SGML and
HTML.</dd>
<dt><b><a id="dt-XML-name" name='dt-XML-name'>XML name</a></b></dt>
<dd>See <a
href='http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name'><em>XML
name</em></a> in the XML specification [<a class='noxref'
href='references.html#XML'>XML</a>].</dd>
<dt><b><a id="dt-XML-namespace" name='dt-XML-namespace'>XML
namespace</a></b></dt>
<dd>An <i>XML namespace</i> is a collection of names, identified by
a URI reference [<a class='noxref'
href='references.html#URIRef'>RFC2396</a>], which are used in XML
documents as element types and attribute names. [<a class='noxref'
href='references.html#Namespaces'>Namespaces</a>]</dd>
</dl>
</div>
<!-- div1 glossary -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='acknowledgements.html'>previous</a> &nbsp;
<a accesskey='n' href='references.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
name</i>.
This is called the local
part in Namespaces in XML [<cite><a class='noxref informative' href='references.html#Namespaces'>XML Namespaces</a></cite>].</dd><dt><b><a name='dt-method'>method</a></b></dt>
<dd>A <i>method</i> is an operation or function that is
associated with an object and is allowed to manipulate the
object's data.
</dd><dt><b><a name='dt-model'>model</a></b></dt>
<dd>A <i>model</i> 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.</dd><dt><b><a name='dt-namespaceprefix'>namespace prefix</a></b></dt>
<dd>A <i>namespace prefix</i> is a string that associates
an element or attribute name with a <i>namespace URI</i> in
XML. See namespace
prefix in Namespaces in XML [<cite><a class='noxref informative' href='references.html#Namespaces'>XML Namespaces</a></cite>].</dd><dt><b><a name='dt-namespaceURI'>namespace URI</a></b></dt>
<dd>
A <i>namespace URI</i> is a URI that identifies an XML
namespace. This is called the namespace name in
Namespaces in XML [<cite><a class='noxref informative' href='references.html#Namespaces'>XML Namespaces</a></cite>]. See also sections 1.3.2 "<a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#baseURIs-Considerations'><em>DOM
URIs</em></a>" and 1.3.3 "<a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Core/core.html#Namespaces-Considerations'><em>XML
Namespaces</em></a>" regarding URIs and namespace URIs
handling and comparison in the DOM APIs.
</dd><dt><b><a name='dt-namespace-well-formed'>namespace well-formed</a></b></dt>
<dd>
A node is a <i>namespace well-formed</i> XML node if it
is a <a href='glossary.html#dt-well-formed'>well-formed</a> node,
and follows the productions and namespace constraints. If
[<cite><a class='noxref normative' href='references.html#XML'>XML 1.0</a></cite>] is used, the constraints are defined in
[<cite><a class='noxref normative' href='references.html#Namespaces'>XML Namespaces</a></cite>]. If [<cite><a class='noxref normative' href='references.html#XML11'>XML 1.1</a></cite>] is used,
the constraints are defined in [<cite><a class='noxref normative' href='references.html#Namespaces11'>XML Namespaces 1.1</a></cite>].
</dd><dt><b><a name='dt-object-model'>object model</a></b></dt>
<dd>An <i>object model</i>
is a collection of
descriptions of classes or interfaces,
together with their member data, member functions,
and class-static operations.
</dd><dt><b><a name='dt-parent'>parent</a></b></dt>
<dd>A <i>parent</i> is an immediate ancestor node of a
node.</dd><dt><b><a name='dt-partially-valid'>partially valid</a></b></dt>
<dd>A node in a DOM tree is <i>partially valid</i> if it is
<a href='glossary.html#dt-well-formed'>well formed</a> (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 <i>partially
valid</i>.
</dd><dt><b><a name='dt-qualifiedname'>qualified name</a></b></dt>
<dd>A <i>qualified name</i> is the name of an element or
attribute defined as the concatenation of a <i>local name</i>
(as defined in this specification), optionally preceded by a
<i>namespace prefix</i> and colon character. See <a class='normative' href='http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames'><em>Qualified Names</em></a> in
Namespaces in XML [<cite><a class='noxref informative' href='references.html#Namespaces'>XML Namespaces</a></cite>].</dd><dt><b><a name='dt-readonly-node'>read only node</a></b></dt>
<dd>A <i>read only node</i> 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.</dd><dt><b><a name='dt-root-node'>root node</a></b></dt>
<dd>The <i>root node</i> is a node that is not a child of any
other node. All other nodes are children or other descendants of the
root node.</dd><dt><b><a name='dt-schema'>schema</a></b></dt>
<dd>
A <i>schema</i> 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.
</dd><dt><b><a name='dt-sibling'>sibling</a></b></dt>
<dd>Two nodes are <i>siblings</i> if they have the
same parent node.</dd><dt><b><a name='dt-string-compare'>string comparison</a></b></dt>
<dd>When string matching is required, it is to occur as
though the comparison was between 2 sequences of code points
from [<cite><a class='noxref informative' href='references.html#Unicode'>Unicode</a></cite>].</dd><dt><b><a name='dt-token'>token</a></b></dt>
<dd>An information item such as an
XML Name which has been
<a href='glossary.html#dt-tokenized'>tokenized</a>.</dd><dt><b><a name='dt-tokenized'>tokenized</a></b></dt>
<dd>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.</dd><dt><b><a name='dt-well-formed'>well-formed</a></b></dt>
<dd>
A node is a <i>well-formed</i> XML node if its
serialized form, without doing any transformation during its
serialization, matches its respective production in [<cite><a class='noxref normative' href='references.html#XML'>XML 1.0</a></cite>] or [<cite><a class='noxref normative' href='references.html#XML11'>XML 1.1</a></cite>] (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 <a href='glossary.html#dt-namespace-well-formed'>namespace
well-formed</a>.
</dd><dt><b><a name='dt-XML'>XML</a></b></dt>
<dd>Extensible Markup Language (<i>XML</i>) 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. [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>]</dd></dl>
</div> <!-- div1 glossary --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Acknowledgements' href='acknowledgements.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='References' href='references.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,46 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:43:02 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:11:22 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>IDL Definitions</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='java-binding.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='i18n.html' />
<title>IDL Definitions</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='java-binding.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='accessing-code-point-boundaries.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='i18n.html'>previous</a> &nbsp; <a accesskey='n'
href='java-binding.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Accessing code point boundaries' accesskey='p' href='accessing-code-point-boundaries.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Java Language Binding' accesskey='n' href='java-binding.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="idl" name='idl'></a>
<h1 id='idl-h1' class='adiv1'>Appendix C: IDL Definitions</h1>
<p>This appendix contains the complete OMG IDL [<a class='noxref'
href='references.html#OMGIDL'>OMGIDL</a>] for the Level 2 Document
Object Model Core definitions.</p>
<p>The IDL files are also available as: <a
href='idl.zip'>http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/idl.zip</a></p>
<h3 id='idl-dom.idl'><a href='idl/dom.idl'>dom.idl</a>:</h3>
<div class='div1'><a name='idl'></a>
<h1 id='idl-h1' class='adiv1'>Appendix F: IDL Definitions</h1>
<p class='first'>This appendix contains the complete OMG IDL [<cite><a class='noxref normative' href='references.html#OMGIDL'>OMG IDL</a></cite>] for
the Level 3 Document Object Model Core definitions.</p><p>The IDL files are also available as: <a class='normative' href='idl.zip'>http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl.zip</a></p><h3 id='idl-dom.idl'><a href='idl/dom.idl'>dom.idl</a>:</h3>
<div class='idl-code'>
<pre>
// File: dom.idl
@ -52,300 +47,528 @@ href='idl.zip'>http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/idl.zip</
module dom
{
valuetype DOMString sequence&lt;unsigned short&gt;;
valuetype <a class='noxref' href='core.html#DOMString'>DOMString</a> sequence&lt;unsigned short&gt;;
typedef unsigned long long DOMTimeStamp;
typedef unsigned long long <a class='noxref' href='core.html#DOMTimeStamp'>DOMTimeStamp</a>;
typedef any <a class='noxref' href='core.html#DOMUserData'>DOMUserData</a>;
typedef Object <a class='noxref' href='core.html#DOMObject'>DOMObject</a>;
interface DOMImplementation;
interface DocumentType;
interface Document;
interface NodeList;
interface NamedNodeMap;
interface UserDataHandler;
interface Element;
interface TypeInfo;
interface DOMLocator;
exception DOMException {
exception <a class='noxref' href='core.html#ID-17189187'>DOMException</a> {
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;
const unsigned short <a class='noxref' href='core.html#DOMException-INDEX_SIZE_ERR'>INDEX_SIZE_ERR</a> = 1;
const unsigned short <a class='noxref' href='core.html#DOMException-DOMSTRING_SIZE_ERR'>DOMSTRING_SIZE_ERR</a> = 2;
const unsigned short <a class='noxref' href='core.html#DOMException-HIERARCHY_REQUEST_ERR'>HIERARCHY_REQUEST_ERR</a> = 3;
const unsigned short <a class='noxref' href='core.html#DOMException-WRONG_DOCUMENT_ERR'>WRONG_DOCUMENT_ERR</a> = 4;
const unsigned short <a class='noxref' href='core.html#DOMException-INVALID_CHARACTER_ERR'>INVALID_CHARACTER_ERR</a> = 5;
const unsigned short <a class='noxref' href='core.html#DOMException-NO_DATA_ALLOWED_ERR'>NO_DATA_ALLOWED_ERR</a> = 6;
const unsigned short <a class='noxref' href='core.html#DOMException-NO_MODIFICATION_ALLOWED_ERR'>NO_MODIFICATION_ALLOWED_ERR</a> = 7;
const unsigned short <a class='noxref' href='core.html#DOMException-NOT_FOUND_ERR'>NOT_FOUND_ERR</a> = 8;
const unsigned short <a class='noxref' href='core.html#DOMException-NOT_SUPPORTED_ERR'>NOT_SUPPORTED_ERR</a> = 9;
const unsigned short <a class='noxref' href='core.html#DOMException-INUSE_ATTRIBUTE_ERR'>INUSE_ATTRIBUTE_ERR</a> = 10;
// Introduced in DOM Level 2:
const unsigned short INVALID_STATE_ERR = 11;
const unsigned short <a class='noxref' href='core.html#DOMException-INVALID_STATE_ERR'>INVALID_STATE_ERR</a> = 11;
// Introduced in DOM Level 2:
const unsigned short SYNTAX_ERR = 12;
const unsigned short <a class='noxref' href='core.html#DOMException-SYNTAX_ERR'>SYNTAX_ERR</a> = 12;
// Introduced in DOM Level 2:
const unsigned short INVALID_MODIFICATION_ERR = 13;
const unsigned short <a class='noxref' href='core.html#DOMException-INVALID_MODIFICATION_ERR'>INVALID_MODIFICATION_ERR</a> = 13;
// Introduced in DOM Level 2:
const unsigned short NAMESPACE_ERR = 14;
const unsigned short <a class='noxref' href='core.html#DOMException-NAMESPACE_ERR'>NAMESPACE_ERR</a> = 14;
// Introduced in DOM Level 2:
const unsigned short INVALID_ACCESS_ERR = 15;
const unsigned short <a class='noxref' href='core.html#DOMException-INVALID_ACCESS_ERR'>INVALID_ACCESS_ERR</a> = 15;
// Introduced in DOM Level 3:
const unsigned short <a class='noxref' href='core.html#DOMException-VALIDATION_ERR'>VALIDATION_ERR</a> = 16;
// Introduced in DOM Level 3:
const unsigned short <a class='noxref' href='core.html#DOMException-TYPE_MISMATCH_ERR'>TYPE_MISMATCH_ERR</a> = 17;
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)
raises(DOMException);
// Introduced in DOM Level 2:
Document createDocument(in DOMString namespaceURI,
in DOMString qualifiedName,
in DocumentType doctype)
raises(DOMException);
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#DOMStringList'>DOMStringList</a> {
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#DOMStringList-item'>item</a>(in unsigned long index);
readonly attribute unsigned long <a class='noxref' href='core.html#DOMStringList-length'>length</a>;
boolean <a class='noxref' href='core.html#DOMStringList-contains'>contains</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> str);
};
interface Node {
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#NameList'>NameList</a> {
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#NameList-getName'>getName</a>(in unsigned long index);
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#NameList-getNamespaceURI'>getNamespaceURI</a>(in unsigned long index);
readonly attribute unsigned long <a class='noxref' href='core.html#NameList-length'>length</a>;
boolean <a class='noxref' href='core.html#NameList-contains'>contains</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> str);
boolean <a class='noxref' href='core.html#NameList-containsNS'>containsNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#DOMImplementationList'>DOMImplementationList</a> {
<a class='noxref' href='core.html#ID-102161490'>DOMImplementation</a> <a class='noxref' href='core.html#DOMImplementationList-item'>item</a>(in unsigned long index);
readonly attribute unsigned long <a class='noxref' href='core.html#DOMImplementationList-length'>length</a>;
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#DOMImplementationSource'>DOMImplementationSource</a> {
<a class='noxref' href='core.html#ID-102161490'>DOMImplementation</a> <a class='noxref' href='core.html#ID-getDOMImpl'>getDOMImplementation</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> features);
<a class='noxref' href='core.html#DOMImplementationList'>DOMImplementationList</a> <a class='noxref' href='core.html#ID-getDOMImpls'>getDOMImplementationList</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> features);
};
interface <a class='noxref' href='core.html#ID-102161490'>DOMImplementation</a> {
boolean <a class='noxref' href='core.html#ID-5CED94D7'>hasFeature</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> feature,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> version);
// Introduced in DOM Level 2:
<a class='noxref' href='core.html#ID-412266927'>DocumentType</a> <a class='noxref' href='core.html#Level-2-Core-DOM-createDocType'>createDocumentType</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> publicId,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> systemId)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
<a class='noxref' href='core.html#i-Document'>Document</a> <a class='noxref' href='core.html#Level-2-Core-DOM-createDocument'>createDocument</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName,
in <a class='noxref' href='core.html#ID-412266927'>DocumentType</a> doctype)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMObject'>DOMObject</a> <a class='noxref' href='core.html#DOMImplementation3-getFeature'>getFeature</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> feature,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> version);
};
interface <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
// 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;
const unsigned short <a class='noxref' href='core.html#Node-ELEMENT_NODE'>ELEMENT_NODE</a> = 1;
const unsigned short <a class='noxref' href='core.html#Node-ATTRIBUTE_NODE'>ATTRIBUTE_NODE</a> = 2;
const unsigned short <a class='noxref' href='core.html#Node-TEXT_NODE'>TEXT_NODE</a> = 3;
const unsigned short <a class='noxref' href='core.html#Node-CDATA_SECTION_NODE'>CDATA_SECTION_NODE</a> = 4;
const unsigned short <a class='noxref' href='core.html#Node-ENTITY_REFERENCE_NODE'>ENTITY_REFERENCE_NODE</a> = 5;
const unsigned short <a class='noxref' href='core.html#Node-ENTITY_NODE'>ENTITY_NODE</a> = 6;
const unsigned short <a class='noxref' href='core.html#Node-PROCESSING_INSTRUCTION_NODE'>PROCESSING_INSTRUCTION_NODE</a> = 7;
const unsigned short <a class='noxref' href='core.html#Node-COMMENT_NODE'>COMMENT_NODE</a> = 8;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_NODE'>DOCUMENT_NODE</a> = 9;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_TYPE_NODE'>DOCUMENT_TYPE_NODE</a> = 10;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_FRAGMENT_NODE'>DOCUMENT_FRAGMENT_NODE</a> = 11;
const unsigned short <a class='noxref' href='core.html#Node-NOTATION_NODE'>NOTATION_NODE</a> = 12;
readonly attribute DOMString nodeName;
attribute DOMString nodeValue;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-F68D095'>nodeName</a>;
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-F68D080'>nodeValue</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) 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;
readonly attribute unsigned short <a class='noxref' href='core.html#ID-111237558'>nodeType</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-1060184317'>parentNode</a>;
readonly attribute <a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-1451460987'>childNodes</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-169727388'>firstChild</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-61AD09FB'>lastChild</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-640FB3C8'>previousSibling</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-6AC54C2F'>nextSibling</a>;
readonly attribute <a class='noxref' href='core.html#ID-1780488922'>NamedNodeMap</a> <a class='noxref' href='core.html#ID-84CF096'>attributes</a>;
// 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);
// Modified in DOM Level 2:
void normalize();
readonly attribute <a class='noxref' href='core.html#i-Document'>Document</a> <a class='noxref' href='core.html#node-ownerDoc'>ownerDocument</a>;
// Modified in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-952280727'>insertBefore</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> newChild,
in <a class='noxref' href='core.html#ID-1950641247'>Node</a> refChild)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Modified in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-785887307'>replaceChild</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> newChild,
in <a class='noxref' href='core.html#ID-1950641247'>Node</a> oldChild)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Modified in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-1734834066'>removeChild</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> oldChild)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Modified in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-184E7107'>appendChild</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> newChild)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
boolean <a class='noxref' href='core.html#ID-810594187'>hasChildNodes</a>();
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-3A0ED0A4'>cloneNode</a>(in boolean deep);
// Modified in DOM Level 3:
void <a class='noxref' href='core.html#ID-normalize'>normalize</a>();
// Introduced in DOM Level 2:
boolean isSupported(in DOMString feature,
in DOMString version);
boolean <a class='noxref' href='core.html#Level-2-Core-Node-supports'>isSupported</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> feature,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> version);
// Introduced in DOM Level 2:
readonly attribute DOMString namespaceURI;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-NodeNSname'>namespaceURI</a>;
// Introduced in DOM Level 2:
attribute DOMString prefix;
// raises(DOMException) on setting
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-NodeNSPrefix'>prefix</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 2:
readonly attribute DOMString localName;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-NodeNSLocalN'>localName</a>;
// Introduced in DOM Level 2:
boolean hasAttributes();
boolean <a class='noxref' href='core.html#ID-NodeHasAttrs'>hasAttributes</a>();
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Node3-baseURI'>baseURI</a>;
// DocumentPosition
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_DISCONNECTED'>DOCUMENT_POSITION_DISCONNECTED</a> = 0x01;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_PRECEDING'>DOCUMENT_POSITION_PRECEDING</a> = 0x02;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_FOLLOWING'>DOCUMENT_POSITION_FOLLOWING</a> = 0x04;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_CONTAINS'>DOCUMENT_POSITION_CONTAINS</a> = 0x08;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_CONTAINED_BY'>DOCUMENT_POSITION_CONTAINED_BY</a> = 0x10;
const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC'>DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</a> = 0x20;
// Introduced in DOM Level 3:
unsigned short <a class='noxref' href='core.html#Node3-compareDocumentPosition'>compareDocumentPosition</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> other)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Node3-textContent'>textContent</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on retrieval
// Introduced in DOM Level 3:
boolean <a class='noxref' href='core.html#Node3-isSameNode'>isSameNode</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> other);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Node3-lookupNamespacePrefix'>lookupPrefix</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI);
// Introduced in DOM Level 3:
boolean <a class='noxref' href='core.html#Node3-isDefaultNamespace'>isDefaultNamespace</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Node3-lookupNamespaceURI'>lookupNamespaceURI</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> prefix);
// Introduced in DOM Level 3:
boolean <a class='noxref' href='core.html#Node3-isEqualNode'>isEqualNode</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> arg);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMObject'>DOMObject</a> <a class='noxref' href='core.html#Node3-getFeature'>getFeature</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> feature,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> version);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> <a class='noxref' href='core.html#Node3-setUserData'>setUserData</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> key,
in <a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> data,
in <a class='noxref' href='core.html#UserDataHandler'>UserDataHandler</a> handler);
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> <a class='noxref' href='core.html#Node3-getUserData'>getUserData</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> key);
};
interface NodeList {
Node item(in unsigned long index);
readonly attribute unsigned long length;
interface <a class='noxref' href='core.html#ID-536297177'>NodeList</a> {
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-844377136'>item</a>(in unsigned long index);
readonly attribute unsigned long <a class='noxref' href='core.html#ID-203510337'>length</a>;
};
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;
interface <a class='noxref' href='core.html#ID-1780488922'>NamedNodeMap</a> {
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-1074577549'>getNamedItem</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-1025163788'>setNamedItem</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> arg)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-D58B193'>removeNamedItem</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-349467F9'>item</a>(in unsigned long index);
readonly attribute unsigned long <a class='noxref' href='core.html#ID-6D0FB19E'>length</a>;
// Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI,
in DOMString localName);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-getNamedItemNS'>getNamedItemNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Node setNamedItemNS(in Node arg)
raises(DOMException);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-setNamedItemNS'>setNamedItemNS</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> arg)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Node removeNamedItemNS(in DOMString namespaceURI,
in DOMString localName)
raises(DOMException);
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-removeNamedItemNS'>removeNamedItemNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
};
interface CharacterData : Node {
attribute DOMString data;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
interface <a class='noxref' href='core.html#ID-FF21A306'>CharacterData</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-72AB8359'>data</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on retrieval
readonly attribute unsigned long length;
DOMString substringData(in unsigned long offset,
readonly attribute unsigned long <a class='noxref' href='core.html#ID-7D61178C'>length</a>;
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-6531BCCF'>substringData</a>(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,
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void <a class='noxref' href='core.html#ID-32791A2F'>appendData</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void <a class='noxref' href='core.html#ID-3EDB695F'>insertData</a>(in unsigned long offset,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void <a class='noxref' href='core.html#ID-7C603781'>deleteData</a>(in unsigned long offset,
in unsigned long count)
raises(DOMException);
void replaceData(in unsigned long offset,
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void <a class='noxref' href='core.html#ID-E5CBA7FB'>replaceData</a>(in unsigned long offset,
in unsigned long count,
in DOMString arg)
raises(DOMException);
in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
};
interface Attr : Node {
readonly attribute DOMString name;
readonly attribute boolean specified;
attribute DOMString value;
// raises(DOMException) on setting
interface <a class='noxref' href='core.html#ID-637646024'>Attr</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-1112119403'>name</a>;
readonly attribute boolean <a class='noxref' href='core.html#ID-862529273'>specified</a>;
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-221662474'>value</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 2:
readonly attribute Element ownerElement;
readonly attribute <a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#Attr-ownerElement'>ownerElement</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#TypeInfo'>TypeInfo</a> <a class='noxref' href='core.html#Attr-schemaTypeInfo'>schemaTypeInfo</a>;
// Introduced in DOM Level 3:
readonly attribute boolean <a class='noxref' href='core.html#Attr-isId'>isId</a>;
};
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);
interface <a class='noxref' href='core.html#ID-745549614'>Element</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-104682815'>tagName</a>;
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-666EE0F9'>getAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
void <a class='noxref' href='core.html#ID-F68F082'>setAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> value)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void <a class='noxref' href='core.html#ID-6D6AC0F9'>removeAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-217A91B8'>getAttributeNode</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-887236154'>setAttributeNode</a>(in <a class='noxref' href='core.html#ID-637646024'>Attr</a> newAttr)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-D589198'>removeAttributeNode</a>(in <a class='noxref' href='core.html#ID-637646024'>Attr</a> oldAttr)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-1938918D'>getElementsByTagName</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
// Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName);
<a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-ElGetAttrNS'>getAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName,
in DOMString value)
raises(DOMException);
void <a class='noxref' href='core.html#ID-ElSetAttrNS'>setAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> value)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
void removeAttributeNS(in DOMString namespaceURI,
in DOMString localName)
raises(DOMException);
void <a class='noxref' href='core.html#ID-ElRemAtNS'>removeAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-ElGetAtNodeNS'>getAttributeNodeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Attr setAttributeNodeNS(in Attr newAttr)
raises(DOMException);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-ElSetAtNodeNS'>setAttributeNodeNS</a>(in <a class='noxref' href='core.html#ID-637646024'>Attr</a> newAttr)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
<a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-A6C90942'>getElementsByTagNameNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
boolean hasAttribute(in DOMString name);
boolean <a class='noxref' href='core.html#ID-ElHasAttr'>hasAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name);
// Introduced in DOM Level 2:
boolean hasAttributeNS(in DOMString namespaceURI,
in DOMString localName);
boolean <a class='noxref' href='core.html#ID-ElHasAttrNS'>hasAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#TypeInfo'>TypeInfo</a> <a class='noxref' href='core.html#Element-schemaTypeInfo'>schemaTypeInfo</a>;
// Introduced in DOM Level 3:
void <a class='noxref' href='core.html#ID-ElSetIdAttr'>setIdAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name,
in boolean isId)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
void <a class='noxref' href='core.html#ID-ElSetIdAttrNS'>setIdAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName,
in boolean isId)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
void <a class='noxref' href='core.html#ID-ElSetIdAttrNode'>setIdAttributeNode</a>(in <a class='noxref' href='core.html#ID-637646024'>Attr</a> idAttr,
in boolean isId)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
};
interface Text : CharacterData {
Text splitText(in unsigned long offset)
raises(DOMException);
interface <a class='noxref' href='core.html#ID-1312295772'>Text</a> : <a class='noxref' href='core.html#ID-FF21A306'>CharacterData</a> {
<a class='noxref' href='core.html#ID-1312295772'>Text</a> <a class='noxref' href='core.html#ID-38853C1D'>splitText</a>(in unsigned long offset)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
readonly attribute boolean <a class='noxref' href='core.html#Text3-isElementContentWhitespace'>isElementContentWhitespace</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Text3-wholeText'>wholeText</a>;
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#ID-1312295772'>Text</a> <a class='noxref' href='core.html#Text3-replaceWholeText'>replaceWholeText</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> content)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
};
interface Comment : CharacterData {
interface <a class='noxref' href='core.html#ID-1728279322'>Comment</a> : <a class='noxref' href='core.html#ID-FF21A306'>CharacterData</a> {
};
interface CDATASection : Text {
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#TypeInfo'>TypeInfo</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#TypeInfo-typeName'>typeName</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#TypeInfo-typeNamespace'>typeNamespace</a>;
// DerivationMethods
const unsigned long <a class='noxref' href='core.html#TypeInfo-DERIVATION_RESTRICTION'>DERIVATION_RESTRICTION</a> = 0x00000001;
const unsigned long <a class='noxref' href='core.html#TypeInfo-DERIVATION_EXTENSION'>DERIVATION_EXTENSION</a> = 0x00000002;
const unsigned long <a class='noxref' href='core.html#TypeInfo-DERIVATION_UNION'>DERIVATION_UNION</a> = 0x00000004;
const unsigned long <a class='noxref' href='core.html#TypeInfo-DERIVATION_LIST'>DERIVATION_LIST</a> = 0x00000008;
boolean <a class='noxref' href='core.html#TypeInfo-isDerivedFrom'>isDerivedFrom</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> typeNamespaceArg,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> typeNameArg,
in unsigned long derivationMethod);
};
interface DocumentType : Node {
readonly attribute DOMString name;
readonly attribute NamedNodeMap entities;
readonly attribute NamedNodeMap notations;
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#UserDataHandler'>UserDataHandler</a> {
// OperationType
const unsigned short <a class='noxref' href='core.html#UserDataHandler-CLONED'>NODE_CLONED</a> = 1;
const unsigned short <a class='noxref' href='core.html#UserDataHandler-IMPORTED'>NODE_IMPORTED</a> = 2;
const unsigned short <a class='noxref' href='core.html#UserDataHandler-DELETED'>NODE_DELETED</a> = 3;
const unsigned short <a class='noxref' href='core.html#UserDataHandler-RENAMED'>NODE_RENAMED</a> = 4;
const unsigned short <a class='noxref' href='core.html#UserDataHandler-ADOPTED'>NODE_ADOPTED</a> = 5;
void <a class='noxref' href='core.html#ID-handleUserDataEvent'>handle</a>(in unsigned short operation,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> key,
in <a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> data,
in <a class='noxref' href='core.html#ID-1950641247'>Node</a> src,
in <a class='noxref' href='core.html#ID-1950641247'>Node</a> dst);
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#ERROR-Interfaces-DOMError'>DOMError</a> {
// ErrorSeverity
const unsigned short <a class='noxref' href='core.html#ERROR-DOMError-severity-warning'>SEVERITY_WARNING</a> = 1;
const unsigned short <a class='noxref' href='core.html#ERROR-DOMError-severity-error'>SEVERITY_ERROR</a> = 2;
const unsigned short <a class='noxref' href='core.html#ERROR-DOMError-severity-fatal-error'>SEVERITY_FATAL_ERROR</a> = 3;
readonly attribute unsigned short <a class='noxref' href='core.html#ERROR-DOMError-severity'>severity</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ERROR-DOMError-message'>message</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ERROR-DOMError-type'>type</a>;
readonly attribute <a class='noxref' href='core.html#DOMObject'>DOMObject</a> <a class='noxref' href='core.html#ERROR-DOMError-relatedException'>relatedException</a>;
readonly attribute <a class='noxref' href='core.html#DOMObject'>DOMObject</a> <a class='noxref' href='core.html#ERROR-DOMError-relatedData'>relatedData</a>;
readonly attribute <a class='noxref' href='core.html#Interfaces-DOMLocator'>DOMLocator</a> <a class='noxref' href='core.html#ERROR-DOMError-location'>location</a>;
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#ERROR-Interfaces-DOMErrorHandler'>DOMErrorHandler</a> {
boolean <a class='noxref' href='core.html#ID-ERRORS-DOMErrorHandler-handleError'>handleError</a>(in <a class='noxref' href='core.html#ERROR-Interfaces-DOMError'>DOMError</a> error);
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#Interfaces-DOMLocator'>DOMLocator</a> {
readonly attribute long <a class='noxref' href='core.html#DOMLocator-line-number'>lineNumber</a>;
readonly attribute long <a class='noxref' href='core.html#DOMLocator-column-number'>columnNumber</a>;
readonly attribute long <a class='noxref' href='core.html#DOMLocator-byteOffset'>byteOffset</a>;
readonly attribute long <a class='noxref' href='core.html#DOMLocator-utf16Offset'>utf16Offset</a>;
readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#DOMLocator-node'>relatedNode</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#DOMLocator-uri'>uri</a>;
};
// Introduced in DOM Level 3:
interface <a class='noxref' href='core.html#DOMConfiguration'>DOMConfiguration</a> {
void <a class='noxref' href='core.html#DOMConfiguration-property'>setParameter</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name,
in <a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> value)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> <a class='noxref' href='core.html#DOMConfiguration-getParameter'>getParameter</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
boolean <a class='noxref' href='core.html#DOMConfiguration-canSetParameter'>canSetParameter</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name,
in <a class='noxref' href='core.html#DOMUserData'>DOMUserData</a> value);
readonly attribute <a class='noxref' href='core.html#DOMStringList'>DOMStringList</a> <a class='noxref' href='core.html#DOMConfiguration-parameterNames'>parameterNames</a>;
};
interface <a class='noxref' href='core.html#ID-667469212'>CDATASection</a> : <a class='noxref' href='core.html#ID-1312295772'>Text</a> {
};
interface <a class='noxref' href='core.html#ID-412266927'>DocumentType</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-1844763134'>name</a>;
readonly attribute <a class='noxref' href='core.html#ID-1780488922'>NamedNodeMap</a> <a class='noxref' href='core.html#ID-1788794630'>entities</a>;
readonly attribute <a class='noxref' href='core.html#ID-1780488922'>NamedNodeMap</a> <a class='noxref' href='core.html#ID-D46829EF'>notations</a>;
// Introduced in DOM Level 2:
readonly attribute DOMString publicId;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-Core-DocType-publicId'>publicId</a>;
// Introduced in DOM Level 2:
readonly attribute DOMString systemId;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-Core-DocType-systemId'>systemId</a>;
// Introduced in DOM Level 2:
readonly attribute DOMString internalSubset;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-Core-DocType-internalSubset'>internalSubset</a>;
};
interface Notation : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
interface <a class='noxref' href='core.html#ID-5431D1B9'>Notation</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-54F2B4D0'>publicId</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-E8AAB1D0'>systemId</a>;
};
interface Entity : Node {
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString notationName;
interface <a class='noxref' href='core.html#ID-527DCFF2'>Entity</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-D7303025'>publicId</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-D7C29F3E'>systemId</a>;
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-6ABAEB38'>notationName</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Entity3-inputEncoding'>inputEncoding</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Entity3-encoding'>xmlEncoding</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Entity3-version'>xmlVersion</a>;
};
interface EntityReference : Node {
interface <a class='noxref' href='core.html#ID-11C98490'>EntityReference</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
};
interface ProcessingInstruction : Node {
readonly attribute DOMString target;
attribute DOMString data;
// raises(DOMException) on setting
interface <a class='noxref' href='core.html#ID-1004215813'>ProcessingInstruction</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-1478689192'>target</a>;
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-837822393'>data</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
};
interface DocumentFragment : Node {
interface <a class='noxref' href='core.html#ID-B63ED1A3'>DocumentFragment</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
};
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);
interface <a class='noxref' href='core.html#i-Document'>Document</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
// Modified in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#ID-412266927'>DocumentType</a> <a class='noxref' href='core.html#ID-B63ED1A31'>doctype</a>;
readonly attribute <a class='noxref' href='core.html#ID-102161490'>DOMImplementation</a> <a class='noxref' href='core.html#ID-1B793EBA'>implementation</a>;
readonly attribute <a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#ID-87CD092'>documentElement</a>;
<a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#ID-2141741547'>createElement</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> tagName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-B63ED1A3'>DocumentFragment</a> <a class='noxref' href='core.html#ID-35CB04B5'>createDocumentFragment</a>();
<a class='noxref' href='core.html#ID-1312295772'>Text</a> <a class='noxref' href='core.html#ID-1975348127'>createTextNode</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> data);
<a class='noxref' href='core.html#ID-1728279322'>Comment</a> <a class='noxref' href='core.html#ID-1334481328'>createComment</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> data);
<a class='noxref' href='core.html#ID-667469212'>CDATASection</a> <a class='noxref' href='core.html#ID-D26C0AF8'>createCDATASection</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> data)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-1004215813'>ProcessingInstruction</a> <a class='noxref' href='core.html#ID-135944439'>createProcessingInstruction</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> target,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> data)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-1084891198'>createAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-11C98490'>EntityReference</a> <a class='noxref' href='core.html#ID-392B75AE'>createEntityReference</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
<a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-A6C9094'>getElementsByTagName</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> tagname);
// Introduced in DOM Level 2:
Node importNode(in Node importedNode,
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#Core-Document-importNode'>importNode</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> importedNode,
in boolean deep)
raises(DOMException);
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Element createElementNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
<a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#ID-DocCrElNS'>createElementNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
Attr createAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
<a class='noxref' href='core.html#ID-637646024'>Attr</a> <a class='noxref' href='core.html#ID-DocCrAttrNS'>createAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName);
<a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-getElBTNNS'>getElementsByTagNameNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName);
// Introduced in DOM Level 2:
Element getElementById(in DOMString elementId);
<a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#ID-getElBId'>getElementById</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> elementId);
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Document3-inputEncoding'>inputEncoding</a>;
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Document3-encoding'>xmlEncoding</a>;
// Introduced in DOM Level 3:
attribute boolean <a class='noxref' href='core.html#Document3-standalone'>xmlStandalone</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 3:
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Document3-version'>xmlVersion</a>;
// raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 3:
attribute boolean <a class='noxref' href='core.html#Document3-strictErrorChecking'>strictErrorChecking</a>;
// Introduced in DOM Level 3:
attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#Document3-documentURI'>documentURI</a>;
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#Document3-adoptNode'>adoptNode</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> source)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 3:
readonly attribute <a class='noxref' href='core.html#DOMConfiguration'>DOMConfiguration</a> <a class='noxref' href='core.html#Document3-domConfig'>domConfig</a>;
// Introduced in DOM Level 3:
void <a class='noxref' href='core.html#Document3-normalizeDocument'>normalizeDocument</a>();
// Introduced in DOM Level 3:
<a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#Document3-renameNode'>renameNode</a>(in <a class='noxref' href='core.html#ID-1950641247'>Node</a> n,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName)
raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
};
};
@ -353,15 +576,11 @@ module dom
</pre>
</div>
</div>
<!-- div1 idl -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='i18n.html'>previous</a> &nbsp; <a
accesskey='n' href='java-binding.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
</div> <!-- div1 idl --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Accessing code point boundaries' href='accessing-code-point-boundaries.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Java Language Binding' href='java-binding.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,16 +1,16 @@
/*
* Copyright (c) 2000 World Wide Web Consortium,
* (Massachusetts Institute of Technology, Institut National de
* Recherche en Informatique et en Automatique, Keio University). All
* Rights Reserved. This program is distributed under the W3C's Software
* Intellectual Property License. This program is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE.
* See W3C License http://www.w3.org/Consortium/Legal/ for more details.
* Copyright (c) 2004 World Wide Web Consortium,
*
* (Massachusetts Institute of Technology, European Research Consortium for
* Informatics and Mathematics, Keio University). All Rights Reserved. This
* work is distributed under the W3C(r) Software License [1] in the hope that
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
*/
// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/dom.idl
// File: http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/dom.idl
#ifndef _DOM_IDL_
#define _DOM_IDL_
@ -23,11 +23,19 @@ module dom
typedef unsigned long long DOMTimeStamp;
typedef any DOMUserData;
typedef Object DOMObject;
interface DOMImplementation;
interface DocumentType;
interface Document;
interface NodeList;
interface NamedNodeMap;
interface UserDataHandler;
interface Element;
interface TypeInfo;
interface DOMLocator;
exception DOMException {
unsigned short code;
@ -53,8 +61,41 @@ module dom
const unsigned short NAMESPACE_ERR = 14;
// Introduced in DOM Level 2:
const unsigned short INVALID_ACCESS_ERR = 15;
// Introduced in DOM Level 3:
const unsigned short VALIDATION_ERR = 16;
// Introduced in DOM Level 3:
const unsigned short TYPE_MISMATCH_ERR = 17;
// Introduced in DOM Level 3:
interface DOMStringList {
DOMString item(in unsigned long index);
readonly attribute unsigned long length;
boolean contains(in DOMString str);
};
// Introduced in DOM Level 3:
interface NameList {
DOMString getName(in unsigned long index);
DOMString getNamespaceURI(in unsigned long index);
readonly attribute unsigned long length;
boolean contains(in DOMString str);
boolean containsNS(in DOMString namespaceURI,
in DOMString name);
};
// Introduced in DOM Level 3:
interface DOMImplementationList {
DOMImplementation item(in unsigned long index);
readonly attribute unsigned long length;
};
// Introduced in DOM Level 3:
interface DOMImplementationSource {
DOMImplementation getDOMImplementation(in DOMString features);
DOMImplementationList getDOMImplementationList(in DOMString features);
};
interface DOMImplementation {
boolean hasFeature(in DOMString feature,
in DOMString version);
@ -68,6 +109,9 @@ module dom
in DOMString qualifiedName,
in DocumentType doctype)
raises(DOMException);
// Introduced in DOM Level 3:
DOMObject getFeature(in DOMString feature,
in DOMString version);
};
interface Node {
@ -101,19 +145,23 @@ module dom
readonly attribute NamedNodeMap attributes;
// Modified in DOM Level 2:
readonly attribute Document ownerDocument;
// Modified in DOM Level 3:
Node insertBefore(in Node newChild,
in Node refChild)
raises(DOMException);
// Modified in DOM Level 3:
Node replaceChild(in Node newChild,
in Node oldChild)
raises(DOMException);
// Modified in DOM Level 3:
Node removeChild(in Node oldChild)
raises(DOMException);
// Modified in DOM Level 3:
Node appendChild(in Node newChild)
raises(DOMException);
boolean hasChildNodes();
Node cloneNode(in boolean deep);
// Modified in DOM Level 2:
// Modified in DOM Level 3:
void normalize();
// Introduced in DOM Level 2:
boolean isSupported(in DOMString feature,
@ -128,6 +176,44 @@ module dom
readonly attribute DOMString localName;
// Introduced in DOM Level 2:
boolean hasAttributes();
// Introduced in DOM Level 3:
readonly attribute DOMString baseURI;
// DocumentPosition
const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01;
const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02;
const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04;
const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08;
const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10;
const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;
// Introduced in DOM Level 3:
unsigned short compareDocumentPosition(in Node other)
raises(DOMException);
// Introduced in DOM Level 3:
attribute DOMString textContent;
// raises(DOMException) on setting
// raises(DOMException) on retrieval
// Introduced in DOM Level 3:
boolean isSameNode(in Node other);
// Introduced in DOM Level 3:
DOMString lookupPrefix(in DOMString namespaceURI);
// Introduced in DOM Level 3:
boolean isDefaultNamespace(in DOMString namespaceURI);
// Introduced in DOM Level 3:
DOMString lookupNamespaceURI(in DOMString prefix);
// Introduced in DOM Level 3:
boolean isEqualNode(in Node arg);
// Introduced in DOM Level 3:
DOMObject getFeature(in DOMString feature,
in DOMString version);
// Introduced in DOM Level 3:
DOMUserData setUserData(in DOMString key,
in DOMUserData data,
in UserDataHandler handler);
// Introduced in DOM Level 3:
DOMUserData getUserData(in DOMString key);
};
interface NodeList {
@ -145,7 +231,8 @@ module dom
readonly attribute unsigned long length;
// Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI,
in DOMString localName);
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2:
Node setNamedItemNS(in Node arg)
raises(DOMException);
@ -186,6 +273,10 @@ module dom
// Introduced in DOM Level 2:
readonly attribute Element ownerElement;
// Introduced in DOM Level 3:
readonly attribute TypeInfo schemaTypeInfo;
// Introduced in DOM Level 3:
readonly attribute boolean isId;
};
interface Element : Node {
@ -204,7 +295,8 @@ module dom
NodeList getElementsByTagName(in DOMString name);
// Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName);
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName,
@ -216,28 +308,129 @@ module dom
raises(DOMException);
// Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName);
in DOMString localName)
raises(DOMException);
// 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);
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2:
boolean hasAttribute(in DOMString name);
// Introduced in DOM Level 2:
boolean hasAttributeNS(in DOMString namespaceURI,
in DOMString localName);
in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 3:
readonly attribute TypeInfo schemaTypeInfo;
// Introduced in DOM Level 3:
void setIdAttribute(in DOMString name,
in boolean isId)
raises(DOMException);
// Introduced in DOM Level 3:
void setIdAttributeNS(in DOMString namespaceURI,
in DOMString localName,
in boolean isId)
raises(DOMException);
// Introduced in DOM Level 3:
void setIdAttributeNode(in Attr idAttr,
in boolean isId)
raises(DOMException);
};
interface Text : CharacterData {
Text splitText(in unsigned long offset)
raises(DOMException);
// Introduced in DOM Level 3:
readonly attribute boolean isElementContentWhitespace;
// Introduced in DOM Level 3:
readonly attribute DOMString wholeText;
// Introduced in DOM Level 3:
Text replaceWholeText(in DOMString content)
raises(DOMException);
};
interface Comment : CharacterData {
};
// Introduced in DOM Level 3:
interface TypeInfo {
readonly attribute DOMString typeName;
readonly attribute DOMString typeNamespace;
// DerivationMethods
const unsigned long DERIVATION_RESTRICTION = 0x00000001;
const unsigned long DERIVATION_EXTENSION = 0x00000002;
const unsigned long DERIVATION_UNION = 0x00000004;
const unsigned long DERIVATION_LIST = 0x00000008;
boolean isDerivedFrom(in DOMString typeNamespaceArg,
in DOMString typeNameArg,
in unsigned long derivationMethod);
};
// Introduced in DOM Level 3:
interface UserDataHandler {
// OperationType
const unsigned short NODE_CLONED = 1;
const unsigned short NODE_IMPORTED = 2;
const unsigned short NODE_DELETED = 3;
const unsigned short NODE_RENAMED = 4;
const unsigned short NODE_ADOPTED = 5;
void handle(in unsigned short operation,
in DOMString key,
in DOMUserData data,
in Node src,
in Node dst);
};
// Introduced in DOM Level 3:
interface DOMError {
// ErrorSeverity
const unsigned short SEVERITY_WARNING = 1;
const unsigned short SEVERITY_ERROR = 2;
const unsigned short SEVERITY_FATAL_ERROR = 3;
readonly attribute unsigned short severity;
readonly attribute DOMString message;
readonly attribute DOMString type;
readonly attribute DOMObject relatedException;
readonly attribute DOMObject relatedData;
readonly attribute DOMLocator location;
};
// Introduced in DOM Level 3:
interface DOMErrorHandler {
boolean handleError(in DOMError error);
};
// Introduced in DOM Level 3:
interface DOMLocator {
readonly attribute long lineNumber;
readonly attribute long columnNumber;
readonly attribute long byteOffset;
readonly attribute long utf16Offset;
readonly attribute Node relatedNode;
readonly attribute DOMString uri;
};
// Introduced in DOM Level 3:
interface DOMConfiguration {
void setParameter(in DOMString name,
in DOMUserData value)
raises(DOMException);
DOMUserData getParameter(in DOMString name)
raises(DOMException);
boolean canSetParameter(in DOMString name,
in DOMUserData value);
readonly attribute DOMStringList parameterNames;
};
interface CDATASection : Text {
};
@ -262,6 +455,12 @@ module dom
readonly attribute DOMString publicId;
readonly attribute DOMString systemId;
readonly attribute DOMString notationName;
// Introduced in DOM Level 3:
readonly attribute DOMString inputEncoding;
// Introduced in DOM Level 3:
readonly attribute DOMString xmlEncoding;
// Introduced in DOM Level 3:
readonly attribute DOMString xmlVersion;
};
interface EntityReference : Node {
@ -278,6 +477,7 @@ module dom
};
interface Document : Node {
// Modified in DOM Level 3:
readonly attribute DocumentType doctype;
readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement;
@ -313,6 +513,34 @@ module dom
in DOMString localName);
// Introduced in DOM Level 2:
Element getElementById(in DOMString elementId);
// Introduced in DOM Level 3:
readonly attribute DOMString inputEncoding;
// Introduced in DOM Level 3:
readonly attribute DOMString xmlEncoding;
// Introduced in DOM Level 3:
attribute boolean xmlStandalone;
// raises(DOMException) on setting
// Introduced in DOM Level 3:
attribute DOMString xmlVersion;
// raises(DOMException) on setting
// Introduced in DOM Level 3:
attribute boolean strictErrorChecking;
// Introduced in DOM Level 3:
attribute DOMString documentURI;
// Introduced in DOM Level 3:
Node adoptNode(in Node source)
raises(DOMException);
// Introduced in DOM Level 3:
readonly attribute DOMConfiguration domConfig;
// Introduced in DOM Level 3:
void normalizeDocument();
// Introduced in DOM Level 3:
Node renameNode(in Node n,
in DOMString namespaceURI,
in DOMString qualifiedName)
raises(DOMException);
};
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 903 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,386 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!--
Copyright (c) 2003 World Wide Web Consortium,
(Massachusetts Institute of Technology, European Research Consortium for
Informatics and Mathematics, Keio University). All Rights Reserved. This
work is distributed under the W3C(r) Software License [1] in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
$Id$
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink='http://www.w3.org/1999/xlink' width='640' height='440'
viewBox='0 0 640 440'>
<title>DOM Architecture</title>
<desc>
This diagram represents the DOM Architecture. It contains all the
modules defined by the DOM specifications.
</desc>
<defs>
<!-- I picked up this part in one of the Batik Apache example and
modified it a bit
See http://xml.apache.org/batik
"Top level architecture diagram"
author vincent.hardy@eng.sun.com
-->
<filter id="dropShadow" x="0" y="0" width="120%" height="120%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2 2"/>
<feOffset dx="2" dy="2" />
<feComponentTransfer result="shadow">
<feFuncA type="linear" slope=".25" intercept="0" />
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<marker id="arrowHead" markerWidth="12" markerHeight="9"
viewBox="0 0 4 3" refX="4" refY="1.5" orient="auto">
<path fill="black" stroke="none" d="M 0 0 L 4 1.5 L 0 3 Z" />
</marker>
<!-- Informations -->
<g id='infos'>
<line class="arrowLinks" x1="0" y1="0" x2="30" y2="0"/>
<text x="35" y="5">Depends on</text>
</g>
<!-- Small boxes -->
<g id="module" filter="url(#dropShadow)">
<rect x="0" y="0" width="100" height="30" />
</g>
<g id="baseModule">
<use xlink:href="#module"/>
<line class="arrowLinks" x1="50" y1="45" x2="50" y2="30"/>
</g>
<g id="extendsModule">
<use xlink:href="#module"/>
<line class="links" x1="50" y1="-15" x2="50" y2="0"/>
</g>
<g id="extendsBaseModule">
<use xlink:href="#baseModule"/>
<line class="links" x1="50" y1="0" x2="50" y2="-15"/>
</g>
<!-- Large Small boxes -->
<g id="moduleLargeSmall" filter="url(#dropShadow)">
<rect x="0" y="0" width="125" height="30" />
</g>
<g id="baseModuleLargeSmall">
<use xlink:href="#moduleLargeSmall"/>
<line class="arrowLinks" x1="62.5" y1="45" x2="62.5" y2="30"/>
</g>
<g id="extendsModuleLargeSmall">
<use xlink:href="#moduleLargeSmall"/>
<line class="links" x1="62.5" y1="-15" x2="62.5" y2="0"/>
</g>
<g id="extendsBaseModuleLargeSmall">
<use xlink:href="#baseModuleLargeSmall"/>
<line class="links" x1="62.5" y1="0" x2="62.5" y2="-15"/>
</g>
<!-- Large boxes -->
<g id="moduleLarge" filter="url(#dropShadow)">
<rect x="0" y="0" width="200" height="30" />
</g>
<g id="baseModuleLarge">
<use xlink:href="#moduleLarge"/>
<line class="arrowLinks" x1="100" y1="45" x2="100" y2="30"/>
</g>
<g id="extendsModuleLarge">
<use xlink:href="#moduleLarge"/>
<line class="links" x1="100" y1="-15" x2="100" y2="0"/>
</g>
<g id="extendsBaseModuleLarge">
<use xlink:href="#baseModuleLarge"/>
<line class="links" x1="100" y1="0" x2="100" y2="-15"/>
</g>
<!-- Extra Large boxes -->
<g id="moduleExtraLarge" filter="url(#dropShadow)">
<rect x="0" y="0" width="300" height="30" />
</g>
<g id="baseModuleExtraLarge">
<use xlink:href="#moduleExtraLarge"/>
<line class="arrowLinks" x1="150" y1="45" x2="150" y2="0"/>
</g>
<g id="extendsModuleExtraLarge">
<use xlink:href="#moduleExtraLarge"/>
<line class="links" x1="150" y1="-15" x2="150" y2="0"/>
</g>
<g id="extendsBaseModuleExtraLarge">
<use xlink:href="#baseModuleExtraLarge"/>
<line class="arrowLinks" x1="150" y1="0" x2="150" y2="-15"/>
</g>
</defs>
<style type='text/css'>
svg {
font-family: sansserif, sans-serif;
font-size: 12;
}
text {
fill: black;
}
rect {
fill: white;
stroke: black;
}
.label {
text-anchor: middle;
stroke: none;
}
.DOMLabel {
fill: gold;
text-anchor: middle;
}
.package {
fill: orange;
}
.arrowLinks {
fill: none;
stroke: black;
marker-end: url(#arrowHead);
}
.links {
fill: none;
stroke: black;
}
.red {
stroke: red;
}
.depend {
stroke-dasharray: 2, 3, 5, 3;
}
</style>
<g id='DOM3' transform="translate(10, 10)">
<rect x="-50%" y="-50%" width="200%" height="200%" style='fill:#ffffff'/>
<g filter="url(#dropShadow)">
<rect class='package' x="0" y="0" width="620" height="410"/>
</g>
<g transform="translate(480, 20)">
<use xlink:href="#infos"/>
</g>
<g transform="translate(10, 15)">
<g id="DOMBase" transform="translate(187.5, 0)">
<desc>DOM Core, XML, and HTML. XML extends Core. HTML extends
Core.</desc>
<g id="Core" transform="translate(62.5, 0)">
<use xlink:href="#baseModule"/>
<text class="label" x="50" y="20">Core</text>
</g>
<g id="XML" transform="translate(0, 60)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">XML</text>
</g>
<g id="HTML" transform="translate(125, 60)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">HTML</text>
</g>
<g transform="translate(50, 45)">
<line class="links" x1="0" y1="0" x2="125" y2="0"/>
</g>
</g>
<g transform="translate(0, 120)">
<g id="XPath" transform="translate(0, 0)">
<desc>DOM XPath. XPath on Core.</desc>
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">XPath</text>
</g>
<g id="Validation" transform="translate(125, 0)">
<desc>DOM Validation. Validation on Core.</desc>
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">Validation</text>
</g>
<!--
<g id="DocumentLS" transform="translate(250, 0)">
<desc>DOM DocumentLS. DocumentLS depends on Core.</desc>
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">DocumentLS</text>
<g id="ElementLS" transform="translate(0, 60)">
<desc>DOM ElementLS. ElementLS depends on Core.</desc>
<use xlink:href="#module"/>
<text class="label" x="50" y="20">ElementLS</text>
</g>
</g>
-->
<g transform="translate(362.5, 0)">
<g id="LS">
<desc>DOM Load and Save. Load and Save depends on Core.</desc>
<use xlink:href="#extendsBaseModule"/>
<text class="label" x="50" y="20">LS</text>
</g>
<g id="LS-Async" transform="translate(0, 60)">
<desc>DOM Load Asynchronous. It depends on Load.</desc>
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">LS-Async</text>
</g>
</g>
<g id="Views" transform="translate(475, 0)">
<desc>DOM Views. Views depends on Core.</desc>
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">Views</text>
<!-- links Views with UIEvents and CSS -->
<line class="arrowLinks" x1="20" y1="135" x2="20" y2="30"/>
<line class="links" x1="20" y1="135" x2="25" y2="135"/>
<line class="arrowLinks" x1="10" y1="135" x2="10" y2="30"/>
<line class="links" x1="0" y1="135" x2="10" y2="135"/>
</g>
</g>
<g transform="translate(0, 120)">
<g transform="translate(0, 60)">
<g id="Traversal">
<desc>DOM Traversal. Traversal depends on Core.</desc>
<use xlink:href="#module"/>
<text class="label" x="50" y="20">Traversal</text>
</g>
<g id="Range" transform="translate(0, 60)">
<desc>DOM Range. Range depends on Core.</desc>
<use xlink:href="#module"/>
<text class="label" x="50" y="20">Range</text>
</g>
</g>
<g id='DOMEvents' transform="translate(125, 0)">
<desc>DOM Events, UIEvents, MouseEvents, Mutations, and
HTMLEvents. UIEvents extends Events and depends on
Views. MouseEvents extends UIEvents. MutationEvents extends
Events. HTMLEvents extends Events.</desc>
<g id="Events" transform="translate(125, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">Events</text>
</g>
<g transform="translate(0, 120)">
<g id="HTMLEvents" transform="translate(0, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">HTMLEvents</text>
</g>
<g id="MutationEvents" transform="translate(125, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">MutationEvents</text>
<g id="MutationNameEvents" transform="translate(-12.5, 60)">
<use xlink:href="#moduleLargeSmall"/>
<text class="label" x="62.5" y="20">MutationNameEvents</text>
<line class="arrowLinks" x1="62.5" y1="0" x2="62.5" y2="-30"/>
</g>
</g>
<g transform="translate(250, 0)">
<g id="UIEvents">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">UIEvents</text>
</g>
<g transform="translate(-250, 120)">
<g id="KeyboardEvents" transform="translate(0, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">KeyboardEvents</text>
</g>
<g id="TextEvents" transform="translate(125, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">TextEvents</text>
</g>
<g id="MouseEvents" transform="translate(250, 0)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">MouseEvents</text>
</g>
<g transform="translate(50, -15)">
<line class="links" x1="0" y1="0" x2="250" y2="0"/>
</g>
<line class="arrowLinks"
x1="275" y1="-15" x2="275" y2="-90"/>
</g>
</g>
</g>
<g transform="translate(50, 45)">
<line class="links" x1="0" y1="60" x2="250" y2="60"/>
<line class="arrowLinks" x1="125" y1="0" x2="125" y2="-15"/>
<line class="links" x1="125" y1="-15" x2="125" y2="60"/>
</g>
</g>
<g transform="translate(500, 60)">
<desc>DOM StyleSheets, CSS, and CSS2. CSS depends on StyleSheets and
Views. CSS2 depends on CSS.</desc>
<g id="StyleSheets" transform="translate(0, 0)">
<use xlink:href="#baseModule"/>
<text class="label" x="50" y="20">StyleSheets</text>
</g>
<g id="CSS" transform="translate(0, 60)">
<use xlink:href="#extendsModule"/>
<text class="label" x="50" y="20">CSS</text>
</g>
<g id="CSS2" transform="translate(0, 120)">
<use xlink:href="#module"/>
<text class="label" x="50" y="20">CSS2</text>
<line class="arrowLinks"
x1="50" y1="0" x2="50" y2="-30"/>
</g>
</g>
</g>
<!-- now, the conformant dependencies -->
<g>
<line class="links" x1="300" y1="105" x2="300" y2="30"/>
<line class="links" x1="50" y1="105" x2="587.5" y2="105"/>
<line class="links" x1="108" y1="105" x2="108" y2="195"/>
<line class="links" x1="100" y1="195" x2="108" y2="195"/>
<line class="links" x1="113" y1="105" x2="113" y2="255"/>
<line class="links" x1="100" y1="255" x2="113" y2="255"/>
<!--
<line class="links" x1="240" y1="105" x2="240" y2="195"/>
<line class="links" x1="240" y1="195" x2="250" y2="195"/>
<line class="links" x1="235" y1="105" x2="235" y2="195"/>
<line class="links" x1="225" y1="195" x2="235" y2="195"/>
<line class="links" x1="300" y1="105" x2="300" y2="180"/>
-->
<line class="links" x1="587.5" y1="105" x2="587.5" y2="180"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="480" height="640" viewBox="0 0 480 640">
<defs>
<filter id="dropShadow" x="0" y="0" width="120%" height="120%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2 2"/>
<feOffset dx="2" dy="2" />
<feComponentTransfer result="shadow">
<feFuncA type="linear" slope=".25" intercept="0" />
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<marker id="arrowHead" markerWidth="12" markerHeight="9"
viewBox="0 0 4 3" refX="4" refY="1.5" orient="auto">
<path fill="black" stroke="none" d="M 0 0 L 4 1.5 L 0 3 Z" />
</marker>
</defs>
<style type="text/css">
svg {
font-family: sansserif, sans-serif;
font-size: 12pt;
}
.arrowLinks {
fill: none;
stroke: black;
marker-end: url(#arrowHead);
}
rect, ellipse {
fill: white;
stroke: black;
}
text {
fill: black;
}
.label {
text-anchor: middle;
stroke: none;
}
</style>
<g transform='scale(0.75)'>
<g transform='translate(0, -200)'>
<g transform='translate(180, 0)'>
<g filter="url(#dropShadow)" transform='translate(10, 210)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="70"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;table></text>
</g>
<g filter="url(#dropShadow)" transform='translate(10, 280)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;tbody></text>
</g>
</g>
<g transform='translate(0, 350)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="240" y1="-30" x2="120" y2="0"/>
<line class="arrowLinks" x1="240" y1="-30" x2="360" y2="0"/>
</g>
<g filter="url(#dropShadow)" transform='translate(70, 0)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;tr></text>
</g>
<g filter="url(#dropShadow)" transform='translate(310, 0)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;tr></text>
</g>
</g>
<g transform='translate(0, 420)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="120" y1="-30" x2="60" y2="0"/>
<line class="arrowLinks" x1="120" y1="-30" x2="180" y2="0"/>
<line class="arrowLinks" x1="360" y1="-30" x2="300" y2="0"/>
<line class="arrowLinks" x1="360" y1="-30" x2="420" y2="0"/>
</g>
<g filter="url(#dropShadow)" transform='translate(10, 0)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="60"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;td></text>
</g>
<g filter="url(#dropShadow)" transform='translate(130, 0)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="60"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;td></text>
</g>
<g filter="url(#dropShadow)" transform='translate(250, 0)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="60"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;td></text>
</g>
<g filter="url(#dropShadow)" transform='translate(370, 0)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="60"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;td></text>
</g>
</g>
<g transform='translate(0, 490)'>
<g filter="url(#dropShadow)" transform='translate(10, 0)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">Shady Grove</text>
</g>
<g filter="url(#dropShadow)" transform='translate(130, 0)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">Aeolian</text>
</g>
<g filter="url(#dropShadow)" transform='translate(250, 0)'>
<ellipse cx="50" cy="20" rx="60" ry="30"/>
<text class='label' x="50" y="22.5">Over the river,</text>
<text class='label' x="50" y="38.5">Charlie</text>
</g>
<g filter="url(#dropShadow)" transform='translate(370, 0)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">Dorian</text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="480" height="640" viewBox="0 0 480 640">
<defs>
<filter id="dropShadow" x="0" y="0" width="120%" height="120%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2 2"/>
<feOffset dx="2" dy="2" />
<feComponentTransfer result="shadow">
<feFuncA type="linear" slope=".25" intercept="0" />
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<marker id="arrowHead" markerWidth="12" markerHeight="9"
viewBox="0 0 4 3" refX="4" refY="1.5" orient="auto">
<path fill="black" stroke="none" d="M 0 0 L 4 1.5 L 0 3 Z" />
</marker>
</defs>
<style type="text/css">
svg {
font-family: sansserif, sans-serif;
font-size: 12pt;
}
.arrowLinks {
fill: none;
stroke: black;
marker-end: url(#arrowHead);
}
rect, ellipse {
fill: white;
stroke: black;
}
text {
fill: black;
}
.label {
text-anchor: middle;
stroke: none;
}
</style>
<g transform='scale(0.75)'>
<g transform='translate(0, -200)'>
<g transform='translate(180, 0)'>
<g filter="url(#dropShadow)" transform='translate(10, 280)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;p></text>
</g>
</g>
<g transform='translate(0, 350)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="240" y1="-30" x2="154" y2="-6"/>
<line class="arrowLinks" x1="240" y1="-30" x2="360" y2="0"/>
</g>
<g filter="url(#dropShadow)" transform='translate(70, 0)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">bar</text>
</g>
<g filter="url(#dropShadow)" transform='translate(310, 0)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&amp;ent;</text>
</g>
</g>
<g transform='translate(0, 420)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="360" y1="-30" x2="365" y2="-8"/>
</g>
<g filter="url(#dropShadow)" transform='translate(250, 0)'>
<ellipse cx="110" cy="20" rx="60" ry="30"/>
<text class='label' x="110" y="26.5">foo</text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="480" height="640" viewBox="0 0 480 640">
<defs>
<filter id="dropShadow" x="0" y="0" width="120%" height="120%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2 2"/>
<feOffset dx="2" dy="2" />
<feComponentTransfer result="shadow">
<feFuncA type="linear" slope=".25" intercept="0" />
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<marker id="arrowHead" markerWidth="12" markerHeight="9"
viewBox="0 0 4 3" refX="4" refY="1.5" orient="auto">
<path fill="black" stroke="none" d="M 0 0 L 4 1.5 L 0 3 Z" />
</marker>
</defs>
<style type="text/css">
svg {
font-family: sansserif, sans-serif;
font-size: 12pt;
}
.arrowLinks {
fill: none;
stroke: black;
marker-end: url(#arrowHead);
}
rect, ellipse {
fill: white;
stroke: black;
}
text {
fill: black;
}
.label {
text-anchor: middle;
stroke: none;
}
</style>
<g transform='scale(0.75)'>
<g transform='translate(0, -200)'>
<g transform='translate(180, 0)'>
<g filter="url(#dropShadow)" transform='translate(10, 210)'>
<line class="arrowLinks" x1="50" y1="40" x2="50" y2="60"/>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;p></text>
</g>
<g filter="url(#dropShadow)" transform='translate(10, 280)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">yo</text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
<svg width="480" height="640" viewBox="0 0 480 640">
<defs>
<filter id="dropShadow" x="0" y="0" width="120%" height="120%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2 2"/>
<feOffset dx="2" dy="2" />
<feComponentTransfer result="shadow">
<feFuncA type="linear" slope=".25" intercept="0" />
</feComponentTransfer>
<feMerge>
<feMergeNode />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
<marker id="arrowHead" markerWidth="12" markerHeight="9"
viewBox="0 0 4 3" refX="4" refY="1.5" orient="auto">
<path fill="black" stroke="none" d="M 0 0 L 4 1.5 L 0 3 Z" />
</marker>
</defs>
<style type="text/css">
svg {
font-family: sansserif, sans-serif;
font-size: 12pt;
}
.arrowLinks {
fill: none;
stroke: black;
marker-end: url(#arrowHead);
}
rect, ellipse {
fill: white;
stroke: black;
}
text {
fill: black;
}
.label {
text-anchor: middle;
stroke: none;
}
</style>
<g transform='scale(0.75)'>
<g transform='translate(0, -200)'>
<g transform='translate(180, 0)'>
<g filter="url(#dropShadow)" transform='translate(10, 280)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;p></text>
</g>
</g>
<g transform='translate(0, 350)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="240" y1="-30" x2="154" y2="-6"/>
<line class="arrowLinks" x1="240" y1="-30" x2="360" y2="0"/>
</g>
<g filter="url(#dropShadow)" transform='translate(70, 0)'>
<ellipse cx="50" cy="20" rx="55" ry="30"/>
<text class='label' x="50" y="26.5">bar</text>
</g>
<g filter="url(#dropShadow)" transform='translate(310, 0)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&amp;ent;</text>
</g>
</g>
<g transform='translate(0, 420)'>
<g filter="url(#dropShadow)">
<line class="arrowLinks" x1="360" y1="-30" x2="320" y2="-8"/>
<line class="arrowLinks" x1="360" y1="-30" x2="420" y2="0"/>
</g>
<g filter="url(#dropShadow)" transform='translate(250, 0)'>
<ellipse cx="50" cy="20" rx="60" ry="30"/>
<text class='label' x="50" y="26.5">foo</text>
</g>
<g filter="url(#dropShadow)" transform='translate(370, 0)'>
<rect x="0" y="0" width="100" height="40"/>
<text class='label' x="50" y="26.5">&lt;br/></text>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

File diff suppressed because it is too large Load Diff

View File

@ -1,512 +1,414 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:42:28 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:10:49 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>What is the Document Object Model?</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='core.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='copyright-notice.html' />
<title>What is the Document Object Model?</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='core.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='copyright-notice.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='copyright-notice.html'>previous</a> &nbsp; <a accesskey='n'
href='core.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='W3C Copyright Notices and Licenses' accesskey='p' href='copyright-notice.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Document Object Model Core' accesskey='n' href='core.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="Introduction" name='Introduction'></a>
<h1 id='Introduction-h1' class='div1'>What is the Document Object
Model?</h1>
<div class='div1'><a name='Introduction'></a>
<h1 id='Introduction-h1' class='div1'>What is the Document Object Model?</h1>
<dl>
<dt><i>Editors</i></dt>
<dd>Philippe Le H&eacute;garet, W3C</dd>
<dd>Lauren Wood, SoftQuad Software Inc., WG Chair</dd>
<dt><i>Editors</i>:
</dt><dd>Philippe Le H&#xe9;garet, W3C</dd>
<dd>Lauren Wood, SoftQuad Software Inc. (for DOM Level 2)</dd>
<dd>Jonathan Robie, Texcel (for DOM Level 1)</dd>
</dl>
<div class='div2'><a id="ID-E7C3082" name='ID-E7C3082'></a>
<div class='div2'><a name='ID-E7C3082'></a>
<h2 id='ID-E7C3082-h2' class='div2'>Introduction</h2>
<p>The Document Object Model (DOM) is an application programming
interface (<a href='glossary.html#dt-API'><em>API</em></a>) for
valid <a href='glossary.html#dt-HTML'><em>HTML</em></a> and
well-formed <a href='glossary.html#dt-XML'><em>XML</em></a>
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.</p>
<p>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 <a
href='glossary.html#dt-interface'><em>interfaces</em></a> for the
XML internal and external subsets have not yet been specified.</p>
<p>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 <a
href='glossary.html#dt-application'><em>applications</em></a>. 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 Object
Management Group (OMG) IDL [<a class='noxref'
href='references.html#OMGIDL'>OMGIDL</a>], as defined in the CORBA
2.3.1 specification [<a class='noxref'
href='references.html#CORBA'>CORBA</a>]. In addition to the OMG IDL
specification, we provide <a
href='glossary.html#dt-lang-binding'><em>language bindings</em></a>
for Java [<a class='noxref' href='references.html#Java'>Java</a>]
and ECMAScript [<a class='noxref'
href='references.html#ECMAScript'>ECMAScript</a>] (an
industry-standard scripting language based on JavaScript [<a
class='noxref' href='references.html#JavaScript'>JavaScript</a>]
and JScript [<a class='noxref'
href='references.html#JScript'>JScript</a>]).</p>
<p><b>Note:</b> OMG IDL is used only as a language-independent and
implementation-neutral way to specify <a
href='glossary.html#dt-interface'><em>interfaces</em></a>. Various
other IDLs could have been used ([<a class='noxref'
href='references.html#COM'>COM</a>], [<a class='noxref'
href='references.html#JavaIDL'>JavaIDL</a>], [<a class='noxref'
href='references.html#MSIDL'>MIDL</a>], ...). 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.</p>
</div>
<!-- div2 ID-E7C3082 -->
<div class='div2'><a id="ID-E7C30821" name='ID-E7C30821'></a>
<h2 id='ID-E7C30821-h2' class='div2'>What the Document Object Model
is</h2>
<p>The DOM is a programming <a
href='glossary.html#dt-API'><em>API</em></a> for documents. It is
based on an object structure that closely resembles the structure
of the documents it <a
href='glossary.html#dt-model'><em>models</em></a>. For instance,
consider this table, taken from an HTML document:</p>
<p>The Document Object Model (DOM) is an application programming interface
(<a href='glossary.html#dt-API'>API</a>) for valid <a href='glossary.html#dt-HTML'>HTML</a> and
well-formed <a href='glossary.html#dt-XML'>XML</a> 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.<p>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 <a href='glossary.html#dt-interface'>interfaces</a> for
the XML internal and external subsets have not yet been specified.<p>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 <a href='glossary.html#dt-application'>applications</a>.
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 Object Management Group (OMG) IDL [<cite><a class='noxref normative' href='references.html#OMGIDL'>OMG IDL</a></cite>], as defined in the CORBA 2.3.1 specification [<cite><a class='noxref informative' href='references.html#CORBA'>CORBA</a></cite>]. In addition to the OMG IDL specification, we provide
<a href='glossary.html#dt-lang-binding'>language bindings</a> for Java [<cite><a class='noxref normative' href='references.html#Java'>Java</a></cite>] and ECMAScript [<cite><a class='noxref normative' href='references.html#ECMAScript'>ECMAScript</a></cite>] (an industry-standard scripting
language based on JavaScript [<cite><a class='noxref informative' href='references.html#JavaScript'>JavaScript</a></cite>] and JScript
[<cite><a class='noxref informative' href='references.html#JScript'>JScript</a></cite>]). Because of language
binding restrictions, a mapping has to be applied between the OMG
IDL and the programming language in used. For example, while the
DOM uses IDL attributes in the definition of interfaces, Java does
not allow interfaces to contain attributes:</p>
<div class='code-block'>
<pre>
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Shady Grove&lt;/TD&gt;
&lt;TD&gt;Aeolian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Over the River, Charlie&lt;/TD&gt;
&lt;TD&gt;Dorian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
<pre>// example 1: removing the first child of an element using ECMAScript
mySecondTrElement.removeChild(mySecondTrElement.firstChild);
</pre>
</div>
<p>A graphical representation of the DOM of the example table
is:<br />
// example 2: removing the first child of an element using Java
mySecondTrElement.removeChild(mySecondTrElement.getFirstChild());</pre>
</div><p><b>Note:</b> OMG IDL is used only as a language-independent and
implementation-neutral way to specify <a href='glossary.html#dt-interface'>interfaces</a>. Various other
IDLs could have been used ([<cite><a class='noxref informative' href='references.html#COM'>COM</a></cite>], [<cite><a class='noxref informative' href='references.html#JavaIDL'>Java IDL</a></cite>], [<cite><a class='noxref informative' href='references.html#MSIDL'>MIDL</a></cite>], ...). 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.
</p>
</div> <!-- div2 ID-E7C3082 -->
<div class='div2'><a name='ID-E7C30821'></a>
<h2 id='ID-E7C30821-h2' class='div2'>What the Document Object Model is</h2>
<p>The DOM is a programming <a href='glossary.html#dt-API'>API</a> for documents.
It is based on an object structure that closely resembles the structure of the
documents it <a href='glossary.html#dt-model'>models</a>. For instance, consider this table, taken
from an XHTML document: </p>
<div class='code-block'>
<pre>&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Shady Grove&lt;/td&gt;
&lt;td&gt;Aeolian&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Over the River, Charlie&lt;/td&gt;
&lt;td&gt;Dorian&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</pre>
</div><p>
A graphical representation of the DOM of the example table, with
whitespaces in element content (often abusively called "ignorable
whitespace") removed, is:
<div class='figure' style='text-align: center'>
<img src='./images/table.png' alt='graphical representation of the DOM of the example table' title='graphical representation of the DOM of the example table'>
<p style='text-align:left'><i>Figure: graphical representation of the DOM of the example table
</i> [<a href='./images/table'>SVG 1.0 version</a>]
</p>
<div align='center'>
<hr width='90%' size='2' />
<img src='./images/table.gif'
alt='graphical representation of the DOM of the example table' />
<hr width='90%' size='2' />
<b>graphical representation of the DOM of the example table</b>
<hr width='90%' size='2' />
</div>
<p>In the DOM, documents have a logical structure which is very
much like a tree; to be more precise, which 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
<em>implemented</em> 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 <em>structure model</em> to
describe the tree-like representation of a document. We also use
the term "tree" when referring to the arrangement of those
information items which can be reached by using "tree-walking"
methods; (this does not include attributes). One important property
of DOM structure models is <em>structural isomorphism</em>: 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 [<a
class='noxref' href='references.html#InfoSet'>Infoset</a>].</p>
<p>
An example of DOM manipulation using ECMAScript would be:
</p>
<div class='code-block'>
<pre>// access the tbody element from the table element
var myTbodyElement = myTableElement.firstChild;
<p><b>Note:</b> There may be some variations depending on the
parser being used to build the DOM. For instance, the DOM may not
contain whitespaces in element content if the parser discards
them.</p>
// access its second tr element
// The list of children starts at 0 (and not 1).
var mySecondTrElement = myTbodyElement.childNodes[1];
<p>The name "Document Object Model" was chosen because it is an "<a
href='glossary.html#dt-object-model'><em>object model</em></a>" 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:</p>
// remove its first td element
mySecondTrElement.removeChild(mySecondTrElement.firstChild);
<ul>
<li>the interfaces and objects used to represent and manipulate a
document</li>
<li>the semantics of these interfaces and objects - including both
behavior and attributes</li>
<li>the relationships and collaborations among these interfaces and
objects</li>
// change the text content of the remaining td element
mySecondTrElement.firstChild.firstChild.data = "Peter";</pre>
</div><p>In the DOM, documents have a logical
structure which is very much like a tree; to be more precise, which is
like a "forest" or "grove",
which can contain more than one tree. Each document contains zero or one
doctype nodes, one document element node,
and zero or more comments
or processing instructions; the document element serves as the root
of the element tree for the document. However, the DOM
does not specify that documents must be <em>implemented</em> 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 <em>structure model</em> to
describe the tree-like representation of a document.
We also use the term "tree" when referring to the arrangement of
those information items which can be reached by using "tree-walking"
methods; (this does not include attributes).
One important property of DOM structure models
is <em>structural isomorphism</em>: 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 [<cite><a class='noxref informative' href='references.html#InfoSet'>XML Information Set</a></cite>].<p><b>Note:</b> There may be some variations depending on the parser being
used to build the DOM. For instance, the DOM may not contain
white spaces in element content if the parser discards them.</p>
<p>The name "Document Object Model" was chosen because
it is an "<a href='glossary.html#dt-object-model'>object model</a>" 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:<ul>
<li>
the interfaces and objects used to represent and manipulate
a document</li>
<li>
the semantics of these interfaces and objects - including
both behavior and attributes</li>
<li>
the relationships and collaborations among these interfaces
and objects</li>
</ul>
<p>The structure of SGML documents has traditionally been
represented by an abstract <a
href='glossary.html#dt-datamodel'><em>data model</em></a>, not by
an object model. In an abstract <a
href='glossary.html#dt-datamodel'><em>data model</em></a>, 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.</p>
</div>
<!-- div2 ID-E7C30821 -->
<div class='div2'><a id="ID-E7C30822" name='ID-E7C30822'></a>
<h2 id='ID-E7C30822-h2' class='div2'>What the Document Object Model
is not</h2>
<p>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.</p>
<ul>
<li>The Document Object Model is not a binary specification. DOM
programs written in the same language binding will be source code
compatible across platforms, but the DOM does not define any form
of binary interoperability.</li>
<li>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.</li>
<li>The Document Object Model is not a set of data structures; it
is an <a href='glossary.html#dt-object-model'><em>object
model</em></a> 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.</li>
<li>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 [<a class='noxref' href='references.html#InfoSet'>Infoset</a>].
The DOM is simply an <a
href='glossary.html#dt-API'><em>API</em></a> to this information
set.</li>
<li>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.</li>
represented by an abstract <a href='glossary.html#dt-datamodel'>data model</a>, not by an object model.
In an abstract <a href='glossary.html#dt-datamodel'>data model</a>, 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.</div> <!-- div2 ID-E7C30821 -->
<div class='div2'><a name='ID-E7C30822'></a>
<h2 id='ID-E7C30822-h2' class='div2'>What the Document Object Model is not</h2>
<p>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.<ul>
<li>
The Document Object Model is not a binary specification.
DOM programs written in the same language binding will be
source code compatible across platforms, but the DOM
does not define any form of binary interoperability.</li>
<li>
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.</li>
<li>
The Document Object Model is not a set of data structures;
it is an <a href='glossary.html#dt-object-model'>object model</a> 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.</li>
<li>
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 XML Information Set [<cite><a class='noxref informative' href='references.html#InfoSet'>XML Information Set</a></cite>]. The DOM is simply an <a href='glossary.html#dt-API'>API</a> to this information set. </li>
<li>
The Document Object Model, despite its name, is not a
competitor to the Component Object Model [<cite><a class='noxref informative' href='references.html#COM'>COM</a></cite>]. 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.</li>
</ul>
</div>
<!-- div2 ID-E7C30822 -->
<div class='div2'><a id="ID-E7C30823" name='ID-E7C30823'></a>
<h2 id='ID-E7C30823-h2' class='div2'>Where the Document Object
Model came from</h2>
<p>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.</p>
</div>
<!-- div2 ID-E7C30823 -->
<div class='div2'><a id="ID-E7C30824" name='ID-E7C30824'></a>
</div> <!-- div2 ID-E7C30822 -->
<div class='div2'><a name='ID-E7C30823'></a>
<h2 id='ID-E7C30823-h2' class='div2'>Where the Document Object Model came from</h2>
<p>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.</div> <!-- div2 ID-E7C30823 -->
<div class='div2'><a name='ID-E7C30824'></a>
<h2 id='ID-E7C30824-h2' class='div2'>Entities and the DOM Core</h2>
<p>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:</p>
<p>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:
</p>
<div class='code-block'>
<pre>
&lt;p&gt;This is a dog &amp;amp; a cat&lt;/p&gt;
</pre>
</div><p>
the "&amp;amp;" will be replaced by the character "&amp;", 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 in 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 "&amp;amp;" would not be replaced by "&amp;"; neither would
the &lt;p&gt; be recognized as a start tag. The representation of general
entities, both internal and external, are defined within the
extended (XML) interfaces of <a href='core.html#Core'>Document Object Model Core</a>.<p>
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, <a href='glossary.html#dt-implementation'>implementations</a> 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.</div> <!-- div2 ID-E7C30824 -->
<div class='div2'><a name='DOMArchitecture'></a>
<h2 id='DOMArchitecture-h2' class='div2'>DOM Architecture</h2>
<p>
The DOM specifications provide a set of APIs that forms the DOM
API. Each DOM specification defines one or more modules and each
module is associated with one feature name. For example, the DOM
Core specification (this specification) defines two modules:
<ul>
<li>
The Core module, which contains the fundamental interfaces
that must be implemented by all DOM conformant
implementations, is associated with the feature name "Core";</li>
<li>
</pre>
The XML module, which contains the interfaces that must be
implemented by all conformant XML 1.0 [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>] (and higher) DOM implementations, is
associated with the feature name "XML".
</li>
</ul>
<p>
The following representation contains all DOM modules, represented
using their feature names, defined along the DOM specifications:
<div class='figure' style='text-align: center'>
<img src='./images/dom-architecture.png' alt='A view of the DOM Architecture' title='A view of the DOM Architecture'>
<p style='text-align:left'><i>Figure: A view of the DOM Architecture
</i> [<a href='./images/dom-architecture'>SVG 1.0 version</a>]
</p>
</div>
<p>the "&amp;amp;" will be replaced by the character "&amp;", 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 in 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 "&amp;amp;" would not be replaced
by "&amp;"; neither would the &lt;p&gt; be recognized as a start
tag. The representation of general entities, both internal and
external, are defined within the extended (XML) interfaces of DOM
Level 1 [<a class='noxref' href='references.html#DOM-Level-1'>DOM
Level 1</a>].</p>
<p>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, <a
href='glossary.html#dt-implementation'><em>implementations</em></a>
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.</p>
</div>
<!-- div2 ID-E7C30824 -->
<div class='div2'><a id="ID-Conformance" name='ID-Conformance'></a>
<p>
A DOM implementation can then implement one (i.e. only the Core
module) or more modules depending on the host application. A Web
user agent is very likely to implement the "MouseEvents" module,
while a server-side application will have no use of this module
and will probably not implement it.
</div> <!-- div2 DOMArchitecture -->
<div class='div2'><a name='ID-Conformance'></a>
<h2 id='ID-Conformance-h2' class='div2'>Conformance</h2>
<p>This section explains the different levels of conformance to DOM
Level 2. DOM Level 2 consists of 14 modules. It is possible to
conform to DOM Level 2, or to a DOM Level 2 module.</p>
<p>An implementation is DOM Level 2 conformant if it supports the
Core module defined in this document (see <a
href='core.html#ID-BBACDC08'>Fundamental Interfaces</a>). An
implementation conforms to a DOM Level 2 module if it supports all
the interfaces for that module and the associated semantics.</p>
<p>Here is the complete list of DOM Level 2.0 modules and the
features used by them. Feature names are case-insensitive.</p>
<dl>
<dt><b>Core module</b></dt>
<dd>defines the feature <a
href='core.html#ID-BBACDC08'><em>"Core"</em></a>.</dd>
<dt><b>XML module</b></dt>
<dd>defines the feature <a
href='core.html#ID-E067D597'><em>"XML"</em></a>.</dd>
<dt><b>HTML module</b></dt>
<dd>defines the feature "HTML". (see [<a class='noxref'
href='references.html#DOMHTML-inf'>DOM Level 2 HTML</a>]).
<p><b>Note:</b> At time of publication, this DOM Level 2 module is
not yet a W3C Recommendation.</p>
</dd>
<dt><b>Views module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Views/views.html'><em>"Views"</em></a>
in [<a class='noxref' href='references.html#DOMViews-inf'>DOM Level
2 Views</a>].</dd>
<dt><b>Style Sheets module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html'><em>"StyleSheets"</em></a>
in [<a class='noxref' href='references.html#DOMStyleSheets-inf'>DOM
Level 2 Style Sheets</a>].</dd>
<dt><b>CSS module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Style/css.html'><em>"CSS"</em></a>
in [<a class='noxref' href='references.html#DOMCSS-inf'>DOM Level 2
CSS</a>].</dd>
<dt><b>CSS2 module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Style/css.html'><em>"CSS2"</em></a>
in [<a class='noxref' href='references.html#DOMCSS-inf'>DOM Level 2
CSS</a>].</dd>
<dt><b>Events module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Events/events.html'><em>"Events"</em></a>
in [<a class='noxref' href='references.html#DOMEvents-inf'>DOM
Level 2 Events</a>].</dd>
<dt><b>User interface Events module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Events/events.html'><em>"UIEvents"</em></a>
in [<a class='noxref' href='references.html#DOMEvents-inf'>DOM
Level 2 Events</a>].</dd>
<dt><b>Mouse Events module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Events/events.html'><em>"MouseEvents"</em></a>
in [<a class='noxref' href='references.html#DOMEvents-inf'>DOM
Level 2 Events</a>].</dd>
<dt><b>Mutation Events module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Events/events.html'><em>"MutationEvents"</em></a>
in [<a class='noxref' href='references.html#DOMEvents-inf'>DOM
Level 2 Events</a>].</dd>
<dt><b>HTML Events module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Events/events.html'><em>"HTMLEvents"</em></a>
in [<a class='noxref' href='references.html#DOMEvents-inf'>DOM
Level 2 Events</a>].</dd>
<dt><b>Range module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html'>
<em>"Range"</em></a> in [<a class='noxref'
href='references.html#DOMRange-inf'>DOM Level 2 Range</a>].</dd>
<dt><b>Traversal module</b></dt>
<dd>defines the feature <a
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html'>
<em>"Traversal"</em></a> in [<a class='noxref'
href='references.html#DOMTraversal-inf'>DOM Level 2
Traversal</a>].</dd>
</dl>
<p>A DOM implementation must not return <code>"true"</code> to the
<code>hasFeature(feature, version)</code> <a
href='glossary.html#dt-method'><em>method</em></a> of the <a
href='core.html#ID-102161490'><code>DOMImplementation</code></a>
interface for that feature unless the implementation conforms to
that module. The <code>version</code> number for all features used
in DOM Level 2.0 is "2.0".</p>
</div>
<!-- div2 ID-Conformance -->
<div class='div2'><a id="ID-E7C30826" name='ID-E7C30826'></a>
<h2 id='ID-E7C30826-h2' class='div2'>DOM Interfaces and DOM
Implementations</h2>
<p>
This section explains the different levels of conformance to DOM Level 3.
DOM Level 3 consists of 16 modules. It is possible to conform to DOM
Level 3, or to a DOM Level 3 module.
<p>
An implementation is DOM Level 3 conformant if it supports the Core
module defined in this document (see <a href='core.html#ID-BBACDC08'>Fundamental Interfaces: Core Module</a>). An
implementation conforms to a DOM Level 3 module if it supports all the
interfaces for that module and the associated semantics.
<p>
Here is the complete list of DOM Level 3.0 modules and the features used
by them. Feature names are case-insensitive.
<dl>
<dt>Core module</dt>
<dd>
defines the feature <a class='normative' href='core.html#ID-BBACDC08'><em>"Core"</em></a>.
</dd><dt>XML module</dt>
<dd>
Defines the feature <a class='normative' href='core.html#ID-E067D597'><em>"XML"</em></a>.
</dd><dt>Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"Events"</em></a> in [<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>User interface Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"UIEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Mouse Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"MouseEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Text Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"TextEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Keyboard Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"KeyboardEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Mutation Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"MutationEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Mutation name Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"MutationNameEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>HTML Events module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"HTMLEvents"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Load and Save module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-LS/load-save.html'><em>"LS"</em></a> in [<cite><a class='noxref informative' href='references.html#DOMLS'>DOM Level 3 Load and Save</a></cite>].</dd><dt>Asynchronous load module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-LS/load-save.html'><em>"LS-Async"</em></a>
in [<cite><a class='noxref informative' href='references.html#DOMLS'>DOM Level 3 Load and Save</a></cite>].</dd><dt>Validation module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Val/validation.html'><em>"Validation"</em></a>
in [<cite><a class='noxref informative' href='references.html#DOMVal'>DOM Level 3 Validation</a></cite>].</dd><dt>XPath module</dt>
<dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html'><em>"XPath"</em></a> in
[<cite><a class='noxref informative' href='references.html#DOMXPath'>DOM Level 3 XPath</a></cite>].</dd></dl>
<p>
A DOM implementation must not return <code>true</code> to the
<a href='core.html#ID-5CED94D7'><code>DOMImplementation.hasFeature(feature, version)</code></a> <a href='glossary.html#dt-method'>method</a> of the <a href='core.html#ID-102161490'><code>DOMImplementation</code></a>
interface for that feature unless the implementation conforms to that
module. The <code>version</code> number for all features used in DOM
Level 3.0 is <code>"3.0"</code>.
</div> <!-- div2 ID-Conformance -->
<div class='div2'><a name='ID-E7C30826'></a>
<h2 id='ID-E7C30826-h2' class='div2'>DOM Interfaces and DOM Implementations</h2>
<p>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,</p>
<ol>
<li>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.</li>
<li>DOM applications may provide additional interfaces and objects
not found in this specification and still be considered DOM
conformant.</li>
<li>Because we specify interfaces and not the actual objects that
are to be created, the DOM cannot know what constructors to call
for an implementation. In general, DOM users call the createX()
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 createX()
functions.</li>
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,<ol>
<li>
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. </li>
<li>
DOM applications may provide additional interfaces
and objects not found in this specification and still be
considered DOM conformant.</li>
<li>
Because we specify interfaces and not the actual
objects that are to be created, the DOM cannot know what
constructors to call for an implementation. In general,
DOM users call the createX() 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
createX() functions.
</li>
</ol>
<p>The Level 1 interfaces were extended to provide both Level 1 and
Level 2 functionality.</p>
<p>DOM implementations in languages other than Java or ECMAScript
may choose bindings that are appropriate and natural for their
language and run time environment. For example, some systems may
need to create a Document2 class which inherits from Document and
contains the new methods and attributes.</p>
<p>DOM Level 2 does not specify multithreading mechanisms.</p>
</div>
<!-- div2 ID-E7C30826 --></div>
<!-- div1 Introduction -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='copyright-notice.html'>previous</a> &nbsp;
<a accesskey='n' href='core.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a></div>
<p>
The Level 2 interfaces were extended to provide both Level 2 and Level 3
functionality.
<p>
DOM implementations in languages other than Java or ECMAScript may choose
bindings that are appropriate and natural for their language and run time
environment. For example, some systems may need to create a Document3
class which inherits from a Document class and contains the new methods
and attributes.
<p>DOM Level 3 does not specify multithreading mechanisms.</div> <!-- div2 ID-E7C30826 --></div> <!-- div1 Introduction --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='W3C Copyright Notices and Licenses' href='copyright-notice.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Document Object Model Core' href='core.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,559 @@
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Wed Apr 07 13:11:03 EDT 2004 jfouffa.w3.org
-->
<html lang='en-US'>
<head>
<title>Namespaces Algorithms</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='infoset-mapping.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='changes.html'>
</head>
<body>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Changes' accesskey='p' href='changes.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Infoset Mapping' accesskey='n' href='infoset-mapping.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a name='Algorithms'></a>
<h1 id='Algorithms-h1' class='adiv1'>Appendix B: Namespaces Algorithms</h1>
<dl>
<dt><i>Editors</i>:
</dt><dd>Arnaud Le Hors, IBM</dd>
<dd>Elena Litani, IBM</dd>
</dl>
<div class='noprint'>
<h2 id='table-of-contents'>Table of contents</h2>
<ul class='toc'>
<li class='tocline3'><a class='tocxref' href='#normalizeDocumentAlgo'>B.1 Namespace Normalization</a>
<ul class='toc'>
<li class='tocline4'><a class='tocxref' href='#scope'>B.1.1 Scope of a Binding</a>
<li class='tocline4'><a class='tocxref' href='#conflicting'>B.1.2 Conflicting Namespace Declaration</a>
</ul></li>
<li class='tocline3'><a class='tocxref' href='#lookupNamespacePrefixAlgo'>B.2 Namespace Prefix Lookup</a>
</li>
<li class='tocline3'><a class='tocxref' href='#isDefaultNamespaceAlgo'>B.3 Default Namespace Lookup</a>
</li>
<li class='tocline3'><a class='tocxref' href='#lookupNamespaceURIAlgo'>B.4 Namespace URI Lookup</a>
</li>
</ul>
</div>
<p class='first'>
This appendix contains several namespace algorithms, such as namespace normalization algorithm
that fixes namespace information in the Document Object Model to produce a
<a href='glossary.html#dt-namespace-well-formed'>namespace well-formed</a> document.
If [<cite><a class='noxref normative' href='references.html#XML'>XML 1.0</a></cite>] is in use (see <a href='core.html#Document3-version'><code>Document.xmlVersion</code></a>) the algorithms
conform to [<cite><a class='noxref normative' href='references.html#Namespaces'>XML Namespaces</a></cite>], otherwise if
[<cite><a class='noxref normative' href='references.html#XML11'>XML 1.1</a></cite>] is in use, algorithms conform to [<cite><a class='noxref normative' href='references.html#Namespaces11'>XML Namespaces 1.1</a></cite>].
</p>
<div class='div2'><a name='normalizeDocumentAlgo'></a>
<h2 id='normalizeDocumentAlgo-h2' class='adiv2'>B.1 Namespace Normalization</h2>
<p>
Namespace declaration attributes and prefixes are normalized as
part of the <code>normalizeDocument</code> method of the
<a href='core.html#i-Document'><code>Document</code></a> interface as if the following method
described in pseudo code was called on the document element.
<div class='eg'>
<pre>
void Element.normalizeNamespaces()
{
// Pick up local namespace declarations
//
for ( all DOM Level 2 valid local namespace declaration attributes of Element )
{
if (the namespace declaration is invalid)
{
// Note: The prefix xmlns is used only to declare namespace bindings and
// is by definition bound to the namespace name http://www.w3.org/2000/xmlns/.
// It must not be declared. No other prefix may be bound to this namespace name.
==&gt; Report an error.
}
else
{
==&gt; Record the namespace declaration
}
}
// Fixup element's namespace
//
if ( Element's namespaceURI != null )
{
if ( Element's prefix/namespace pair (or default namespace,
if no prefix) are within the scope of a binding )
{
==&gt; do nothing, declaration in scope is inherited
See section "B.1.1: Scope of a binding" for an example
}
else
{
==&gt; Create a local namespace declaration attr for this namespace,
with Element's current prefix (or a default namespace, if
no prefix). If there's a conflicting local declaration
already present, change its value to use this namespace.
See section "B.1.2: Conflicting namespace declaration" for an example
// NOTE that this may break other nodes within this Element's
// subtree, if they're already using this prefix.
// They will be repaired when we reach them.
}
}
else
{
// Element has no namespace URI:
if ( Element's localName is null )
{
// DOM Level 1 node
==&gt; if in process of validation against a namespace aware schema
(i.e XML Schema) report a fatal error: the processor can not recover
in this situation.
Otherwise, report an error: no namespace fixup will be performed on this node.
}
else
{
// Element has no pseudo-prefix
if ( there's a conflicting local default namespace declaration
already present )
{
==&gt; change its value to use this empty namespace.
}
// NOTE that this may break other nodes within this Element's
// subtree, if they're already using the default namespaces.
// They will be repaired when we reach them.
}
}
// Examine and polish the attributes
//
for ( all non-namespace Attrs of Element )
{
if ( Attr[i] has a namespace URI )
{
if ( attribute has no prefix (default namespace decl does not apply to attributes)
OR
attribute prefix is not declared
OR
conflict: attribute has a prefix that conflicts with a binding
already active in scope)
{
if (namespaceURI matches an in scope declaration of one or more prefixes)
{
// pick the most local binding available;
// if there is more than one pick one arbitrarily
==&gt; change attribute's prefix.
}
else
{
if (the current prefix is not null and it has no in scope declaration)
{
==&gt; declare this prefix
}
else
{
// find a prefix following the pattern "NS" +index (starting at 1)
// make sure this prefix is not declared in the current scope.
// create a local namespace declaration attribute
==&gt; change attribute's prefix.
}
}
}
}
else
{
// Attr[i] has no namespace URI
if ( Attr[i] has no localName )
{
// DOM Level 1 node
==&gt; if in process of validation against a namespace aware schema
(i.e XML Schema) report a fatal error: the processor can not recover
in this situation.
Otherwise, report an error: no namespace fixup will be performed on this node.
}
else
{
// attr has no namespace URI and no prefix
// no action is required, since attrs don't use default
==&gt; do nothing
}
}
} // end for-all-Attrs
// do this recursively
for ( all child elements of Element )
{
childElement.normalizeNamespaces()
}
} // end Element.normalizeNamespaces
</pre>
</div>
<div class='div3'><a name='scope'></a>
<h3 id='scope-h3' class='adiv3'>B.1.1 Scope of a Binding</h3>
<p><b>Note:</b>
This section is informative.
</p>
<p>
An element's prefix/namespace URI pair is said to be within the
scope of a binding if its namespace prefix is bound to the same
namespace URI in the [in-scope namespaces] defined in [<cite><a class='noxref normative' href='references.html#InfoSet'>XML Information Set</a></cite>].
<p>
As an example, the following document is loaded in a DOM tree:
<div class='eg'>
<pre>
&lt;root&gt;
&lt;parent xmlns:ns="http://www.example.org/ns1"
xmlns:bar="http://www.example.org/ns2"&gt;
&lt;ns:child1 xmlns:ns="http://www.example.org/ns2"/&gt;
&lt;/parent&gt;
&lt;/root&gt;
</pre>
</div><p>
In the case of the <code>child1</code> element, the namespace
prefix and namespace URI are within the scope of the appropriate
namespace declaration given that the namespace prefix
<code>ns</code> of <code>child1</code> is bound to
<code>http://www.example.org/ns2</code>.
<p>
Using the method <a href='core.html#ID-184E7107'><code>Node.appendChild</code></a>, a
<code>child2</code> element is added as a sibling of
<code>child1</code> with the same namespace prefix and namespace
URI, i.e. <code>"ns"</code> and
<code>"http://www.example.org/ns2"</code> respectively. Unlike
<code>child1</code> which contains the appropriate namespace
declaration in its attributes, <code>child2</code>'s prefix/namespace URI pair is within the
scope of the namespace declaration of its parent, and the
namespace prefix <code>"ns"</code> is bound to
<code>"http://www.example.org/ns1"</code>. <code>child2</code>'s prefix/namespace URI pair
is therefore not within the scope of a binding. In order to put
them within a scope of a binding, the namespace
normalization algorithm will create a namespace declaration
attribute value to bind the namespace prefix <code>"ns"</code>
to the namespace URI <code>"http://www.example.org/ns2"</code>
and will attach to <code>child2</code>. The XML representation
of the document after the completion of the namespace
normalization algorithm will be:
<div class='eg'>
<pre>
&lt;root&gt;
&lt;parent xmlns:ns="http://www.example.org/ns1"
xmlns:bar="http://www.example.org/ns2"&gt;
&lt;ns:child1 xmlns:ns="http://www.example.org/ns2"/&gt;
&lt;ns:child2 xmlns:ns="http://www.example.org/ns2"/&gt;
&lt;/parent&gt;
&lt;/root&gt;
</pre>
</div><p>
To determine if an element is within the scope of a binding, one
can invoke <a href='core.html#Node3-lookupNamespaceURI'><code>Node.lookupNamespaceURI</code></a>, using its
namespace prefix as the parameter, and compare the resulting
namespace URI against the desired URI, or one can invoke
<code>Node.isDefaultNamespaceURI</code> using its namespace URI
if the element has no namespace prefix.
</div> <!-- div3 scope -->
<div class='div3'><a name='conflicting'></a>
<h3 id='conflicting-h3' class='adiv3'>B.1.2 Conflicting Namespace Declaration</h3>
<p><b>Note:</b>
This section is informative.
</p>
<p>
A conflicting namespace declaration could occur on an element if
an <a href='core.html#ID-745549614'><code>Element</code></a> node and a namespace declaration
attribute use the same prefix but map them to two different
namespace URIs.
<p>
As an example, the following document is loaded in a DOM tree:
<div class='eg'>
<pre>
&lt;root&gt;
&lt;ns:child1 xmlns:ns="http://www.example.org/ns1"&gt;
&lt;ns:child2/&gt;
&lt;/ns:child1&gt;
&lt;/root&gt;
</pre>
</div><p>
Using the method <code>Node.renameNode</code>, the namespace URI
of the element <code>child1</code> is renamed from
<code>"http://www.example.org/ns1"</code> to
<code>"http://www.example.org/ns2"</code>. The namespace prefix
<code>"ns"</code> is now mapped to two different namespace URIs
at the element <code>child1</code> level and thus the namespace
declaration is declared conflicting. The namespace normalization
algorithm will resolved the namespace prefix conflict by
modifying the namespace declaration attribute value from
<code>"http://www.example.org/ns1"</code> to
<code>"http://www.example.org/ns2"</code>. The algorithm will
then continue and consider the element <code>child2</code>, will
no longer find a namespace declaration mapping the namespace
prefix <code>"ns"</code> to
<code>"http://www.example.org/ns1"</code> in the element's
scope, and will create a new one. The XML representation of the
document after the completion of the namespace normalization
algorithm will be:
<div class='eg'>
<pre>
&lt;root&gt;
&lt;ns:child1 xmlns:ns="http://www.example.org/ns2"&gt;
&lt;ns:child2 xmlns:ns="http://www.example.org/ns1"/&gt;
&lt;/ns:child1&gt;
&lt;/root&gt;
</pre>
</div></div> <!-- div3 conflicting --></div> <!-- div2 normalizeDocumentAlgo -->
<div class='div2'><a name='lookupNamespacePrefixAlgo'></a>
<h2 id='lookupNamespacePrefixAlgo-h2' class='adiv2'>B.2 Namespace Prefix Lookup</h2>
<p>
The following describes in pseudo code the algorithm used in the
<code>lookupPrefix</code> method of the <a href='core.html#ID-1950641247'><code>Node</code></a>
interface. Before returning found prefix the algorithm needs to
make sure that the prefix is not redefined on an element from
which the lookup started. This methods ignores DOM Level 1
nodes.
<p><b>Note:</b>
This method ignores all <a class='normative' href='http://www.w3.org/TR/REC-xml-names/#NT-DefaultAttName'>default
namespace declarations</a>. To look up default namespace use
<code>isDefaultNamespace</code> method.
</p>
<div class='eg'>
<pre>
DOMString lookupPrefix(in DOMString namespaceURI)
{
if (namespaceURI has no value, i.e. namespaceURI is null or empty string) {
return null;
}
short type = this.getNodeType();
switch (type) {
case Node.ELEMENT_NODE:
{
return lookupNamespacePrefix(namespaceURI, this);
}
case Node.DOCUMENT_NODE:
{
return getDocumentElement().lookupNamespacePrefix(namespaceURI);
}
case Node.ENTITY_NODE :
case Node.NOTATION_NODE:
case Node.DOCUMENT_FRAGMENT_NODE:
case Node.DOCUMENT_TYPE_NODE:
return null; // type is unknown
case Node.ATTRIBUTE_NODE:
{
if ( Attr has an owner Element )
{
return ownerElement.lookupNamespacePrefix(namespaceURI);
}
return null;
}
default:
{
if (Node has an ancestor Element )
// EntityReferences may have to be skipped to get to it
{
return ancestor.lookupNamespacePrefix(namespaceURI);
}
return null;
}
}
}
DOMString lookupNamespacePrefix(DOMString namespaceURI, Element originalElement){
if ( Element has a namespace and Element's namespace == namespaceURI and
Element has a prefix and
originalElement.lookupNamespaceURI(Element's prefix) == namespaceURI)
{
return (Element's prefix);
}
if ( Element has attributes)
{
for ( all DOM Level 2 valid local namespace declaration attributes of Element )
{
if (Attr's prefix == "xmlns" and
Attr's value == namespaceURI and
originalElement.lookupNamespaceURI(Attr's localname) == namespaceURI)
{
return (Attr's localname);
}
}
}
if (Node has an ancestor Element )
// EntityReferences may have to be skipped to get to it
{
return ancestor.lookupNamespacePrefix(namespaceURI, originalElement);
}
return null;
}
</pre>
</div></div> <!-- div2 lookupNamespacePrefixAlgo -->
<div class='div2'><a name='isDefaultNamespaceAlgo'></a>
<h2 id='isDefaultNamespaceAlgo-h2' class='adiv2'>B.3 Default Namespace Lookup</h2>
<p>
The following describes in pseudo code the algorithm used in the
<code>isDefaultNamespace</code> method of the <a href='core.html#ID-1950641247'><code>Node</code></a>
interface. This methods ignores DOM Level 1 nodes.
<div class='eg'>
<pre>
boolean isDefaultNamespace(in DOMString namespaceURI)
{
switch (nodeType) {
case ELEMENT_NODE:
if ( Element has no prefix )
{
return (Element's namespace == namespaceURI);
}
if ( Element has attributes and there is a valid DOM Level 2
default namespace declaration, i.e. Attr's localName == "xmlns" )
{
return (Attr's value == namespaceURI);
}
if ( Element has an ancestor Element )
// EntityReferences may have to be skipped to get to it
{
return ancestorElement.isDefaultNamespace(namespaceURI);
}
else {
return unknown (false);
}
case DOCUMENT_NODE:
return documentElement.isDefaultNamespace(namespaceURI);
case ENTITY_NODE:
case NOTATION_NODE:
case DOCUMENT_TYPE_NODE:
case DOCUMENT_FRAGMENT_NODE:
return unknown (false);
case ATTRIBUTE_NODE:
if ( Attr has an owner Element )
{
return ownerElement.isDefaultNamespace(namespaceURI);
}
else {
return unknown (false);
}
default:
if ( Node has an ancestor Element )
// EntityReferences may have to be skipped to get to it
{
return ancestorElement.isDefaultNamespace(namespaceURI);
}
else {
return unknown (false);
}
}
}
</pre>
</div></div> <!-- div2 isDefaultNamespaceAlgo -->
<div class='div2'><a name='lookupNamespaceURIAlgo'></a>
<h2 id='lookupNamespaceURIAlgo-h2' class='adiv2'>B.4 Namespace URI Lookup</h2>
<p>
The following describes in pseudo code the algorithm used in the
<code>lookupNamespaceURI</code> method of the <a href='core.html#ID-1950641247'><code>Node</code></a>
interface. This methods ignores DOM Level 1 nodes.
<div class='eg'>
<pre>
DOMString lookupNamespaceURI(in DOMString prefix)
{
switch (nodeType) {
case ELEMENT_NODE:
{
if ( Element's namespace != null and Element's prefix == prefix )
{
// Note: prefix could be "null" in this case we are looking for default namespace
return (Element's namespace);
}
if ( Element has attributes)
{
for ( all DOM Level 2 valid local namespace declaration attributes of Element )
{
if (Attr's prefix == "xmlns" and Attr's localName == prefix )
// non default namespace
{
if (Attr's value is not empty)
{
return (Attr's value);
}
return unknown (null);
}
else if (Attr's localname == "xmlns" and prefix == null)
// default namespace
{
if (Attr's value is not empty)
{
return (Attr's value);
}
return unknown (null);
}
}
}
if ( Element has an ancestor Element )
// EntityReferences may have to be skipped to get to it
{
return ancestorElement.lookupNamespaceURI(prefix);
}
return null;
}
case DOCUMENT_NODE:
return documentElement.lookupNamespaceURI(prefix)
case ENTITY_NODE:
case NOTATION_NODE:
case DOCUMENT_TYPE_NODE:
case DOCUMENT_FRAGMENT_NODE:
return unknown (null);
case ATTRIBUTE_NODE:
if (Attr has an owner Element)
{
return ownerElement.lookupNamespaceURI(prefix);
}
else
{
return unknown (null);
}
default:
if (Node has an ancestor Element)
// EntityReferences may have to be skipped to get to it
{
return ancestorElement.lookupNamespaceURI(prefix);
}
else {
return unknown (null);
}
}
}
</pre>
</div></div> <!-- div2 lookupNamespaceURIAlgo --></div> <!-- div1 Algorithms --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Changes' href='changes.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Infoset Mapping' href='infoset-mapping.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,260 +1,288 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!--
Generated: Thu Nov 09 17:43:26 EST 2000 jfouffa.w3.org
Generated: Wed Apr 07 13:12:03 EDT 2004 jfouffa.w3.org
-->
<html lang='en' xmlns="http://www.w3.org/1999/xhtml">
<html lang='en-US'>
<head>
<title>References</title>
<link rel='stylesheet' type='text/css' href='./spec.css' />
<link rel='stylesheet' type='text/css' href='W3C-REC.css' />
<link rel='next' href='def-index.html' />
<link rel='contents' href='Overview.html#contents' />
<link rel='index' href='def-index.html' />
<link rel='previous' href='glossary.html' />
<title>References</title>
<link rel='stylesheet' type='text/css' href='./spec.css'>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='def-index.html'>
<link rel='contents' href='Overview.html#contents'>
<link rel='copyright' href='copyright-notice.html'>
<link rel='glossary' href='glossary.html'>
<link rel='Start' href='Overview.html'>
<link rel='index' href='def-index.html'>
<link rel='author' href='mailto:www-dom@w3.org'>
<link rel='help' href='http://www.w3.org/DOM/'>
<link rel='prev' href='glossary.html'>
</head>
<body>
<div class='navbar' align='center'><a accesskey='p'
href='glossary.html'>previous</a> &nbsp; <a accesskey='n'
href='def-index.html'>next</a> &nbsp; <a accesskey='c'
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i'
href='def-index.html'>index</a>
<hr title='Navigation area separator' />
</div>
<div class='navbar' style='text-align: center'>
<map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
[<a title='Glossary' accesskey='p' href='glossary.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Index' accesskey='n' href='def-index.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' accesskey='c' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
</map></div>
<div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November,
2000</p>
<p style='font-family: monospace;font-size:small'>07 April 2004</p>
</div>
<div class='div1'><a id="References" name='References'></a>
<h1 id='role-references' class='references'>References</h1>
<p>For the latest version of any W3C specification please consult
the list of <a href='http://www.w3.org/TR'>W3C Technical
Reports</a> available at http://www.w3.org/TR.</p>
<div class='div2'><a id="References-Normative"
name='References-Normative'></a>
<h2 id='References-Normative-h2' class='adiv2'>H.1: Normative
references</h2>
<dl>
<dt><b><a id="Charmod" name='Charmod'>Charmod</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/1999/WD-charmod-19991129'>Character
Model for the World Wide Web</a>, November 1999. Available at
http://www.w3.org/TR/1999/WD-charmod-19991129</dd>
<dt><b><a id="ECMAScript" name='ECMAScript'>ECMAScript</a></b></dt>
<dd>ECMA (European Computer Manufacturers Association) <a
href='http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM'>ECMAScript
Language Specification</a>. Available at
http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM</dd>
<dt><b><a id="HTML40" name='HTML40'>HTML4.0</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/1998/REC-html40-19980424'>HTML 4.0
Specification</a>, April 1998. Available at
http://www.w3.org/TR/1998/REC-html40-19980424</dd>
<dt><b><a id="ISO10646" name='ISO10646'>ISO/IEC 10646</a></b></dt>
<dd>ISO (International Organization for Standardization). ISO/IEC
10646-1:2000 (E). Information technology - Universal Multiple-Octet
Coded Character Set (UCS) - Part 1: Architecture and Basic
Multilingual Plane. [Geneva]: International Organization for
Standardization.</dd>
<dt><b><a id="Java" name='Java'>Java</a></b></dt>
<dd>Sun Microsystems Inc. <a
href='http://java.sun.com/docs/books/jls'>The Java Language
Specification</a>, James Gosling, Bill Joy, and Guy Steele,
September 1996. Available at
http://java.sun.com/docs/books/jls</dd>
<dt><b><a id="Namespaces" name='Namespaces'>Namespaces</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/1999/REC-xml-names-19990114'>Namespaces
in XML</a>, January 1999. Available at
http://www.w3.org/TR/1999/REC-xml-names-19990114</dd>
<dt><b><a id="OMGIDL" name='OMGIDL'>OMGIDL</a></b></dt>
<dd>OMG (<a href='http://www.omg.org/'>Object Management Group</a>)
IDL (Interface Definition Language) defined in The Common Object
Request Broker: Architecture and Specification, version 2.3.1,
October 1999. Available from http://www.omg.org/</dd>
<dt><b><a id="URIRef" name='URIRef'>RFC2396</a></b></dt>
<dd>IETF (Internet Engineering Task Force) <a
href='http://www.ietf.org/rfc/rfc2396.txt'>RFC 2396: Uniform
Resource Identifiers (URI): Generic Syntax</a>, eds. T.
Berners-Lee, R. Fielding, L. Masinter. August 1998. Available at
http://www.ietf.org/rfc/rfc2396.txt</dd>
<dt><b><a id="Unicode" name='Unicode'>Unicode</a></b></dt>
<dd>The Unicode Consortium. <a
href='http://www.unicode.org/unicode/standard/versions/Unicode3.0.html'>
The Unicode Standard, Version 3.0.</a>, February 2000. Available at
http://www.unicode.org/unicode/standard/versions/Unicode3.0.html.</dd>
<dt><b><a id="XML" name='XML'>XML</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/1998/REC-xml-19980210'>Extensible Markup
Language (XML) 1.0</a>, February 1998. Available at
http://www.w3.org/TR/1998/REC-xml-19980210</dd>
</dl>
</div>
<!-- div2 References-Normative -->
<div class='div2'><a id="References-Informative"
name='References-Informative'></a>
<h2 id='References-Informative-h2' class='adiv2'>H.2: Informative
references</h2>
<dl>
<dt><b><a id="DOMCSS-inf" name='DOMCSS-inf'>DOM Level 2
CSS</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Style/css'>Document Object
Model Level 2 CSS</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Style/css</dd>
<dt><b><a id="COM" name='COM'>COM</a></b></dt>
<dd>Microsoft Corp. <a href='http://www.microsoft.com/com'>The
Component Object Model</a>. Available at
http://www.microsoft.com/com</dd>
<dt><b><a id="CORBA" name='CORBA'>CORBA</a></b></dt>
<dd>OMG (<a href='http://www.omg.org/'>Object Management Group</a>)
The Common Object Request Broker: Architecture and Specification,
version 2.3.1, October 1999. Available from
http://www.omg.org/</dd>
<dt><b><a id="DOM-Level-1" name='DOM-Level-1'>DOM Level
1</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/REC-DOM-Level-1'>DOM Level 1
Specification</a>, October 1998. Available at
http://www.w3.org/TR/REC-DOM-Level-1</dd>
<dt><b><a id="DOMHTML-inf" name='DOMHTML-inf'>DOM Level 2
HTML</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-HTML'>Document Object Model
Level 2 HTML Specification</a>. Available at
http://www.w3.org/TR/DOM-Level-2-HTML</dd>
<dt><b><a id="DOMEvents-inf" name='DOMEvents-inf'>DOM Level 2
Events</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Events'>Document Object
Model Level 2 Events Specification</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Events</dd>
<dt><b><a id="InfoSet" name='InfoSet'>Infoset</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/xml-infoset'>XML Information Set</a>,
December 1999. Available at http://www.w3.org/TR/xml-infoset</dd>
<dt><b><a id="JavaIDL" name='JavaIDL'>JavaIDL</a></b></dt>
<dd>Sun Microsystems Inc. <a
href='http://java.sun.com/products/jdk/1.2/docs/guide/idl'>Java
IDL</a>. Available at
http://java.sun.com/products/jdk/1.2/docs/guide/idl</dd>
<dt><b><a id="JavaScript" name='JavaScript'>JavaScript</a></b></dt>
<dd>Netscape Communications Corp. <a
href='http://developer.netscape.com/tech/javascript/resources.html'>
JavaScript Resources</a>. Available at
http://developer.netscape.com/tech/javascript/resources.html</dd>
<dt><b><a id="JScript" name='JScript'>JScript</a></b></dt>
<dd>Microsoft Corp. <a
href='http://msdn.microsoft.com/scripting/default.htm'>JScript
Resources</a>. Available at
http://msdn.microsoft.com/scripting/default.htm</dd>
<dt><b><a id="MSIDL" name='MSIDL'>MIDL</a></b></dt>
<dd>Microsoft Corp. <a
href='http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm'>
MIDL Language Reference</a>. Available at
http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm</dd>
<dt><b><a id="DOMStyleSheets-inf" name='DOMStyleSheets-inf'>DOM
Level 2 Style Sheets</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Style/stylesheets'>Document
Object Model Level 2 Style Sheets</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Style/stylesheets</dd>
<dt><b><a id="DOMTraversal-inf" name='DOMTraversal-inf'>DOM Level 2
Traversal</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal'>Document
Object Model Level 2 Traversal</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal</dd>
<dt><b><a id="DOMRange-inf" name='DOMRange-inf'>DOM Level 2
Range</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html'>
Document Object Model Level 2 Range</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges</dd>
<dt><b><a id="DOMViews-inf" name='DOMViews-inf'>DOM Level 2
Views</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/DOM-Level-2-Views'>Document Object Model
Level 2 Views Specification</a>. Available at
http://www.w3.org/TR/DOM-Level-2-Views</dd>
<dt><b><a id="XPointer" name='XPointer'>XPointer</a></b></dt>
<dd>W3C (World Wide Web Consortium) <a
href='http://www.w3.org/TR/xptr'>XML Pointer Language
(XPointer)</a>, June 2000. Available at
http://www.w3.org/TR/xptr</dd>
</dl>
</div>
<!-- div2 References-Informative --></div>
<!-- div1 References -->
<div class='navbar' align='center'>
<hr title='Navigation area separator' />
<a accesskey='p' href='glossary.html'>previous</a> &nbsp; <a
accesskey='n' href='def-index.html'>next</a> &nbsp; <a
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a
accesskey='i' href='def-index.html'>index</a></div>
<div class='div1'><a name='References'></a>
<h1 id='role-references' class='references'>
References</h1>
<p class='first'>
For the latest version of any W3C specification please consult the list of
<a class='normative' href='http://www.w3.org/TR'>W3C Technical Reports</a> available at
http://www.w3.org/TR.
</p>
<div class='div2'><a name='References-Normative'></a>
<h2 id='References-Normative-h2' class='adiv2'>K.1 Normative References</h2>
<dl><dt><b>[<a name='ECMAScript'>ECMAScript</a>]</b></dt><dd>
<cite>
ECMAScript Language Specification</cite>, 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/.
</dd>
<dt><b>[<a name='ISO10646'>ISO/IEC 10646</a>]</b></dt><dd>
<cite>
ISO/IEC 10646-2000 (E). Information technology -
Universal Multiple-Octet Coded Character Set (UCS) - Part 1:
Architecture and Basic Multilingual Plane</cite>, 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 <a class='normative' href='http://www.iso.ch'>International Organization for
Standardization</a>, available at http://www.iso.ch, for the
latest version.
</dd>
<dt><b>[<a name='Java'>Java</a>]</b></dt><dd>
<cite><a href='http://java.sun.com/docs/books/jls'>The Java Language Specification</a></cite>, J.
Gosling, B. Joy, and G. Steele, Authors. Addison-Wesley,
September 1996. Available at http://java.sun.com/docs/books/jls
</dd>
<dt><b>[<a name='OMGIDL'>OMG IDL</a>]</b></dt><dd>
<cite>"OMG IDL Syntax and Semantics"</cite> defined in
<cite><a href='http://www.omg.org/technology/documents/formal/corba_2.htm'>The Common Object Request Broker: Architecture and
Specification, version 2</a></cite>, Object Management
Group. The latest version of CORBA version 2.0 is available at
http://www.omg.org/technology/documents/formal/corba_2.htm.
</dd>
<dt><b>[<a name='Unicode'>Unicode</a>]</b></dt><dd>
<cite>
The Unicode Standard, Version 4</cite>, ISBN
0-321-18578-1, as updated from time to time by the publication
of new versions. The Unicode Consortium, 2000. See also <a class='normative' href='http://www.unicode.org/unicode/standard/versions'>Versions
of the Unicode Standard</a>, 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.
</dd>
<dt><b>[<a name='XML'>XML 1.0</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-xml-20040204'>Extensible Markup Language (XML) 1.0 (Third
Edition)</a></cite>, T. Bray, J. Paoli, C. M. Sperberg-McQueen,
E. Maler, and F. Yergeau, Editors. World Wide Web Consortium, 4
February 2004, revised 10 February 1998 and 6 October 2000. This
version of the XML 1.0 Recommendation is http://www.w3.org/TR/2004/REC-xml-20040204. The <a class='normative' href='http://www.w3.org/TR/REC-xml'>latest version of XML
1.0</a> is available at http://www.w3.org/TR/REC-xml.
</dd>
<dt><b>[<a name='XML11'>XML 1.1</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-xml11-20040204/'>XML 1.1</a></cite>, T. Bray, and al., Editors. World
Wide Web Consortium, 4 February 2004. This version of the XML 1.1
Recommendation is http://www.w3.org/TR/2004/REC-xml11-20040204. The <a class='normative' href='http://www.w3.org/TR/xml11/'>latest version of XML
1.1</a> is available at http://www.w3.org/TR/xml11.
</dd>
<dt><b>[<a name='XMLBase'>XML Base</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2001/REC-xmlbase-20010627/'>XML Base</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/xmlbase/'>latest version of XML
Base</a> is available at http://www.w3.org/TR/xmlbase.
</dd>
<dt><b>[<a name='InfoSet'>XML Information Set</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/'>XML Information Set (Second Edition)</a></cite>,
J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 4
February 2004, revised 24 October 2001. This version of the XML
Information Set Recommendation is http://www.w3.org/TR/2004/REC-xml-infoset-20040204. The <a class='normative' href='http://www.w3.org/TR/xml-infoset/'>latest version of XML
Information Set</a> is available at
http://www.w3.org/TR/xml-infoset.
</dd>
<dt><b>[<a name='Namespaces'>XML Namespaces</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/1999/REC-xml-names-19990114/'>Namespaces in XML</a></cite>, T. Bray, D. Hollander,
and A. Layman, Editors. World Wide Web Consortium, 14 January
1999. This version of the Namespaces in XML Recommendation is
http://www.w3.org/TR/1999/REC-xml-names-19990114. The <a class='normative' href='http://www.w3.org/TR/REC-xml-names/'>latest version of
Namespaces in XML</a> is available at
http://www.w3.org/TR/REC-xml-names.
</dd>
<dt><b>[<a name='Namespaces11'>XML Namespaces 1.1</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-xml-names11-20040204/'>Namespaces in XML 1.1</a></cite>, T. Bray, D.
Hollander, A. Layman, and R. Tobin, Editors. World Wide Web
Consortium, 4 February 2004. This version of the Namespaces in
XML 1.1 Recommendation is
http://www.w3.org/TR/2004/REC-xml-names11-20040204. The <a class='normative' href='http://www.w3.org/TR/xml-names11/'>latest version of
Namespaces in XML 1.1</a> is available at
http://www.w3.org/TR/xml-names11/.
</dd>
<dt><b>[<a name='XMLSchema1'>XML Schema Part 1</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/'>XML Schema Part 1: Structures</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/xmlschema-1/'>latest version of XML
Schema Part 1</a> is available at
http://www.w3.org/TR/xmlschema-1.
</dd>
<dt><b>[<a name='XPointer'>XPointer</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2003/REC-xptr-framework-20030325/'>XPointer Framework</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/xptr-framework/'>latest version of
XPointer Framework</a> is available at
http://www.w3.org/TR/xptr-framework/.
</dd>
</dl></div> <!-- div2 References-Normative -->
<div class='div2'><a name='References-Informative'></a>
<h2 id='References-Informative-h2' class='adiv2'>K.2 Informative References</h2>
<dl><dt><b>[<a name='c14n'>Canonical XML</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML Version 1.0</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/xml-c14n'>latest version of Canonical
XML</a> is available at http://www.w3.org/TR/xml-c14n.
</dd>
<dt><b>[<a name='COM'>COM</a>]</b></dt><dd>
<cite><a href='http://www.microsoft.com/com/'>The Microsoft Component Object Model</a></cite>,
Microsoft Corporation. Available at http://www.microsoft.com/com.
</dd>
<dt><b>[<a name='CORBA'>CORBA</a>]</b></dt><dd>
<cite><a href='http://www.omg.org/technology/documents/formal/corba_2.htm'>The Common Object Request Broker: Architecture and
Specification, version 2</a></cite>. Object Management
Group. The latest version of CORBA version 2.0 is available at
http://www.omg.org/technology/documents/formal/corba_2.htm.
</dd>
<dt><b>[<a name='DOM-Level-1'>DOM Level 1</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/'>DOM Level 1 Specification</a></cite>, 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
<a class='normative' href='http://www.w3.org/TR/REC-DOM-Level-1/'>latest version
of DOM Level 1</a> is available at
http://www.w3.org/TR/REC-DOM-Level-1.
</dd>
<dt><b>[<a name='DOM2Core'>DOM Level 2 Core</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model Level 2 Core
Specification</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-Core'>latest version of
DOM Level 2 Core</a> is available at
http://www.w3.org/TR/DOM-Level-2-Core.
</dd>
<dt><b>[<a name='DOMEvents'>DOM Level 3 Events</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107'>Document Object Model Level 3 Events
Specification</a></cite>, P. Le H&#xe9;garet, T. Pixley,
Editors. World Wide Web Consortium, November 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 <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events'>latest version of
Document Object Model Level 3 Events</a> is available at
http://www.w3.org/TR/DOM-Level-3-Events.
</dd>
<dt><b>[<a name='DOMLS'>DOM Level 3 Load and Save</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model Level 3 Load and Save
Specification</a></cite>, J. Stenback, A. Heninger,
Editors. World Wide Web Consortium, 7 April 2004. This version
of the DOM Level 3 Load and Save Recommendation is http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407. The
<a class='normative' href='http://www.w3.org/TR/DOM-Level-3-LS'>latest version of DOM Level 3 Load
and Save</a> is available at http://www.w3.org/TR/DOM-Level-3-LS.
</dd>
<dt><b>[<a name='DOM2HTML'>DOM Level 2 HTML</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>Document Object Model Level 2 HTML
Specification</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/DOM-Level-2-HTML'>latest version of
Document Object Model Level 2 HTML</a> is available at
http://www.w3.org/TR/DOM-Level-2-HTML.
</dd>
<dt><b>[<a name='DOMVal'>DOM Level 3 Validation</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Val-20040127/'>Document Object Model Level 3 Validation
Specification</a></cite>, B. Chang, J. Kesselman, R. Rahman,
Editors. World Wide Web Consortium, 27 January 2003. This version of
the DOM Level 3 Validation Recommendation is
http://www.w3.org/TR/2004/REC-DOM-Level-3-Val-20040127/. The <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Val'>latest version of
DOM Level 3 Validation</a> is available at
http://www.w3.org/TR/DOM-Level-3-Val.
</dd>
<dt><b>[<a name='DOMXPath'>DOM Level 3 XPath</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/'>Document Object Model Level 3 XPath
Specification</a></cite>, 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/2004/NOTE-DOM-Level-3-XPath-20040226. The
<a class='normative' href='http://www.w3.org/TR/DOM-Level-3-XPath'>latest
version of Document Object Model Level 3 XPath</a> is
available at http://www.w3.org/TR/DOM-Level-3-XPath.
</dd>
<dt><b>[<a name='HTML40'>HTML 4.01</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/1999/REC-html401-19991224/'>HTML 4.01 Specification</a></cite>, 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 <a class='normative' href='http://www.w3.org/TR/html4'>latest version of HTML 4</a> is
available at http://www.w3.org/TR/html4.
</dd>
<dt><b>[<a name='JavaIDL'>Java IDL</a>]</b></dt><dd>
<cite><a href='http://java.sun.com/products/jdk/idl/'>Java IDL</a></cite>. Sun Microsystems. Available at http://java.sun.com/products/jdk/idl/
</dd>
<dt><b>[<a name='JavaScript'>JavaScript</a>]</b></dt><dd>
<cite><a href='http://devedge.netscape.com/central/javascript/'>JavaScript Resources</a></cite>. Netscape
Communications Corporation. Available at http://devedge.netscape.com/central/javascript/
</dd>
<dt><b>[<a name='JScript'>JScript</a>]</b></dt><dd>
<cite><a href='http://msdn.microsoft.com/library/en-us/script56/html/js56jslrfjscriptlanguagereference.asp'>JScript Resources</a></cite>. Microsoft. Available at
http://msdn.microsoft.com/library/en-us/script56/html/js56jslrfjscriptlanguagereference.asp
</dd>
<dt><b>[<a name='MathML2'>MathML 2.0</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2003/REC-MathML2-20031021'>Mathematical Markup Language (MathML) Version 2.0
(Second Edition)</a></cite>, D. Carlisle, P. Ion, R. Miner,
N. Poppelier, Editors. World Wide Web Consortium, 21 October
2001, revised 21 February 2001. This version of the Math 2.0
Recommendation is http://www.w3.org/TR/2003/REC-MathML2-20031021. The <a class='normative' href='http://www.w3.org/TR/MathML2'>latest version of MathML
2.0</a> is available at http://www.w3.org/TR/MathML2.
</dd>
<dt><b>[<a name='MSIDL'>MIDL</a>]</b></dt><dd>
<cite><a href='http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/midl_language_reference.asp'>MIDL Language
Reference</a></cite>. Microsoft. Available at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/midl/midl/midl_language_reference.asp.
</dd>
<dt><b>[<a name='URIRef'>IETF RFC 2396</a>]</b></dt><dd>
<cite><a href='http://www.ietf.org/rfc/rfc2396.txt'>Uniform Resource Identifiers (URI): Generic Syntax</a></cite>, T. Berners-Lee,
R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at
http://www.ietf.org/rfc/rfc2396.txt.
</dd>
<dt><b>[<a name='SAX'>SAX</a>]</b></dt><dd>
<cite><a href='http://www.saxproject.org/'>Simple API for XML</a></cite>, D. Megginson and
D. Brownell, Maintainers. Available at
http://www.saxproject.org/.
</dd>
<dt><b>[<a name='SVG1'>SVG 1.1</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/2003/REC-SVG11-20030114/'>Scalable Vector Graphics (SVG) 1.1
Specification</a></cite>, J. Ferraiolo, &#x85e4;&#x6ca2;
&#x6df3; (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 <a class='normative' href='http://www.w3.org/TR/SVG'>latest version of SVG 1.1</a>
is available at http://www.w3.org/TR/SVG.
</dd>
<dt><b>[<a name='XPath10'>XPath 1.0</a>]</b></dt><dd>
<cite><a href='http://www.w3.org/TR/1999/REC-xpath-19991116'>XML Path Language (XPath) Version 1.0</a></cite>,
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 <a class='normative' href='http://www.w3.org/TR/xpath'>latest version of XPath
1.0</a> is available at http://www.w3.org/TR/xpath.
</dd>
</dl></div> <!-- div2 References-Informative --></div> <!-- div1 References --><div class='navbar' style='text-align: center'>
<map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
[<a title='Glossary' href='glossary.html'><strong><u>p</u></strong>revious</a>]
&nbsp; [<a title='Index' href='def-index.html'><strong><u>n</u></strong>ext</a>] &nbsp; [<a title='Table of Contents' href='Overview.html#contents'><strong><u>c</u></strong>ontents</a>] &nbsp; [<a title='Index'
href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
</body>
</html>

View File

@ -1,8 +1,8 @@
H4 {
h4 {
text-align: left;
font-family: sans-serif;
font-weight: normal;
color: #0050B2;
color: #005A9C;
}
.idl-code {
font-family: monospace;
@ -11,6 +11,11 @@ H4 {
color: black;
background-color: #dfdfdf;
}
.idl-code a {
font-family: monospace;
color: black;
background-color: #dfdfdf;
}
.java-code {
font-family: monospace;
border: 1px solid black;
@ -18,8 +23,6 @@ H4 {
color: black;
background-color: #dfdfdf;
}
.code-block {
font-family: monospace;
border: 1px solid black;
@ -31,6 +34,7 @@ H4 {
.ecma-block {
border: 1px solid black;
padding: 0.5em;
color: black;
background-color: #dfdfdf;
}
@ -60,16 +64,25 @@ H4 {
background-color: #FEE6F8;
}
UL.toc, OL.toc {list-style: none}
DIV.toc UL UL, DIV.toc OL OL {margin-left: 0}
DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em}
DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0}
LI.tocline1 {font-weight: bold}
LI.tocline2 {font-weight: normal}
LI.tocline4 {font-style: italic}
ul.toc, ol.toc {list-style: none}
div.toc ul ul, div.toc ol ol {margin-left: 0}
div.toc ul ul ul, div.toc ol ol ol {margin-left: 1em}
div.toc ul ul ul ul, div.toc ol ol ol ol {margin-left: 0}
li.tocline1 {font-weight: bold}
li.tocline2 {font-weight: normal}
li.tocline4 {font-style: italic}
code { font-family: monospace }
div.paramtable { margin-left: 1em }
div.returntable { margin-left: 1em }
div.exceptiontable { margin-left: 1em }
/* default alignment for tables */
table {
margin-bottom: 1em;
}
p.first:first-letter {
font-size: 200%;
}