<?xml version="1.0" encoding="us-ascii"?>
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ --><!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2-Based DOM//EN" "http://www.w3.org/2002/08/xmlspec-v22-dom.dtd">
<spec w3c-doctype="wd">
  <!--
  *************************************************************************
  * FRONT MATTER                                                          *
  *************************************************************************
  -->
<!-- 
  ****************************************************** 
  | filenames to be used for each section              |
  ******************************************************
-->
<?command-options --map Copyright-Notice copyright-notice
--map Introduction     introduction
--map TOC expanded-toc
--map Core core
--map Events events
--map idl idl-definitions
--map ecma-binding ecma-script-binding
--map java-binding java-binding
--map Index def-index
--map Objects object-index
--map References references
--map Errors errors
--map Level-3-AS abstract-schemas
--map Load-Save load-save
--map XPath xpath
?>

<?command-options --map -IndexFile-      def-index
--map -OjbectIndexFile-      object-index
--strip-references
--strip-glossary
?>

<?command-options --map-type ECMAScript Object Object
--map-type ECMAScript DOMString String
--map-type ECMAScript "unsigned short" Number
--map-type ECMAScript "unsigned int" Number
--map-type ECMAScript "unsigned long" Number
--map-type ECMAScript long Number
--map-type ECMAScript boolean Boolean

--map-type ECMAScript DOMTimeStamp Date
--map-type ECMAScript DOMObject Object
--map-type ECMAScript DOMUserData "any type"
--map-type ECMAScript DOMInputStream Object
--map-type ECMAScript DOMOutputStream Object
--map-type ECMAScript DOMReader "this is an error and shouldn't be used."
--map-type ECMAScript DOMSystemException Object

--map-type Java Object Object
--map-type Java DOMString String
--map-type Java "unsigned short" short
--map-type Java "unsigned int" int
--map-type Java "unsigned long" int
--map-type Java long int
--map-type Java boolean boolean

--map-type Java DOMTimeStamp long
--map-type Java DOMObject Object
--map-type Java DOMUserData Object
--map-type Java DOMInputStream java.io.InputStream
--map-type Java DOMOutputStream java.io.OutputStream
--map-type Java DOMReader java.io.Reader
--map-type Java DOMSystemException Exception
?>

<header> 
<title>Document Object Model (DOM) Level 3 Validation Specification</title>
<version>1.0</version> <w3c-designation>WD-DOM-Level-3-Val-20020820
</w3c-designation> <w3c-doctype>W3C Working Draft</w3c-doctype> <pubdate> 
<day>20</day> <month>August</month> <year>2002</year> 
</pubdate> 
<publoc> <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820</loc>
</publoc>
<altlocs>


<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="postscript" href="http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820/DOM3-Val.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PostScript file</loc>


<loc xmlns:xlink="http://www.w3.org/1999/xlink" role="zip" href="http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820/DOM3-Val.zip" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">ZIP file</loc>
    </altlocs>
<latestloc> <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Val" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Val</loc> </latestloc> 
<prevlocs>
<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Val-20020725/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2002/WD-DOM-Level-3-Val-20020725</loc>
</prevlocs> 
<authlist> 
<author role="editor"> <name>Ben Chang</name>
<affiliation>Oracle</affiliation> </author>
<author role="editor"> <name>Joe Kesselman</name>
<affiliation>IBM  (until September 2001)</affiliation> </author>
<author role="editor"><name>Rezaur Rahman</name> 
<affiliation>Intel Corporation (until July 2001)</affiliation> 
</author> 
</authlist>
    <!--
    ******************************************************
    * DOCUMENT ABSTRACT                                  *
    ******************************************************
    -->
<abstract id="id-abstract"> 

<p>This specification defines the Document Object Model Validation Level
3, a platform- and language-neutral interface that allows programs and
scripts to dynamically access and update the content, structure and
style of documents.</p>

</abstract>

<status>

<p><emph>This section describes the status of this document at the time of its
publication. Other documents may supersede this document. The latest status of
this document series is maintained at the W3C.</emph></p>
<p>
This is a W3C Working Draft for review by W3C members and other interested
parties. This DOM module has been dissociated from the
Abstract Schema DOM module since the modules were independent and the
latter is no longer a work in progress.
</p>
<p>
It is a draft document and may be updated, replaced or obsoleted by
other documents at any time. It is inappropriate to use W3C Working Drafts as
reference material or to cite them as other than "work in progress". This is
work in progress and does not imply endorsement by, or the consensus of, either
W3C or members of the DOM working group.
</p>
<p>
Comments on this document are invited and are to be sent to the
<emph role="important">DOM IG</emph> mailing list <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="mailto:w3c-dom-ig@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">w3c-dom-ig@w3.org</loc>. An archive
is available at <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://lists.w3.org/Archives/Member/w3c-dom-ig/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://lists.w3.org/Archives/Member/w3c-dom-ig/</loc>.</p>

<p>This document has been produced as part of the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/DOM/Activity.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C DOM Activity</loc>. The authors
of this document are the DOM WG members.</p>

      <p>
        Patent disclosures relevant to this specification may be found
        on the Working Group's <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest" href="http://www.w3.org/2002/07/08-IPR-statements.html">patent
        disclosure page</loc>.
      </p>

<p>A list of <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">current W3C Recommendations and
other technical documents</loc> can be found at http://www.w3.org/TR.</p>

</status>

<sourcedesc>
<p>Created in electronic form.</p>
</sourcedesc>
<langusage>
<language id="en">English</language>
</langusage>
<revisiondesc>
<p>$Revision: 1.2 $</p>
</revisiondesc>
<?GENERATE-TOC?>
</header>
<front>
  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<div1 id="TOC">
  <head>Expanded Table of Contents</head>
  <?GENERATE-EXPANDED-TOC?>	
</div1>

  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<!--
 *************************************************************************
 * BEGINNING OF COPYRIGHT NOTICE                                         *
 *************************************************************************
-->
<div1 id="Copyright-Notice">
  <head>Copyright Notice</head>

  <p role="important">
    Copyright © 2002 <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">World Wide Web
    Consortium</loc>, (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.lcs.mit.edu/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Massachusetts
    Institute of Technology</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.inria.fr/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Institut
    National de Recherche en Informatique et en Automatique</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.keio.ac.jp/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Keio University</loc>). All Rights Reserved.
  </p>
  <p>
    This document is published under the <specref ref="Copyright-notice-document"/>. The bindings within this document are
    published under the <specref ref="Copyright-notice-software"/>.  The
    software license requires "Notice of any changes or modifications to the
    W3C files, including the date changes were made." Consequently, modified
    versions of the DOM bindings must document that they do not conform to the
    W3C standard; in the case of the IDL definitions, the pragma prefix can no
    longer be 'w3c.org'; in the case of the Java language binding, the package
    names can no longer be in the 'org.w3c' package.
  </p>
  <div2 id="Copyright-notice-document">
    <head>W3C Document Copyright Notice and License</head>
    <note>
      <p>
	This section is a copy of the W3C Document Notice and License and could
	be found at <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/Consortium/Legal/copyright-documents-19990405</loc>.
      </p>
    </note>
    <p role="important">
      Copyright © 1994-2002 <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">World
      Wide Web Consortium</loc>, (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.lcs.mit.edu/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Massachusetts Institute of
      Technology</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.inria.fr/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Institut National de
      Recherche en Informatique et en Automatique</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.keio.ac.jp/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Keio University</loc>). All Rights
      Reserved.
    </p>
    <p role="important">      
      http://www.w3.org/Consortium/Legal/
    </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 <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Legal/copyright-software.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Software
      Notice</loc>. By using and/or copying this document, or the W3C document
      from which this statement is linked, you (the licensee) agree that you
      have read, understood, and will comply with the following terms and
      conditions:
    </p>
    <p>
      Permission to use, copy, and distribute the contents of this document, or
      the W3C document from which this statement is linked, in any medium for
      any purpose and without fee or royalty is hereby granted, provided that
      you include the following on <emph>ALL</emph> copies of the document, or
      portions thereof, that you use:
    </p>
    <olist>
      <item>
	<p>
	  A link or URL to the original W3C document.
	</p>
      </item>
      <item>
	<p>
	  The pre-existing copyright notice of the original author, or if it
	  doesn't exist, a notice of the form: "Copyright ©
	  [$date-of-document] <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">World Wide Web
	  Consortium</loc>, (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.lcs.mit.edu/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Massachusetts
	  Institute of Technology</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.inria.fr/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Institut National de Recherche en
	  Informatique et en Automatique</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.keio.ac.jp/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Keio University</loc>). All Rights
	  Reserved.  http://www.w3.org/Consortium/Legal/" (Hypertext is
	  preferred, but a textual representation is permitted.)
	</p>
      </item>
      <item>
	<p>
	  <emph>If it exists</emph>, the STATUS of the W3C document.
	</p>
      </item>
    </olist>
    <p>
      When space permits, inclusion of the full text of this <emph role="important">NOTICE</emph> 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 <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Legal/IPR-FAQ.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Copyright
      FAQ</loc>) 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>
  </div2>
  <div2 id="Copyright-notice-software">
    <head>W3C Software Copyright Notice and License</head>
    <note>
      <p>
	This section is a copy of the W3C Software Copyright Notice and License
	and could be found at <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/Consortium/Legal/copyright-software-19980720" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/Consortium/Legal/copyright-software-19980720</loc>
      </p>
    </note>
    <p role="important">
      Copyright © 1994-2002 <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">World
      Wide Web Consortium</loc>, (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.lcs.mit.edu/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Massachusetts Institute of
      Technology</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.inria.fr/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Institut National de
      Recherche en Informatique et en Automatique</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.keio.ac.jp/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Keio University</loc>). All Rights
      Reserved.
    </p>
    <p role="important">      
      http://www.w3.org/Consortium/Legal/
    </p>
    <p>
      This W3C work (including software, documents, or other related items) is
      being provided by the copyright holders under the following license. By
      obtaining, using and/or copying this work, you (the licensee) agree that
      you have read, understood, and will comply with the following terms and
      conditions:
    </p>
    <p>
      Permission to use, copy, and modify this software and its documentation,
      with or without modification, for any purpose and without fee or royalty
      is hereby granted, provided that you include the following on ALL copies
      of the software and documentation or portions thereof, including
      modifications, that you make:
    </p>
    <olist>
      <item>
	<p>The full text of this NOTICE in a location viewable to users of the
	redistributed or derivative work.</p>
      </item>
      <item>
	<p>
	  Any pre-existing intellectual property disclaimers. If none exist,
	  then a notice of the following form: "Copyright ©
	  [$date-of-software] <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">World Wide Web
	  Consortium</loc>, (<loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.lcs.mit.edu/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Massachusetts
	  Institute of Technology</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.inria.fr/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Institut National de Recherche en
	  Informatique et en Automatique</loc>, <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.keio.ac.jp/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Keio University</loc>). All Rights
	  Reserved.  http://www.w3.org/Consortium/Legal/."
	</p>
      </item>
      <item>
	<p>
	  Notice of any changes or modifications to the W3C files, including
	  the date changes were made. (We recommend you provide URIs to the
	  location from which the code is derived.)
	</p>
      </item>
    </olist>
    <p>
      THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
      HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
      INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
      FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
      DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
      TRADEMARKS OR OTHER RIGHTS.
    </p>
    <p>
      COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
      CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
      DOCUMENTATION.
    </p>
    <p>
      The name and trademarks of copyright holders may NOT be used in
      advertising or publicity pertaining to the software without specific,
      written prior permission. Title to copyright in this software and any
      associated documentation will at all times remain with copyright holders.
    </p>
  </div2>
