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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Document Object Model (DOM) Level 2 Core <title>Document Object Model (DOM) Level 3 Core Specification</title>
Specification</title> <link rel='stylesheet' type='text/css' href='./spec.css'>
<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='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='next' href='expanded-toc.html' /> <link rel='next' href='expanded-toc.html'>
<link rel='contents' href='Overview.html#contents' /> <link rel='contents' href='Overview.html#contents'>
<link rel='index' href='def-index.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='n' <div class='navbar' style='text-align: center'>
href='expanded-toc.html'>next</a> &nbsp; <a accesskey='c' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' [<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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='head'> <div class='head'>
<p><a href='http://www.w3.org/'><img height='48' width='72' <p><a href='http://www.w3.org/'>
alt='W3C' src='./images/w3c_home.gif' /></a></p> <img height='48' width='72'
alt='W3C' src='./images/w3c_home.gif'></a></p>
<h1 id='title'>Document Object Model (DOM) Level 2 Core <h1 id='title'>Document Object Model (DOM) Level 3 Core Specification</h1>
Specification</h1>
<h2 id='version'>Version 1.0</h2> <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>
<!-- REC-DOM-Level-2-Core-20001113 <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='W3C-doctype'>W3C Recommendation <i>13 November,
2000</i></h2>
<dl>
<dt>This version:</dt>
<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> <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> <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>
</dl> </dl>
<dl><dt>Editors:
<dl> </dt><dd>Arnaud Le Hors,
<dt>Editors:</dt> <i>IBM</i></dd>
<dd>Philippe Le H&#xe9;garet,
<dd>Arnaud Le Hors, <i>W3C team contact until October 1999, then <i>W3C</i></dd>
IBM</i></dd> <dd>Lauren Wood,
<i>SoftQuad, Inc. (WG Chair emerita, for DOM Level 1 and 2)</i></dd>
<dd>Philippe Le H&eacute;garet, <i>W3C, team contact (from November <dd>Gavin Nicol,
1999)</i></dd> <i>Inso EPS (for DOM Level 1)</i></dd>
<dd>Jonathan Robie,
<dd>Lauren Wood, <i>SoftQuad Software Inc., WG Chair</i></dd> <i>Texcel Research and Software AG (for DOM Level 1
and 2)</i></dd>
<dd>Gavin Nicol, <i>Inso EPS (for DOM Level 1)</i></dd> <dd>Mike Champion,
<i>Arbortext and Software AG (for DOM Level 1 and 2)</i></dd>
<dd>Jonathan Robie, <i>Texcel Research and Software AG (for DOM <dd>Steve Byrne,
Level 1)</i></dd> <i>JavaSoft (for DOM Level 1 until November 19,
<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> 1997)</i></dd>
</dl> </dl>
<p class='copyright'>Copyright &copy; 2000 <a <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>
href='http://www.w3.org/'><abbr <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>
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>
</div> </div>
<hr title='separator from header'>
<hr title='separator from header' />
<h2 id='abstract'>Abstract</h2> <h2 id='abstract'>Abstract</h2>
<div class='abstract'> <div class='abstract'>
<p>This specification defines the Document Object Model Level 2 <p>
Core, a platform- and language-neutral interface that allows This specification defines the Document Object Model Core Level
programs and scripts to dynamically access and update the content 3, a platform- and language-neutral interface that allows
and structure of documents. The Document Object Model Level 2 Core programs and scripts to dynamically access and update the
builds on the Document Object Model Level 1 Core.</p> content, structure and style of documents. The Document Object
Model Core Level 3 builds on the Document Object Model Core
<p>The DOM Level 2 Core is made of a set of core interfaces to Level 2 [<a class='noxref' href='references.html#DOM2Core'>DOM Level 2 Core</a>].
create and manipulate the structure and contents of a document. The </p><p>
Core also contains specialized interfaces dedicated to XML.</p> This version enhances DOM Level 2 Core by completing the mapping
</div> 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> <h2 id='status'>Status of this document</h2>
<div class='status'> <div class='status'>
<p><em>This section describes the status of this document at the <p>
<em>This section describes the status of this document at the
time of its publication. Other documents may supersede this time of its publication. Other documents may supersede this
document. The latest status of this document series is maintained document. A list of current W3C publications and the latest
at the W3C.</em></p> 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>This document has been reviewed by W3C Members and other </p><p>
interested parties and has been endorsed by the Director as a <a This document contains the Document Object Model Level 3 Core
href='http://www.w3.org/Consortium/Process/Process-19991111/tr.html#RecsW3C'> specification and is a <a href='http://www.w3.org/2004/02/Process-20040205/tr.html#RecsW3C'>W3C
W3C Recommendation</a>. It is a stable document and may be used as Recommendation</a>. It has been produced as part of the <a href='http://www.w3.org/DOM/Activity.html'>W3C DOM
reference material or cited as a normative reference from another Activity</a>. The authors of this document are the <a href='http://www.w3.org/DOM/'>DOM Working Group</a>
document. W3C's role in making the Recommendation is to draw participants. For more information about DOM, readers can also
attention to the specification and to promote its widespread refer to <a href='http://www.w3.org/DOM/faq.html'>DOM
deployment. This enhances the functionality and interoperability of FAQ</a> and <a href='http://www.w3.org/DOM/Test/'>DOM
the Web.</p> Conformance Test Suites</a>.
</p><p>
<p>This document has been produced as part of the <a 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
href='http://www.w3.org/DOM/Activity.html'>W3C DOM Activity</a>. Recommendation</a> period. <a href='http://www.w3.org/2004/03/DOM-Level-3-Core-changes.html'>Changes
The authors of this document are the DOM Working Group members. since the Proposed Recommendation version</a> and an <a href='http://www.w3.org/2003/10/DOM-Level-3-Core-implementations.html'>implementation
Different modules of the Document Object Model have different report</a> are available. Please refer to the <a href='http://www.w3.org/2004/01/DOM-Level-3-errata'>errata</a> for this
editors.</p> document, which may include some normative corrections.
<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><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'> <ul class='toc'>
<li class='tocline2'><a class='tocxref' <li class='tocline2'><a class='tocxref' href='expanded-toc.html'>Expanded Table of Contents</a></li>
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>
<li class='tocline2'><a class='tocxref' </ul>
href='copyright-notice.html'>Copyright Notice</a></li> <ul class='toc'>
<li class='tocline2'><a class='tocxref' href='core.html'>1. Document Object Model Core</a></li>
<li class='tocline2'><a class='tocxref' </ul>
href='introduction.html'>What is the Document Object <ul class='toc'>
Model?</a></li> <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>
<ul class='toc'> <div class='navbar' style='text-align: center'>
<li class='tocline2'><a class='tocxref' href='core.html'>1. <map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
Document Object Model Core</a></li> [<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'
</ul> href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></div>
<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>
</body> </body>
</html> </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" */ /* Style for a "Recommendation" */
/* /*
This is an SSI script. Policy: Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved.
(1) Use CVS The following software licensing rules apply:
(2) send e-mail to w3t-comm@w3.org if you edit this http://www.w3.org/Consortium/Legal/copyright-software */
Acknowledgments: /* $Id$ */
- '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$
*/
body { body {
margin: 2em 1em 2em 70px; padding: 2em 1em 2em 70px;
margin: 0;
font-family: sans-serif; font-family: sans-serif;
color: black; color: black;
background: white; background: white;
@ -30,13 +18,24 @@ body {
background-attachment: fixed; background-attachment: fixed;
background-repeat: no-repeat; 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 */ th, td { /* ns 4 */
font-family: sans-serif; font-family: sans-serif;
} }
h1, h2, h3, h4, h5, h6 { text-align: left } 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 } h1 { font: 170% sans-serif }
h2 { font: 140% sans-serif } h2 { font: 140% sans-serif }
h3 { font: 120% 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 { margin-bottom: 1em }
div.head h1 { margin-top: 2em; clear: both } div.head h1 { margin-top: 2em; clear: both }
div.head table { margin-left: 2em; margin-top: 2em } 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 { font-size: small }
p.copyright small { font-size: small } p.copyright small { font-size: small }
@media screen { /* hide from IE3 */ @media screen { /* hide from IE3 */
a:hover { background: #ffa } a[href]:hover { background: #ffa }
} }
pre { margin-left: 2em } pre { margin-left: 2em }
@ -83,12 +81,9 @@ ul.toc {
pre { speak-punctuation: code } pre { speak-punctuation: code }
} }
/* Things (icons) that should only show up in projection mode */
.projection { display: none }
@media projection { .projection { display: inline } }
body { 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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Acknowledgements</title> <title>Acknowledgements</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='glossary.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='glossary.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='ecma-script-binding.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='ecma-script-binding.html'>previous</a> &nbsp; <a <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
accesskey='n' href='glossary.html'>next</a> &nbsp; <a accesskey='c' [<a title='ECMAScript Language Binding' accesskey='p' href='ecma-script-binding.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="contributors" name='contributors'></a> <div class='div1'><a name='contributors'></a>
<h1 id='contributors-h1' class='adiv1'>Appendix I: Acknowledgements</h1>
<h1 id='contributors-h1' class='adiv1'>Appendix F: <p class='first'>Many people contributed to the DOM specifications (Level 1, 2
Acknowledgements</h1> or 3), including participants of the DOM Working Group and the DOM
Interest Group. We especially thank the following:</p><p>
<p>Many people contributed to this specification, including members Andrew Watson (Object Management Group), Andy Heninger (IBM),
of the DOM Working Group and the DOM Interest Group. We especially Angel Diaz (IBM), Arnaud Le Hors (W3C and IBM), Ashok Malhotra
thank the following:</p> (IBM and Microsoft), Ben Chang (Oracle), Bill Smith (Sun), Bill
Shea (Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft),
<p>Lauren Wood (SoftQuad Software Inc., <em>chair</em>), Andrew Chris Wilson (Microsoft), David Brownell (Sun), David Ezell
Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le (Hewlett-Packard Company), David Singer (IBM), Dimitris
Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea Dimitriadis (Improve AB and invited expert), Don Park (invited),
(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris Elena Litani (IBM), Eric Vasilik (Microsoft), Gavin Nicol
Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don (INSO), Ian Jacobs (W3C), James Clark (invited), James Davidson
Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian (Sun), Jared Sorensen (Novell), Jeroen van Rotterdam (X-Hive
Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared Corporation), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe
Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe Marini (Macromedia), Johnny Stenback (Netscape/AOL), Jon
Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh Ferraiolo (Adobe), Jonathan Marsh (Microsoft), Jonathan Robie
(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim (Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad
Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark Software Inc.), Lauren Wood (SoftQuad Software Inc.,
Davis (IBM), Mark Scardina (Oracle), Martin D&uuml;rst (W3C), Mick <em>former Chair</em>), Laurence Cable (Sun), Mark Davis
Goulish (Software AG), Mike Champion (Arbortext and Software AG), (IBM), Mark Scardina (Oracle), Martin D&#xfc;rst (W3C), Mary
Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso Brady (NIST), Mick Goulish (Software AG), Mike Champion
(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton (Arbortext and Software AG), Miles Sabin (Cromwell Media), Patti
(Netscape), Philippe Le H&eacute;garet (W3C, <em>W3C team Lutsky (Arbortext), Paul Grosso (Arbortext), Peter Sharpe
contact</em>), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer (SoftQuad Software Inc.), Phil Karlton (Netscape), Philippe Le
(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick H&#xe9;garet (W3C, <em>W3C Team Contact and former
Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), Chair</em>), Ramesh Lekshmynarayanan (Merrill Lynch), Ray
Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), Whitmer (iMall, Excite@Home, and Netscape/AOL,
Vidur Apparao (Netscape), Vinod Anupam (Lucent).</p> <em>Chair</em>), Rezaur Rahman (Intel), Rich Rollman
(Microsoft), Rick Gessner (Netscape), Rick Jelliffe (invited),
<p>Thanks to all those who have helped to improve this Rob Relyea (Microsoft), Scott Isaacs (Microsoft), Sharon Adler
specification by sending suggestions and corrections.</p> (INSO), Steve Byrne (JavaSoft), Tim Bray (invited), Tim Yu
(Oracle), Tom Pixley (Netscape/AOL), Vidur Apparao (Netscape),
<div class='div2'><a id="Productions" name='Productions'></a> Vinod Anupam (Lucent).
</p><p>
<h2 id='Productions-h2' class='adiv2'>F.1: Production Systems</h2> Thanks to all those who have helped to improve this
specification by sending suggestions and corrections (Please,
<p>This specification was written in XML. The HTML, OMG IDL, Java keep bugging us with your issues!).
and ECMA Script bindings were all produced automatically.</p> </p><p>
Many thanks to Andrew Clover, Petteri Stenius, Curt Arnold,
<p>Thanks to Joe English, author of <a Glenn A. Adams, Christopher Aillon, Scott Nichol,
href='http://www.flightlab.com/cost'>cost</a>, which was used as Fran&#xe7;ois Yergeau, Anjana Manian, Susan Lesch, and Jeffery
the basis for producing DOM Level 1. Thanks also to Gavin Nicol, B. Rancier for their review and comments of this document.
who wrote the scripts which run on top of cost. Arnaud Le Hors and </p><p>
Philippe Le H&eacute;garet maintained the scripts.</p> Special thanks to the <a class='normative' href='http://www.w3.org/DOM/Test'>DOM
Conformance Test Suites</a> contributors: Fred Drake, Mary
<p>For DOM Level 2, we used <a Brady (NIST), Rick Rivello (NIST), Robert Clary (Netscape), with
href='http://xml.apache.org/xerces-j'>Xerces</a> as the basis DOM a special mention to Curt Arnold.
implementation and wish to thank the authors. Philippe Le </p>
H&eacute;garet and Arnaud Le Hors wrote the <a <div class='div2'><a name='Productions'></a>
href='http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/'> <h2 id='Productions-h2' class='adiv2'>I.1 Production Systems</h2>
Java programs</a> which are the DOM application.</p> <p>
This specification was written in XML. The HTML, OMG IDL, Java and
<p>Thanks also to Jan K&auml;rrman, author of <a ECMAScript bindings were all produced automatically.
href='http://www.tdb.uu.se/~jan/html2ps.html'>html2ps</a>, which we <p>
use in creating the PostScript version of the specification.</p> Thanks to Joe English, author of <a class='normative' href='http://www.flightlab.com/cost'>cost</a>, which was
</div> used as the basis for producing DOM Level 1. Thanks also to
Gavin Nicol, who wrote the scripts which run on top of
<!-- div2 Productions --></div> cost. Arnaud Le Hors and Philippe Le H&#xe9;garet maintained
the scripts.
<!-- div1 contributors --> <p>
<div class='navbar' align='center'> After DOM Level 1, we used <a class='normative' href='http://xml.apache.org/xerces-j'>Xerces</a> as the
<hr title='Navigation area separator' /> basis DOM implementation and wish to thank the
<a accesskey='p' href='ecma-script-binding.html'>previous</a> authors. Philippe Le H&#xe9;garet and Arnaud Le Hors wrote
&nbsp; <a accesskey='n' href='glossary.html'>next</a> &nbsp; <a the <a class='normative' href='http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/'>Java
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a programs</a> which are the DOM application.
accesskey='i' href='def-index.html'>index</a></div> <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> </body>
</html> </html>

View File

@ -1,193 +1,300 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Changes</title> <title>Changes</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='i18n.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='namespaces-algorithms.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='core.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='core.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='i18n.html'>next</a> &nbsp; <a accesskey='c' [<a title='Document Object Model Core' accesskey='p' href='core.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </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> <h1 id='Changes-h1' class='adiv1'>Appendix A: Changes</h1>
<dl> <dl>
<dt><i>Editors</i></dt> <dt><i>Editor</i>:
</dt><dd>Philippe Le H&#xe9;garet, W3C</dd>
<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>
</dl> </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> </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 --> <a href='introduction.html#DOMArchitecture'>DOM Architecture</a>: a global overview of the DOM
<div class='div3'><a id="DOMLevel2Addons" Level 3 modules;
name='DOMLevel2Addons'></a> </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" <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;
name='DOMLevel2Addons-types'></a> </li>
<li>
<h4 id='DOMLevel2Addons-types-h4' class='adiv4'>A.1.2.1: New <a href='core.html#Embedded-DOM'>Mixed DOM Implementations</a>: general considerations on DOM
types</h4> 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> <dl>
<dt><b><a <dt>Interface <a href='core.html#ID-637646024'><code>Attr</code></a></dt>
href='core.html#DOMTimeStamp'><code>DOMTimeStamp</code></a></b></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
<dd>The <a <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>
href='core.html#DOMTimeStamp'><code>DOMTimeStamp</code></a> type <dd>The <a href='core.html#i-Document'><code>Document</code></a> interface has seven new
was added to the Core module.</dd> attributes: <a href='core.html#Document3-inputEncoding'><code>Document.inputEncoding</code></a>,
</dl> <a href='core.html#Document3-encoding'><code>Document.xmlEncoding</code></a>,
</div> <a href='core.html#Document3-standalone'><code>Document.xmlStandalone</code></a>,
<a href='core.html#Document3-version'><code>Document.xmlVersion</code></a>,
<!-- div4 DOMLevel2Addons-types --></div> <a href='core.html#Document3-strictErrorChecking'><code>Document.strictErrorChecking</code></a>,
<a href='core.html#Document3-documentURI'><code>Document.documentURI</code></a>, and
<!-- div3 DOMLevel2Addons --></div> <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>,
<!-- div2 DOMLevel1to2Changes --></div> <a href='core.html#Document3-normalizeDocument'><code>Document.normalizeDocument()</code></a>, and
<a href='core.html#Document3-renameNode'><code>Document.renameNode(n, namespaceURI,
<!-- div1 Changes --> qualifiedName)</code></a>. The attribute
<div class='navbar' align='center'> <a href='core.html#ID-B63ED1A31'><code>Document.doctype</code></a> has been modified.
<hr title='Navigation area separator' /> </dd><dt>Exception <a href='core.html#ID-17189187'><code>DOMException</code></a></dt>
<a accesskey='p' href='core.html'>previous</a> &nbsp; <a <dd>
accesskey='n' href='i18n.html'>next</a> &nbsp; <a accesskey='c' The <a href='core.html#ID-17189187'><code>DOMException</code></a> has two new exception codes:
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' <a href='core.html#DOMException-VALIDATION_ERR'><code>VALIDATION_ERR</code></a> and
href='def-index.html'>index</a></div> <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> </body>
</html> </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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Copyright Notice</title> <title>W3C Copyright Notices and Licenses</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='introduction.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='introduction.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='expanded-toc.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='expanded-toc.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='introduction.html'>next</a> &nbsp; <a accesskey='c' [<a title='Expanded Table of Contents' accesskey='p' href='expanded-toc.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="Copyright-Notice" <div class='div1'><a name='Copyright-Notice'></a>
name='Copyright-Notice'></a> <h1 id='Copyright-Notice-h1' class='div1'>W3C Copyright Notices and Licenses</h1>
<p><b>
<h1 id='Copyright-Notice-h1' class='div1'>Copyright Notice</h1> 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
<p><b>Copyright &copy; 2000 <a href='http://www.w3.org/'>World Wide Technology</a>, <a class='normative' href='http://www.ercim.org/'>European
Web Consortium</a>, (<a Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
href='http://www.lcs.mit.edu/'>Massachusetts Institute of Reserved.
Technology</a>, <a href='http://www.inria.fr/'>Institut National de </b></p><p>
Recherche en Informatique et en Automatique</a>, <a 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
href='http://www.keio.ac.jp/'>Keio University</a>). All Rights are published under the <a href='copyright-notice.html#Copyright-notice-software'>W3C<sup>&#xae;</sup> Software Copyright Notice and License</a>.
Reserved.</b></p> The software license requires "Notice of any changes or
modifications to the W3C files, including the date changes were
<p>This document is published under the <a made." Consequently, modified versions of the DOM bindings must
href='copyright-notice.html#Copyright-notice-document'>W3C Document document that they do not conform to the W3C standard; in the case
Copyright Notice and License</a>. The bindings within this document of the IDL definitions, the pragma prefix can no longer be
are published under the <a 'w3c.org'; in the case of the Java language binding, the package
href='copyright-notice.html#Copyright-notice-software'>W3C Software names can no longer be in the 'org.w3c' package.
Copyright Notice and License</a>. The software license requires </p>
"Notice of any changes or modifications to the W3C files, including <div class='div2'><a name='Copyright-notice-document'></a>
the date changes were made." Consequently, modified versions of the <hr width='50' align='center' title='Area separator'>
DOM bindings must document that they do not conform to the W3C <h2 id='Copyright-notice-document-h2' class='div2'>W3C<sup>&#xae;</sup> Document Copyright Notice and License</h2>
standard; in the case of the IDL definitions, the pragma prefix can <p><b>Note:</b>
no longer be 'w3c.org'; in the case of the Java Language binding, This section is a copy of the W3C<sup>&#xae;</sup> Document
the package names can no longer be in the 'org.w3c' package.</p> 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>
<div class='div2'><a id="Copyright-notice-document" <p><b>
name='Copyright-notice-document'></a> 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
<hr width='50' align='center' title='Area separator' /> Research Consortium for Informatics and Mathematics</a>, <a class='normative' href='http://www.keio.ac.jp/'>Keio University</a>). All Rights
<h2 id='Copyright-notice-document-h2' class='div2'>W3C Document Reserved.
Copyright Notice and License</h2> </b></p><p><b>
http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
<p><b>Note:</b> This section is a copy of the W3C Document Notice </b></p><p>
and License and could be found at <a Public documents on the W3C site are provided by the copyright
href='http://www.w3.org/Consortium/Legal/copyright-documents-19990405'> holders under the following license. By using and/or copying this
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, 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>
</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>
<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 you (the licensee) agree that you have read, understood, and will
comply with the following terms and conditions:</p> comply with the following terms and conditions:
<p>
<p>Permission to use, copy, and modify this software and its Permission to copy, and distribute the contents of this document,
documentation, with or without modification, for any purpose and or the W3C document from which this statement is linked, in any
without fee or royalty is hereby granted, provided that you include medium for any purpose and without fee or royalty is hereby
the following on ALL copies of the software and documentation or granted, provided that you include the following on
portions thereof, including modifications, that you make:</p> <em>ALL</em> copies of the document, or portions thereof, that
you use:
<ol> <ol>
<li>The full text of this NOTICE in a location viewable to users of <li>
the redistributed or derivative work.</li>
<li>Any pre-existing intellectual property disclaimers. If none A link or URL to the original W3C document.
exist, then a notice of the following form: "Copyright &copy; </li>
[$date-of-software] <a href='http://www.w3.org/'>World Wide Web <li>
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, The pre-existing copyright notice of the original author, or
including the date changes were made. (We recommend you provide if it doesn't exist, a notice (hypertext is preferred, but a
URIs to the location from which the code is derived.)</li> 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>
<em>If it exists</em>, the STATUS of the W3C document.
</li>
</ol> </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>THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND Any pre-existing intellectual property disclaimers, notices,
COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR 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
IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF is preferred, text is permitted) within the body of any
MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE redistributed or derivative code.
USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD </li>
PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.</p> <li>
<p>COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, Notice of any changes or modifications to the files, including
SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE the date changes were made. (We recommend you provide URIs to
SOFTWARE OR DOCUMENTATION.</p> the location from which the code is derived.)
</li>
<p>The name and trademarks of copyright holders may NOT be used in </ol>
advertising or publicity pertaining to the software without <p>
specific, written prior permission. Title to copyright in this THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
software and any associated documentation will at all times remain HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
with copyright holders.</p> INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
</div> FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
<!-- div2 Copyright-notice-software --></div> TRADEMARKS OR OTHER RIGHTS.
<p>
<!-- div1 Copyright-Notice --> COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
<div class='navbar' align='center'> CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
<hr title='Navigation area separator' /> DOCUMENTATION.
<a accesskey='p' href='expanded-toc.html'>previous</a> &nbsp; <a <p>
accesskey='n' href='introduction.html'>next</a> &nbsp; <a The name and trademarks of copyright holders may NOT be used in
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a advertising or publicity pertaining to the software without specific,
accesskey='i' href='def-index.html'>index</a></div> 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> </body>
</html> </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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Expanded Table of Contents</title> <title>Expanded Table of Contents</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='copyright-notice.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='copyright-notice.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='Overview.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='Overview.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='copyright-notice.html'>next</a> &nbsp; <a accesskey='c' [<a title='overview' accesskey='p' href='Overview.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </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> <h1 id='TOC-h1' class='div1'>Expanded Table of Contents</h1>
<ul class='toc'> <ul class='toc'>
<li class='tocline2'><a class='tocxref' <li class='tocline2'><a class='tocxref' href='expanded-toc.html'>Expanded Table of Contents</a>
href='expanded-toc.html'>Expanded Table of Contents</a></li> </li>
<li class='tocline2'><a class='tocxref' href='copyright-notice.html'>W3C Copyright Notices and Licenses</a>
<li class='tocline2'><a class='tocxref'
href='copyright-notice.html'>Copyright Notice</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='copyright-notice.html#Copyright-notice-document'>W3C<sup>&#xae;</sup> Document Copyright Notice and License</a>
href='copyright-notice.html#Copyright-notice-document'>W3C Document </li>
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' <li class='tocline3'><a class='tocxref' href='copyright-notice.html#Copyright-short-notice'>W3C<sup>&#xae;</sup> Short Software Notice</a>
href='copyright-notice.html#Copyright-notice-software'>W3C Software </li>
Copyright Notice and License</a></li>
</ul> </ul>
</li> </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'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C3082'>Introduction</a>
href='introduction.html#ID-E7C3082'>Introduction</a></li> </li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30821'>What the Document Object Model is</a>
<li class='tocline3'><a class='tocxref' </li>
href='introduction.html#ID-E7C30821'>What the Document Object Model <li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30822'>What the Document Object Model is not</a>
is</a></li> </li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30823'>Where the Document Object Model came from</a>
<li class='tocline3'><a class='tocxref' </li>
href='introduction.html#ID-E7C30822'>What the Document Object Model <li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30824'>Entities and the DOM Core</a>
is not</a></li> </li>
<li class='tocline3'><a class='tocxref' href='introduction.html#DOMArchitecture'>DOM Architecture</a>
<li class='tocline3'><a class='tocxref' </li>
href='introduction.html#ID-E7C30823'>Where the Document Object <li class='tocline3'><a class='tocxref' href='introduction.html#ID-Conformance'>Conformance</a>
Model came from</a></li> </li>
<li class='tocline3'><a class='tocxref' href='introduction.html#ID-E7C30826'>DOM Interfaces and DOM Implementations</a>
<li class='tocline3'><a class='tocxref' </li>
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>
</ul> </ul>
</li> </li>
</ul> </ul>
<ul class='toc'> <ul class='toc'>
<li class='tocline2'><a class='tocxref' href='core.html'>1. <li class='tocline2'><a class='tocxref' href='core.html'>1 Document Object Model Core</a>
Document Object Model Core</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='core.html#ID-1590626201'>1.1 Overview of the DOM Core Interfaces</a>
href='core.html#ID-1590626201'>1.1. Overview of the DOM Core
Interfaces</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline4'><a class='tocxref' <li class='tocline4'><a class='tocxref' href='core.html#ID-1590626202'>1.1.1 The DOM Structure Model</a>
href='core.html#ID-1590626202'>1.1.1. The DOM Structure <li class='tocline4'><a class='tocxref' href='core.html#ID-249F15BA'>1.1.2 Memory Management</a>
Model</a></li> <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>
<li class='tocline4'><a class='tocxref' </ul></li>
href='core.html#ID-249F15BA'>1.1.2. Memory Management</a></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' <li class='tocline4'><a class='tocxref' href='core.html#ID-C74D1578'>1.2.1 The DOMString Type</a>
href='core.html#ID-45A944CB'>1.1.3. Naming Conventions</a></li> <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' <li class='tocline4'><a class='tocxref' href='core.html#Core-DOMObject'>1.2.4 The DOMObject Type</a>
href='core.html#ID-1CED5498'>1.1.4. Inheritance vs. Flattened Views </ul></li>
of the API</a></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' <li class='tocline4'><a class='tocxref' href='core.html#ID-5DFED1F0'>1.3.1 String Comparisons in the DOM</a>
href='core.html#ID-C74D1578'>1.1.5. The DOMString type</a></li> <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' <li class='tocline4'><a class='tocxref' href='core.html#baseURIs-Considerations'>1.3.4 Base URIs</a>
href='core.html#Core-DOMTimeStamp'>1.1.6. The DOMTimeStamp <li class='tocline4'><a class='tocxref' href='core.html#Embedded-DOM'>1.3.5 Mixed DOM Implementations</a>
type</a></li> <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>
<li class='tocline4'><a class='tocxref' </ul></li>
href='core.html#ID-5DFED1F0'>1.1.7. String comparisons in the <li class='tocline3'><a class='tocxref' href='core.html#ID-BBACDC08'>1.4 Fundamental Interfaces: Core Module</a>
DOM</a></li> </li>
<li class='tocline3'><a class='tocxref' href='core.html#ID-E067D597'>1.5 Extended Interfaces: XML Module</a>
<li class='tocline4'><a class='tocxref'
href='core.html#Namespaces-Considerations'>1.1.8. XML
Namespaces</a></li>
</ul>
</li> </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> </ul>
</li> </li>
</ul> </ul>
<ul class='toc'> <ul class='toc'>
<li class='tocline2'><a class='tocxref' <li class='tocline2'><a class='tocxref' href='changes.html'>Appendix A: Changes</a>
href='changes.html'>Appendix A: Changes</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='changes.html#DOMLevel3Sections'>A.1 New sections</a>
href='changes.html#DOMLevel1to2Changes'>A.1. Changes between DOM </li>
Level 1 Core and DOM Level 2 Core</a> <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'> <ul class='toc'>
<li class='tocline4'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='namespaces-algorithms.html#normalizeDocumentAlgo'>B.1 Namespace Normalization</a>
href='changes.html#DOMLevel1Changes'>A.1.1. Changes to DOM Level 1 <ul class='toc'>
Core interfaces and exceptions</a></li> <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>
<li class='tocline4'><a class='tocxref' </ul>
href='changes.html#DOMLevel2Addons'>A.1.2. New features</a></li> </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> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li class='tocline2'><a class='tocxref' href='configuration-settings.html'>Appendix D: Configuration Settings</a>
<li class='tocline2'><a class='tocxref' href='i18n.html'>Appendix
B: Accessing code point boundaries</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='configuration-settings.html#ConfigTable'>D.1 Configuration Scenarios</a>
href='i18n.html#i18n-introduction'>B.1. Introduction</a></li> </li>
<li class='tocline3'><a class='tocxref'
href='i18n.html#i18n-methods'>B.2. Methods</a></li>
</ul> </ul>
</li> </li>
<li class='tocline2'><a class='tocxref' href='accessing-code-point-boundaries.html'>Appendix E: Accessing code point boundaries</a>
<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>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='accessing-code-point-boundaries.html#i18n-introduction'>E.1 Introduction</a>
href='acknowledgements.html#Productions'>F.1. Production </li>
Systems</a></li> <li class='tocline3'><a class='tocxref' href='accessing-code-point-boundaries.html#i18n-methods'>E.2 Methods</a>
</li>
</ul> </ul>
</li> </li>
<li class='tocline2'><a class='tocxref' href='idl-definitions.html'>Appendix F: IDL Definitions</a>
<li class='tocline2'><a class='tocxref' </li>
href='glossary.html'>Glossary</a></li> <li class='tocline2'><a class='tocxref' href='java-binding.html'>Appendix G: Java Language Binding</a>
<li class='tocline2'><a class='tocxref'
href='references.html'>References</a>
<ul class='toc'> <ul class='toc'>
<li class='tocline3'><a class='tocxref' <li class='tocline3'><a class='tocxref' href='java-binding.html#Level-3-Java-Binding-Extension'>G.1 Java Binding Extension</a>
href='references.html#References-Normative'>1. Normative </li>
references</a></li> <li class='tocline3'><a class='tocxref' href='java-binding.html#JavaCoreInterfaces'>G.2 Other Core interfaces</a>
</li>
<li class='tocline3'><a class='tocxref'
href='references.html#References-Informative'>2. Informative
references</a></li>
</ul> </ul>
</li> </li>
<li class='tocline2'><a class='tocxref' href='ecma-script-binding.html'>Appendix H: ECMAScript Language Binding</a>
<li class='tocline2'><a class='tocxref' <ul class='toc'>
href='def-index.html'>Index</a></li> <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> </ul>
</div>
<!-- div1 TOC --> </div> <!-- div1 TOC --><div class='navbar' style='text-align: center'>
<div class='navbar' align='center'> <map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
<hr title='Navigation area separator' /> [<a title='overview' href='Overview.html'><strong><u>p</u></strong>revious</a>]
<a accesskey='p' href='Overview.html'>previous</a> &nbsp; <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'
accesskey='n' href='copyright-notice.html'>next</a> &nbsp; <a href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a </map></div>
accesskey='i' href='def-index.html'>index</a></div>
</body> </body>
</html> </html>

View File

@ -1,356 +1,268 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>Glossary</title> <title>Glossary</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='references.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='references.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='acknowledgements.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='acknowledgements.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='references.html'>next</a> &nbsp; <a accesskey='c' [<a title='Acknowledgements' accesskey='p' href='acknowledgements.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="glossary" name='glossary'></a> <div class='div1'><a name='glossary'></a>
<h1 id='role-glossary' class='glossary'>
<h1 id='role-glossary' class='glossary'>Glossary</h1> Glossary</h1>
<dl> <dl>
<dt><i>Editors</i></dt> <dt><i>Editors</i>:
</dt><dd>Arnaud Le Hors, W3C</dd>
<dd>Arnaud Le Hors, IBM</dd> <dd>Robert S. Sutor, IBM Research (for DOM Level 1)</dd>
<dd>Lauren Wood, SoftQuad Software Inc.</dd>
<dd>Robert S. Sutor, IBM (for DOM Level 1)</dd>
</dl> </dl>
<p class='first'>Some of the following term definitions have been borrowed or
<p>Several of the following term definitions have been borrowed or modified from similar definitions in other W3C or standards documents.
modified from similar definitions in other W3C or standards See the links within the definitions for more information.</p><dl>
documents. See the links within the definitions for more <dt><b><a name='dt-16-bit-unit'>16-bit unit</a></b></dt>
information.</p> <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.
<dl> This must not be misunderstood to mean that a <a class='noxref' href='core.html#DOMString'><code>DOMString</code></a>
<dt><b><a id="dt-16-bit-unit" name='dt-16-bit-unit'>16-bit can store arbitrary 16-bit units. A <a class='noxref' href='core.html#DOMString'><code>DOMString</code></a> is a
unit</a></b></dt> character string encoded in UTF-16; this means that the restrictions
of UTF-16 as well as the other relevant restrictions on character strings
<dd>The base unit of a <a must be maintained. A single character, for example in the form of a
href='core.html#DOMString'><code>DOMString</code></a>. This numeric character reference, may correspond to one or two 16-bit units.</dd><dt><b><a name='dt-ancestor'>ancestor</a></b></dt>
indicates that indexing on a <a class='noxref' <dd>An <i>ancestor</i> node of any node A is any node
href='core.html#DOMString'><code>DOMString</code></a> occurs in above A in a tree model, where "above" means "toward the root."
units of 16 bits. This must not be misunderstood to mean that a <a </dd><dt><b><a name='dt-API'>API</a></b></dt>
class='noxref' <dd>An <i>API</i> is an Application Programming
href='core.html#DOMString'><code>DOMString</code></a> can store Interface, a set of functions or methods used to access some
arbitrary 16-bit units. A <a class='noxref' functionality.</dd><dt><b><a name='dt-anonymous'>anonymous type name</a></b></dt>
href='core.html#DOMString'><code>DOMString</code></a> is a <dd>
character string encoded in UTF-16; this means that the An <i>anonymous type name</i> is an
restrictions of UTF-16 as well as the other relevant restrictions implementation-defined, globally unique qualified name
on character strings must be maintained. A single character, for provided by the processor for every anonymous type declared in
example in the form of a numeric character reference, may a <a href='glossary.html#dt-schema'>schema</a>.
correspond to one or two 16-bit units.<br /> </dd><dt><b><a name='dt-child'>child</a></b></dt>
For more information, see [<a class='noxref' <dd>A <i>child</i> is an immediate descendant node of
href='references.html#Unicode'>Unicode</a>] and [<a class='noxref' a node.</dd><dt><b><a name='dt-application'>client application</a></b></dt>
href='references.html#ISO10646'>ISO/IEC 10646</a>].</dd> <dd>A [client] application is any software that uses the
Document Object Model programming interfaces provided by the
<dt><b><a id="dt-ancestor" name='dt-ancestor'>ancestor</a></b></dt> hosting implementation to accomplish useful work. Some
examples of client applications are scripts within an HTML
<dd>An <i>ancestor</i> node of any node A is any node above A in a or XML document.</dd><dt><b><a name='dt-COM'>COM</a></b></dt>
tree model of a document, where "above" means "toward the <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
root."</dd> software components.</dd><dt><b><a name='dt-convenience'>convenience</a></b></dt>
<dd>A <i>convenience method</i> is an operation on an
<dt><b><a id="dt-API" name='dt-API'>API</a></b></dt> object that could be accomplished by a program consisting of
more basic operations on the object. Convenience methods are
<dd>An <i>API</i> is an application programming interface, a set of usually provided to make the API easier and simpler to use or to
functions or <i>methods</i> used to access some functionality.</dd> allow specific programs to create more optimized implementations
for common operations. A similar definition holds for a
<dt><b><a id="dt-child" name='dt-child'>child</a></b></dt> <i>convenience property</i>.
</dd><dt><b><a name='dt-datamodel'>data model</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>
<dd>A <i>data model</i> is a collection of descriptions of data <dd>A <i>data model</i> is a collection of descriptions of data
structures and their contained fields, together with the operations structures and their contained fields, together with the operations
or functions that manipulate them.</dd> 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
<dt><b><a id="dt-descendant" below A in a tree model, where "below" means "away from the
name='dt-descendant'>descendant</a></b></dt> root."</dd><dt><b><a name='dt-document-element'>document element</a></b></dt>
<dd>
<dd>A <i>descendant</i> node of any node A is any node below A in a There is only one document element in a <a href='core.html#i-Document'><code>Document</code></a>. This
tree model of a document, where "above" means "toward the element node is a child of the <a class='noxref' href='core.html#i-Document'><code>Document</code></a> node. See
root."</dd> <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>].
<dt><b><a id="dt-ECMAScript" </dd><dt><b><a name='dt-document-order'>document order</a></b></dt>
name='dt-ECMAScript'>ECMAScript</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
<dd>The programming language defined by the ECMA-262 standard [<a character of the XML representation of each node occurs in the XML
class='noxref' href='references.html#ECMAScript'>ECMAScript</a>]. representation of the document after expansion of general entities. Thus,
As stated in the standard, the originating technology for the <a href='glossary.html#dt-document-element'>document element</a> node
ECMAScript was JavaScript [<a class='noxref' will be the first node. Element nodes occur before their children. Thus,
href='references.html#JavaScript'>JavaScript</a>]. Note that in the document order orders element nodes in order of the occurrence of their
ECMAScript Language binding, the word "property" is used in the start-tag in the XML (after expansion of entities). The attribute nodes
same sense as the IDL term "attribute."</dd> 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>
<dt><b><a id="dt-element" name='dt-element'>element</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
<dd>Each document contains one or more elements, the boundaries of 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
which are either delimited by start-tags and end-tags, or, for "property" is used in the same sense as the IDL term
empty elements by an empty-element tag. Each element has a type, "attribute."</dd><dt><b><a name='dt-element'>element</a></b></dt>
identified by name, and may have a set of attributes. Each <dd>Each document contains one or more elements, the
attribute has a name and a value. See <a boundaries of which are either delimited by start-tags and
href='http://www.w3.org/TR/1998/REC-xml-19980210#sec-logical-struct'> end-tags, or, for empty elements by an empty-element tag.
<em>Logical Structures</em></a> in XML [<a class='noxref' Each element has a type, identified by name, and may have a
href='references.html#XML'>XML</a>].</dd> 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
<dt><b><a id="dt-infoitem" name='dt-infoitem'>information Structures</em></a> in XML [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>].
item</a></b></dt> </dd><dt><b><a name='dt-infoitem'>information item</a></b></dt>
<dd>An information item is an abstract representation of some <dd>An information item is an abstract representation of some
component of an XML document. See the [<a class='noxref' component of an XML document. See the [<cite><a class='noxref informative' href='references.html#InfoSet'>XML Information Set</a></cite>]
href='references.html#InfoSet'>Infoset</a>] for details.</dd> for details.
</dd><dt><b><a name='dt-logically-adjacent-text-nodes'>logically-adjacent text nodes</a></b></dt>
<dt><b><a id="dt-implementation" name='dt-implementation'>hosting <dd>
implementation</a></b></dt> <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
<dd>A [hosting] implementation is a software module that provides sequentially in <a href='glossary.html#dt-document-order'>document
an implementation of the DOM interfaces so that a client order</a> or in reversed document order without entering,
application can use them. Some examples of hosting implementations exiting, or passing over <a href='core.html#ID-745549614'><code>Element</code></a>,
are browsers, editors and document repositories.</dd> <a href='core.html#ID-1728279322'><code>Comment</code></a>, or <a href='core.html#ID-1004215813'><code>ProcessingInstruction</code></a>
nodes.
<dt><b><a id="dt-HTML" name='dt-HTML'>HTML</a></b></dt> </dd><dt><b><a name='dt-implementation'>hosting implementation</a></b></dt>
<dd>A [hosting] implementation is a software module that
<dd>The HyperText Markup Language (<i>HTML</i>) is a simple markup provides an implementation of the DOM interfaces so that a
language used to create hypertext documents that are portable from client application can use them. Some examples of hosting
one platform to another. HTML documents are SGML documents with implementations are browsers, editors and document
generic semantics that are appropriate for representing information repositories.</dd><dt><b><a name='dt-HTML'>HTML</a></b></dt>
from a wide range of applications. [<a class='noxref' <dd>The HyperText Markup Language (<i>HTML</i>) is a
href='references.html#HTML40'>HTML4.0</a>]</dd> simple markup language used to create hypertext documents
that are portable from one platform to another. HTML
<dt><b><a id="dt-inheritance" documents are SGML documents with generic semantics that are
name='dt-inheritance'>inheritance</a></b></dt> 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 <dd>In object-oriented programming, the ability to create new
classes (or interfaces) that contain all the methods and properties classes (or interfaces) that contain all the methods and properties
of another class (or interface), plus additional methods and of another class (or interface), plus additional methods and
properties. If class (or interface) D inherits from class (or 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 interface) B, then D is said to be <i>derived</i> from B. B is
to be a <i>base</i> class (or interface) for D. Some programming said to be a <i>base</i> class (or interface) for D. Some
languages allow for multiple inheritance, that is, inheritance from programming languages allow for multiple inheritance, that is,
more than one class or interface.</dd> 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
<dt><b><a id="dt-interface" methods with no information given about their implementation.
name='dt-interface'>interface</a></b></dt> In object systems that support interfaces and inheritance,
interfaces can usually inherit from one another.
<dd>An <i>interface</i> is a declaration of a set of <i>methods</i> </dd><dt><b><a name='dt-lang-binding'>language binding</a></b></dt>
with no information given about their implementation. In object <dd>A programming <i>language binding</i> for an IDL
systems that support interfaces and inheritance, interfaces can specification is an implementation of the interfaces in the
usually inherit from one another.</dd> specification for the given language. For example, a Java
language binding for the Document Object Model IDL
<dt><b><a id="dt-lang-binding" name='dt-lang-binding'>language specification would implement the concrete Java classes that
binding</a></b></dt> provide the functionality exposed by the
interfaces.</dd><dt><b><a name='dt-localname'>local name</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>
<dd>A <i>local name</i> is the local part of a <i>qualified <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 name</i>.
class='noxref' This is called the local
href='references.html#Namespaces'>Namespaces</a>].</dd> 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
<dt><b><a id="dt-method" name='dt-method'>method</a></b></dt> associated with an object and is allowed to manipulate the
object's data.
<dd>A <i>method</i> is an operation or function that is associated </dd><dt><b><a name='dt-model'>model</a></b></dt>
with an object and is allowed to manipulate the object's data.</dd> <dd>A <i>model</i> is the actual data representation
for the information at hand. Examples are the structural
<dt><b><a id="dt-model" name='dt-model'>model</a></b></dt> model and the style model representing the parse structure
and the style information associated with a document. The
<dd>A <i>model</i> is the actual data representation for the model might be a tree, or a directed graph, or something
information at hand. Examples are the structural model and the else.</dd><dt><b><a name='dt-namespaceprefix'>namespace prefix</a></b></dt>
style model representing the parse structure and the style <dd>A <i>namespace prefix</i> is a string that associates
information associated with a document. The model might be a tree, an element or attribute name with a <i>namespace URI</i> in
or a directed graph, or something else.</dd> 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>
<dt><b><a id="dt-namespaceprefix" <dd>
name='dt-namespaceprefix'>namespace prefix</a></b></dt> A <i>namespace URI</i> is a URI that identifies an XML
namespace. This is called the namespace name in
<dd>A <i>namespace prefix</i> is a string that associates an 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
element or attribute name with a <i>namespace URI</i> in XML. See 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
namespace prefix in Namespaces in XML [<a class='noxref' Namespaces</em></a>" regarding URIs and namespace URIs
href='references.html#Namespaces'>Namespaces</a>].</dd> handling and comparison in the DOM APIs.
</dd><dt><b><a name='dt-namespace-well-formed'>namespace well-formed</a></b></dt>
<dt><b><a id="dt-namespaceURI" name='dt-namespaceURI'>namespace <dd>
URI</a></b></dt> 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,
<dd>A <i>namespace URI</i> is a URI that identifies an <i>XML and follows the productions and namespace constraints. If
namespace</i>. Strictly speaking, this actually is a <i>namespace [<cite><a class='noxref normative' href='references.html#XML'>XML 1.0</a></cite>] is used, the constraints are defined in
URI reference</i>. This is called the namespace name in Namespaces [<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,
in XML [<a class='noxref' the constraints are defined in [<cite><a class='noxref normative' href='references.html#Namespaces11'>XML Namespaces 1.1</a></cite>].
href='references.html#Namespaces'>Namespaces</a>].</dd> </dd><dt><b><a name='dt-object-model'>object model</a></b></dt>
<dd>An <i>object model</i>
<dt><b><a id="dt-object-model" name='dt-object-model'>object is a collection of
model</a></b></dt> descriptions of classes or interfaces,
together with their member data, member functions,
<dd>An <i>object model</i> is a collection of descriptions of and class-static operations.
classes or interfaces, together with their member data, member </dd><dt><b><a name='dt-parent'>parent</a></b></dt>
functions, and class-static operations.</dd> <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>
<dt><b><a id="dt-parent" name='dt-parent'>parent</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
<dd>A <i>parent</i> is an immediate <i>ancestor</i> node of a comments and processing instructions) and its immediate children are
node.</dd> those expected by the content model. The node may be missing trailing
required children yet still be considered <i>partially
<dt><b><a id="dt-qualifiedname" name='dt-qualifiedname'>qualified valid</i>.
name</a></b></dt> </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
<dd>A <i>qualified name</i> is the name of an element or attribute attribute defined as the concatenation of a <i>local name</i>
defined as the concatenation of a <i>local name</i> (as defined in (as defined in this specification), optionally preceded by a
this specification), optionally preceded by a <i>namespace <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
prefix</i> and colon character. See <a 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>
href='http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames'> <dd>A <i>read only node</i> is a node that is immutable. This
<em>Qualified Names</em></a> in Namespaces in XML [<a means its list of children, its content, and its attributes, when it
class='noxref' is an element, cannot be changed in any way. However, a read only node
href='references.html#Namespaces'>Namespaces</a>].</dd> 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>
<dt><b><a id="dt-readonly-node" name='dt-readonly-node'>readonly <dd>The <i>root node</i> is a node that is not a child of any
node</a></b></dt> 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>readonly node</i> is a node that is immutable. This means <dd>
its list of children, its content, and its attributes, when it is A <i>schema</i> defines a set of structural and value
an element, cannot be changed in any way. However, a readonly node constraints applicable to XML documents. Schemas can be
can possibly be moved, when it is not itself contained in a expressed in schema languages, such as DTD, XML Schema, etc.
readonly node.</dd> </dd><dt><b><a name='dt-sibling'>sibling</a></b></dt>
<dd>Two nodes are <i>siblings</i> if they have the
<dt><b><a id="dt-root-node" name='dt-root-node'>root same parent node.</dd><dt><b><a name='dt-string-compare'>string comparison</a></b></dt>
node</a></b></dt> <dd>When string matching is required, it is to occur as
though the comparison was between 2 sequences of code points
<dd>The <i>root node</i> is the unique node that is not a from [<cite><a class='noxref informative' href='references.html#Unicode'>Unicode</a></cite>].</dd><dt><b><a name='dt-token'>token</a></b></dt>
<i>child</i> of any other node. All other nodes are children or <dd>An information item such as an
other descendants of the root node.</dd> XML Name which has been
<a href='glossary.html#dt-tokenized'>tokenized</a>.</dd><dt><b><a name='dt-tokenized'>tokenized</a></b></dt>
<dt><b><a id="dt-sibling" name='dt-sibling'>sibling</a></b></dt> <dd>The description given to various information items (for example,
attribute values of various types, but not including the StringType
<dd>Two nodes are <i>siblings</i> if and only if they have the same CDATA) after having been processed by the XML processor. The process
<i>parent</i> node.</dd> includes stripping leading and trailing white space, and replacing
multiple space characters by one. See the definition of
<dt><b><a id="dt-string-compare" name='dt-string-compare'>string tokenized type.</dd><dt><b><a name='dt-well-formed'>well-formed</a></b></dt>
comparison</a></b></dt> <dd>
A node is a <i>well-formed</i> XML node if its
<dd>When string matching is required, it is to occur as though the serialized form, without doing any transformation during its
comparison was between 2 sequences of code points from the Unicode 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
3.0 standard [<a class='noxref' version in use) with all well-formedness constraints related
href='references.html#Unicode'>Unicode</a>].</dd> to that production, and if the entities which are referenced
within the node are also well-formed. If namespaces for XML
<dt><b><a id="dt-token" name='dt-token'>token</a></b></dt> are in use, the node must also be <a href='glossary.html#dt-namespace-well-formed'>namespace
well-formed</a>.
<dd>An information item such as an XML Name which has been <a </dd><dt><b><a name='dt-XML'>XML</a></b></dt>
href='glossary.html#dt-tokenized'><em>tokenized</em></a>.</dd> <dd>Extensible Markup Language (<i>XML</i>) is an
extremely simple dialect of SGML which is completely
<dt><b><a id="dt-tokenized" described in this document. The goal is to enable generic
name='dt-tokenized'>tokenized</a></b></dt> SGML to be served, received, and processed on the Web in the
way that is now possible with HTML. XML has been designed
<dd>The description given to various information items (for for ease of implementation and for interoperability with
example, attribute values of various types, but not including the both SGML and HTML. [<cite><a class='noxref informative' href='references.html#XML'>XML 1.0</a></cite>]</dd></dl>
StringType CDATA) after having been processed by the XML processor. </div> <!-- div1 glossary --><div class='navbar' style='text-align: center'>
The process includes stripping leading and trailing white space, <map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
and replacing multiple space characters by one. See the definition [<a title='Acknowledgements' href='acknowledgements.html'><strong><u>p</u></strong>revious</a>]
of tokenized type.</dd> &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>
<dt><b><a id="dt-well-formed" name='dt-well-formed'>well-formed </map></div>
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>
</body> </body>
</html> </html>

View File

@ -1,46 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>IDL Definitions</title> <title>IDL Definitions</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='java-binding.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='java-binding.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='i18n.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='i18n.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='java-binding.html'>next</a> &nbsp; <a accesskey='c' [<a title='Accessing code point boundaries' accesskey='p' href='accessing-code-point-boundaries.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="idl" name='idl'></a> <div class='div1'><a name='idl'></a>
<h1 id='idl-h1' class='adiv1'>Appendix F: IDL Definitions</h1>
<h1 id='idl-h1' class='adiv1'>Appendix C: 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>
<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='idl-code'> <div class='idl-code'>
<pre> <pre>
// File: dom.idl // 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 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 DocumentType;
interface Document; interface Document;
interface NodeList; interface NodeList;
interface NamedNodeMap; interface NamedNodeMap;
interface UserDataHandler;
interface Element; interface Element;
interface TypeInfo;
interface DOMLocator;
exception DOMException { exception <a class='noxref' href='core.html#ID-17189187'>DOMException</a> {
unsigned short code; unsigned short code;
}; };
// ExceptionCode // ExceptionCode
const unsigned short INDEX_SIZE_ERR = 1; const unsigned short <a class='noxref' href='core.html#DOMException-INDEX_SIZE_ERR'>INDEX_SIZE_ERR</a> = 1;
const unsigned short DOMSTRING_SIZE_ERR = 2; const unsigned short <a class='noxref' href='core.html#DOMException-DOMSTRING_SIZE_ERR'>DOMSTRING_SIZE_ERR</a> = 2;
const unsigned short HIERARCHY_REQUEST_ERR = 3; const unsigned short <a class='noxref' href='core.html#DOMException-HIERARCHY_REQUEST_ERR'>HIERARCHY_REQUEST_ERR</a> = 3;
const unsigned short WRONG_DOCUMENT_ERR = 4; const unsigned short <a class='noxref' href='core.html#DOMException-WRONG_DOCUMENT_ERR'>WRONG_DOCUMENT_ERR</a> = 4;
const unsigned short INVALID_CHARACTER_ERR = 5; const unsigned short <a class='noxref' href='core.html#DOMException-INVALID_CHARACTER_ERR'>INVALID_CHARACTER_ERR</a> = 5;
const unsigned short NO_DATA_ALLOWED_ERR = 6; const unsigned short <a class='noxref' href='core.html#DOMException-NO_DATA_ALLOWED_ERR'>NO_DATA_ALLOWED_ERR</a> = 6;
const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7; const unsigned short <a class='noxref' href='core.html#DOMException-NO_MODIFICATION_ALLOWED_ERR'>NO_MODIFICATION_ALLOWED_ERR</a> = 7;
const unsigned short NOT_FOUND_ERR = 8; const unsigned short <a class='noxref' href='core.html#DOMException-NOT_FOUND_ERR'>NOT_FOUND_ERR</a> = 8;
const unsigned short NOT_SUPPORTED_ERR = 9; const unsigned short <a class='noxref' href='core.html#DOMException-NOT_SUPPORTED_ERR'>NOT_SUPPORTED_ERR</a> = 9;
const unsigned short INUSE_ATTRIBUTE_ERR = 10; const unsigned short <a class='noxref' href='core.html#DOMException-INUSE_ATTRIBUTE_ERR'>INUSE_ATTRIBUTE_ERR</a> = 10;
// Introduced in DOM Level 2: // 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: // 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: // 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: // 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: // 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 { // Introduced in DOM Level 3:
boolean hasFeature(in DOMString feature, interface <a class='noxref' href='core.html#DOMStringList'>DOMStringList</a> {
in DOMString version); <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#DOMStringList-item'>item</a>(in unsigned long index);
// Introduced in DOM Level 2: readonly attribute unsigned long <a class='noxref' href='core.html#DOMStringList-length'>length</a>;
DocumentType createDocumentType(in DOMString qualifiedName, boolean <a class='noxref' href='core.html#DOMStringList-contains'>contains</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> str);
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);
}; };
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 // NodeType
const unsigned short ELEMENT_NODE = 1; const unsigned short <a class='noxref' href='core.html#Node-ELEMENT_NODE'>ELEMENT_NODE</a> = 1;
const unsigned short ATTRIBUTE_NODE = 2; const unsigned short <a class='noxref' href='core.html#Node-ATTRIBUTE_NODE'>ATTRIBUTE_NODE</a> = 2;
const unsigned short TEXT_NODE = 3; const unsigned short <a class='noxref' href='core.html#Node-TEXT_NODE'>TEXT_NODE</a> = 3;
const unsigned short CDATA_SECTION_NODE = 4; const unsigned short <a class='noxref' href='core.html#Node-CDATA_SECTION_NODE'>CDATA_SECTION_NODE</a> = 4;
const unsigned short ENTITY_REFERENCE_NODE = 5; const unsigned short <a class='noxref' href='core.html#Node-ENTITY_REFERENCE_NODE'>ENTITY_REFERENCE_NODE</a> = 5;
const unsigned short ENTITY_NODE = 6; const unsigned short <a class='noxref' href='core.html#Node-ENTITY_NODE'>ENTITY_NODE</a> = 6;
const unsigned short PROCESSING_INSTRUCTION_NODE = 7; const unsigned short <a class='noxref' href='core.html#Node-PROCESSING_INSTRUCTION_NODE'>PROCESSING_INSTRUCTION_NODE</a> = 7;
const unsigned short COMMENT_NODE = 8; const unsigned short <a class='noxref' href='core.html#Node-COMMENT_NODE'>COMMENT_NODE</a> = 8;
const unsigned short DOCUMENT_NODE = 9; const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_NODE'>DOCUMENT_NODE</a> = 9;
const unsigned short DOCUMENT_TYPE_NODE = 10; const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_TYPE_NODE'>DOCUMENT_TYPE_NODE</a> = 10;
const unsigned short DOCUMENT_FRAGMENT_NODE = 11; const unsigned short <a class='noxref' href='core.html#Node-DOCUMENT_FRAGMENT_NODE'>DOCUMENT_FRAGMENT_NODE</a> = 11;
const unsigned short NOTATION_NODE = 12; const unsigned short <a class='noxref' href='core.html#Node-NOTATION_NODE'>NOTATION_NODE</a> = 12;
readonly attribute DOMString nodeName; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-F68D095'>nodeName</a>;
attribute DOMString nodeValue; attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-F68D080'>nodeValue</a>;
// raises(DOMException) on setting // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// raises(DOMException) on retrieval // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on retrieval
readonly attribute unsigned short nodeType; readonly attribute unsigned short <a class='noxref' href='core.html#ID-111237558'>nodeType</a>;
readonly attribute Node parentNode; readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-1060184317'>parentNode</a>;
readonly attribute NodeList childNodes; readonly attribute <a class='noxref' href='core.html#ID-536297177'>NodeList</a> <a class='noxref' href='core.html#ID-1451460987'>childNodes</a>;
readonly attribute Node firstChild; readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-169727388'>firstChild</a>;
readonly attribute Node lastChild; readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-61AD09FB'>lastChild</a>;
readonly attribute Node previousSibling; readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-640FB3C8'>previousSibling</a>;
readonly attribute Node nextSibling; readonly attribute <a class='noxref' href='core.html#ID-1950641247'>Node</a> <a class='noxref' href='core.html#ID-6AC54C2F'>nextSibling</a>;
readonly attribute NamedNodeMap attributes; 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: // Modified in DOM Level 2:
readonly attribute Document ownerDocument; readonly attribute <a class='noxref' href='core.html#i-Document'>Document</a> <a class='noxref' href='core.html#node-ownerDoc'>ownerDocument</a>;
Node insertBefore(in Node newChild, // Modified in DOM Level 3:
in Node refChild) <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,
raises(DOMException); in <a class='noxref' href='core.html#ID-1950641247'>Node</a> refChild)
Node replaceChild(in Node newChild, raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
in Node oldChild) // Modified in DOM Level 3:
raises(DOMException); <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,
Node removeChild(in Node oldChild) in <a class='noxref' href='core.html#ID-1950641247'>Node</a> oldChild)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Node appendChild(in Node newChild) // Modified in DOM Level 3:
raises(DOMException); <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)
boolean hasChildNodes(); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Node cloneNode(in boolean deep); // Modified in DOM Level 3:
// Modified in DOM Level 2: <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)
void normalize(); 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: // Introduced in DOM Level 2:
boolean isSupported(in DOMString feature, 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 DOMString version); in <a class='noxref' href='core.html#DOMString'>DOMString</a> version);
// Introduced in DOM Level 2: // 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: // Introduced in DOM Level 2:
attribute DOMString prefix; attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-NodeNSPrefix'>prefix</a>;
// raises(DOMException) on setting // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 2: // 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: // 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 { interface <a class='noxref' href='core.html#ID-536297177'>NodeList</a> {
Node item(in unsigned long index); <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 length; readonly attribute unsigned long <a class='noxref' href='core.html#ID-203510337'>length</a>;
}; };
interface NamedNodeMap { interface <a class='noxref' href='core.html#ID-1780488922'>NamedNodeMap</a> {
Node getNamedItem(in DOMString name); <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);
Node setNamedItem(in Node arg) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Node removeNamedItem(in DOMString name) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Node item(in unsigned long index); <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 length; readonly attribute unsigned long <a class='noxref' href='core.html#ID-6D0FB19E'>length</a>;
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI, <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 DOMString localName); 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: // Introduced in DOM Level 2:
Node setNamedItemNS(in Node arg) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Node removeNamedItemNS(in DOMString namespaceURI, <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 DOMString localName) in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
}; };
interface CharacterData : Node { interface <a class='noxref' href='core.html#ID-FF21A306'>CharacterData</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
attribute DOMString data; attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-72AB8359'>data</a>;
// raises(DOMException) on setting // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// raises(DOMException) on retrieval // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on retrieval
readonly attribute unsigned long length; readonly attribute unsigned long <a class='noxref' href='core.html#ID-7D61178C'>length</a>;
DOMString substringData(in unsigned long offset, <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) in unsigned long count)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void appendData(in DOMString arg) void <a class='noxref' href='core.html#ID-32791A2F'>appendData</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void insertData(in unsigned long offset, void <a class='noxref' href='core.html#ID-3EDB695F'>insertData</a>(in unsigned long offset,
in DOMString arg) in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void deleteData(in unsigned long offset, void <a class='noxref' href='core.html#ID-7C603781'>deleteData</a>(in unsigned long offset,
in unsigned long count) in unsigned long count)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void replaceData(in unsigned long offset, void <a class='noxref' href='core.html#ID-E5CBA7FB'>replaceData</a>(in unsigned long offset,
in unsigned long count, in unsigned long count,
in DOMString arg) in <a class='noxref' href='core.html#DOMString'>DOMString</a> arg)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
}; };
interface Attr : Node { interface <a class='noxref' href='core.html#ID-637646024'>Attr</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DOMString name; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-1112119403'>name</a>;
readonly attribute boolean specified; readonly attribute boolean <a class='noxref' href='core.html#ID-862529273'>specified</a>;
attribute DOMString value; attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-221662474'>value</a>;
// raises(DOMException) on setting // raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>) on setting
// Introduced in DOM Level 2: // 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 { interface <a class='noxref' href='core.html#ID-745549614'>Element</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DOMString tagName; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-104682815'>tagName</a>;
DOMString getAttribute(in DOMString name); <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 setAttribute(in DOMString name, void <a class='noxref' href='core.html#ID-F68F082'>setAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name,
in DOMString value) in <a class='noxref' href='core.html#DOMString'>DOMString</a> value)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
void removeAttribute(in DOMString name) void <a class='noxref' href='core.html#ID-6D6AC0F9'>removeAttribute</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> name)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Attr getAttributeNode(in DOMString name); <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);
Attr setAttributeNode(in Attr newAttr) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Attr removeAttributeNode(in Attr oldAttr) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
NodeList getElementsByTagName(in DOMString name); <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: // Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI, <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 DOMString localName); 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: // Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI, void <a class='noxref' href='core.html#ID-ElSetAttrNS'>setAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in DOMString qualifiedName, in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName,
in DOMString value) in <a class='noxref' href='core.html#DOMString'>DOMString</a> value)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
void removeAttributeNS(in DOMString namespaceURI, void <a class='noxref' href='core.html#ID-ElRemAtNS'>removeAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in DOMString localName) in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI, <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 DOMString localName); 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: // Introduced in DOM Level 2:
Attr setAttributeNodeNS(in Attr newAttr) <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(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI, <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 DOMString localName); 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: // 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: // Introduced in DOM Level 2:
boolean hasAttributeNS(in DOMString namespaceURI, boolean <a class='noxref' href='core.html#ID-ElHasAttrNS'>hasAttributeNS</a>(in <a class='noxref' href='core.html#DOMString'>DOMString</a> namespaceURI,
in DOMString localName); 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 { interface <a class='noxref' href='core.html#ID-1312295772'>Text</a> : <a class='noxref' href='core.html#ID-FF21A306'>CharacterData</a> {
Text splitText(in unsigned long offset) <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(DOMException); 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 { // Introduced in DOM Level 3:
readonly attribute DOMString name; interface <a class='noxref' href='core.html#UserDataHandler'>UserDataHandler</a> {
readonly attribute NamedNodeMap entities;
readonly attribute NamedNodeMap notations; // 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: // 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: // 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: // 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 { interface <a class='noxref' href='core.html#ID-5431D1B9'>Notation</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DOMString publicId; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-54F2B4D0'>publicId</a>;
readonly attribute DOMString systemId; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-E8AAB1D0'>systemId</a>;
}; };
interface Entity : Node { interface <a class='noxref' href='core.html#ID-527DCFF2'>Entity</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DOMString publicId; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-D7303025'>publicId</a>;
readonly attribute DOMString systemId; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-D7C29F3E'>systemId</a>;
readonly attribute DOMString notationName; 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 { interface <a class='noxref' href='core.html#ID-1004215813'>ProcessingInstruction</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DOMString target; readonly attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-1478689192'>target</a>;
attribute DOMString data; attribute <a class='noxref' href='core.html#DOMString'>DOMString</a> <a class='noxref' href='core.html#ID-837822393'>data</a>;
// raises(DOMException) on setting // 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 { interface <a class='noxref' href='core.html#i-Document'>Document</a> : <a class='noxref' href='core.html#ID-1950641247'>Node</a> {
readonly attribute DocumentType doctype; // Modified in DOM Level 3:
readonly attribute DOMImplementation implementation; readonly attribute <a class='noxref' href='core.html#ID-412266927'>DocumentType</a> <a class='noxref' href='core.html#ID-B63ED1A31'>doctype</a>;
readonly attribute Element documentElement; readonly attribute <a class='noxref' href='core.html#ID-102161490'>DOMImplementation</a> <a class='noxref' href='core.html#ID-1B793EBA'>implementation</a>;
Element createElement(in DOMString tagName) readonly attribute <a class='noxref' href='core.html#ID-745549614'>Element</a> <a class='noxref' href='core.html#ID-87CD092'>documentElement</a>;
raises(DOMException); <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)
DocumentFragment createDocumentFragment(); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
Text createTextNode(in DOMString data); <a class='noxref' href='core.html#ID-B63ED1A3'>DocumentFragment</a> <a class='noxref' href='core.html#ID-35CB04B5'>createDocumentFragment</a>();
Comment createComment(in DOMString data); <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);
CDATASection createCDATASection(in DOMString 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);
raises(DOMException); <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)
ProcessingInstruction createProcessingInstruction(in DOMString target, raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
in DOMString data) <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,
raises(DOMException); in <a class='noxref' href='core.html#DOMString'>DOMString</a> data)
Attr createAttribute(in DOMString name) raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
raises(DOMException); <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)
EntityReference createEntityReference(in DOMString name) raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
raises(DOMException); <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)
NodeList getElementsByTagName(in DOMString tagname); 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: // 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) in boolean deep)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Element createElementNS(in DOMString namespaceURI, <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 DOMString qualifiedName) in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Attr createAttributeNS(in DOMString namespaceURI, <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 DOMString qualifiedName) in <a class='noxref' href='core.html#DOMString'>DOMString</a> qualifiedName)
raises(DOMException); raises(<a class='noxref' href='core.html#ID-17189187'>DOMException</a>);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI, <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 DOMString localName); in <a class='noxref' href='core.html#DOMString'>DOMString</a> localName);
// Introduced in DOM Level 2: // 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> </pre>
</div> </div>
</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>
<!-- div1 idl --> [<a title='Accessing code point boundaries' href='accessing-code-point-boundaries.html'><strong><u>p</u></strong>revious</a>]
<div class='navbar' align='center'> &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'
<hr title='Navigation area separator' /> href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<a accesskey='p' href='i18n.html'>previous</a> &nbsp; <a </map></div>
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>
</body> </body>
</html> </html>