</div1>
<!--
 *************************************************************************
 * END OF COPYRIGHT NOTICE                                               *
 *************************************************************************
-->

</front> 
 
<body>
  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<!--
 *************************************************************************
 * BEGINNING OF VALIDATION
 *************************************************************************
-->
<?xml-stylesheet href="../../local/apps/SoftQuad/XMetaL/display/spec.css"
type="text/css"?>
<div1 id="Level-3-Validation"> 
  <head>Validation</head> 
  <orglist role="editors"> 
    <member> 
      <name>Ben Chang</name> 
      <affiliation>Oracle</affiliation> 
    </member> 
    <member> 
      <name>Joe Kesselman</name> 
      <affiliation>IBM (until September 2001)</affiliation> 
    </member> 
    <member> 
      <name>Rezaur Rahman</name> 
      <affiliation>Intel Corporation (until July 2001)</affiliation> 
    </member>     

  </orglist><?GENERATE-MINI-TOC?>
  <!--
  ******************************************************
  EARLY DRAFT! Last known edit 07/15/2002
  Suggestions welcome, especially if accompanied by
  proposed revisions already marked up as per spec.dtd! 
  ******************************************************
  -->
  <!--
  ******************************************************
  | OVERVIEW                                            |
  ******************************************************
  -->
  <div2 id="VAL-overview"> 
    <head>Overview</head> 
    <p>This chapter describes the optional DOM Level 3 Validation
      feature. This module provides APIs to query information about the 
XML document and its associated grammar. </p>
<p>   A DOM
      application can use the <code>hasFeature</code> method of the
      <code>DOMImplementation</code> interface to determine whether a given DOM supports these capabilities
      or not. This module defines 1 feature string: <code>"VAL-DOC"</code> for document-editing interfaces.</p> 
    <p>This chapter focuses on the editing aspects used in the XML document-editing world and usage of such information.</p>
    <div3 id="VAL-General"> 
      <head>General Characteristics</head> 
      <p> In the October 9, 1997 DOM requirements document, the following
	appeared: "There will be a way to determine the presence of a DTD. There will
	be a way to add, remove, and change declarations in the underlying DTD (if
	available). There will be a way to test conformance of all or part of the given
	document against a DTD (if available)." In later discussions, the following was
	added, "There will be a way to query element/attribute (and maybe other)
	declarations in the underlying DTD (if available)," supplementing the primitive
	support for these in Level 1.</p> 
      <p> That work was deferred past Level 2, in the hope that XML Schemas
	would be addressed as well.  Work was deferred on lowest common 
denominator general grammar APIs due to heightened interest in XML Schema-
specific APIs; however, work on querying information on the grammar was only done
for DOM Level 3.</p> 
    </div3>

<!--
    ******************************************************
    | USE CASES AND REQUIREMENTS                         |
    ******************************************************
    -->
    <div3 id="Level-3-VAL-UseCasesRequirements"> 
      <head>Use Cases and Requirements</head> 
      <p>Here are the following use cases and requirements that 
prompted the functionality in this document:</p>
      <p>Use Cases:</p> 
      <olist> 
	<item> 
	  <p>DU1. For editing documents with an associated grammar,
	    provide the guidance necessary so that valid documents can be modified and
	    remain valid.</p> 
	</item> 
	<item> 
	  <p>DU2. For editing documents with an associated grammar,
	    provide the guidance necessary to transform an invalid document into a valid
	    one.</p> 
	</item> 
      </olist> 
      <p>Requirements:</p> 
      <olist> 
	<item> 
	  <p>DR1. Be able to determine if the document is well-formed, and if
	    not, be given enough guidance to locate the error.</p> 
	</item> 
	<item> 
	  <p>DR2. Be able to determine if the document is namespace
	    well-formed, and if not, be given enough guidance to locate the error.</p> 
	</item> 
	<item> 
	  <p>DR3. Be able to determine if the document is valid with respect to
	    its associated grammar.</p> 
	</item> 
	<item> 
	  <p>DR4. Be able to determine if specific modifications to a document
	    would make it become invalid.</p> 
	</item> 
	<item> 
	  <p>DR5. Retrieve information from all grammars. One example
	    might be getting a list of all the defined element names for document editing
	    purposes.</p> 
	</item> 
      </olist>                
    </div3>
</div2>  

<!--
  ******************************************************
  | ISSUES                                             |
  ******************************************************
-->
<div2 id="Level-3-VAL-Issue-List">
  <head>Issue List</head>

  <div3 id="VAL-Issues-List-Resolved">
    <head>Resolved Issues</head>

    <issue id="VAL-Issue-8" status="open">
      <p>For Validation interfaces there should be no dependency on DOM Core. 
      </p>
      <p>The <code>NodeEditVAL</code> interface will not extend DOM Core.  It is simply an object that expresses similar interfaces.</p>
    </issue>

  </div3>

</div2>
  

  <div2 id="Exception">
    <head>Exceptions</head> 
    <p>This section describes the "VAL-DOC" exceptions. </p> 
    <definitions>       
      <exception id="ExceptionVAL" name="ExceptionVAL">
	<descr>
	  <p>
	    These operations may throw a <code>ExceptionVAL</code> as 
	    described in their descriptions.
	  </p>
	</descr> 	
	<component id="ExceptionVAL-code" name="code">
	  <typename>unsigned short</typename>
	</component>	
      </exception>
      
      <group id="ExceptionVAL-codes" name="ExceptionVALCode">
	<descr>
	  <p>
	    An integer indicating the type of error generated.
	  </p>
	</descr> 
	<constant id="ExceptionVAL-NO_GRAMMAR_AVAILABLE" name="NO_GRAMMAR_AVAILABLE" type="unsigned short" value="71">
	  <descr>
	    <p>
	      If the <code>DocumentEditVAL</code> related to the node
	      does not have any grammars and
	      <code>wfValidityCheckLevel</code> is set to
	      <code>PARTIAL</code> or
	      <code>STRICT_VALIDITY_CHECK</code>.
	    </p>
	  </descr>
	</constant>	
	<constant id="ExceptionVAL-VALIDATION_ERR" name="VALIDATION_ERR" type="unsigned short" value="72">
	  <descr>
	    <p>
	      Raised if document is invalid.
	    </p>
	  </descr>
	</constant>
      </group>      
    </definitions> 
  </div2> 

  <div2 id="DocumentEditing"><head>Document-Editing Interfaces</head> 
    <p>This section contains "Document-editing" methods (includes <code>Node</code>, <code>Element</code>, <code>Text</code> and <code>Document</code> methods).</p> 

    <p>
      A DOM application may use the <code>hasFeature(feature,
      version)</code> method of the <code>DOMImplementation</code>
      interface with parameter values "VAL-DOC" and "3.0" (respectively)
      to determine whether or not the Document-Editing interfaces are
      supported by the implementation.
    </p>

    <definitions> 
      <!--=====================================================================
      =                                                                       =
      =      DocumentEditVAL
      =                                                                       =
      ======================================================================-->
      <interface name="DocumentEditVAL" inherits="NodeEditVAL" id="VAL-Interfaces-DocumentEditVAL"> 
	<descr> 
	  <p>This interface extends the <code>NodeEditVAL</code> interface with additional methods for document editing.</p>
	  
	</descr> 
	<attribute name="continuousValidityChecking" type="boolean" id="DocumentEditVAL-continuousValidityChecking" readonly="no"> 
	  <descr> 
	    <p>An attribute specifying whether continuous checking for the
	      validity of the document is enforced or not. 
	      Setting this to <code>true</code> will result in an exception being
	      thrown, i.e., <code>VALIDATION_ERR</code>, for documents
	      that are invalid at the time of the call.  If the document
	      is invalid, then this attribute will remain <code>false</code>. 		
	      This attribute is <code>false</code> by default.</p> 

	  </descr></attribute> 

        <method name="validateInDocument" id="VAL-Interfaces-DocumentEditVAL-validateInDocument">
          <descr>
            <p>Validates the document against the grammar.
               If the document is mutated during validation, a warning
               will be issued.  In addition, the validation cannot
	       modify the document, e.g., for default attributes.
	       This method makes use of the passed-in error handler.
            </p>
          </descr>
          <parameters>
          </parameters>
          <returns type="void">
            <descr>
            </descr>
          </returns>
          <raises>
            <exception name="ExceptionVAL">
              <descr>
                <p>VALIDATION_ERR: Raised if an error occurs when
the document is being validated against the grammar.</p>
                <p>NO_GRAMMAR_AVAILABLE: Raised if an error occurs when
the grammar is not available for the document.</p>
              </descr>
            </exception>
          </raises>
        </method>

      </interface>   	 
      <!--=====================================================================
      =                                                                       =
      =      NodeEditVAL
      =                                                                       =
      ======================================================================-->
      <interface name="NodeEditVAL" id="VAL-Interfaces-NodeEditVAL"> 
	<descr> 
	  <p>This interface is similar to the <bibref ref="DOMCore"/> <code>Node</code> interfaces, with methods for guided document editing.</p> 
	</descr> 

        <group name="CheckTypeVAL" id="NodeEditVAL-CheckTypeVAL">
          <descr>
            <p>An integer indicating which type of validation this
	      is.</p>
          </descr>

	  <constant id="VAL-Interfaces-NodeEditVAL-WF_CHECK" name="WF_CHECK" type="unsigned short" value="1"> 
	    <descr> 
	      <p>Check for well-formedness of this node.</p> 
	    </descr></constant>

          <constant id="VAL-Interfaces-NodeEditVAL-NS_WF_CHECK" name="NS_WF_CHECK" type="unsigned short" value="2"> 
	    <descr> 
	      <p>Check for namespace well-formedness includes <code>WF_CHECK</code>.</p> 
	    </descr></constant>

          <constant id="VAL-Interfaces-NodeEditVAL-PARTIAL_VALIDATY_CHECK" name="PARTIAL_VALIDITY_CHECK" type="unsigned short" value="3"> 
	    <descr> 
	      <p>Checks for whether this node is <termref def="dt-partially-valid">partially valid</termref>. It includes
		<code>NS_WF_CHECK</code>. </p> 
	    </descr></constant>

          <constant id="VAL-Interfaces-NodeEditVAL-STRICT_VALIDATY_CHECK" name="STRICT_VALIDITY_CHECK" type="unsigned short" value="4"> 
	    <descr> 
	      <p>Checks for strict validity of the node with respect to active grammar
		which by definition includes <code>NS_WF_CHECK</code>.</p> 
	    </descr></constant>
        </group>
	
	<method name="canInsertBefore" id="VAL-Interfaces-NodeEditVAL-canInsertBefore"> 
	  <descr> 
	    <p>Determines whether the <code>Node::insertBefore</code> operation 
	      would make this document not partially valid 
	      with respect to the currently active grammar. </p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Node" name="newChild"> 
	      <descr> 
		<p><code>Node</code> to be inserted.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="Node" name="refChild"> 
	      <descr> 
		<p>Reference <code>Node</code>.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canRemoveChild" id="VAL-Interfaces-NodeEditVAL-canRemoveChild">	  
	  <descr> 
	    <p>Has the same arguments as <code>RemoveChild</code>.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Node" name="oldChild"> 
	      <descr> 
		<p><code>Node</code> to be removed.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p> 		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canReplaceChild" id="VAL-Interfaces-NodeEditVAL-canReplaceChild"> 
	  <descr> 
	    <p>Has the same arguments as <code>ReplaceChild</code>.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Node" name="newChild"> 
	      <descr> 
		<p>New <code>Node</code>.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="Node" name="oldChild"> 
	      <descr> 
		<p><code>Node</code> to be replaced.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p> 		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canAppendChild" id="VAL-Interfaces-NodeEditVAL-canAppendChild">	  
	  <descr> 
	    <p>Has the same arguments as <code>AppendChild</code>.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Node" name="newChild"> 
	      <descr> 
		<p><code>Node</code> to be appended.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="isNodeValid" id="NodeEditVAL-isNodeValid"> 
	  <descr> 
	    <p>Determines if the Node is valid relative to currently
	      active grammar.  It doesn't normalize before checking if the document
	      is valid.  To do so, one would need to explicitly call a normalize 
	      method. </p> 
	  </descr> 
	  <parameters> 
	    <param name="deep" type="boolean" attr="in"> 
	      <descr> 
		<p>Setting the <code>deep</code> flag on causes the <code>isNodeValid</code> method to check for the whole subtree of the
		  current node for validity. Setting it to <code>false</code> only checks the current node and
		  its immediate child nodes.  The <code>validateInDocument</code> method on the <code>DocumentVAL</code> interface, however, checks to determine whether the entire document is valid.</p>
	      </descr> 
	    </param> 
	    <param name="wFValidityCheckLevel" type="unsigned short" attr="in">
	      <descr>
		<p>Flag to tell at what level validity and well-formedness checking is done.
		</p>
	      </descr>
	    </param>
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if the node is valid/well-formed in the current context and check level
		defined by <code>wfValidityCheckLevel</code>, <code>false</code> if not.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	    <exception name="ExceptionVAL"> 
	      <descr> 
		<p>NO_GRAMMAR_AVAILABLE: Exception is raised if the DocumentEditVAL
		  related to this node does not have any grammar associated with it
		  and <code>wfValidityCheckLevel</code> is set
		  to <code>PARTIAL</code> or <code>STRICT_VALIDITY_CHECK</code>.</p> 
	      </descr></exception></raises> 
	</method> 

      </interface>                    
      <!--=====================================================================
      =                                                                       =
      =      ElementEditVAL
      =                                                                       =
      ======================================================================-->
      <interface name="ElementEditVAL" inherits="NodeEditVAL" id="VAL-Interfaces-ElementEditVAL"> 
	<descr> 
	  <p>This interface extends the <code>Element</code> interface with additional methods for guided document editing. An
	    object implementing this interface must also implement NodeEditVAL interface.</p> 
	</descr> 
	<attribute name="definedElementTypes" type="NodeList" readonly="yes" id="ElementEditVAL-definedElementTypes"> 
	  <descr> 
	    <p>The list of qualified element names defined in the grammar.</p>
	  </descr></attribute> 	
	<method name="contentType" id="VAL-Interfaces-ElementEditVAL-ElementEditVAL-contentType"> 
	  <descr> 
	    <p>Determines element content type.</p> 
	  </descr> 
	  <parameters> 
	  </parameters> 
	  <returns type="unsigned short"> 
	    <descr> 
	      <p>Constant for one of <code>EMPTY_CONTENTTYPE</code>,
		<code>ANY_CONTENTTYPE</code>, <code>MIXED_CONTENTTYPE</code>, <code>ELEMENTS_CONTENTTYPE</code>.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canSetAttribute" id="VAL-Interfaces-ElementEditVAL-ElementEditVAL-canSetAttribute"> 
	  <descr> 
	    <p>Determines if the value for specified attribute can be set.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="attrname"> 
	      <descr> 
		<p>Name of attribute.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="attrval"> 
	      <descr> 
		<p>Value to be assigned to the attribute.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canSetAttributeNode" id="VAL-Interfaces-ElementEditVAL-canSetAttributeNode"> 
	  <descr> 
	    <p>Determines if an attribute node can be added with respect 
	      to the validity check level.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Attr" name="attrNode"> 
	      <descr> 
		<p><code>Node</code> in which the attribute can possibly be set.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>			  
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canSetAttributeNS" id="VAL-Interfaces-ElementEditVAL-canSetAttributeNS"> 
	  <descr> 
	    <p>Determines if the attribute with given namespace and qualified name
	      can be created if not already present in the attribute list of the element. If
	      the attribute with the same qualified name and namespaceURI is already present in the
	      element's attribute list, it tests whether the value of the attribute and its prefix can be set to 
	      the new value. See DOM core <code>setAttributeNS</code>.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="name"> 
	      <descr> 
		<p>Qualified name of attribute.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="attrval"> 
	      <descr> 
		<p>Value to be assigned to the attribute.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="namespaceURI"> 
	      <descr> 
		<p><code>namespaceURI</code> of namespace.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>			 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canRemoveAttribute" id="VAL-Interfaces-ElementEditVAL-canRemoveAttribute"> 
	  <descr> 
	    <p>Verifies if an attribute by the given name can be removed.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="attrname"> 
	      <descr> 
		<p>Name of attribute.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canRemoveAttributeNS" id="VAL-Interfaces-ElementEditVAL-canRemoveAttributeNS"> 
	  <descr> 
	    <p>Verifies if an attribute by the given local name and namespace can be
	      removed.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="attrname"> 
	      <descr> 
		<p>Local name of the attribute to be removed.</p> 
	      </descr> 
	    </param> 
	    <param name="namespaceURI" type="DOMString" attr="in"> 
	      <descr> 
		<p>The namespace URI of the attribute to remove.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr>
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		  
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="canRemoveAttributeNode" id="VAL-Interfaces-ElementEditVAL-canRemoveAttributeNode"> 
	  <descr> 
	    <p>Determines if an attribute node can be removed.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="Node" name="attrNode"> 
	      <descr> 
		<p>The <code>Attr</code> node to remove from the attribute list.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="getChildElements" id="VAL-Interfaces-ElementEditVAL-getChildElements"> 
	  <descr> 
	    <p>Returns a <code>NodeList</code> containing the possible <code>Element</code> nodes that can appear as children of this type of element. These are not nodes from the instance document, but rather are new nodes that could be inserted in the document. </p>
	  </descr> 
	  <parameters> 
	  </parameters> 
	  <returns type="NodeList"> 
	    <descr> 
	      <p>List of possible children element types of this element.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="getParentElements" id="VAL-Interfaces-ElementEditVAL-getParentElements"> 
	  <descr> 
	    <p>Returns a <code>NodeList</code> containing the possible <code>Element</code> nodes that can appear as a parent of this type of element.  These are not nodes from the instance document, but rather are new nodes that could be inserted in the document.</p> 
	  </descr> 
	  <parameters> 
	  </parameters> 
	  <returns type="NodeList"> 
	    <descr> 
	      <p>List of possible parent element types of this element.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="getAttributeList" id="VAL-Interfaces-ElementEditVAL-getAttributeList"> 
	  <descr> 
	    <p>Returns a <code>NodeList</code> containing all the possible <code>Attr</code>s that can appear with this type of element.  These are not nodes from the instance document, but rather are new nodes that could be inserted in the document. </p> 
	  </descr> 
	  <parameters> 
	  </parameters> 
	  <returns type="NodeList"> 
	    <descr> 
	      <p>List of possible attributes of this element.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="isElementDefined" id="VAL-Interfaces-ElementEditVAL-isElementDefined"> 
	  <descr> 
	    <p>Determines if <code>elemTypeName</code> is defined in the currently active
	      grammar.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="elemTypeName"> 
	      <descr> 
		<p>Name of element.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p>A boolean that is <code>true</code> if the element is defined, false
		otherwise.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 

	<method name="isElementDefinedNS" id="VAL-Interfaces-ElementEditVAL-isElementDefinedNS"> 
	  <descr> 
	    <p>Determines if <code>elemTypeName</code> in this namespace is defined in the
	      currently active grammar.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="elemTypeName"> 
	      <descr> 
		<p>Name of element.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="namespaceURI"> 
	      <descr> 
		<p><code>namespaceURI</code> of namespace.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="name"> 
	      <descr> 
		<p>Qualified name of namespace.  This is for sub-elements.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p>A boolean that is <code>true</code> if the element is defined, false
		otherwise.</p> 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 	
      </interface>                    

      <!--=====================================================================
      =                                                                       =
      =      CharacterDataEditVAL
      =                                                                       =
      ======================================================================-->
      <interface name="CharacterDataEditVAL" inherits="NodeEditVAL" id="VAL-Interfaces-CharacterDataEditVAL"> 
	<descr> 
	  <p>This interface extends the <code>NodeEditVAL</code> interface with additional methods for document editing. An object
	    implementing this interface must also implement NodeEditVAL interface.</p> 
	</descr> 

	<attribute readonly="yes" type="boolean" name="isWhitespaceOnly" id="VAL-Interfaces-CharacterDataEditVAL-isWhitespaceOnly"> 
	  <descr> 
	    <p><code>true</code> if content only whitespace; <code>false</code> for non-whitespace.</p>
	  </descr> 
	</attribute> 

	<method name="canSetData" id="VAL-Interfaces-CharacterDataEditVAL-canSetData"> 
	  <descr> 
	    <p>Determines if data can be set.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="unsigned long" name="offset"> 
	      <descr> 
		<p>Offset.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="arg"> 
	      <descr> 
		<p>Argument to be set.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 		 
	    </descr> 
	  </returns> 
	  <raises>  
	  </raises> 
	</method> 
	<method name="canAppendData" id="VAL-Interfaces-CharacterDataEditVAL-canAppendData"> 
	  <descr> 
	    <p>Determines if data can be appended.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="DOMString" name="arg"> 
	      <descr> 
		<p>Data to be appended.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises>  
	  </raises> 
	</method> 
	<method name="canReplaceData" id="VAL-Interfaces-CharacterDataEditVAL-canReplaceData"> 
	  <descr> 
	    <p>Determines if data can be replaced.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="unsigned long" name="offset"> 
	      <descr> 
		<p>Offset.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="unsigned long" name="count"> 
	      <descr> 
		<p>Replacement.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="arg"> 
	      <descr> 
		<p>Argument to be set.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 
	<method name="canInsertData" id="VAL-Interfaces-CharacterDataEditVAL-canInsertData"> 
	  <descr> 
	    <p>Determines if data can be inserted.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="unsigned long" name="offset"> 
	      <descr> 
		<p>Offset.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="DOMString" name="arg"> 
	      <descr> 
		<p>Argument to be set.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr> 
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		 
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 
	<method name="canDeleteData" id="VAL-Interfaces-CharacterDataEditVAL-canDeleteData"> 
	  <descr> 
	    <p>Determines if data can be deleted.</p> 
	  </descr> 
	  <parameters> 
	    <param attr="in" type="unsigned long" name="offset"> 
	      <descr> 
		<p>Offset.</p> 
	      </descr> 
	    </param> 
	    <param attr="in" type="unsigned long" name="count"> 
	      <descr> 
		<p>Number of 16-bit units to delete.</p> 
	      </descr> 
	    </param> 
	  </parameters> 
	  <returns type="boolean"> 
	    <descr>
	      <p><code>true</code> if no reason it can't be done; <code>false</code> if it
		can't be done.</p>		  
	    </descr> 
	  </returns> 
	  <raises> 
	  </raises> 
	</method> 
      </interface>                    
      
    </definitions> 
  </div2> 

  <div2 id="DocEdit"><head>Document
      Manipulation</head> 
    <p>
      Applications would like to be able to use functionality to guide construction
      and editing of documents, which falls into the document-editing world. Examples
      of this sort of guided editing already exist, and are becoming more common. The
      necessary queries can be phrased in several ways, the most useful of which may
      be a combination of "what does the DTD allow me to insert here" and "if I
      insert this here, will the document still be valid". The former is better
      suited to presentation to humans via a user interface, and when taken together
      with sub-tree validation may subsume the latter. </p> 
    <p>It has been proposed that in addition to asking questions about specific
      parts of the grammar, there should be a reasonable way to obtain a list
      of all the defined symbols of a given type (element, attribute, entity)
      independent of whether they're valid in a given location; that might be useful
      in building a list in a user-interface, which could then be updated to reflect
      which of these are relevant for the program's current state.</p> 
    <p>Remember that namespaces also weigh in on this issue, in the case of
      attributes, a "can-this-go-there" may prompt a namespace-well-formedness check
      and warn you if you're about to conflict with or overwrite another attribute
      with the same namespaceURI/localName but different prefix, or same nodeName but
      different namespaceURI.</p> 
    <p>We have to deal with the fact that "the shortest distance between two
      valid documents may be through an invalid one". Users may want to know several
      levels of detail (all the possible children, those which would be valid given
      what precedes this point, those which would be valid given both preceding and
      following siblings). Also, once XML Schemas introduce context sensitive
      validity, we may have to consider the effect of children as well as the
      individual node being inserted.</p> 
  </div2> 

  <div2 id="Validating-DOC"><head>Validating a Document </head> 
    <p>The most obvious use for a DTD or XML Schema or any grammar
      is to use it to validate a given XML document. 
      This again falls into the document-editing world. The XML spec only discusses
      performing this test at the time the document is loaded into the "processor",
      which most of us have taken to mean that this check should be performed at
      parse time. But it is obviously desirable to be able to validate again a
      document -- or selected subtrees -- at other times. One such case would be
      validating an edited or newly constructed document before serializing it or
      otherwise passing it to other users. This issue also arises if the "internal
      subset" is altered -- or if the grammar changes.</p> 
    <p> In the past, the DOM has allowed users to create invalid documents, and
      assumed the serializer would accept the task of detecting problems and
      announcing/repairing them when the document was written out in XML syntax... or
      that they would be checked for validity when read back in. We considered adding
      validity checks to the DOM's existing editing operations to prevent creation of
      invalid documents, but are currently inclined against this for several reasons.
      First, it would impose a significant amount of computational overhead to the
      DOM, which might be unnecessary in many situations, e.g., if the change is
      occurring in a context where we know the result will be valid. Second, "the
      shortest distance between two good documents may be through a bad document".
      Preventing a document from becoming temporarily invalid may impose a
      considerable amount of additional work on higher-level code and users Hence our
      current plan is to continue to permit editing to produce invalid DOMs, but
      provide operations which permit a user to check the validity of a node on
      demand. If needed one can use <code>continuousValidityChecking</code> flag to ensure that the DOM remains valid during the editing
      process.</p> 
    <p>Note that validation includes checking that ID attributes are unique,
      and that IDREFs point to IDs which actually exist.</p> 
  </div2> 
  <div2 id="WELLFORMEDTEST"><head>Well-formedness Testing</head> 
    <p>XML defined the "well-formed" (<term>WF</term>) state for documents
      which are parsed without reference to their DTDs. Knowing that a document is
      well-formed may be useful by itself even when a DTD is available. For example,
      users may wish to deliberately save an invalid document, perhaps as a
      checkpoint before further editing. Hence, the "Validation" features will permit both full
      validity checking (see previous section) and "lightweight" WF checking, as
      requested by the caller, as well as processing entity declarations in the AS
      even if validation is not turned on. </p>
    <p>While the DOM inherently enforces some of XML's well-formedness
      conditions (proper nesting of elements, constraints on which children may be
      placed within each node), there are some checks that are not yet performed.
      These include:</p> 
    <ulist> 
      <item> 
	<p>Character restrictions for text content and attribute values. Some
	  characters aren't permitted even when expressed as numeric character
	  entities</p> 
      </item> 
      <item> 
	<p>The three-character sequence "]]&gt;" in CDATASections.</p> 
      </item> 
      <item> 
	<p>The two-character sequence "--" in comments. (Which, be it noted,
	  some XML validators don't currently remember to test...)</p> 
      </item> 
    </ulist> 
    <p>In addition, Namespaces introduce their own concepts of well-formedness.
      Specifically:</p> 
    <ulist> 
      <item> 
	<p>No two attributes on a single Element may have the same combination
	  of namespaceURI and localName, even if their prefixes are different and hence
	  they don't conflict under XML 1.0 rules.</p> 
      </item> 
      <item> 
	<p>NamespaceURIs must be legal URI syntax. (Note that once we have this
	  code, it may be reusable for the URI "datatype" in document content; see
	  discussion of datatypes.)</p> 
      </item> 
      <item> 
	<p>The mapping of namespace prefixes to their URIs must be declared and
	  consistent. That isn't required during normal DOM operation, since we perform
	  "early binding" and thereafter refer to nodes primarily via their namespaceURIs
	  and localName. But it does become an issue when we want to serialize the DOM to
	  XML syntax, and may be an issue if an application is assuming that all the
	  declarations are present and correct. This may imply that we should provide a <code>namespaceNormalize</code> operation, which would create the implied declarations and reconcile
	  conflicts in some reasonably standardized manner. This may be a major
	  undertaking, since some DOMs may be using the namespace to direct subclassing
	  of the nodes or similar special treatment; as with the existing <code>normalize</code> method, you may be left with a different-but-equivalent set of node
	  objects.</p> 
      </item> 
    </ulist> 
    <p> In the past, the DOM has allowed users to create documents which
      violate these rules, and assumed the serializer would accept the task of
      detecting problems and announcing/repairing them when the document was written
      out in XML syntax. We considered adding WF checks to the DOM's existing editing
      operations to prevent WF violations from arising, but are currently inclined
      against this for two reasons. First, it would impose a significant amount of
      computational overhead to the DOM, which might be unnecessary in many
      situations (for example, if the change is occurring in a context where we know
      the illegal characters have already been prevented from arising). Second, "the
      shortest distance between two good documents may be through a bad document" --
      preventing a document from becoming temporarily ill-formed may impose a
      considerable amount of additional work on higher-level code and users. (Note
      possible issue for Serialization: In some applications, being able to save and
      reload marginally poorly-formed DOMs might be useful -- editor checkpoint
      files, for example.) Hence our current plan is to continue to permit editing to
      produce ill-formed DOMs, but provide operations which permit a user to check
      the well-formedness of a node on demand, and possibly provide some of the
      primitive (e.g., string-checking) functions directly.</p> 
  </div2>


</div1><!--
 *************************************************************************
 * END OF VALIDATION                                                    *
 *************************************************************************
-->

</body>
  <!--
  *************************************************************************
  * BACK MATTER                                                           *
  *************************************************************************
  -->
<back> 

<div1 role="idl" id="idl">
  <head>IDL Definitions</head>

  <p>
    This appendix contains the complete OMG IDL <bibref ref="OMGIDL"/> for the
    Level 3 Document Object Model Validation definitions.
  </p>

  <p>The IDL files are also available as: <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="idl.zip" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820/idl.zip</loc></p>

    <!--
    ******************************************************
    | Events OMG IDL DEFINITIONS                           |
    ******************************************************
    -->
      <?GENERATE-IDL Level-3-Validation validation dom.w3c.org dom?>
</div1>

<div1 role="java-binding" id="java-binding">
  <head>Java Language Binding</head>

  <p>This appendix contains the complete Java <bibref ref="Java"/> bindings for
  the Level 3 Document Object Model Validation.</p>

  <p>The Java files are also available as <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="java-binding.zip" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2002/08/WD-DOM-Level-3-Val-20020820/java-binding.zip</loc></p>

    <!--
    ******************************************************
    | Events JAVA BINDINGS                                 |
    ******************************************************
    -->
      <?GENERATE-JAVA Level-3-Validation org.w3c.dom validation?>
</div1>
<div1 role="ecma-binding" id="ecma-binding">
  <head>ECMAScript Language Binding</head>

  <p>This appendix contains the complete ECMAScript <bibref ref="ECMAScript"/>
  binding for the Level 3 Document Object Model Validation definitions.</p>

    <!--
    ******************************************************
    | Events ECMA SCRIPT BINDINGS                         |
    ******************************************************
    -->
  <?GENERATE-ECMA Level-3-Validation?>
</div1>
  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<div1 role="acknowledgements" id="contributors"> 
  <head>Acknowledgements</head> 

  <p>Many people contributed to the DOM specifications (Level 1, 2 or 3),
  including members of the DOM Working Group and the DOM Interest Group. We
  especially thank the following:</p>

  <p>
    Andrew Watson (Object Management Group), Andy Heninger (IBM), Angel
    Diaz (IBM), Arnaud Le Hors (W3C and IBM), Ashok Malhotra (IBM and
    Microsoft), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea (Merrill
    Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris Wilson
    (Microsoft), David Brownell (Sun), David Ezell (Hewlett Packard
    Company), David Singer (IBM), Dimitris Dimitriadis (Improve AB), Don
    Park (invited), Elena Litani (IBM), Eric Vasilik (Microsoft), Gavin
    Nicol (INSO), Ian Jacobs (W3C), James Clark (invited), James
    Davidson (Sun), Jared Sorensen (Novell), Jeroen van Rotterdam
    (X-Hive Corporation), Joe Kesselman (IBM), Joe Lapp (webMethods),
    Joe Marini (Macromedia), Johnny Stenback (Netscape/AOL), Jon
    Ferraiolo (Adobe), Jonathan Marsh (Microsoft), Jonathan Robie
    (Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad
    Software Inc.), Lauren Wood (SoftQuad Software Inc., <emph>former
    Chair</emph>), Laurence Cable (Sun), Mark Davis (IBM), Mark Scardina
    (Oracle), Martin Dürst (W3C), Mary Brady (NIST), Mick Goulish
    (Software AG), Mike Champion (Arbortext and Software AG), Miles
    Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso
    (Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton
    (Netscape), Philippe Le Hégaret (W3C, <emph>W3C team contact
    and former Chair</emph>), Ramesh Lekshmynarayanan (Merrill Lynch),
    Ray Whitmer (iMall, Excite@Home, and Netscape/AOL,
    <emph>Chair</emph>), Rezaur Rahman (Intel), Rich Rollman
    (Microsoft), Rick Gessner (Netscape), Rick Jelliffe (invited), Rob
    Relyea (Microsoft), Scott Isaacs (Microsoft), Sharon Adler (INSO),
    Steve Byrne (JavaSoft), Tim Bray (invited), Tim Yu (Oracle), Tom
    Pixley (Netscape/AOL), Vidur Apparao (Netscape), Vinod Anupam
    (Lucent).
  </p>

  <p>
    Thanks to all those who have helped to improve this specification by
    sending suggestions and corrections (Please, keep bugging us with your
    issues!).
  </p>

  <div2 id="Productions"><head>Production Systems</head> 
    <p>
      This specification was written in XML. The HTML, OMG IDL, Java and
      ECMAScript bindings were all produced automatically.
    </p>

    <p>
      Thanks to Joe English, author of <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.flightlab.com/cost" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">cost</loc>, which was used as the
      basis for producing DOM Level 1. Thanks also to Gavin Nicol, who wrote
      the scripts which run on top of cost. Arnaud Le Hors and Philippe Le
      Hégaret maintained the scripts.
    </p>

    <p>
      After DOM Level 1, we used <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://xml.apache.org/xerces-j" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Xerces</loc> as the basis DOM
      implementation and wish to thank the authors. Philippe Le Hégaret
      and Arnaud Le Hors wrote the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://dev.w3.org/cvsweb/java/classes/org/w3c/tools/specgenerator/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Java
      programs</loc> which are the DOM application.
    </p>

    <p>
      Thanks also to Jan Kärrman, author of <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.tdb.uu.se/~jan/html2ps.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">html2ps</loc>, which we use
      in creating the PostScript version of the specification.
    </p>

  </div2>
</div1>

  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<!--
 *************************************************************************
 * BEGINNING OF DOM GLOSSARY                                             *
 *************************************************************************
-->
<div1 role="glossary" id="glossary">
  <head>Glossary</head>
  <orglist role="editors">
    <member>
      <name>Arnaud Le Hors</name>
      <affiliation>W3C</affiliation>
    </member>
    <member>
      <name>Robert S. Sutor</name>
      <affiliation>IBM Research (for DOM Level 1)</affiliation>
    </member>
  </orglist>
  <p>Several of the following term definitions have been borrowed or
    modified from similar definitions in other W3C or standards documents.
    See the links within the definitions for more information.</p>
  <glist>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-16-bit-unit">16-bit unit</label>
      <def><p>The base unit of a <code>DOMString</code>. This indicates that
          indexing on a <code>DOMString</code> occurs in units of 16 bits. 
          This must not be misunderstood to mean that a <code>DOMString</code>
          can store arbitrary 16-bit units. A <code>DOMString</code> is a 
          character string encoded in UTF-16; this means that the restrictions
          of UTF-16 as well as the other relevant restrictions on character strings
          must be maintained. A single character, for example in the form of a 
          numeric character reference, may correspond to one or two 16-bit units.</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-ancestor">ancestor</label>
      <def><p>An <term>ancestor</term> node of any node A is any node
	  above A in a tree model, where "above" means "toward the root."
	</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-API">API</label>
      <def><p>An <term>API</term> is an Application Programming
	  Interface, a set of functions or methods used to access some
	  functionality.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-bubbling-phase">bubbling phase</label>
      <def>
	<p>
	  The process by which an <termref def="dt-event">event</termref> can be handled by one of the
	  <termref def="dt-event-observer">event observers</termref>
	  after being handled by the <termref def="dt-target-node">target node</termref>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-capture-phase">capture phase</label>
      <def>
	<p>
	  The process by which an <termref def="dt-event">event</termref> can be handled by one of the
	  <termref def="dt-event-observer">event observers</termref>
	  before being handled by the <termref def="dt-target-node">target node</termref>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-child">child</label>
      <def><p>A <term>child</term> is an immediate descendant node of
	  a node.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-application">client application</label>
      <def><p>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.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-COM">COM</label>
      <def><p><term>COM</term> is Microsoft's Component Object Model <bibref role="informative" ref="COM"/>, a technology for building applications from binary
	    software components.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-content-model">content model</label>
      <def><p>The <term>content model</term> is a simple grammar
	  governing the allowed types of the child elements and the
	  order in which they appear. See <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-element-content" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Element Content</xspecref>
	  in XML <bibref role="informative" ref="XML"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-context">context</label>
      <def><p>A <term>context</term> specifies an access pattern (or
	  path): a set of interfaces which give you a way to interact
	  with a model. For example, imagine a model with different
	  colored arcs connecting data nodes. A context might be a
	  sheet of colored acetate that is placed over the model
	  allowing you a partial view of the total information in the
	  model.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-convenience">convenience</label>
      <def><p>A <term>convenience method</term> is an operation on an
          object that could be accomplished by a program consisting of
          more basic operations on the object. Convenience methods are
          usually provided to make the API easier and simpler to use or to
	  allow specific programs to create more optimized implementations
	  for common operations. A similar definition holds for a
	  <term>convenience property</term>.
        </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-cooked">cooked model</label>
      <def><p>A model for a document that represents the document
	  after it has been manipulated in some way. For example, any
	  combination of any of the following transformations would
	  create a cooked model:
	  <olist>
	    <item><p>Expansion of internal text entities.</p></item>
	    <item><p>Expansion of external entities.</p></item>
	    <item><p>Model augmentation with style-specified generated
		text.</p></item>
	    <item><p>Execution of style-specified
		reordering.</p></item>
	    <item><p>Execution of scripts.</p></item>
	  </olist> A browser might only be able to provide access to a
	  cooked model, while an editor might provide access to a
	  cooked or the initial structure model (also known as the
	  <term>uncooked model</term>) for a document. </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-CORBA">CORBA</label>
      <def><p><term>CORBA</term> is the <term>Common Object Request Broker
	    Architecture</term> from the <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.omg.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">OMG</loc> <bibref role="informative" ref="CORBA"/>. This architecture is a collection of objects and
	    libraries that allow the creation of applications containing
	    objects that make and receive requests and responses in a
	    distributed environment.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-cursor">cursor</label>
      <def><p>A <term>cursor</term>is an object representation of a
	  node. It may possess information about context and the path
	  traversed to reach the node.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-datamodel">data model</label>
      <def><p>A <term>data model</term> is a collection of descriptions of data
	  structures and their contained fields, together with the operations
	  or functions that manipulate them.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-deprecation">deprecation</label>
      <def><p>When new releases of specifications are released, some older
	  features may be marked as being <term>deprecated</term>. This
	  means that new work should not use the features and that
	  although they are supported in the current release, they may
	  not be supported or available in future releases.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-descendant">descendant</label>
      <def><p>A <term>descendant</term> node of any node A is any node
	  below A in a tree model, where "below" means "away from the
	  root."</p></def>
    </gitem>

    <!-- ................................................................ -->
    <gitem>
      <label id="dt-document-element">document element</label>
      <def>
	<p>
	  There is only one document element in a <code>Document</code>. This
	  element node is a child of the <code>Document</code> node. See
	  <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2000/REC-xml-20001006#dt-root" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Well-Formed XML
	  Documents</xspecref> in XML <bibref role="informative" ref="XML"/>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-document-order">document order</label>

      <def><p>There is an ordering, <term>document order</term>, defined on all
      the nodes in the document corresponding to the order in which the first
      character of the XML representation of each node occurs in the XML
      representation of the document after expansion of general entities. Thus,
      the <termref def="dt-document-element">document element</termref> node
      will be the first node. Element nodes occur before their children. Thus,
      document order orders element nodes in order of the occurrence of their
      start-tag in the XML (after expansion of entities). The attribute nodes
      of an element occur after the element and before its children. The
      relative order of attribute nodes is implementation-dependent.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-DOM-Level-0">DOM Level 0</label>
      <def><p>The term "DOM Level 0" refers to a mix (not formally specified)
	  of HTML document functionalities offered by Netscape Navigator
	  version 3.0 and Microsoft Internet Explorer version 3.0. In some
	  cases, attributes or methods have been included for reasons of
	  backward compatibility with "DOM Level 0".</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-ECMAScript">ECMAScript</label>
      <def><p>The programming language defined by the ECMA-262 standard
	  <bibref role="informative" ref="ECMAScript"/>. As stated in the standard, the
            originating technology for ECMAScript was JavaScript <bibref role="informative" ref="JavaScript"/>. Note that in the ECMAScript binding, the word
              "property" is used in the same sense as the IDL term
              "attribute."</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-element">element</label>
      <def><p>Each document contains one or more elements, the
	  boundaries of which are either delimited by start-tags and
	  end-tags, or, for empty elements by an empty-element tag.
	  Each element has a type, identified by name, and may have a
	  set of attributes. Each attribute has a name and a value.
	  See <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2000/REC-xml-20001006#sec-logical-struct" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Logical
	    Structures</xspecref> in XML <bibref role="informative" ref="XML"/>.
	</p></def>
    </gitem>
    <gitem>
      <label id="dt-event">event</label>
      <def>
	<p>
	  An event is the representation of some asynchronous occurrence
	  (such as a mouse click on the presentation of the element, or
	  the removal of child node from an element, or any of
	  unthinkably many other possibilities) that gets associated
	  with an <termref def="dt-event-target">event target</termref>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-event-observer">event observer</label>
      <def>
	<p>
	  An <termref def="dt-ancestor">ancestor</termref> of the
	  <termref def="dt-target-node">target node</termref>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-event-target">event target</label>
      <def>
	<p>
	  The object to which an <termref def="dt-event">event</termref>
	  is targeted.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-equivalence">equivalence</label>
      <def>
	<p>Two nodes are <term>equivalent</term> if they have the same node
	  type and same node name. Also, if the nodes contain data, that must
	  be the same. Finally, if the nodes have attributes then collection
	  of attribute names must be the same and the attributes corresponding
	  by name must be equivalent as nodes.</p>

        <p>Two nodes are <term>deeply equivalent</term> if they are
	  <term>equivalent</term>, the child node lists are equivalent are
	  equivalent as <code>NodeList</code> objects, and the pairs of
	  equivalent attributes must in fact be deeply equivalent.</p>


        <p>Two <code>NodeList</code> objects are <term>equivalent</term> if they
	  have the same length,	and the nodes corresponding by index
	  are deeply equivalent. </p>

        <p>Two <code>NamedNodeMap</code> objects are <term>equivalent</term> if
	  they have the same length, they have same collection of names,
	  and the nodes corresponding by name in the maps are deeply
	  equivalent. </p>

        <p>Two <code>DocumentType</code> nodes are <term>equivalent</term> if
	  they are equivalent as nodes, have the same names, and have
	  equivalent entities and attributes <code>NamedNodeMap</code>
	  objects.</p>

      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-infoitem">information item</label>
      <def><p>An information item is an abstract representation of some
          component of an XML document. See the <bibref role="informative" ref="InfoSet"/>
            for details.
        </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-logically-adjacent-text-nodes">logically-adjacent text nodes</label>
      <def><p>
        <term>Logically-adjacent text nodes</term> are <code>Text</code> or
        <code>CDataSection</code> nodes that may be visited sequentially in
        <termref def="dt-document-order">document order</termref> without
        entering, exiting, or passing over <code>Element</code>,
        <code>Comment</code>, or <code>ProcessingInstruction</code> nodes.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-implementation">hosting implementation</label>
      <def><p>A [hosting] implementation is a software module that
	  provides an implementation of the DOM interfaces so that a
	  client application can use them. Some examples of hosting
	  implementations are browsers, editors and document
	  repositories.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-HTML">HTML</label>
      <def><p>The HyperText Markup Language (<term>HTML</term>) is a
	  simple markup language used to create hypertext documents
	  that are portable from one platform to another. HTML
	  documents are SGML documents with generic semantics that are
	  appropriate for representing information from a wide range
	  of applications. <bibref role="informative" ref="HTML40"/></p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-IDL">IDL</label>
      <def><p>An Interface Definition Language (<term>IDL</term>) is used to
	  define the interfaces for accessing and operating upon
	  objects. Examples of IDLs are the Object Management Group's IDL
	  <bibref role="informative" ref="CORBA"/>, Microsoft's IDL <bibref role="informative" ref="MSIDL"/>, and
	      Sun's Java IDL <bibref role="informative" ref="JavaIDL"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-implementor">implementor</label>
      <def><p>Companies, organizations, and individuals that claim to
	  support the Document Object Model as an API for their
	  products.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-inheritance">inheritance</label>
      <def><p>In object-oriented programming, the ability to create new
	  classes (or interfaces) that contain all the methods and properties
	  of another class (or interface), plus additional methods and
	  properties. If class (or interface) D inherits from class (or
	  interface) B, then D is said to be <term>derived</term> from B. B is
	  said to be a <term>base</term> class (or interface) for D. Some
	  programming languages allow for multiple inheritance, that is,
	  inheritance from more than one class or interface.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-raw-struct">initial structure model</label>
      <def><p>Also known as the <term>raw structure model</term> or
	  the <term>uncooked model</term>, this represents the
	  document before it has been modified by entity expansions,
	  generated text, style-specified reordering, or the execution
	  of scripts. In some implementations, this might correspond
	  to the "initial parse tree" for the document, if
	  it ever exists. Note that a given implementation might not
	  be able to provide access to the initial structure model for
	  a document, though an editor probably would.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-interface">interface</label>
      <def><p>An <term>interface</term> is a declaration of a set of
          methods with no information given about their implementation.
	  In object systems that support interfaces and inheritance,
	  interfaces can usually inherit from one another.
        </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-lang-binding">language binding</label>
      <def><p>A programming <term>language binding</term> 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.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-live">live</label>
      <def>
          <p>An object is <term>live</term> if any change to the underlying
          document structure is reflected in the object.</p></def>      
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-localname">local name</label>
      <def><p>A <term>local name</term> is the local part of a <term>qualified
	    name</term>.
	  This is called the <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-localname" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">local
	    part</xtermref> in Namespaces in XML <bibref role="informative" ref="Namespaces"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-method">method</label>
      <def><p>A <term>method</term> is an operation or function that is
	  associated with an object and is allowed to manipulate the
	  object's data.
        </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-model">model</label>
      <def><p>A <term>model</term> is the actual data representation
	  for the information at hand. Examples are the structural
	  model and the style model representing the parse structure
	  and the style information associated with a document. The
	  model might be a tree, or a directed graph, or something
	  else.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-namespaceprefix">namespace prefix</label>
      <def><p>A <term>namespace prefix</term> is a string that associates
	  an element or attribute name with a <term>namespace URI</term> in
	  XML. See <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-prefix" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">namespace
	    prefix</xtermref> in Namespaces in XML <bibref role="informative" ref="Namespaces"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-namespaceURI">namespace URI</label>
      <def><p>A <term>namespace URI</term> is a URI that identifies
	  an XML namespace. This is called the <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#dt-NSName" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">namespace name</xtermref> in
	  Namespaces in XML <bibref role="informative" ref="Namespaces"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-object-model">object model</label>
      <def><p>An <term>object model</term>
	  is a collection of
	  descriptions of classes or interfaces,
	  together with their member data, member functions,
	  and class-static operations.
	</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-parent">parent</label>
      <def><p>A <term>parent</term> is an immediate ancestor node of a
	  node.</p></def>
    </gitem>
    <gitem>
      <label id="dt-partially-valid">partially valid</label>
      <def>
	<p>A node in a DOM tree is <term>partially valid</term> if it is
	<termref def="dt-well-formed">well formed</termref> (this part is for
	comments and processing instructions) and its immediate children are
	those expected by the content model. The node may be missing trailing
	required children yet still be considered <term>partially
	valid</term>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-qualifiedname">qualified name</label>
      <def><p>A <term>qualified name</term> is the name of an element or
	  attribute defined as the concatenation of a <term>local name</term>
	  (as defined in this specification), optionally preceded by a
	  <term>namespace prefix</term> and colon character. See <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/1999/REC-xml-names-19990114/#ns-qualnames" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Qualified Names</xspecref> in
	  Namespaces in XML <bibref role="informative" ref="Namespaces"/>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem> 
      <label id="dt-readonly-node">read only node</label>
      <def><p>A <term>read only node</term> is a node that is immutable. This
          means its list of children, its content, and its attributes, when it
          is an element, cannot be changed in any way. However, a read only node
          can possibly be moved, when it is not itself contained in a read only
          node.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-root-node">root node</label>
      <def>
	<p>The <term>root node</term> is a node that is not a child of any
	other node. All other nodes are children or other descendants of the
	root node.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-sibling">sibling</label>
      <def><p>Two nodes are <term>siblings</term> if they have the
	  same parent node.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-string-compare">string comparison</label>
      <def><p>When string matching is required, it is to occur as
	  though the comparison was between 2 sequences of code points
	  from <bibref role="informative" ref="Unicode"/>.</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-tag-valid">tag valid document</label>
      <def><p>A document is <term>tag valid</term> if all begin and
	  end tags are properly balanced and nested.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-target-node">target node</label>
      <def>
	<p>
	  The target node is the node representing the <termref def="dt-event-target">event target</termref> to which an <termref def="dt-event">event</termref> is targeted using the DOM event
	  flow defined in <bibref ref="DOMEvents"/>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-target-phase">target phase</label>
      <def>
	<p>
	  The process by which an <termref def="dt-event">event</termref> can be handled by the <termref def="dt-event-target">event target</termref>.
	</p>
      </def>
    </gitem>
    <!-- ................................................................ -->
    <gitem><label id="dt-token">token</label><def>
        <p>An information item such as an
          <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/REC-xml.html#NT-Name" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Name</xtermref> which has been
          <termref def="dt-tokenized">tokenized</termref>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem><label id="dt-tokenized">tokenized</label><def>
        <p>The description given to various information items (for example,
          attribute values of various types, but not including the StringType
          CDATA) after having been processed by the XML processor. The process
          includes stripping leading and trailing white space, and replacing
          multiple space characters by one. See the definition of
          <xtermref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/REC-xml.html#NT-TokenizedType" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">tokenized type</xtermref>.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-type-valid">type valid document</label>
      <def><p>A document is <term>type valid</term> if it conforms to
	  an explicit DTD.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-uncooked">uncooked model</label>
      <def><p>See initial structure model.</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-well-formed">well-formed document</label>
      <def><p>A document is <term>well-formed</term> if it is tag
	  valid and entities are limited to single elements (i.e.,
	  single sub-trees).</p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-XML">XML</label>
      <def><p>Extensible Markup Language (<term>XML</term>) is an
	  extremely simple dialect of SGML which is completely
	  described in this document. The goal is to enable generic
	  SGML to be served, received, and processed on the Web in the
	  way that is now possible with HTML. XML has been designed
	  for ease of implementation and for interoperability with
	  both SGML and HTML. <bibref role="informative" ref="XML"/></p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-XML-name">XML name</label>
      <def><p>See <xspecref xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-Name" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML name</xspecref> in
	  the XML specification (<bibref role="informative" ref="XML"/>).
        </p></def>
    </gitem>
    <!-- ................................................................ -->
    <gitem>
      <label id="dt-XML-namespace">XML namespace</label>
      <def><p>An <term>XML namespace</term> is a collection of names,
	  identified by a URI reference <bibref role="informative" ref="URIRef"/>, which are used
	    in XML documents as element types and attribute names. <bibref role="informative" ref="Namespaces"/></p></def>
    </gitem>
    <!-- ................................................................ -->
  </glist>
</div1>
<!--
 *************************************************************************
 * END OF DOM GLOSSARY                                                   *
 *************************************************************************
-->
 
  
<!-- $Id: xml-source.xml,v 1.2 2002/10/04 22:32:53 plehegar Exp $ -->
<!--
 *************************************************************************
 * BEGINNING OF REFERENCES                                               *
 *************************************************************************
-->
<div1 role="references" id="References">
  <head>References</head>
  <p>
    For the latest version of any W3C specification please consult the list of
    <loc xmlns:xlink="http://www.w3.org/1999/xlink" href="http://www.w3.org/TR" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Technical Reports</loc> available at
    http://www.w3.org/TR.
  </p>
  
    <blist>      
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="c14n" href="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" key="Canonical XML" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Canonical XML Version 1.0</titleref>, J. Boyer,
	Editor. World Wide Web Consortium, 15 March 2001. This version
	of the Canonical XML Recommendation is
	http://www.w3.org/TR/2001/REC-xml-c14n-20010315. The <loc href="http://www.w3.org/TR/xml-c14n" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of Canonical
	XML</loc> is available at http://www.w3.org/TR/xml-c14n.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="Charmod" key="CharModel" href="http://www.w3.org/TR/2002/WD-charmod-20020220" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Character Model for the World Wide Web 1.0</titleref>,
	M. D¨rst, et al., Editors. World Wide Web
	Consortium, January 2001.  This version of the Character Model
	for the World Wide Web Specification is http://www.w3.org/TR/2002/WD-charmod-20020220. The <loc href="http://www.w3.org/TR/charmod" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of Character
	Model</loc> is available at http://www.w3.org/TR/charmod.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="COM" key="COM" href="http://www.microsoft.com/com" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Microsoft Component Object Model</titleref>,
        Microsoft Corporation. Available at http://www.microsoft.com/com.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="CORBA" key="CORBA" href="http://www.omg.org/technology/documents/formal/corba_2.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Common Object Request Broker: Architecture and
	Specification, version 2</titleref>. Object Management
	Group. The latest version of CORBA version  2.0 is available at
        http://www.omg.org/technology/documents/formal/corba_2.htm.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="CSS2" key="CSS2" href="http://www.w3.org/TR/1998/REC-CSS2-19980512" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Cascading Style Sheets, level 2
	Specification</titleref>, B. Bos, H. Wium Lie, C.
	Lilley, and I. Jacobs, Editors. World Wide Web Consortium, 12
	May 1998. This version of the Cascading Style Sheets
	Recommendation is http://www.w3.org/TR/1998/REC-CSS2-19980512. The <loc href="http://www.w3.org/TR/REC-CSS2" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of Cascading
	Style Sheets</loc> is available at
	http://www.w3.org/TR/REC-CSS2.
    </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM-Level-1" key="DOM Level 1" href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">DOM Level 1 Specification</titleref>, V. Apparao,
	et al., Editors. World Wide Web Consortium, 1 October 1998. This
	version of the DOM Level 1 Recommendation is http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001. The
	<loc href="http://www.w3.org/TR/REC-DOM-Level-1" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version
	of DOM Level 1</loc> is available at
	http://www.w3.org/TR/REC-DOM-Level-1.
      </bibl>
<!--
      <bibl id='DOMASLS' key='DOM Level 3 Abstract Schemas and Load and	Save'
           href='&as-ls.latest.url;'>
        <titleref>Document Object Model Level 3 Abstract Schemas and
        Load and Save Specification</titleref>, B. Chang, J.
        Stenback, J. van Rotterdam, A. Heninger, J. Kesselman,
        R. Rahman, Editors. World Wide Web Consortium, January 2002.
        This version of the DOM Level 3 Abstract Schemas and Load and
        Save Specification is &as-ls.latest.url;. The <loc
        href='http://www.w3.org/TR/DOM-Level-3-ASLS'>latest version of
        DOM Level 3 Abstract Schemas and Load and Save</loc> is
        available at http://www.w3.org/TR/DOM-Level-3-ASLS.
      </bibl>
-->
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMAS" key="DOM Level 3 Abstract Schemas" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-AS" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">

        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 Abstract Schemas
        Specification</titleref>, B. Chang, E. Litani, J. Kesselman,
        R. Rahman, Editors. World Wide Web Consortium, June 2002.  This
        version of the DOM Level 3 Abstract Schemas Specification is
        http://www.w3.org/DOM/Group/drafts/DOM-Level-3-AS. The <loc href="http://www.w3.org/TR/DOM-Level-3-AS" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
        DOM Level 3 Abstract Schemas</loc> is
        available at http://www.w3.org/TR/DOM-Level-3-AS.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2Core" key="DOM Level 2 Core" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 Core
	Specification</titleref>, A. Le Hors, et al., Editors. World
	Wide Web Consortium, 13 November 2000. This version of the DOM
	Level 2 Core Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113. The <loc href="http://www.w3.org/TR/DOM-Level-2-Core" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	DOM Level 2 Core</loc> is available at
	http://www.w3.org/TR/DOM-Level-2-Core.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMCore" key="DOM Level 3 Core" href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 Core
        Specification</titleref>, A. Le Hors, et al., Editors. World
        Wide Web Consortium, January 2002. This version of the Document
        Object Model Level 3 Core Specification is
        http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020114. The <loc href="http://www.w3.org/TR/DOM-Level-3-Core" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
        DOM Level 3 Core</loc> is available at
        http://www.w3.org/TR/DOM-Level-3-Core.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2Events" key="DOM Level 2 Events" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
 	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 Events
 	Specification</titleref>, T. Pixley, Editor. World Wide Web
 	Consortium, 13 November 2000. This version of the Document
 	Object Model Level 2 Events Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113.  The
 	<loc href="http://www.w3.org/TR/DOM-Level-2-Events" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
 	version of Document Object Model Level 2 Events</loc> is
 	available at http://www.w3.org/TR/DOM-Level-2-Events.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMEvents" key="DOM Level 3 Events" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Events" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 Events
	Specification</titleref>, T. Pixley, Editor.  World Wide Web Consortium, February
	2002. This version of the Document Object Model Level 3 Events
	Specification is http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Events.  The <loc href="http://www.w3.org/TR/DOM-Level-3-Events" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version
	of Document Object Model Level 3 Events</loc> is available at
	http://www.w3.org/TR/DOM-Level-3-Events.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMLS" key="DOM Level 3 Load and Save" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-LS" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">

        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 Load and Save
        Specification</titleref>, J.  Stenback, A. Heninger,
        Editors. World Wide Web Consortium, July 2002.  This version of
        the DOM Level 3 Load and Save Specification is
        http://www.w3.org/DOM/Group/drafts/DOM-Level-3-LS. The <loc href="http://www.w3.org/TR/DOM-Level-3-LS" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of DOM
        Level 3 Load and Save</loc> is available at
        http://www.w3.org/TR/DOM-Level-3-LS.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2HTML" key="DOM Level 2 HTML" href="http://www.w3.org/TR/2001/WD-DOM-Level-2-HTML-20011210" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">

        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 HTML
        Specification</titleref>, J. Stenback, et al., Editors. World
        Wide Web Consortium, December 2001. This version of the Document
        Object Model Level 2 HTML Specification is http://www.w3.org/TR/2001/WD-DOM-Level-2-HTML-20011210.  The <loc href="http://www.w3.org/TR/DOM-Level-2-HTML" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
        Document Object Model Level 2 HTML</loc> is available at
        http://www.w3.org/TR/DOM-Level-2-HTML.

      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM-Level-3-Requirements" key="DOM Level 3 Requirements" href="http://www.w3.org/TR/2001/WD-DOM-Requirements-20010419/#Level3" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">    
       <quote>DOM Requirements for DOM Level 3</quote> in <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">DOM
       Requirements for DOM Level 3</titleref>, B. Chang, et al.,
       Editors.  World Wide Web Consortium, April 2001. This version of
       the DOM Requirements for DOM Level 3 is
       http://www.w3.org/TR/2001/WD-DOM-Requirements-20010419/#Level3.
       The <loc href="http://www.w3.org/TR/DOM-Requirements" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
       version of DOM Requirements</loc> is available at
       http://www.w3.org/TR/DOM-Requirements.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2Style" key="DOM Level 2 Style Sheets and CSS" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
       <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 Style Sheets and CSS
       Specification</titleref>, C. Wilson, P. Le Hégaret,
       V. Apparao, Editors.  World Wide Web Consortium, 13 November
       2000. This version of the Document Object Model Level 2 Style
       Sheets and CSS Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113.  The <loc href="http://www.w3.org/TR/DOM-Level-2-Style" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
       Document Object Model Level 2 Style Sheets and CSS</loc> is
       available at http://www.w3.org/TR/DOM-Level-2-Style.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2Traversal-Range" key="DOM Level 2 Traversal and      Range" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 Traversal and Range
	Specification</titleref>, J. Kesselman, J. Robie, M.
	Champion, P. Sharpe, V. Apparao, L. Wood,
	Editors. World Wide Web Consortium, 13 November 2000. This
	version of the Document Object Model Level 2 Traversal and Range
	Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113.  The <loc href="http://www.w3.org/TR/DOM-Level-2-Traversal-Range" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	version of Document Object Model Level 2 Traversal and
	Range</loc> is available at
	http://www.w3.org/TR/DOM-Level-2-Traversal-Range.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMVal" key="DOM Level 3 Validation" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Val" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 Validation
        Specification</titleref>, B. Chang, J. Kesselman, R. Rahman,
        Editors. World Wide Web Consortium, July 2002.  This version of
        the DOM Level 3 Validation Specification is
        http://www.w3.org/DOM/Group/drafts/DOM-Level-3-Val. The <loc href="http://www.w3.org/TR/DOM-Level-3-Val" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
        DOM Level 3 Validation</loc> is available at
        http://www.w3.org/TR/DOM-Level-3-Val.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOM2Views" key="DOM Level 2 Views" href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 2 Views
	Specification</titleref>, A. Le Hors, L. Cable, Editors.  World Wide Web
	Consortium, 13 November 2000. This version of the Document Object
	Model Level 2 Views Recommendation is http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113.  The <loc href="http://www.w3.org/TR/DOM-Level-2-Views" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of Document Object Model Level 2
	Views</loc> is available at http://www.w3.org/TR/DOM-Level-2-Views.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="DOMXPath" key="DOM Level 3 XPath" href="http://www.w3.org/DOM/Group/drafts/DOM-Level-3-XPath" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Document Object Model Level 3 XPath
	Specification</titleref>, R. Whitmer, Editor. World Wide Web
	Consortium, February 2002. This version of the Document Object
	Model Level 3 XPath Specification is http://www.w3.org/DOM/Group/drafts/DOM-Level-3-XPath.  The
	<loc href="http://www.w3.org/TR/DOM-Level-3-XPath" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	version of Document Object Model Level 3 XPath</loc> is
	available at http://www.w3.org/TR/DOM-Level-3-XPath.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="ECMAScript" key="ECMAScript" href="http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">ECMAScript Language Specification</titleref>, Third
	Edition.  European Computer Manufacturers Association, December
	1999.  This version of the ECMAScript Language is available at
	http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="HTML40" key="HTML 4.01" href="http://www.w3.org/TR/1998/REC-html40-19980424" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">HTML 4.01 Specification</titleref>, D. Raggett, A. Le
        Hors, and I. Jacobs, Editors. World Wide Web Consortium, 17
        December 1997, revised 24 April 1998, revised 24 December
        1999. This version of the HTML 4.01 Recommendation is
        http://www.w3.org/TR/1998/REC-html40-19980424. The <loc href="http://www.w3.org/TR/html4" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of HTML 4</loc> is
        available at http://www.w3.org/TR/html4.
      </bibl>
      
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="ISO10646" key="ISO/IEC 10646" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">ISO/IEC 10646-1993 (E). Information technology -
        Universal Multiple-Octet Coded Character Set (UCS) - Part
        1: Architecture and Basic Multilingual Plane.</titleref>
        [Geneva]: International Organization for Standardization, 1993
        (plus amendments AM 1 through AM 7).
      </bibl>
     
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="Java" key="Java" href="http://java.sun.com/docs/books/jls" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Java Language Specification</titleref>, J.
	Gosling, B. Joy, and G. Steele, Authors. Addison-Wesley,
	September 1996. Available at http://java.sun.com/docs/books/jls
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="JavaIDL" key="Java IDL" href="http://java.sun.com/products/jdk/1.2/docs/guide/idl" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Java IDL</titleref>. Sun Microsystems. Available at http://java.sun.com/products/jdk/1.2/docs/guide/idl
      </bibl>      
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="JavaScript" key="JavaScript" href="http://developer.netscape.com/tech/javascript/resources.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">JavaScript Resources</titleref>. Netscape
	Communications Corporation. Available at http://developer.netscape.com/tech/javascript/resources.html
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="JAXP" key="JAXP" href="http://java.sun.com/xml/xml_jaxp.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Java API for XML Processing (JAXP)</titleref>. Sun
	Microsystems. Available at http://java.sun.com/xml/xml_jaxp.html
	</bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="JScript" key="JScript" href="http://msdn.microsoft.com/scripting/default.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">JScript Resources</titleref>. Microsoft. Available at
	http://msdn.microsoft.com/scripting/default.htm
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="MathML2" key="MathML 2.0" href="http://www.w3.org/TR/2001/REC-MathML2-20010221" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Mathematical Markup Language (MathML) Version
	2.0</titleref>, D. Carlisle, P. Ion, R. Miner, N. Poppelier,
	Editors. World Wide Web Consortium, 21 February 2001. This version
	of the Math 2.0 Recommendation is http://www.w3.org/TR/2001/REC-MathML2-20010221. The <loc href="http://www.w3.org/TR/MathML2" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of MathML
	2.0</loc> is available at http://www.w3.org/TR/MathML2.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="MSIDL" key="MIDL" href="http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">MIDL Language
        Reference</titleref>. Microsoft. Available at http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="OMGIDL" key="OMG IDL" href="http://www.omg.org/technology/documents/formal/corba_2.htm" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <quote>OMG IDL Syntax and Semantics</quote> defined in
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Common Object Request Broker: Architecture and
        Specification, version 2</titleref>, Object Management
        Group. The latest version of CORBA version 2.0 is available at
        http://www.omg.org/technology/documents/formal/corba_2.htm.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="URIRef" key="IETF RFC 2396" href="http://www.ietf.org/rfc/rfc2396.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Uniform Resource Identifiers (URI): Generic Syntax</titleref>, T. Berners-Lee,
	R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. Available at
	http://www.ietf.org/rfc/rfc2396.txt.
      </bibl>      
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="RFC2616" key="IETF RFC 2616" href="http://www.ietf.org/rfc/rfc2616.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Hypertext Transfer Protocol -- HTTP/1.1</titleref>,
	R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter,
	P. Leach, T. Berners-Lee, Authors. Internet Engineering Task
	Force, June 1999. Available at
	http://www.ietf.org/rfc/rfc2616.txt.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="RFC3023" key="IETF RFC 3023" href="http://www.ietf.org/rfc/rfc3023.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Media Types</titleref>, M. Murata, S. St.Laurent,
	D. Kohn, Editors. Internet Engineering Task Force, January
	2001. Available at http://www.ietf.org/rfc/rfc3023.txt.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="SAX" key="SAX" href="http://www.saxproject.org/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Simple API for XML</titleref>, D. Megginson and
        D. Brownell, Maintainers. Available at
        http://www.saxproject.org/
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="SVG1" key="SVG 1.0" href="http://www.w3.org/TR/2001/REC-SVG-20010904" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Scalable Vector Graphics (SVG) 1.0
	Specification</titleref>, J. Ferraiolo, Editor. World Wide Web
	Consortium, 4 September 2001. This version of the SVG 1.0
	Recommendation is http://www.w3.org/TR/2001/REC-SVG-20010904. The <loc href="http://www.w3.org/TR/SVG" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of SVG 1.0</loc>
	is available at http://www.w3.org/TR/SVG.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="Unicode" key="Unicode 2.0" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Unicode Standard, Version 2.0.</titleref>. The
	Unicode Consortium, 1996. Reading, Mass.: Addison-Wesley
	Developers Press. ISBN 0-201-48345-9.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="Unicode30" key="Unicode 3.0" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">The Unicode Standard, Version 3.0.</titleref>. The
	Unicode Consortium, 2000. Reading, Mass.: Addison-Wesley
	Developers Press. ISBN 0-201-61633-5.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XHTML10" key="XHTML 1.0" href="xhtml10;" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XHTML 1.0: The Extensible HyperText Markup
        Language</titleref>, S. Pemberton, et al., Authors. World Wide
        Web Consortium, 26 January 2000, revised 1 August 2002. This
        version of the XHTML 1.0 Recommendation is http://www.w3.org/TR/2002/REC-xhtml1-20020801. The <loc href="http://www.w3.org/TR/xhtml1" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XHTML
        1.0</loc> is available at http://www.w3.org/TR/xhtml10.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XHTML11" key="XHTML 1.1" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	W3C (World Wide Web Consortium) <loc href="http://www.w3.org/TR/2001/REC-xhtml11-20010531" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XHTML 1.1 -
	  Module-base XHTML</loc>, May 2001. Available at http://www.w3.org/TR/2001/REC-xhtml11-20010531
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XPath20DataModel" key="XQuery 1.0 and XPath 2.0 Data Model" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	W3C (World Wide Web Consortium) <loc href="http://www.w3.org/TR/query-datamodel" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XQuery 1.0 and
	XML Path 2.0 Data Model</loc>, June 2001. Available at
	http://www.w3.org/TR/query-datamodel
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XML" key="XML 1.0" href="http://www.w3.org/TR/2000/REC-xml-20001006" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Extensible Markup Language (XML) 1.0 (Second
	Edition)</titleref>, T. Bray, J. Paoli,
	C. M. Sperberg-McQueen, and E. Maler, Editors. World Wide Web
	Consortium, 10 February 1998, revised 6 October 2000. This
	version of the XML 1.0 Recommendation is http://www.w3.org/TR/2000/REC-xml-20001006. The <loc href="http://www.w3.org/TR/REC-xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	1.0</loc> is available at http://www.w3.org/TR/REC-xml.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XML11" key="XML 1.1" href="http://www.w3.org/TR/2001/WD-xml11-20011213" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML 1.1</titleref>, J. Cowan, Editor. World Wide Web
	Consortium, 13 December 2001. This version of the XML 1.1
	Specification is http://www.w3.org/TR/2001/WD-xml11-20011213. The <loc href="http://www.w3.org/TR/xml11" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	1.1</loc> is available at http://www.w3.org/TR/xml11.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLBase" key="XML Base" href="http://www.w3.org/TR/2001/REC-xmlbase-20010627" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Base</titleref>, J. Marsh, Editor. World
	Wide Web Consortium, June 2001.  This version of the XML Base
	Recommendation is http://www.w3.org/TR/2001/REC-xmlbase-20010627. The <loc href="http://www.w3.org/TR/xmlbase" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	Base</loc> is available at http://www.w3.org/TR/xmlbase.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="InfoSet" key="XML Information set" href="http://www.w3.org/TR/2001/REC-xml-infoset-20011024" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Information Set</titleref>, J. Cowan and R.
        Tobin, Editors. World Wide Web Consortium, 24 October 2001.
        This version of the XML Information Set Recommendation is
        http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The <loc href="http://www.w3.org/TR/xml-infoset" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
        Information Set</loc> is available at
        http://www.w3.org/TR/xml-infoset.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLEvents" key="XML Events" href="http://www.w3.org/TR/2001/WD-xml-events-20011026" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Events</titleref>, S. McCarron, S. Pemberton,
	and T.V. Raman, Editors. World Wide Web Consortium, October
	2001. This version of the XML Events specification is
	http://www.w3.org/TR/2001/WD-xml-events-20011026. The <loc href="http://www.w3.org/TR/xml-events/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	Events</loc> is available at http://www.w3.org/TR/xml-events.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="Namespaces" key="XML Namespaces" href="http://www.w3.org/TR/1999/REC-xml-names-19990114" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Namespaces in XML</titleref>, T. Bray, D.
	Hollander, and A. Layman, Editors. World Wide Web
	Consortium, 14 January 1999. This version of the XML
	Information Set Recommendation is http://www.w3.org/TR/1999/REC-xml-names-19990114. The <loc href="http://www.w3.org/TR/REC-xml-names" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	Namespaces in XML</loc> is available at
	http://www.w3.org/TR/REC-xml-names.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLSchema0" key="XML Schema Part 0" href="http://www.w3.org/TR/2001/REC-xmlschema-0-20010502" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Schema Part 0: Primer</titleref>, D. Fallside,
	Editor. World Wide Web Consortium, 2 May 2001.  This version of
	the XML Part 0 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-0-20010502. The
	<loc href="http://www.w3.org/TR/xmlschema-0/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	XML Schema Part 0</loc> is available at
	http://www.w3.org/TR/xmlschema-0.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLSchema1" key="XML Schema Part 1" href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Schema Part 1: Structures</titleref>, H. Thompson,
	D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web
	Consortium, 2 May 2001. This version of the XML Part 1
	Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-1-20010502. The <loc href="http://www.w3.org/TR/xmlschema-1/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	Schema Part 1</loc> is available at
	http://www.w3.org/TR/xmlschema-1.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XMLSchema2" key="XML Schema Part 2" href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Schema Part 2: Datatypes</titleref>, P. Byron and
	Ashok Malhotra, Editors. World Wide Web Consortium, 2 May 2001.
	This version of the XML Part 2 Recommendation is
	http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The <loc href="http://www.w3.org/TR/xmlschema-2/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XML
	Schema Part 2</loc> is available at
	http://www.w3.org/TR/xmlschema-2.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XML-StyleSheet" key="XML StyleSheet" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	W3C (World Wide Web Consortium) <loc href="http://www.w3.org/1999/06/REC-xml-stylesheet-19990629" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Associating
	  Style Sheets with XML documents Version 1.0</loc>, June 1999. Available at
	http://www.w3.org/1999/06/REC-xml-stylesheet-19990629
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XPath10" href="http://www.w3.org/TR/1999/REC-xpath-19991116" key="XPath 1.0" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Path Language (XPath) Version 1.0</titleref>,
	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 <loc href="http://www.w3.org/TR/xpath " xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XPath
	1.0</loc> is available at http://www.w3.org/TR/xpath.
      </bibl>
      <bibl xmlns:xlink="http://www.w3.org/1999/xlink" id="XPointer" key="XPointer" href="http://www.w3.org/TR/2001/WD-xptr-20010911" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Pointer Language (XPointer) Version 1.0</titleref>,
	S. DeRose, E. Maler, and R. Daniel Jr., Editors. World Wide Web
	Consortium, September 2001.  This version of the XPath 1.0
	Specification is http://www.w3.org/TR/2001/WD-xptr-20010911. The <loc href="http://www.w3.org/TR/xptr" xlink:type="si