View File

@ -1,16 +1,16 @@
/* /*
* Copyright (c) 2000 World Wide Web Consortium, * Copyright (c) 2004 World Wide Web Consortium,
* (Massachusetts Institute of Technology, Institut National de *
* Recherche en Informatique et en Automatique, Keio University). All * (Massachusetts Institute of Technology, European Research Consortium for
* Rights Reserved. This program is distributed under the W3C's Software * Informatics and Mathematics, Keio University). All Rights Reserved. This
* Intellectual Property License. This program is distributed in the * work is distributed under the W3C(r) Software License [1] in the hope that
* hope that it will be useful, but WITHOUT ANY WARRANTY; without even * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* PURPOSE. *
* See W3C License http://www.w3.org/Consortium/Legal/ for more details. * [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_ #ifndef _DOM_IDL_
#define _DOM_IDL_ #define _DOM_IDL_
@ -23,11 +23,19 @@ module dom
typedef unsigned long long DOMTimeStamp; typedef unsigned long long DOMTimeStamp;
typedef any DOMUserData;
typedef Object DOMObject;
interface DOMImplementation;
interface DocumentType; interface DocumentType;
interface Document; interface Document;
interface NodeList; interface NodeList;
interface NamedNodeMap; interface NamedNodeMap;
interface UserDataHandler;
interface Element; interface Element;
interface TypeInfo;
interface DOMLocator;
exception DOMException { exception DOMException {
unsigned short code; unsigned short code;
@ -53,8 +61,41 @@ module dom
const unsigned short NAMESPACE_ERR = 14; const unsigned short NAMESPACE_ERR = 14;
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
const unsigned short INVALID_ACCESS_ERR = 15; 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 { interface DOMImplementation {
boolean hasFeature(in DOMString feature, boolean hasFeature(in DOMString feature,
in DOMString version); in DOMString version);
@ -68,6 +109,9 @@ module dom
in DOMString qualifiedName, in DOMString qualifiedName,
in DocumentType doctype) in DocumentType doctype)
raises(DOMException); raises(DOMException);
// Introduced in DOM Level 3:
DOMObject getFeature(in DOMString feature,
in DOMString version);
}; };
interface Node { interface Node {
@ -101,19 +145,23 @@ module dom
readonly attribute NamedNodeMap attributes; readonly attribute NamedNodeMap attributes;
// Modified in DOM Level 2: // Modified in DOM Level 2:
readonly attribute Document ownerDocument; readonly attribute Document ownerDocument;
// Modified in DOM Level 3:
Node insertBefore(in Node newChild, Node insertBefore(in Node newChild,
in Node refChild) in Node refChild)
raises(DOMException); raises(DOMException);
// Modified in DOM Level 3:
Node replaceChild(in Node newChild, Node replaceChild(in Node newChild,
in Node oldChild) in Node oldChild)
raises(DOMException); raises(DOMException);
// Modified in DOM Level 3:
Node removeChild(in Node oldChild) Node removeChild(in Node oldChild)
raises(DOMException); raises(DOMException);
// Modified in DOM Level 3:
Node appendChild(in Node newChild) Node appendChild(in Node newChild)
raises(DOMException); raises(DOMException);
boolean hasChildNodes(); boolean hasChildNodes();
Node cloneNode(in boolean deep); Node cloneNode(in boolean deep);
// Modified in DOM Level 2: // Modified in DOM Level 3:
void normalize(); void normalize();
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
boolean isSupported(in DOMString feature, boolean isSupported(in DOMString feature,
@ -128,6 +176,44 @@ module dom
readonly attribute DOMString localName; readonly attribute DOMString localName;
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
boolean hasAttributes(); 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 { interface NodeList {
@ -145,7 +231,8 @@ module dom
readonly attribute unsigned long length; readonly attribute unsigned long length;
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Node getNamedItemNS(in DOMString namespaceURI, Node getNamedItemNS(in DOMString namespaceURI,
in DOMString localName); in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Node setNamedItemNS(in Node arg) Node setNamedItemNS(in Node arg)
raises(DOMException); raises(DOMException);
@ -186,6 +273,10 @@ module dom
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
readonly attribute Element ownerElement; 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 { interface Element : Node {
@ -204,7 +295,8 @@ module dom
NodeList getElementsByTagName(in DOMString name); NodeList getElementsByTagName(in DOMString name);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
DOMString getAttributeNS(in DOMString namespaceURI, DOMString getAttributeNS(in DOMString namespaceURI,
in DOMString localName); in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
void setAttributeNS(in DOMString namespaceURI, void setAttributeNS(in DOMString namespaceURI,
in DOMString qualifiedName, in DOMString qualifiedName,
@ -216,28 +308,129 @@ module dom
raises(DOMException); raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Attr getAttributeNodeNS(in DOMString namespaceURI, Attr getAttributeNodeNS(in DOMString namespaceURI,
in DOMString localName); in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Attr setAttributeNodeNS(in Attr newAttr) Attr setAttributeNodeNS(in Attr newAttr)
raises(DOMException); raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
NodeList getElementsByTagNameNS(in DOMString namespaceURI, NodeList getElementsByTagNameNS(in DOMString namespaceURI,
in DOMString localName); in DOMString localName)
raises(DOMException);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
boolean hasAttribute(in DOMString name); boolean hasAttribute(in DOMString name);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
boolean hasAttributeNS(in DOMString namespaceURI, 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 { interface Text : CharacterData {
Text splitText(in unsigned long offset) Text splitText(in unsigned long offset)
raises(DOMException); 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 { 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 { interface CDATASection : Text {
}; };
@ -262,6 +455,12 @@ module dom
readonly attribute DOMString publicId; readonly attribute DOMString publicId;
readonly attribute DOMString systemId; readonly attribute DOMString systemId;
readonly attribute DOMString notationName; 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 { interface EntityReference : Node {
@ -278,6 +477,7 @@ module dom
}; };
interface Document : Node { interface Document : Node {
// Modified in DOM Level 3:
readonly attribute DocumentType doctype; readonly attribute DocumentType doctype;
readonly attribute DOMImplementation implementation; readonly attribute DOMImplementation implementation;
readonly attribute Element documentElement; readonly attribute Element documentElement;
@ -313,6 +513,34 @@ module dom
in DOMString localName); in DOMString localName);
// Introduced in DOM Level 2: // Introduced in DOM Level 2:
Element getElementById(in DOMString elementId); 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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>What is the Document Object Model?</title> <title>What is the Document Object Model?</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='core.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='core.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='copyright-notice.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='copyright-notice.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='core.html'>next</a> &nbsp; <a accesskey='c' [<a title='W3C Copyright Notices and Licenses' accesskey='p' href='copyright-notice.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="Introduction" name='Introduction'></a> <div class='div1'><a name='Introduction'></a>
<h1 id='Introduction-h1' class='div1'>What is the Document Object Model?</h1>
<h1 id='Introduction-h1' class='div1'>What is the Document Object
Model?</h1>
<dl> <dl>
<dt><i>Editors</i></dt> <dt><i>Editors</i>:
</dt><dd>Philippe Le H&#xe9;garet, W3C</dd>
<dd>Philippe Le H&eacute;garet, W3C</dd> <dd>Lauren Wood, SoftQuad Software Inc. (for DOM Level 2)</dd>
<dd>Lauren Wood, SoftQuad Software Inc., WG Chair</dd>
<dd>Jonathan Robie, Texcel (for DOM Level 1)</dd> <dd>Jonathan Robie, Texcel (for DOM Level 1)</dd>
</dl> </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> <h2 id='ID-E7C3082-h2' class='div2'>Introduction</h2>
<p>The Document Object Model (DOM) is an application programming interface
<p>The Document Object Model (DOM) is an application programming (<a href='glossary.html#dt-API'>API</a>) for valid <a href='glossary.html#dt-HTML'>HTML</a> and
interface (<a href='glossary.html#dt-API'><em>API</em></a>) for well-formed <a href='glossary.html#dt-XML'>XML</a> documents. It defines the logical structure of documents and
valid <a href='glossary.html#dt-HTML'><em>HTML</em></a> and the way a document is accessed and manipulated. In the DOM specification,
well-formed <a href='glossary.html#dt-XML'><em>XML</em></a> the term "document" is used in the broad sense - increasingly, XML is being used as a
documents. It defines the logical structure of documents and the way of representing many different kinds of information that may
way a document is accessed and manipulated. In the DOM be stored in diverse systems, and much of this would traditionally
specification, the term "document" is used in the broad sense - be seen as data rather than as documents. Nevertheless, XML presents
increasingly, XML is being used as a way of representing many this data as documents, and the DOM may be used to manage this data.<p>With the Document
different kinds of information that may be stored in diverse Object Model, programmers can build documents, navigate
systems, and much of this would traditionally be seen as data their structure, and add, modify, or delete elements and content.
rather than as documents. Nevertheless, XML presents this data as Anything found in an HTML or XML document can be accessed,
documents, and the DOM may be used to manage this data.</p> 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
<p>With the Document Object Model, programmers can build documents, the XML internal and external subsets have not yet been specified.<p>As a W3C specification, one important objective for the Document
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 Object Model is to provide a standard programming interface that
can be used in a wide variety of environments and <a can be used in a wide variety of environments and <a href='glossary.html#dt-application'>applications</a>.
href='glossary.html#dt-application'><em>applications</em></a>. The The DOM is designed to be used with any programming
DOM is designed to be used with any programming language. In order language. In order to provide a precise, language-independent
to provide a precise, language-independent specification of the DOM specification of the DOM interfaces, we have chosen to define
interfaces, we have chosen to define the specifications in Object 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
Management Group (OMG) IDL [<a class='noxref' <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
href='references.html#OMGIDL'>OMGIDL</a>], as defined in the CORBA language based on JavaScript [<cite><a class='noxref informative' href='references.html#JavaScript'>JavaScript</a></cite>] and JScript
2.3.1 specification [<a class='noxref' [<cite><a class='noxref informative' href='references.html#JScript'>JScript</a></cite>]). Because of language
href='references.html#CORBA'>CORBA</a>]. In addition to the OMG IDL binding restrictions, a mapping has to be applied between the OMG
specification, we provide <a IDL and the programming language in used. For example, while the
href='glossary.html#dt-lang-binding'><em>language bindings</em></a> DOM uses IDL attributes in the definition of interfaces, Java does
for Java [<a class='noxref' href='references.html#Java'>Java</a>] not allow interfaces to contain attributes:</p>
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>
<div class='code-block'> <div class='code-block'>
<pre> <pre>// example 1: removing the first child of an element using ECMAScript
&lt;TABLE&gt; mySecondTrElement.removeChild(mySecondTrElement.firstChild);
&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 2: removing the first child of an element using Java
</div> mySecondTrElement.removeChild(mySecondTrElement.getFirstChild());</pre>
</div><p><b>Note:</b> OMG IDL is used only as a language-independent and
<p>A graphical representation of the DOM of the example table implementation-neutral way to specify <a href='glossary.html#dt-interface'>interfaces</a>. Various other
is:<br /> 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> </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> </div>
<p>In the DOM, documents have a logical structure which is very <p>
much like a tree; to be more precise, which is like a "forest" or An example of DOM manipulation using ECMAScript would be:
"grove", which can contain more than one tree. Each document </p>
contains zero or one doctype nodes, one root element node, and zero <div class='code-block'>
or more comments or processing instructions; the root element <pre>// access the tbody element from the table element
serves as the root of the element tree for the document. However, var myTbodyElement = myTableElement.firstChild;
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><b>Note:</b> There may be some variations depending on the // access its second tr element
parser being used to build the DOM. For instance, the DOM may not // The list of children starts at 0 (and not 1).
contain whitespaces in element content if the parser discards var mySecondTrElement = myTbodyElement.childNodes[1];
them.</p>
<p>The name "Document Object Model" was chosen because it is an "<a // remove its first td element
href='glossary.html#dt-object-model'><em>object model</em></a>" in mySecondTrElement.removeChild(mySecondTrElement.firstChild);
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>
<ul> // change the text content of the remaining td element
<li>the interfaces and objects used to represent and manipulate a mySecondTrElement.firstChild.firstChild.data = "Peter";</pre>
document</li> </div><p>In the DOM, documents have a logical
structure which is very much like a tree; to be more precise, which is
<li>the semantics of these interfaces and objects - including both like a "forest" or "grove",
behavior and attributes</li> which can contain more than one tree. Each document contains zero or one
doctype nodes, one document element node,
<li>the relationships and collaborations among these interfaces and and zero or more comments
objects</li> 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> </ul>
<p>The structure of SGML documents has traditionally been <p>The structure of SGML documents has traditionally been
represented by an abstract <a represented by an abstract <a href='glossary.html#dt-datamodel'>data model</a>, not by an object model.
href='glossary.html#dt-datamodel'><em>data model</em></a>, not by In an abstract <a href='glossary.html#dt-datamodel'>data model</a>, the model is centered around the
an object model. In an abstract <a data. In object oriented programming languages, the data itself
href='glossary.html#dt-datamodel'><em>data model</em></a>, the is encapsulated in objects that hide the data, protecting it
model is centered around the data. In object oriented programming from direct external manipulation. The functions associated with
languages, the data itself is encapsulated in objects that hide the these objects determine how the objects may be manipulated, and
data, protecting it from direct external manipulation. The they are part of the object model.</div> <!-- div2 ID-E7C30821 -->
functions associated with these objects determine how the objects <div class='div2'><a name='ID-E7C30822'></a>
may be manipulated, and they are part of the object model.</p> <h2 id='ID-E7C30822-h2' class='div2'>What the Document Object Model is not</h2>
</div> <p>This section is designed to give a more precise understanding
of the DOM by distinguishing it from other
<!-- div2 ID-E7C30821 --> systems that may seem to be like it.<ul>
<div class='div2'><a id="ID-E7C30822" name='ID-E7C30822'></a> <li>
The Document Object Model is not a binary specification.
<h2 id='ID-E7C30822-h2' class='div2'>What the Document Object Model DOM programs written in the same language binding will be
is not</h2> source code compatible across platforms, but the DOM
does not define any form of binary interoperability.</li>
<p>This section is designed to give a more precise understanding of <li>
the DOM by distinguishing it from other systems that may seem to be The Document Object Model is not a way of persisting objects
like it.</p> to XML or HTML. Instead of specifying how objects may be
represented in XML, the DOM specifies how
<ul> XML and HTML documents are represented as objects, so that
<li>The Document Object Model is not a binary specification. DOM they may be used in object oriented programs.</li>
programs written in the same language binding will be source code <li>
compatible across platforms, but the DOM does not define any form The Document Object Model is not a set of data structures;
of binary interoperability.</li> 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,
<li>The Document Object Model is not a way of persisting objects to these are logical relationships defined by the programming
XML or HTML. Instead of specifying how objects may be represented interfaces, not representations of any particular internal
in XML, the DOM specifies how XML and HTML documents are data structures.</li>
represented as objects, so that they may be used in object oriented <li>
programs.</li> The Document Object Model does not define what information in a
document is relevant or how information in a document is structured. For
<li>The Document Object Model is not a set of data structures; it 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>
is an <a href='glossary.html#dt-object-model'><em>object <li>
model</em></a> that specifies interfaces. Although this document The Document Object Model, despite its name, is not a
contains diagrams showing parent/child relationships, these are competitor to the Component Object Model [<cite><a class='noxref informative' href='references.html#COM'>COM</a></cite>]. COM, like
logical relationships defined by the programming interfaces, not CORBA, is a language independent way to specify interfaces and
representations of any particular internal data structures.</li> objects; the DOM is a set of interfaces and
objects designed for managing HTML and XML documents. The DOM
<li>The Document Object Model does not define what information in a may be implemented using language-independent systems like COM
document is relevant or how information in a document is or CORBA; it may also be implemented using language-specific
structured. For XML, this is specified by the W3C XML Information bindings like the Java or ECMAScript bindings specified in
Set [<a class='noxref' href='references.html#InfoSet'>Infoset</a>]. this document.</li>
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>
</ul> </ul>
</div> </div> <!-- div2 ID-E7C30822 -->
<div class='div2'><a name='ID-E7C30823'></a>
<!-- div2 ID-E7C30822 --> <h2 id='ID-E7C30823-h2' class='div2'>Where the Document Object Model came from</h2>
<div class='div2'><a id="ID-E7C30823" name='ID-E7C30823'></a> <p>The DOM originated as a specification to
allow JavaScript scripts and Java programs to be portable among
<h2 id='ID-E7C30823-h2' class='div2'>Where the Document Object Web browsers. "Dynamic HTML" was the immediate ancestor of the
Model came from</h2> Document Object Model, and it was originally thought of largely
in terms of browsers. However, when the DOM
<p>The DOM originated as a specification to allow JavaScript Working Group was formed at W3C, it was also joined by vendors in other
scripts and Java programs to be portable among Web browsers. domains, including HTML or XML editors and document
"Dynamic HTML" was the immediate ancestor of the Document Object repositories. Several of these vendors had worked with SGML
Model, and it was originally thought of largely in terms of before XML was developed; as a result, the DOM
browsers. However, when the DOM Working Group was formed at W3C, it has been influenced by SGML Groves and the HyTime standard. Some
was also joined by vendors in other domains, including HTML or XML of these vendors had also developed their own object models for
editors and document repositories. Several of these vendors had documents in order to provide an API for SGML/XML
worked with SGML before XML was developed; as a result, the DOM has editors or document repositories, and these object models have
been influenced by SGML Groves and the HyTime standard. Some of also influenced the DOM.</div> <!-- div2 ID-E7C30823 -->
these vendors had also developed their own object models for <div class='div2'><a name='ID-E7C30824'></a>
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>
<h2 id='ID-E7C30824-h2' class='div2'>Entities and the DOM Core</h2> <h2 id='ID-E7C30824-h2' class='div2'>Entities and the DOM Core</h2>
<p>In the fundamental DOM interfaces, there are no objects representing
<p>In the fundamental DOM interfaces, there are no objects entities. Numeric character references, and references to the
representing entities. Numeric character references, and references pre-defined entities in HTML and XML, are replaced by the
to the pre-defined entities in HTML and XML, are replaced by the single character that makes up the entity's replacement.
single character that makes up the entity's replacement. For For example, in:
example, in:</p> </p>
<div class='code-block'> <div class='code-block'>
<pre> <pre>
&lt;p&gt;This is a dog &amp;amp; a cat&lt;/p&gt; &lt;p&gt;This is a dog &amp;amp; a cat&lt;/p&gt;
</pre> </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>
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> </div>
<p>the "&amp;amp;" will be replaced by the character "&amp;", and <p>
the text in the P element will form a single continuous sequence of A DOM implementation can then implement one (i.e. only the Core
characters. Since numeric character references and pre-defined module) or more modules depending on the host application. A Web
entities are not recognized as such in CDATA sections, or in the user agent is very likely to implement the "MouseEvents" module,
SCRIPT and STYLE elements in HTML, they are not replaced by the while a server-side application will have no use of this module
single character they appear to refer to. If the example above were and will probably not implement it.
enclosed in a CDATA section, the "&amp;amp;" would not be replaced </div> <!-- div2 DOMArchitecture -->
by "&amp;"; neither would the &lt;p&gt; be recognized as a start <div class='div2'><a name='ID-Conformance'></a>
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>
<h2 id='ID-Conformance-h2' class='div2'>Conformance</h2> <h2 id='ID-Conformance-h2' class='div2'>Conformance</h2>
<p>
<p>This section explains the different levels of conformance to DOM This section explains the different levels of conformance to DOM Level 3.
Level 2. DOM Level 2 consists of 14 modules. It is possible to DOM Level 3 consists of 16 modules. It is possible to conform to DOM
conform to DOM Level 2, or to a DOM Level 2 module.</p> Level 3, or to a DOM Level 3 module.
<p>
<p>An implementation is DOM Level 2 conformant if it supports the An implementation is DOM Level 3 conformant if it supports the Core
Core module defined in this document (see <a module defined in this document (see <a href='core.html#ID-BBACDC08'>Fundamental Interfaces: Core Module</a>). An
href='core.html#ID-BBACDC08'>Fundamental Interfaces</a>). An implementation conforms to a DOM Level 3 module if it supports all the
implementation conforms to a DOM Level 2 module if it supports all interfaces for that module and the associated semantics.
the interfaces for that module and the associated semantics.</p> <p>
Here is the complete list of DOM Level 3.0 modules and the features used
<p>Here is the complete list of DOM Level 2.0 modules and the by them. Feature names are case-insensitive.
features used by them. Feature names are case-insensitive.</p>
<dl> <dl>
<dt><b>Core module</b></dt> <dt>Core module</dt>
<dd>
<dd>defines the feature <a defines the feature <a class='normative' href='core.html#ID-BBACDC08'><em>"Core"</em></a>.
href='core.html#ID-BBACDC08'><em>"Core"</em></a>.</dd> </dd><dt>XML module</dt>
<dd>
<dt><b>XML module</b></dt> 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 <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>
href='core.html#ID-E067D597'><em>"XML"</em></a>.</dd> <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>
<dt><b>HTML module</b></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 "HTML". (see [<a class='noxref' <dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"TextEvents"</em></a> in
href='references.html#DOMHTML-inf'>DOM Level 2 HTML</a>]). [<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
<p><b>Note:</b> At time of publication, this DOM Level 2 module is [<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Mutation Events module</dt>
not yet a W3C Recommendation.</p> <dd>defines the feature <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-Events/events.html'><em>"MutationEvents"</em></a> in
</dd> [<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
<dt><b>Views module</b></dt> [<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
<dd>defines the feature <a [<cite><a class='noxref informative' href='references.html#DOMEvents'>DOM Level 3 Events</a></cite>].</dd><dt>Load and Save module</dt>
href='http://www.w3.org/TR/DOM-Level-2-Views/views.html'><em>"Views"</em></a> <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>
in [<a class='noxref' href='references.html#DOMViews-inf'>DOM Level <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>
2 Views</a>].</dd> 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>
<dt><b>Style Sheets module</b></dt> 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
<dd>defines the feature <a [<cite><a class='noxref informative' href='references.html#DOMXPath'>DOM Level 3 XPath</a></cite>].</dd></dl>
href='http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html'><em>"StyleSheets"</em></a> <p>
in [<a class='noxref' href='references.html#DOMStyleSheets-inf'>DOM A DOM implementation must not return <code>true</code> to the
Level 2 Style Sheets</a>].</dd> <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
<dt><b>CSS module</b></dt> module. The <code>version</code> number for all features used in DOM
Level 3.0 is <code>"3.0"</code>.
<dd>defines the feature <a </div> <!-- div2 ID-Conformance -->
href='http://www.w3.org/TR/DOM-Level-2-Style/css.html'><em>"CSS"</em></a> <div class='div2'><a name='ID-E7C30826'></a>
in [<a class='noxref' href='references.html#DOMCSS-inf'>DOM Level 2 <h2 id='ID-E7C30826-h2' class='div2'>DOM Interfaces and DOM Implementations</h2>
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>The DOM specifies interfaces which may be used to manage XML or <p>The DOM specifies interfaces which may be used to manage XML or
HTML documents. It is important to realize that these interfaces HTML documents. It is important to realize that these interfaces
are an abstraction - much like "abstract base classes" in C++, they are an abstraction - much like "abstract base classes" in C++,
are a means of specifying a way to access and manipulate an they are a means of specifying a way to access and manipulate an
application's internal representation of a document. Interfaces do application's internal representation of a document. Interfaces
not imply a particular concrete implementation. Each DOM do not imply a particular concrete
application is free to maintain documents in any convenient implementation. Each DOM application is free to maintain
representation, as long as the interfaces shown in this documents in any convenient representation, as long as the
specification are supported. Some DOM implementations will be interfaces shown in this specification are supported. Some
existing programs that use the DOM interfaces to access software DOM implementations will be existing programs that use the
written long before the DOM specification existed. Therefore, the DOM interfaces to access software written long before the
DOM is designed to avoid implementation dependencies; in DOM specification existed. Therefore, the DOM is designed
particular,</p> to avoid implementation dependencies; in particular,<ol>
<li>
<ol> Attributes defined in the IDL do not imply concrete
<li>Attributes defined in the IDL do not imply concrete objects objects which must have specific data members - in the
which must have specific data members - in the language bindings, language bindings, they are translated to a pair of
they are translated to a pair of get()/set() functions, not to a get()/set() functions, not to a data member. Read-only
data member. Read-only attributes have only a get() function in the attributes have only a get() function in the language
language bindings.</li> bindings. </li>
<li>
<li>DOM applications may provide additional interfaces and objects DOM applications may provide additional interfaces
not found in this specification and still be considered DOM and objects not found in this specification and still be
conformant.</li> considered DOM conformant.</li>
<li>
<li>Because we specify interfaces and not the actual objects that Because we specify interfaces and not the actual
are to be created, the DOM cannot know what constructors to call objects that are to be created, the DOM cannot know what
for an implementation. In general, DOM users call the createX() constructors to call for an implementation. In general,
methods on the Document class to create document structures, and DOM users call the createX() methods on the Document
DOM implementations create their own internal representations of class to create document structures, and DOM
these structures in their implementations of the createX() implementations create their own internal representations
functions.</li> of these structures in their implementations of the
createX() functions.
</li>
</ol> </ol>
<p>
<p>The Level 1 interfaces were extended to provide both Level 1 and The Level 2 interfaces were extended to provide both Level 2 and Level 3
Level 2 functionality.</p> functionality.
<p>
<p>DOM implementations in languages other than Java or ECMAScript DOM implementations in languages other than Java or ECMAScript may choose
may choose bindings that are appropriate and natural for their bindings that are appropriate and natural for their language and run time
language and run time environment. For example, some systems may environment. For example, some systems may need to create a Document3
need to create a Document2 class which inherits from Document and class which inherits from a Document class and contains the new methods
contains the new methods and attributes.</p> 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'>
<p>DOM Level 2 does not specify multithreading mechanisms.</p> <map id='navbar-bottom' name='navbar-bottom' title='Navigation Bar'><hr title='Navigation area separator'><p>
</div> [<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'
<!-- div2 ID-E7C30826 --></div> href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
</map></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>
</body> </body>
</html> </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" <!DOCTYPE html PUBLIC
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "-//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> <head>
<title>References</title> <title>References</title>
<link rel='stylesheet' type='text/css' href='./spec.css' /> <link rel='stylesheet' type='text/css' href='./spec.css'>
<link rel='stylesheet' type='text/css' href='W3C-REC.css' /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel='next' href='def-index.html' /> <link rel='stylesheet' type='text/css' href='W3C-REC.css'>
<link rel='contents' href='Overview.html#contents' /> <link rel='next' href='def-index.html'>
<link rel='index' href='def-index.html' /> <link rel='contents' href='Overview.html#contents'>
<link rel='previous' href='glossary.html' /> <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> </head>
<body> <body>
<div class='navbar' align='center'><a accesskey='p' <div class='navbar' style='text-align: center'>
href='glossary.html'>previous</a> &nbsp; <a accesskey='n' <map id='navbar-top' name='navbar-top' title='Navigation Bar'><p>
href='def-index.html'>next</a> &nbsp; <a accesskey='c' [<a title='Glossary' accesskey='p' href='glossary.html'><strong><u>p</u></strong>revious</a>]
href='Overview.html#contents'>contents</a> &nbsp; <a accesskey='i' &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'
href='def-index.html'>index</a> accesskey='i' href='def-index.html'><strong><u>i</u></strong>ndex</a>]</p>
<hr title='Navigation area separator'>
<hr title='Navigation area separator' /> </map></div>
</div>
<div class='noprint' style='text-align: right'> <div class='noprint' style='text-align: right'>
<p style='font-family: monospace;font-size:small'>13 November, <p style='font-family: monospace;font-size:small'>07 April 2004</p>
2000</p>
</div> </div>
<div class='div1'><a id="References" name='References'></a> <div class='div1'><a name='References'></a>
<h1 id='role-references' class='references'>
<h1 id='role-references' class='references'>References</h1> References</h1>
<p class='first'>
<p>For the latest version of any W3C specification please consult For the latest version of any W3C specification please consult the list of
the list of <a href='http://www.w3.org/TR'>W3C Technical <a class='normative' href='http://www.w3.org/TR'>W3C Technical Reports</a> available at
Reports</a> available at http://www.w3.org/TR.</p> http://www.w3.org/TR.
</p>
<div class='div2'><a id="References-Normative" <div class='div2'><a name='References-Normative'></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>
<h2 id='References-Normative-h2' class='adiv2'>H.1: Normative <cite>
references</h2> ECMAScript Language Specification</cite>, Third
Edition. European Computer Manufacturers Association, Standard
<dl> ECMA-262, December 1999. This version of the ECMAScript
<dt><b><a id="Charmod" name='Charmod'>Charmod</a></b></dt> Language is available from http://www.ecma-international.org/.
</dd>
<dd>W3C (World Wide Web Consortium) <a <dt><b>[<a name='ISO10646'>ISO/IEC 10646</a>]</b></dt><dd>
href='http://www.w3.org/TR/1999/WD-charmod-19991129'>Character <cite>
Model for the World Wide Web</a>, November 1999. Available at ISO/IEC 10646-2000 (E). Information technology -
http://www.w3.org/TR/1999/WD-charmod-19991129</dd> Universal Multiple-Octet Coded Character Set (UCS) - Part 1:
Architecture and Basic Multilingual Plane</cite>, as, from
<dt><b><a id="ECMAScript" name='ECMAScript'>ECMAScript</a></b></dt> time to time, amended, replaced by a new edition or expanded by
the addition of new parts. [Geneva]: International Organization
<dd>ECMA (European Computer Manufacturers Association) <a for Standardization, 2000. See also <a class='normative' href='http://www.iso.ch'>International Organization for
href='http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM'>ECMAScript Standardization</a>, available at http://www.iso.ch, for the
Language Specification</a>. Available at latest version.
http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM</dd> </dd>
<dt><b>[<a name='Java'>Java</a>]</b></dt><dd>
<dt><b><a id="HTML40" name='HTML40'>HTML4.0</a></b></dt> <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,
<dd>W3C (World Wide Web Consortium) <a September 1996. Available at http://java.sun.com/docs/books/jls
href='http://www.w3.org/TR/1998/REC-html40-19980424'>HTML 4.0 </dd>
Specification</a>, April 1998. Available at <dt><b>[<a name='OMGIDL'>OMG IDL</a>]</b></dt><dd>
http://www.w3.org/TR/1998/REC-html40-19980424</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
<dt><b><a id="ISO10646" name='ISO10646'>ISO/IEC 10646</a></b></dt> Specification, version 2</a></cite>, Object Management
Group. The latest version of CORBA version 2.0 is available at
<dd>ISO (International Organization for Standardization). ISO/IEC http://www.omg.org/technology/documents/formal/corba_2.htm.
10646-1:2000 (E). Information technology - Universal Multiple-Octet </dd>
Coded Character Set (UCS) - Part 1: Architecture and Basic <dt><b>[<a name='Unicode'>Unicode</a>]</b></dt><dd>
Multilingual Plane. [Geneva]: International Organization for <cite>
Standardization.</dd> The Unicode Standard, Version 4</cite>, ISBN
0-321-18578-1, as updated from time to time by the publication
<dt><b><a id="Java" name='Java'>Java</a></b></dt> 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
<dd>Sun Microsystems Inc. <a http://www.unicode.org/unicode/standard/versions, for latest
href='http://java.sun.com/docs/books/jls'>The Java Language version and additional information on versions of the standard
Specification</a>, James Gosling, Bill Joy, and Guy Steele, and of the Unicode Character Database.
September 1996. Available at </dd>
http://java.sun.com/docs/books/jls</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
<dt><b><a id="Namespaces" name='Namespaces'>Namespaces</a></b></dt> Edition)</a></cite>, T. Bray, J. Paoli, C. M. Sperberg-McQueen,
E. Maler, and F. Yergeau, Editors. World Wide Web Consortium, 4
<dd>W3C (World Wide Web Consortium) <a February 2004, revised 10 February 1998 and 6 October 2000. This
href='http://www.w3.org/TR/1999/REC-xml-names-19990114'>Namespaces 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
in XML</a>, January 1999. Available at 1.0</a> is available at http://www.w3.org/TR/REC-xml.
http://www.w3.org/TR/1999/REC-xml-names-19990114</dd> </dd>
<dt><b>[<a name='XML11'>XML 1.1</a>]</b></dt><dd>
<dt><b><a id="OMGIDL" name='OMGIDL'>OMGIDL</a></b></dt> <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
<dd>OMG (<a href='http://www.omg.org/'>Object Management Group</a>) 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
IDL (Interface Definition Language) defined in The Common Object 1.1</a> is available at http://www.w3.org/TR/xml11.
Request Broker: Architecture and Specification, version 2.3.1, </dd>
October 1999. Available from http://www.omg.org/</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
<dt><b><a id="URIRef" name='URIRef'>RFC2396</a></b></dt> 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
<dd>IETF (Internet Engineering Task Force) <a Base</a> is available at http://www.w3.org/TR/xmlbase.
href='http://www.ietf.org/rfc/rfc2396.txt'>RFC 2396: Uniform </dd>
Resource Identifiers (URI): Generic Syntax</a>, eds. T. <dt><b>[<a name='InfoSet'>XML Information Set</a>]</b></dt><dd>
Berners-Lee, R. Fielding, L. Masinter. August 1998. Available at <cite><a href='http://www.w3.org/TR/2004/REC-xml-infoset-20040204/'>XML Information Set (Second Edition)</a></cite>,
http://www.ietf.org/rfc/rfc2396.txt</dd> J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 4
February 2004, revised 24 October 2001. This version of the XML
<dt><b><a id="Unicode" name='Unicode'>Unicode</a></b></dt> 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
<dd>The Unicode Consortium. <a http://www.w3.org/TR/xml-infoset.
href='http://www.unicode.org/unicode/standard/versions/Unicode3.0.html'> </dd>
The Unicode Standard, Version 3.0.</a>, February 2000. Available at <dt><b>[<a name='Namespaces'>XML Namespaces</a>]</b></dt><dd>
http://www.unicode.org/unicode/standard/versions/Unicode3.0.html.</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
<dt><b><a id="XML" name='XML'>XML</a></b></dt> 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
<dd>W3C (World Wide Web Consortium) <a Namespaces in XML</a> is available at
href='http://www.w3.org/TR/1998/REC-xml-19980210'>Extensible Markup http://www.w3.org/TR/REC-xml-names.
Language (XML) 1.0</a>, February 1998. Available at </dd>
http://www.w3.org/TR/1998/REC-xml-19980210</dd> <dt><b>[<a name='Namespaces11'>XML Namespaces 1.1</a>]</b></dt><dd>
</dl> <cite><a href='http://www.w3.org/TR/2004/REC-xml-names11-20040204/'>Namespaces in XML 1.1</a></cite>, T. Bray, D.
</div> Hollander, A. Layman, and R. Tobin, Editors. World Wide Web
Consortium, 4 February 2004. This version of the Namespaces in
<!-- div2 References-Normative --> XML 1.1 Recommendation is
<div class='div2'><a id="References-Informative" 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
name='References-Informative'></a> Namespaces in XML 1.1</a> is available at
http://www.w3.org/TR/xml-names11/.
<h2 id='References-Informative-h2' class='adiv2'>H.2: Informative </dd>
references</h2> <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,
<dl> D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web
<dt><b><a id="DOMCSS-inf" name='DOMCSS-inf'>DOM Level 2 Consortium, 2 May 2001. This version of the XML Part 1
CSS</a></b></dt> 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
<dd>W3C (World Wide Web Consortium) <a http://www.w3.org/TR/xmlschema-1.
href='http://www.w3.org/TR/DOM-Level-2-Style/css'>Document Object </dd>
Model Level 2 CSS</a>. Available at <dt><b>[<a name='XPointer'>XPointer</a>]</b></dt><dd>
http://www.w3.org/TR/DOM-Level-2-Style/css</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,
<dt><b><a id="COM" name='COM'>COM</a></b></dt> 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
<dd>Microsoft Corp. <a href='http://www.microsoft.com/com'>The XPointer Framework</a> is available at
Component Object Model</a>. Available at http://www.w3.org/TR/xptr-framework/.
http://www.microsoft.com/com</dd> </dd>
</dl></div> <!-- div2 References-Normative -->
<dt><b><a id="CORBA" name='CORBA'>CORBA</a></b></dt> <div class='div2'><a name='References-Informative'></a>
<h2 id='References-Informative-h2' class='adiv2'>K.2 Informative References</h2>
<dd>OMG (<a href='http://www.omg.org/'>Object Management Group</a>) <dl><dt><b>[<a name='c14n'>Canonical XML</a>]</b></dt><dd>
The Common Object Request Broker: Architecture and Specification, <cite><a href='http://www.w3.org/TR/2001/REC-xml-c14n-20010315'>Canonical XML Version 1.0</a></cite>, J. Boyer,
version 2.3.1, October 1999. Available from Editor. World Wide Web Consortium, 15 March 2001. This version
http://www.omg.org/</dd> 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
<dt><b><a id="DOM-Level-1" name='DOM-Level-1'>DOM Level XML</a> is available at http://www.w3.org/TR/xml-c14n.
1</a></b></dt> </dd>
<dt><b>[<a name='COM'>COM</a>]</b></dt><dd>
<dd>W3C (World Wide Web Consortium) <a <cite><a href='http://www.microsoft.com/com/'>The Microsoft Component Object Model</a></cite>,
href='http://www.w3.org/TR/REC-DOM-Level-1'>DOM Level 1 Microsoft Corporation. Available at http://www.microsoft.com/com.
Specification</a>, October 1998. Available at </dd>
http://www.w3.org/TR/REC-DOM-Level-1</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
<dt><b><a id="DOMHTML-inf" name='DOMHTML-inf'>DOM Level 2 Specification, version 2</a></cite>. Object Management
HTML</a></b></dt> Group. The latest version of CORBA version 2.0 is available at
http://www.omg.org/technology/documents/formal/corba_2.htm.
<dd>W3C (World Wide Web Consortium) <a </dd>
href='http://www.w3.org/TR/DOM-Level-2-HTML'>Document Object Model <dt><b>[<a name='DOM-Level-1'>DOM Level 1</a>]</b></dt><dd>
Level 2 HTML Specification</a>. Available at <cite><a href='http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/'>DOM Level 1 Specification</a></cite>, V. Apparao,
http://www.w3.org/TR/DOM-Level-2-HTML</dd> 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
<dt><b><a id="DOMEvents-inf" name='DOMEvents-inf'>DOM Level 2 <a class='normative' href='http://www.w3.org/TR/REC-DOM-Level-1/'>latest version
Events</a></b></dt> of DOM Level 1</a> is available at
http://www.w3.org/TR/REC-DOM-Level-1.
<dd>W3C (World Wide Web Consortium) <a </dd>
href='http://www.w3.org/TR/DOM-Level-2-Events'>Document Object <dt><b>[<a name='DOM2Core'>DOM Level 2 Core</a>]</b></dt><dd>
Model Level 2 Events Specification</a>. Available at <cite><a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model Level 2 Core
http://www.w3.org/TR/DOM-Level-2-Events</dd> Specification</a></cite>, A. Le Hors, et al., Editors. World
Wide Web Consortium, 13 November 2000. This version of the DOM
<dt><b><a id="InfoSet" name='InfoSet'>Infoset</a></b></dt> 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
<dd>W3C (World Wide Web Consortium) <a http://www.w3.org/TR/DOM-Level-2-Core.
href='http://www.w3.org/TR/xml-infoset'>XML Information Set</a>, </dd>
December 1999. Available at http://www.w3.org/TR/xml-infoset</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
<dt><b><a id="JavaIDL" name='JavaIDL'>JavaIDL</a></b></dt> Specification</a></cite>, P. Le H&#xe9;garet, T. Pixley,
Editors. World Wide Web Consortium, November 2003. This version of
<dd>Sun Microsystems Inc. <a the Document Object Model Level 3 Events specification is
href='http://java.sun.com/products/jdk/1.2/docs/guide/idl'>Java 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
IDL</a>. Available at Document Object Model Level 3 Events</a> is available at
http://java.sun.com/products/jdk/1.2/docs/guide/idl</dd> http://www.w3.org/TR/DOM-Level-3-Events.
</dd>
<dt><b><a id="JavaScript" name='JavaScript'>JavaScript</a></b></dt> <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
<dd>Netscape Communications Corp. <a Specification</a></cite>, J. Stenback, A. Heninger,
href='http://developer.netscape.com/tech/javascript/resources.html'> Editors. World Wide Web Consortium, 7 April 2004. This version
JavaScript Resources</a>. Available at of the DOM Level 3 Load and Save Recommendation is http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407. The
http://developer.netscape.com/tech/javascript/resources.html</dd> <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.
<dt><b><a id="JScript" name='JScript'>JScript</a></b></dt> </dd>
<dt><b>[<a name='DOM2HTML'>DOM Level 2 HTML</a>]</b></dt><dd>
<dd>Microsoft Corp. <a <cite><a href='http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109'>Document Object Model Level 2 HTML
href='http://msdn.microsoft.com/scripting/default.htm'>JScript Specification</a></cite>, J. Stenback, et al., Editors. World
Resources</a>. Available at Wide Web Consortium, 9 January 2003. This version of the Document
http://msdn.microsoft.com/scripting/default.htm</dd> 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
<dt><b><a id="MSIDL" name='MSIDL'>MIDL</a></b></dt> http://www.w3.org/TR/DOM-Level-2-HTML.
</dd>
<dd>Microsoft Corp. <a <dt><b>[<a name='DOMVal'>DOM Level 3 Validation</a>]</b></dt><dd>
href='http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm'> <cite><a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Val-20040127/'>Document Object Model Level 3 Validation
MIDL Language Reference</a>. Available at Specification</a></cite>, B. Chang, J. Kesselman, R. Rahman,
http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm</dd> Editors. World Wide Web Consortium, 27 January 2003. This version of
the DOM Level 3 Validation Recommendation is
<dt><b><a id="DOMStyleSheets-inf" name='DOMStyleSheets-inf'>DOM 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
Level 2 Style Sheets</a></b></dt> DOM Level 3 Validation</a> is available at
http://www.w3.org/TR/DOM-Level-3-Val.
<dd>W3C (World Wide Web Consortium) <a </dd>
href='http://www.w3.org/TR/DOM-Level-2-Style/stylesheets'>Document <dt><b>[<a name='DOMXPath'>DOM Level 3 XPath</a>]</b></dt><dd>
Object Model Level 2 Style Sheets</a>. Available at <cite><a href='http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226/'>Document Object Model Level 3 XPath
http://www.w3.org/TR/DOM-Level-2-Style/stylesheets</dd> Specification</a></cite>, R. Whitmer, Editor. World Wide Web
Consortium, March 2003. This version of the Document Object
<dt><b><a id="DOMTraversal-inf" name='DOMTraversal-inf'>DOM Level 2 Model Level 3 XPath specification is http://www.w3.org/TR/2004/NOTE-DOM-Level-3-XPath-20040226. The
Traversal</a></b></dt> <a class='normative' href='http://www.w3.org/TR/DOM-Level-3-XPath'>latest
version of Document Object Model Level 3 XPath</a> is
<dd>W3C (World Wide Web Consortium) <a available at http://www.w3.org/TR/DOM-Level-3-XPath.
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal'>Document </dd>
Object Model Level 2 Traversal</a>. Available at <dt><b>[<a name='HTML40'>HTML 4.01</a>]</b></dt><dd>
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal</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
<dt><b><a id="DOMRange-inf" name='DOMRange-inf'>DOM Level 2 December 1997, revised 24 April 1998, revised 24 December
Range</a></b></dt> 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
<dd>W3C (World Wide Web Consortium) <a available at http://www.w3.org/TR/html4.
href='http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html'> </dd>
Document Object Model Level 2 Range</a>. Available at <dt><b>[<a name='JavaIDL'>Java IDL</a>]</b></dt><dd>
http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges</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 id="DOMViews-inf" name='DOMViews-inf'>DOM Level 2 <dt><b>[<a name='JavaScript'>JavaScript</a>]</b></dt><dd>
Views</a></b></dt> <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>W3C (World Wide Web Consortium) <a </dd>
href='http://www.w3.org/TR/DOM-Level-2-Views'>Document Object Model <dt><b>[<a name='JScript'>JScript</a>]</b></dt><dd>
Level 2 Views Specification</a>. Available at <cite><a href='http://msdn.microsoft.com/library/en-us/script56/html/js56jslrfjscriptlanguagereference.asp'>JScript Resources</a></cite>. Microsoft. Available at
http://www.w3.org/TR/DOM-Level-2-Views</dd> http://msdn.microsoft.com/library/en-us/script56/html/js56jslrfjscriptlanguagereference.asp
</dd>
<dt><b><a id="XPointer" name='XPointer'>XPointer</a></b></dt> <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
<dd>W3C (World Wide Web Consortium) <a (Second Edition)</a></cite>, D. Carlisle, P. Ion, R. Miner,
href='http://www.w3.org/TR/xptr'>XML Pointer Language N. Poppelier, Editors. World Wide Web Consortium, 21 October
(XPointer)</a>, June 2000. Available at 2001, revised 21 February 2001. This version of the Math 2.0
http://www.w3.org/TR/xptr</dd> 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
</dl> 2.0</a> is available at http://www.w3.org/TR/MathML2.
</div> </dd>
<dt><b>[<a name='MSIDL'>MIDL</a>]</b></dt><dd>
<!-- div2 References-Informative --></div> <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.
<!-- div1 References --> </dd>
<div class='navbar' align='center'> <dt><b>[<a name='URIRef'>IETF RFC 2396</a>]</b></dt><dd>
<hr title='Navigation area separator' /> <cite><a href='http://www.ietf.org/rfc/rfc2396.txt'>Uniform Resource Identifiers (URI): Generic Syntax</a></cite>, T. Berners-Lee,
<a accesskey='p' href='glossary.html'>previous</a> &nbsp; <a R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at
accesskey='n' href='def-index.html'>next</a> &nbsp; <a http://www.ietf.org/rfc/rfc2396.txt.
accesskey='c' href='Overview.html#contents'>contents</a> &nbsp; <a </dd>
accesskey='i' href='def-index.html'>index</a></div> <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> </body>
</html> </html>

View File

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