xml-general-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From t..@apache.org
Subject cvs commit: xml-site/sources/xerces-c dom3.xml program-deprecateddom.xml program-others.xml apidocs.xml build-misc.xml build-other.xml build-winunix.xml build.xml createdoc.xml domcount.xml domprint.xml enumval.xml faq-build.xml faq-distrib.xml faq-other.xml faq-parse.xml feedback.xml install.xml memparse.xml migration.xml migration_archive.xml pparse.xml program-dom.xml program-sax.xml program-sax2.xml program.xml readme.xml redirect.xml releases.xml releases_archive.xml releases_plan.xml samples.xml sax2count.xml sax2print.xml saxcount.xml saxprint.xml schema.xml senumval.xml stdinparse.xml idomcount.xml idomprint.xml program-idom.xml y2k.xml
Date Tue, 23 Jul 2002 13:14:59 GMT
tng         2002/07/23 06:14:59

  Modified:    sources/xerces-c apidocs.xml build-misc.xml build-other.xml
                        build-winunix.xml build.xml createdoc.xml
                        domcount.xml domprint.xml enumval.xml faq-build.xml
                        faq-distrib.xml faq-other.xml faq-parse.xml
                        feedback.xml install.xml memparse.xml migration.xml
                        migration_archive.xml pparse.xml program-dom.xml
                        program-sax.xml program-sax2.xml program.xml
                        readme.xml redirect.xml releases.xml
                        releases_archive.xml releases_plan.xml samples.xml
                        sax2count.xml sax2print.xml saxcount.xml
                        saxprint.xml schema.xml senumval.xml stdinparse.xml
  Added:       sources/xerces-c dom3.xml program-deprecateddom.xml
                        program-others.xml
  Removed:     sources/xerces-c idomcount.xml idomprint.xml
                        program-idom.xml y2k.xml
  Log:
  Xerces-C++ 2.0 documentation
  
  Revision  Changes    Path
  1.6       +23 -13    xml-site/sources/xerces-c/apidocs.xml
  
  Index: apidocs.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/apidocs.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- apidocs.xml	8 Mar 2002 20:40:51 -0000	1.5
  +++ apidocs.xml	23 Jul 2002 13:14:57 -0000	1.6
  @@ -2,26 +2,36 @@
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
   <s1 title="API Documentation">
  -    <s2 title="API Docs for SAX and DOM">
  +    <s2 title="API Docs for &XercesCName;">
   
   	    <p>&XercesCName; is packaged with the API documentation for SAX and DOM, the two
   		most common programming interfaces for XML. The most common
   		framework classes have also been documented.</p>
   
  -	    <p>&XercesCName; DOM is an implementation of the
  -		<jump href="http://www.w3.org/TR/REC-DOM-Level-1/">Document Object
  -		Model (Core) Level 1</jump> as defined in the W3C Recommendation of 1 October, 1998; and
  -		<jump href="http://www.w3.org/TR/DOM-Level-2-Core/">Document Object
  -		Model (Core) Level 2</jump> as defined in the W3C Recommendation of 13 November, 2000.
  -		For a complete understanding of how the &XercesCName; APIs work,
  -		we recommend you to read these documents.</p>
  -
   	    <p>&XercesCName; SAX is an implementation of the
  -		<jump href="http://sax.sourceforge.net/">SAX 1.0/2.0</jump> specification.
  -		You are encouraged to read this document for a better
  -		understanding of the SAX API in &XercesCName;.</p>
  +		<jump href="http://sax.sourceforge.net/">SAX 1.0/2.0</jump> specification.</p>
  +
  +	    <p>&XercesCName; DOM is an implementation of the</p>
  +              <ul>
  +               <li><jump href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/">
  +                   DOM Level 1 Specification</jump>, a W3C Recommendation of October 1, 1998</li>
  +               <li><jump href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">
  +                   DOM Level 2 Core Specification</jump>, a W3C Recommendation of November 13, 2000</li>
  +               <li><jump href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/">
  +                   DOM Level 2 Traversal and Range Specification</jump>, a W3C Recommendation of November 13, 2000</li>
  +               <li>Contains a partial implementation of the
  +                   <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/">
  +                   DOM Level 3.0 Core Specification</jump>, and
  +                   <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                   DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                   (W3C Working Draft of 09 April 2002).  This implementation is experimental.
  +                   See <jump href="dom3.html">DOM Level 3 Support</jump> for details.</li>
  +               </ul>
  +
  +           <p>For a complete understanding of how the &XercesCName; APIs work,
  +		we recommend you to read these documents.</p>
   
  -	    <p>See the <em><jump href="apiDocs/index.html">&XercesCName; API documentation.</jump></em> for more details.</p>
  +	    <p>See the <em><jump href="apiDocs/index.html">&XercesCName; API documentation</jump></em> for more details.</p>
   
   	    <note>The API documentation is automatically generated using
   		<jump href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</jump> and
  
  
  
  1.3       +37 -5     xml-site/sources/xerces-c/build-misc.xml
  
  Index: build-misc.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/build-misc.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- build-misc.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ build-misc.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -3,8 +3,8 @@
   
   <s1 title="Other Build Instructions">
       <anchor name="ICUPerl"/>
  -    <s2 title="Building &XercesCName; with ICU using bundled Perl scripts on Windows">
  -        <p>As mentioned earlier, &XercesCName; may be built in stand-alone mode using
  +    <s2 title="Building &XercesCName; with ICU">
  +        <p>&XercesCName; may be built in stand-alone mode using
           native encoding support and also using ICU where you get support over 180
           different encodings. ICU stands for International Components for Unicode and is an
           open source distribution from IBM. You can get
  @@ -19,8 +19,9 @@
           preferably with the same version. You cannot for example,
           build ICU with a threaded version of the xlC compiler and
           build &XercesCName; with a non-threaded one.</note>
  -
  -        <p>There are two options to build &XercesCName; with ICU. One is to use the
  +        <p/>
  +        <s3 title="Building on Windows">
  +        <p>There are two options to build &XercesCName; with ICU on Windows. One is to use the
           MSDEV GUI environment, and the other is to invoke the compiler from the
           command line.</p>
   
  @@ -61,11 +62,42 @@
   
           <p>If everything is setup right and works right, then you should see a
           binary drop created in the target directory specified above. This script
  -        will build both ICU and &XercesCName;, copy the files (relevant to the binary
  +        will build both ICU and &XercesCName;, and copy the files (relevant to the binary
           drop) to the target directory.</p>
   
           <p>For a description of options available, you can enter:</p>
   <source>perl packageBinaries.pl</source>
  +        </s3>
  +        <s3 title="Building on UNIX">
  +        <p>Extract &XercesCName; source files into, say, the home directory ($HOME).
  +        It should create a directory like '<code>$HOME/&XercesCSrcInstallDir;</code>'.</p>
  +
  +        <p>Extract the ICU files into the same directory
  +        where you have installed &XercesCName; sources. After extraction, there
  +        should be a new directory '<code>$HOME/icu</code>' which contains all the ICU
  +        source files.</p>
  +
  +        <p>Build the ICU according to the<jump href="http://oss.software.ibm.com/cvs/icu/~checkout~/icu/readme.html">
  +        ICU Build instruction in ICU Readme</jump>.   Then have its dll, <code>libicuuc.so</code>
  +        and <code>libicudata.so</code> (or <code>.sl</code> for HP-UX or <code>.a</code> for AIX),
  +        available from your library search path.</p>
  +
  +        <p>Then build the &XercesCName; with ICU.  This is similar to building a standalone
  +        &XercesCName; library as instructed in <jump href="build-winunix.html#UNIX">
  +        "Building &XercesCName; on UNIX platforms"</jump>; except that you have to specify
  +        the transcoder option <code>'-t icu'</code>.  For example:</p>
  +<source>runConfigure -plinux -cgcc -xg++ -minmem -nsocket -ticu -rpthread</source>
  +
  +        <p>Or instead of building the ICU and &XercesCName; manually in two steps,
  +        you can use the bundled perl script '<code>packageBinaries.pl</code>' which
  +        will build both of them in one step.  Specify the option <code>'-t icu'</code>
  +        when invoking the script.   For example:</p>
  +<source>export XERCESCROOT=$HOME/&XercesCSrcInstallDir;
  +export ICUROOT=$HOME/icu
  +cd $HOME/&XercesCSrcInstallDir;/scripts
  +perl packageBinaries.pl -s $HOME/&XercesCSrcInstallDir; -o $HOME/temp/&XercesCInstallDir;-aix -t icu</source>
  +
  +        </s3>
       </s2>
   
       <anchor name="WinCOM"/>
  
  
  
  1.3       +24 -214   xml-site/sources/xerces-c/build-other.xml
  
  Index: build-other.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/build-other.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- build-other.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ build-other.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -130,9 +130,9 @@
            name based on the parser version (using apache xerces versioning)):</p>
   <source>qsh:
   cd &lt;full path to &XercesCName;&gt;/lib
  -qar -cuv &XercesCUnixLib;.a *.o
  +qar -cuv &XercesCUnixLib;&XercesCUnixSoName;.so *.o
   will results in
  -command = CRTBNDDIR BNDDIR(yourlib/libxercesc) TEXT('/yourlib/&XercesCName;/lib/&XercesCUnixLib;.a')
  +command = CRTBNDDIR BNDDIR(yourlib/libxercesc) TEXT('/yourlib/&XercesCName;/lib/&XercesCUnixLib;&XercesCUnixSoName;.so')
   command = ADDBNDDIRE BNDDIR(yourlib/libxercesc) OBJ((yourlib/LIBXERCESC *SRVPGM) )</source>
   
   
  @@ -161,8 +161,8 @@
   <source>
   qsh:
   cd &lt;full path to &XercesCName;&gt;/lib
  -ln -s /qsys.lib/&lt;outputdir&gt;.lib/libxercesc.srvpgm   &XercesCUnixLib;.o
  -qar -cuv &XercesCUnixLib;.a *.o
  +ln -s /qsys.lib/&lt;outputdir&gt;.lib/libxercesc.srvpgm   &XercesCUnixLib;&XercesCUnixSoName;.so
  +qar -cuv &XercesCUnixLib;&XercesCUnixSoName;.so *.o
   </source>
   
            <p>If you are on a v4 system using the ILE C++ PRPQ compiler (which is referred
  @@ -170,14 +170,14 @@
            to the source:</p>
   
            <ul>
  -         <li>src/xercesc/dom/DocumentImpl.cpp</li>
  -         <li>src/xercesc/dom/DocumentImpl.hpp</li>
  -         <li>src/xercesc/idom/IDDocumentImpl.cpp</li>
  -         <li>src/xercesc/idom/IDDocumentImpl.hpp</li>
  +         <li>src/xercesc/dom/impl/DOMDocumentImpl.cpp</li>
  +         <li>src/xercesc/dom/impl/DOMDocumentImpl.hpp</li>
  +         <li>src/xercesc/dom/deprecated/DocumentImpl.cpp</li>
  +         <li>src/xercesc/dom/deprecated/DocumentImpl.hpp</li>
            <li>src/xercesc/validators/common/ContentSpecNode.hpp</li>
            </ul>
   
  -         <p>Update  the following routines in src/xercesc/dom/DocumentImpl.cpp as follows:</p>
  +         <p>Update  the following routines in src/xercesc/dom/deprecated/DocumentImpl.cpp as follows:</p>
   <source>
    void DocumentImpl::setUserData(NodeImpl* n, void* data)
    {
  @@ -210,7 +210,7 @@
    }
   </source>
   
  -         <p>To update src/xercesc/dom/DoumentImpl.hpp as follows:</p>
  +         <p>To update src/xercesc/dom/deprecated/DoumentImpl.hpp as follows:</p>
   
   <source>
    #ifdef __OS400__
  @@ -221,9 +221,9 @@
    #endif
   </source>
   
  -          <p>Update  the following routines in src/xercesc/idom/IDDocumentImpl.cpp as follows:</p>
  +          <p>Update  the following routines in src/xercesc/dom/impl/DOMDocumentImpl.cpp as follows:</p>
   <source>
  - void IDDocumentImpl::setUserData(IDOM_Node* n, void* data)
  + void DOMDocumentImpl::setUserData(DOMNode* n, void* data)
    {
   	if (!fUserData &amp;&amp; data)
    #ifdef __OS400__
  @@ -242,7 +242,7 @@
    #endif
    }
   
  - void* IDDocumentImpl::getUserData(const IDOM_Node* n) const
  + void* DOMDocumentImpl::getUserData(const DOMNode* n) const
    {
   	if (fUserData)
    #ifdef __OS400__
  @@ -256,7 +256,7 @@
    }
   </source>
   
  -          <p>To update src/xercesc/idom/IDDocumentImpl.hpp:</p>
  +          <p>To update src/xercesc/dom/impl/DOMDocumentImpl.hpp:</p>
   <source>
    #ifdef __OS400__
       RefHashTableOf&lt;char&gt;        *fUserData;
  @@ -297,165 +297,6 @@
           </s3>
       </s2>
   
  -    <anchor name="OS2VisualAge"/>
  -    <s2 title="Building &XercesCName; on OS/2 using Visual Age C++">
  -          <p>OS/2 is a favourite IBM PC platforms. The only
  -          option in this platform is to use
  -          <jump href="http://www-4.ibm.com/software/ad/vacpp/">Visual Age C++ compiler</jump>.
  -          Here are the steps you need to build &XercesCName; using
  -          Visual Age C++ on OS/2.</p>
  -          <s3 title="Building &XercesCName; library">
  -             <p><em>Requirements:</em></p>
  -                <ul>
  -                    <li>VisualAge C++ Version 4.0 with Fixpak 1:
  -                    <br/>Download the
  -                    <jump href="http://www-4.ibm.com/software/ad/vacpp/service/csd.html">Fixpak</jump>
  -                    from the IBM VisualAge C++ Corrective Services web page.</li>
  -                </ul>
  -
  -             <p>There are two ways to build &XercesCName;. The "From Existing" method only
  -                  requires VAC++. The "From Scratch" method requires both Object Rexx and VAC++
  -                  installed.</p>
  -
  -          <p><em>The &quot;From Existing&quot; Method</em></p>
  -          <ol>
  -            <li>In the <code>&XercesCSrcInstallDir;\Projects\OS2\VACPP40</code> directory,
  -            find and edit the VAC++ configuration file <code>project_options.icc</code>.</li>
  -
  -            <li>Change the directory on the first line <code>'BASE_DIR = "..."'</code>
  -            to match the base directory of the &XercesCName; sources on your system.
  -            Note that the directory path must use double backslashes <code>"\\"</code>!</li>
  -
  -            <li>Save <code>project_options.icc</code></li>
  -
  -            <li>Start the Command Line in the VAC++ folder.</li>
  -
  -            <li>Navigate to the <code>&XercesCSrcInstallDir;\Projects\OS2\VACPP40</code> directory.</li>
  -
  -            <li>Run <code>build.cmd</code>. This does a migration build.</li>
  -
  -            <li>When <code>build.cmd</code> finishes, review the file <code>compiler.errors</code>.
  -            This file should contain only informational messages, almost all complaining
  -            about constant values in comparisons.</li>
  -
  -            <li>You should now have a <code>xerces-c.dll</code> and <code>xerces-c.lib</code>.
  -            The library file is an import library for the DLL.</li>
  -          </ol>
  -
  -          <p><em>The &quot;From Scratch&quot; Method</em></p>
  -          <ol>
  -            <li>If you are not currently running <code>Object Rexx</code>,
  -            run the <code>SWITCHRX</code> command from a command line,
  -            answer <code>"yes"</code> to switching to <code>Object Rexx</code>, and follow the
  -            instructions to reboot. You can switch back to <code>"Classic Rexx"</code> by running
  -            <code>SWITCHRX</code> again. But you probably won't need to switch back since
  -            <code>Object Rexx</code> runs almost 100% of Classic Rexx programs.</li>
  -
  -            <li>In the <code>&XercesCSrcInstallDir;\Projects\OS2\VACPP40</code> directory,
  -            run <code>genICC.cmd</code>. This builds the VAC++ configuration files for
  -            the sources you have on your system.</li>
  -
  -            <li>Check the generated <code>ICC</code> files to ensure that they didn't pick up some
  -            non-OS/2 platform stuff. This happens when new platform-specific directories
  -            are added to Xerces. If they did pick up new non-OS/2 stuff, either edit it out
  -            of the <code>ICC</code> file or add them to the "ignore" array in <code>genICC.cmd</code> and
  -            re-run <code>genICC</code>.</li>
  -
  -            <li>Start the Command Line in the VAC++ folder.</li>
  -
  -            <li>Navigate to the <code>&XercesCSrcInstallDir;\Projects\OS2\VACPP40</code> directory.</li>
  -
  -            <li>Run <code>build.cmd</code> This does a migration build.</li>
  -
  -            <li>When <code>build.cmd</code> finishes, review the file <code>compiler.errors</code>.
  -            This file should contain only informational messages, almost all complaining about constant
  -            values in comparisons.</li>
  -
  -            <li>You should now have a <code>xerces-c.dll</code> and <code>xerces-c.lib</code>.
  -            The library file is an import library for the DLL.)</li>
  -
  -          </ol>
  -
  -         <p><em>Packaging the Binaries</em></p>
  -
  -          <p>There is an <code>Object Rexx</code> program that will package the binaries and headers.
  -          (See step 1 of the "From scratch" method on how to switch to <code>Object Rexx</code>.) The
  -          <code>packageBinaries.cmd</code> file is in the <code>&XercesCSrcInstallDir;\Projects\OS2\VACPP40</code>
  -          directory. Run <code>packageBinaries</code>, giving the source and target directories
  -          like this:</p>
  -
  -<source>packageBinaries -s x:\&XercesCSrcInstallDir; -o x:\temp\&XercesCInstallDir;-os2</source>
  -
  -          <p>(Match the source directory to your system; the target directory can be
  -          anything you want.)</p>
  -
  -          <note>If you don't want to use the <code>Object Rexx</code> program, you'll need to
  -          manually  copy the "*.hpp" and "*.c" files to an include directory.
  -          (Be sure to maintain the same directory structure that you find under
  -          <code>&XercesCSrcInstallDir;</code>.)</note>
  -          </s3>
  -
  -        <s3 title="Building Samples">
  -         <p>Building the &XercesCName; samples using IBM Visual Age C++ Professional 4.0
  -          for OS/2 (VAC++).</p>
  -
  -         <ul>
  -         <li> In the <code>XercesCSrcInstallDir;\samples\Projects\OS2\VACPP40</code> directory,
  -         find and edit the VAC++ configuration file <code>basedir.icc</code>.</li>
  -
  -         <li>All of the directories used to build the samples are defined in
  -         <code>basedir.icc</code>. You need to edit the directories to match your system.
  -         Here are the directories you need to assign:
  -
  -                SRC_DIR -- <code>XercesCSrcInstallDir;</code>
  -                           This is where VAC++ should look to find the samples
  -                           directories containing the source files.
  -                BASE_DIR -- The install directory <code>XercesCSrcInstallDir;</code>.
  -                		VAC++ will store the compiled samples in the <code>bin</code>
  -                		directory under BASE_DIR. It will also look for the
  -                		<code>xerces-c.lib</code> file in the <code>lib</code> directory under BASE_DIR.
  -
  -            Other directories are set based on these two. You can choose to override them
  -            if you wish.</li>
  -
  -         <li>Save <code>basedir.icc</code></li>
  -
  -         <li>Start the Command Line in the VAC++ folder.</li>
  -
  -         <li>Navigate to the <code>XercesCSrcInstallDir;\samples\Projects\OS2\VACPP40</code> directory.</li>
  -
  -         <li>Run <code>bldsamples.cmd</code></li>
  -
  -         <li>When <code>build.cmd</code> finishes, review the file <code>compiler.errors</code>.
  -         This file should contain only informational messages, almost all complaining about constant
  -            values in comparisons.</li>
  -
  -         <li>You should now have several executable files.</li>
  -
  -        </ul>
  -
  -        <p>Rebuilding the Configuration Files</p>
  -
  -        <p>Although it shouldn't be necessary, if you want to rebuild the VAC++
  -        configuration files, you'll need to have Object Rexx running on your system:</p>
  -
  -        <ul>
  -         <li> If you are not currently running Object Rexx, run the SWITCHRX command from
  -            a command line, answer "yes" to switching to Object Rexx, and follow the
  -            instructions to reboot. (Note: You can switch back to "Classic Rexx" by
  -            running SWITCHRX again. But you probably won't need to switch back since
  -            Object Rexx runs almost 100% of Classic Rexx programs.)</li>
  -
  -         <li>In the Projects\OS2\VACPP40 directory, run genICC.cmd. This builds the VAC++
  -            configuration files for the samples you have on your system.</li>
  -
  -
  -          <li>Go to the first step above in the "Building samples for OS/2" section.</li>
  -        </ul>
  -        </s3>
  -
  -    </s2>
  -
       <anchor name="Mac"/>
       <s2 title="Building &XercesCName; on Macintosh">
   		<p>The &XercesCName; Mac port has the key following attributes:
  @@ -498,54 +339,23 @@
   			<p><em>Installing &XercesCName; for use with CodeWarrior:</em>
   			</p>
   			
  -			<p>For compatibility with CodeWarrior, it is necessary to adjust some of the
  -			file names (and referencing include statements). To do this, it is necessary
  -			to perform the following steps on a unix (or Mac OS X) machine that
  -			has support for long file names (a Windows machine may also work):
  +			<p>Note: versions of CodeWarrior prior to 8.0 did not support HFS+ long file names,
  +			and thus required special steps to alter the file names prior to use. This restriction
  +			has been removed for CodeWarrior 8.0, and the projects now directly reference the unaltered
  +			source tree. The project files in this release require CodeWarrior v8.0 or higher.
   			</p>
   			
  -			<ul>
  -				<li>Retrieve &XercesCName; from CVS, or untar a packaged build. Note that these
  -				steps should not be performed in a Classic Mac OS environment, as file
  -				names would then be mangled at this point!
  -				</li>
  -					
  -				<li>&XercesCName; comes with a tool that will shorten file names as appropriate,
  -				and fix up referencing include statements. Duplicate the file
  -				Projects/MacOS/ShortenFiles.pl to the xercesc main directory (the same
  -				directory that contains the Projects directory). Executing this perl
  -				script from this location will create a new directory MacSrc that
  -				contains patched up versions of files from the src directory.
  -				</li>
  -			</ul>
  -			
  -<source>cd &lt;xercescroot&gt;
  -cp Projects/MacOS/ShortenFiles.pl .
  -perl ShortenFiles.pl</source>
  -
  -			<ul>
  -				<li>The source files will likely not now have proper Mac OS type/creator
  -				attribution. CodeWarrior badly wants this to be correct. So set the
  -				type/creator of these files somehow. The following should work from
  -				Mac OS X (but if you're not going to keep building on a Mac OS X
  -				machine, you may well need to perform this step in some other way once
  -				you get the files onto your classic machine).
  -				</li>
  -			</ul>
  +			<p>It is extemely important to ensure that you retrieve and unpack the sources
  +			with a tool that does not truncate file names. The command line tar utility on Mac OS X
  +			will do the right thing; current versions of StuffIt seem to truncate names as they
  +			unpack tar archives. Failure to do this properly will result in broken projects.
  +			</p>
   			
  -<source>find . \( -name "*.c" -or -name "*.h" -or -name "*.cpp" -or -name "*.hpp" -or \
  --name "*.xml" -or -name "*.r" \) -print0 | xargs -0 /Developer/Tools/SetFile -c CWIE -t TEXT</source>
  -
  -			<ul>
  -				<li>Move the entire directory structure to your Mac OS machine.
  -				</li>
  -			</ul>
  -		
   			<p><em>Building &XercesCName; with CodeWarrior:</em>
   			</p>
   		
   			<ul>
  -				<li>Run CodeWarrior (tested with latest CW Pro 7.0).
  +				<li>Run CodeWarrior (requires CodeWarrior 8.0 with support for long file names).
   				</li>
   				
   				<li>Import the project Projects/MacOS/CodeWarrior/XercesLib/XercesLib.mcp.xml,
  
  
  
  1.3       +98 -85    xml-site/sources/xerces-c/build-winunix.xml
  
  Index: build-winunix.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/build-winunix.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- build-winunix.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ build-winunix.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -3,24 +3,29 @@
   
   <s1 title="Building on Windows and UNIX">
       <anchor name="WinNT"/>
  -    <s2 title="Building &XercesCName; on Windows NT/2000">
  -        <p>&XercesCName; comes with Microsoft Visual C++ projects and workspaces to
  +    <s2 title="Building &XercesCName; on Windows using Microsoft Visual C++">
  +        <p>&XercesCName; source distribution comes with Microsoft Visual C++ projects and workspaces to
           help you build &XercesCName;. The following describes the steps you need
           to build &XercesCName;.</p>
   
           <s3 title="Building &XercesCName; library">
  -            <p>To build &XercesCName; from it source (using MSVC), you will
  +            <p>To build &XercesCName; from the source distribution (using MSVC), you will
               need to open the workspace containing the project. If you are
               building your application, you may want to add the &XercesCName;
               project inside your applications's workspace.</p>
               <p>The workspace containing the &XercesCName; project file and
  -            all other samples is:</p>
  +            all other samples is in:</p>
  +            <p>For MSVC Version 6:</p>
   <source>&XercesCSrcInstallDir;\Projects\Win32\VC6\xerces-all\xerces-all.dsw</source>
  +            <p>For MSVC Version 7 (Visual C++.Net):</p>
  +<source>&XercesCSrcInstallDir;\Projects\Win32\VC7\xerces-all\xerces-all.sln</source>
  +
               <p>Once you are inside MSVC, you need to build the project marked
               <em>XercesLib</em>.</p>
               <p>If you want to include the &XercesCName; project separately,
               you need to pick up:</p>
  -<source>&XercesCSrcInstallDir;\Projects\Win32\VC6\xerces-all\XercesLib\XercesLib.dsp</source>
  +<source>(For MSVC V6) &XercesCSrcInstallDir;\Projects\Win32\VC6\xerces-all\XercesLib\XercesLib.dsp
  +(For MSVC V7) &XercesCSrcInstallDir;\Projects\Win32\VC7\xerces-all\XercesLib\XercesLib.vcproj</source>
               <p>You must make sure that you are linking your application with
               the &XercesCWindowsLib;.lib library and also make sure that
               the associated DLL is somewhere in your path.</p>
  @@ -43,53 +48,9 @@
           </s3>
       </s2>
   
  -    <anchor name="WinVisualAge"/>
  -    <s2 title="Building &XercesCName; on Windows using Visual Age C++">
  -        <p>A few unsupported projects are also packaged with &XercesCName;. Due to
  -        origins of &XercesCName; inside IBM labs, we do have projects for IBM's
  -        <jump href="http://www-4.ibm.com/software/ad/vacpp/">Visual Age C++ compiler</jump> on Windows.
  -        The following describes the steps you need to build &XercesCName; using
  -        Visual Age C++.</p>
  -
  -        <s3 title="Building &XercesCName; library">
  -            <p><em>Requirements:</em></p>
  -
  -            <ul>
  -                <li>VisualAge C++ Version 4.0 with Fixpak 1:
  -                <br/>Download the
  -                <jump href="http://www-4.ibm.com/software/ad/vacpp/service/csd.html">Fixpak</jump>
  -                from the IBM VisualAge C++ Corrective Services web page.</li>
  -            </ul>
  -
  -            <p>To include the ICU library:</p>
  -
  -            <ul>
  -                <li>ICU Build:
  -                <br/>You should have the
  -                <jump href="http://oss.software.ibm.com/icu/">ICU Library</jump>
  -                in the same directory as the &XercesCName; library. For example if
  -                &XercesCName; is at the top level of the d drive, put the ICU
  -                library at the top level of d e.g. d:/&XercesCInstallDir; d:/icu.</li>
  -            </ul>
  -
  -            <p><em>Instructions:</em></p>
  -            <ol>
  -                <li>Change the directory to d:\&XercesCInstallDir;\Projects\Win32</li>
  -                <li>If a d:\&XercesCInstallDir;\Project\Win32\VACPP40 directory does not exist, create it.</li>
  -                <li>Copy the IBM VisualAge project file, <code>XML4C2X.icc</code>,
  -                    to the VACPP40 directory.</li>
  -                <li>From the VisualAge main menu enter the project file name and path.</li>
  -                <li>When the build finishes the status bar displays this message: Last Compile
  -                   completed Successfully with warnings on date.</li>
  -            </ol>
  -            <note>These instructions assume that you install in drive d:\.
  -            Replace d with the appropriate drive letter.</note>
  -        </s3>
  -    </s2>
  -
       <anchor name="WinBorland"/>
       <s2 title="Building &XercesCName; on Windows using Borland C++Builder">
  -        <p>&XercesCName; comes with Borland C++Builder projects to help you
  +        <p>&XercesCName; sourec distribution comes with Borland C++Builder projects to help you
   		build &XercesCName;. The following describes the steps you need to build
   		&XercesCName;.</p>
   
  @@ -152,13 +113,48 @@
           compilers we have tested &XercesCName; on. The following table lists the
           relevant platforms and compilers.</p>
   
  -        <table>
  -            <tr><td><em>Operating System</em></td><td><em>C++, C Compilers</em></td></tr>
  -            <tr><td>Redhat Linux 7.2</td><td>g++, gcc (egcs)</td></tr>
  -            <tr><td>AIX 4.3</td><td>xlC_r, xlc_r</td></tr>
  -            <tr><td>Solaris 2.6</td><td>CC, cc</td></tr>
  -            <tr><td>HP-UX 11</td><td>aCC, cc</td></tr>
  -        </table>
  +      <table>
  +        <tr>
  +          <td><em>Operating System</em></td>
  +          <td><em>Compiler</em></td>
  +        </tr>
  +        <tr>
  +          <td><em>32-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>Redhat Linux 7.2</td>
  +          <td>g++ 3.1</td>
  +        </tr>
  +        <tr>
  +          <td>AIX 5.1</td>
  +          <td>xlC_r 5.0.2</td>
  +        </tr>
  +        <tr>
  +          <td>Solaris 2.7</td>
  +          <td>Forte C++ Version 6 Update 2</td>
  +        </tr>
  +        <tr>
  +          <td>HP-UX 11.0</td>
  +          <td>aCC A.03.13 with pthreads</td>
  +        </tr>
  +        <tr>
  +          <td><em>64-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>AIX 5.1</td>
  +          <td>xlC_r 5.0.2</td>
  +        </tr>
  +        <tr>
  +          <td>HP-UX 11.0</td>
  +          <td>aCC A.03.13 with pthreads</td>
  +        </tr>
  +        <tr>
  +          <td>Solaris 2.7</td>
  +          <td>Forte C++ Version 6 Update 2</td>
  +        </tr>
  +      </table>
   
           <p>If you are not using any of these compilers, you are taking a calculated risk
           by exploring new grounds. Your effort in making &XercesCName; work on this
  @@ -178,7 +174,7 @@
           understanding that you know how to interpret it for the other UNIX flavors.</p>
   
           <note>If you wish to build &XercesCName; with ICU,
  -        look at the <jump href="build-misc.html#faq-1">Building ICU</jump>.
  +        look at the <jump href="build-misc.html#faq-1">Building &XercesCName; with ICU</jump>.
           It tells you where you can get ICU and how to build &XercesCName; with it.</note>
   
           <s3 title="Setting build environment variables">
  @@ -196,7 +192,8 @@
               </s3>
   
           <s3 title="Building &XercesCName; library">
  -            <p>As mentioned earlier, you must be ready with the GNU tools like
  +            <p>As mentioned earlier, to build &XercesCName; from the source distribution,
  +            you must be ready with the GNU tools like
               <jump href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</jump> and
               <jump href="http://www.gnu.org/software/make/make.html">gmake</jump>
               before you attempt the build.</p>
  @@ -230,20 +227,22 @@
   runConfigure: Helper script to run "configure" for one of the supported platforms
   Usage: runConfigure "options"
          where options may be any of the following:
  -       -p &lt;platform&gt; (accepts 'aix', 'linux', 'solaris',
  -            'hp-10', 'hp-11', 'unixware', 'os400', 'irix', 'ptx', 'tru64', 'macosx' )
  -       -c &lt;C compiler name&gt; (e.g. gcc, cc, xlc_r, icc)
  -       -x &lt;C++ compiler name&gt; (e.g. g++, CC, xlC_r, icc, c++)
  +       -p &lt;platform&gt; (accepts 'aix', 'linux', 'freebsd', 'solaris',
  +            'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
  +            'ptx', 'tru64', 'macosx')
  +       -c &lt;C compiler name&gt; (e.g. gcc, cc, xlc_r, icc or ecc)
  +       -x &lt;C++ compiler name&gt; (e.g. g++, CC, xlC_r, icc or ecc)
          -d (specifies that you want to build debug version)
          -m &lt;message loader&gt; can be 'inmem', 'icu', 'MsgFile' or 'iconv'
          -n &lt;net accessor&gt; can be 'fileonly', 'libwww', 'socket' or 'native'
  -       -t &lt;transcoder&gt; can be 'icu', 'Iconv400', 'Iconv390' or 'native'
  -       -r &lt;thread option&gt; can be 'pthread' or 'dce' (only used on aix, HP-11 and solaris) or 'sproc' (only on IRIX) or 'none'
  +       -t &lt;transcoder&gt; can be 'icu', 'Iconv400', 'Iconv390', 'IconvFBSD' or 'native'
  +       -r &lt;thread option&gt; can be 'pthread' or 'dce' (AIX, HP-11, and Solaris) or 'sproc' (IRIX) or 'none'
  +       -b &lt;bitsToBuild&gt; (accepts '64', '32')
          -l &lt;extra linker options&gt;
          -z &lt;extra compiler options&gt;
          -P &lt;install-prefix&gt;
          -C &lt;any one extra configure options&gt;
  -       -h (to get help on the above commands)
  +       -h (get help on the above commands)
   </source>
   
               <note>&XercesCName; can be built as either a standalone library or as a library
  @@ -260,24 +259,25 @@
   Platform: linux
   C Compiler: gcc
   C++ Compiler: g++
  -Extra compile options:
  -Extra link options:
   Message Loader: inmem
   Net Accessor: socket
   Transcoder: native
   Thread option: pthread
  +bitsToBuild option: 32
  +Extra compile options:
  +Extra link options:
   Extra configure options:
   Debug is OFF
   
   creating cache ./config.cache
   checking for gcc... gcc
  -checking whether the C compiler (gcc  -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET ) works... yes
  -checking whether the C compiler (gcc  -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET ) is a cross-compiler... no
  +checking whether the C compiler (gcc   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET       ) works... yes
  +checking whether the C compiler (gcc   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET       ) is a cross-compiler... no
   checking whether we are using GNU C... yes
   checking whether gcc accepts -g... yes
   checking for c++... g++
  -checking whether the C++ compiler (g++  -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET ) works... yes
  -checking whether the C++ compiler (g++  -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET ) is a cross-compiler... no
  +checking whether the C++ compiler (g++   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET      ) works... yes
  +checking whether the C++ compiler (g++   -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET      ) is a cross-compiler... yes
   checking whether we are using GNU C++... yes
   checking whether g++ accepts -g... yes
   checking for a BSD compatible install... /usr/bin/install -c
  @@ -294,16 +294,19 @@
   creating util/Transcoders/Iconv/Makefile
   creating util/Transcoders/Iconv390/Makefile
   creating util/Transcoders/Iconv400/Makefile
  +creating util/Transcoders/IconvFBSD/Makefile
   creating util/Transcoders/MacOSUnicodeConverter/Makefile
   creating util/Platforms/Makefile
   creating util/Platforms/Solaris/Makefile
   creating util/Platforms/AIX/Makefile
   creating util/Platforms/Linux/Makefile
  +creating util/Platforms/FreeBSD/Makefile
   creating util/Platforms/HPUX/Makefile
   creating util/Platforms/OS390/Makefile
   creating util/Platforms/OS400/Makefile
   creating util/Platforms/IRIX/Makefile
   creating util/Platforms/PTX/Makefile
  +creating util/Platforms/OpenServer/Makefile
   creating util/Platforms/UnixWare/Makefile
   creating util/Platforms/Tru64/Makefile
   creating util/Platforms/MacOS/Makefile
  @@ -314,24 +317,28 @@
   creating util/MsgLoaders/MsgFile/Makefile
   creating util/NetAccessors/Socket/Makefile
   creating util/NetAccessors/libWWW/Makefile
  -creating util/NetAccessors/MacOSURLAccess/Makefile
  +creating util/NetAccessors/MacOSURLAccessCF/Makefile
   creating util/regx/Makefile
   creating validators/Makefile
   creating validators/common/Makefile
   creating validators/datatype/Makefile
   creating validators/DTD/Makefile
   creating validators/schema/Makefile
  +creating validators/schema/identity/Makefile
   creating framework/Makefile
   creating dom/Makefile
  -creating idom/Makefile
  +creating dom/impl/Makefile
  +creating dom/deprecated/Makefile
   creating parsers/Makefile
   creating internal/Makefile
   creating sax/Makefile
   creating sax2/Makefile
  -creating ../obj/Makefile
  +creating ../../obj/Makefile
   
  -Having build problems? Read instructions at http://xml.apache.org/xerces-c/build.html
  -Still cannot resolve it? Find out if someone else had the same problem before.
  +Having build problems?
  +Read instructions at http://xml.apache.org/xerces-c/build.html
  +Still cannot resolve it?
  +Find out if someone else had the same problem before.
   Go to http://marc.theaimsgroup.com/?l=xerces-c-dev
   
   In future, you may also directly type the following commands to create the Makefiles.
  @@ -340,11 +347,12 @@
   export MESSAGELOADER="INMEM"
   export NETACCESSOR="Socket"
   export THREADS="pthread"
  +export BITSTOBUILD="32"
   export CC="gcc"
   export CXX="g++"
  -export CXXFLAGS=" -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET"
  -export CFLAGS=" -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET"
  -export LDFLAGS=""
  +export CXXFLAGS=" -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET "
  +export CFLAGS=" -w -O -DXML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_USE_NETACCESSOR_SOCKET "
  +export LDFLAGS=" "
   export LIBS=" -lpthread "
   configure
   
  @@ -385,15 +393,20 @@
   
            </p>
   <source>
  +runConfigure: Helper script to run "configure" for one of the supported platforms
   Usage: runConfigure "options"
          where options may be any of the following:
  -       -p &lt;platform&gt; (accepts 'aix', 'unixware', 'linux', 'solaris',
  -'hp-10', 'hp-11', 'os400', 'irix', 'ptx', 'tru64', 'macosx')
  -       -c &lt;C compiler name&gt; (e.g. gcc, xlc or icc)
  -       -x &lt;C++ compiler name&gt; (e.g. g++, xlC, or icc)
  +       -p &lt;platform&gt; (accepts 'aix', 'linux', 'freebsd', 'solaris',
  +                 'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
  +                 'ptx', 'tru64', 'macosx')
  +       -c &lt;C compiler name&gt; (e.g. gcc, cc, xlc_r, icc or ecc)
  +       -x &lt;C++ compiler name&gt; (e.g. g++, CC, xlC_r, icc or ecc)
          -d (specifies that you want to build debug version)
  -       -h (get help on the above commands)
  +       -r &lt;thread option&gt; can be 'pthread' or 'dce' (AIX, HP-11, and Solaris) or 'sproc' (IRIX) or 'none'
  +       -b &lt;bitsToBuild&gt; (accepts '64', '32')
  +       -l &lt;extra linker options&gt;
          -z &lt;extra compiler options&gt;
  +       -h (get help on the above commands)
   </source>
   
            <note><em>NOTE:</em>The code samples in this section assume that you are working on the Linux binary drop.
  
  
  
  1.4       +2 -4      xml-site/sources/xerces-c/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/build.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.xml	8 Mar 2002 20:40:51 -0000	1.3
  +++ build.xml	23 Jul 2002 13:14:57 -0000	1.4
  @@ -7,8 +7,7 @@
       <p>Read the <jump href="build-winunix.html">Building on Windows and UNIX</jump> document
         or jump directly to:</p>
       <ul>
  -       <li><jump href="build-winunix.html#WinNT">Building &XercesCName; on Windows NT/2000</jump></li>
  -       <li><jump href="build-winunix.html#WinVisualAge">Building &XercesCName; on Windows using Visual Age C++</jump></li>
  +       <li><jump href="build-winunix.html#WinNT">Building &XercesCName; on Windows using Microsoft Visual C++</jump></li>
          <li><jump href="build-winunix.html#WinBorland">Building &XercesCName; on Windows using Borland C++Builder</jump></li>
          <li><jump href="build-winunix.html#UNIX">Building &XercesCName; on UNIX platforms</jump></li>
          <li><jump href="build-winunix.html#UNIX_SingleThread">Building &XercesCName; as a single-threaded library on Unix platforms</jump></li>
  @@ -20,7 +19,6 @@
         or jump directly to:</p>
       <ul>
          <li><jump href="build-other.html#iSeries">Building &XercesCName; on iSeries (AS/400)</jump></li>
  -       <li><jump href="build-other.html#OS2VisualAge">Building &XercesCName; on OS/2 using Visual Age C++</jump></li>
          <li><jump href="build-other.html#Mac">Building &XercesCName; on Macintosh</jump></li>
       </ul>
     </s2>
  @@ -29,7 +27,7 @@
       <p>Read the <jump href="build-misc.html">Other Build Instructions</jump> document
         or jump directly to:</p>
       <ul>
  -       <li><jump href="build-misc.html#ICUPerl">Building &XercesCName; with ICU using bundled Perl scripts on Windows</jump></li>
  +       <li><jump href="build-misc.html#ICUPerl">Building &XercesCName; with ICU</jump></li>
          <li><jump href="build-misc.html#WinCOM">Building &XercesCName; COM Wrapper on Windows</jump></li>
          <li><jump href="build-misc.html#UserDoc">Building User Documentation</jump></li>
          <li><jump href="build-misc.html#PortInfo">I wish to port &XercesCProjectName; to my favourite platform. Do you have any suggestions?</jump></li>
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/createdoc.xml
  
  Index: createdoc.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/createdoc.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- createdoc.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ createdoc.xml	23 Jul 2002 13:14:57 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 10: CreateDOMDocument">
  +<s1 title="Sample: CreateDOMDocument">
   
       <s2 title="CreateDOMDocument">
           <p> CreateDOMDocument, illustrates how you can create a DOM tree in
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/domcount.xml
  
  Index: domcount.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/domcount.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- domcount.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ domcount.xml	23 Jul 2002 13:14:57 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 3: DOMCount">
  +<s1 title="Sample: DOMCount">
   
       <s2 title="DOMCount">
           <p>DOMCount uses the provided DOM API to parse an XML file,
  
  
  
  1.2       +60 -23    xml-site/sources/xerces-c/domprint.xml
  
  Index: domprint.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/domprint.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- domprint.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ domprint.xml	23 Jul 2002 13:14:57 -0000	1.2
  @@ -1,49 +1,50 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 4: DOMPrint">
  +<s1 title="Sample: DOMPrint">
   
       <s2 title="DOMPrint">
  -        <p>DOMPrint parses an XML file, constructs the DOM tree, and walks
  -		through the tree printing each element. It thus dumps the XML back
  -		(output same as SAXPrint).</p>
  +        <p>DOMPrint parses an XML file, constructs the DOM tree, and
  +		   invokes DOMWriter::writeNode() to serialize the resultant 
  +		   DOM tree back to XML stream.
  +		</p>
   
           <s3 title="Running DOMPrint">
   
             <p>The DOMPrint sample parses an XML file, using either a validating
   		  or non-validating DOM parser configuration, builds a DOM tree,
  -		  and then walks the tree and outputs the contents of the nodes
  -		  in a 'canonical' format. To run DOMPrint, enter the following:</p>
  +		  and then invokes DOMWriter::writeNode() to serialize the
  +		  resultant DOM tree. To run DOMPrint, enter the following:</p>
   <source>DOMPrint &lt;XML file&gt;</source>
             <p>The following parameters may be set from the command line </p>
  -<source>Usage:
  -    DOMPrint [options] &lt;XML file&gt;
  +<source>
  +Usage:
  + DOMPrint [options] &lt;XML file&gt;
   
  -This program invokes the DOM parser, and builds the DOM tree.
  -It then traverses the DOM tree and prints the contents of the
  -tree for the specified XML file.
  +This program invokes the DOM parser, and builds the DOM tree
  +It then asks the DOMWriter to serialize the DOM tree.
   
   Options:
       -e          create entity reference nodes. Default is no expansion.
  -    -u=xxx      Handle unrepresentable chars [fail | rep | ref*].
       -v=xxx      Validation scheme [always | never | auto*].
       -n          Enable namespace processing. Default is off.
       -s          Enable schema processing. Default is off.
  -    -f          Enable full schema constraint checking. Defaults to off.
  -    -x=XXX      Use a particular encoding for output. Default is
  +    -f          Enable full schema constraint checking. Defaults is off.
  +    -wenc=XXX   Use a particular encoding for output. Default is
                   the same encoding as the input XML file. UTF-8 if
                   input XML file has not XML declaration.
  -    -?          Show this help.
  -
  +    -weol=xxx   Set the end of line sequence. Default set by DOMWriter.
  +    -wscs=xxx   Enable/Disable split-cdata-sections.      Default on.  
  +    -wddc=xxx   Enable/Disable discard-default-content.   Default on.  
  +    -wflt=xxx   Enable/Disable filtering.                 Default off. 
  +    -wfpp=xxx   Enable/Disable format-pretty-print.       Default off.
  +    -?          Show this help
     * = Default if not provided explicitly.
   
  -The parser has intrinsic support for the following encodings:
  -    UTF-8, USASCII, ISO8859-1, UTF-16[BL]E, UCS-4[BL]E,
  -    WINDOWS-1252, IBM1140, IBM037.
  +The parser has intrinsic support for the following encodings:\n"
  +    UTF-8, USASCII, ISO8859-1, UTF-16[BL]E, UCS-4[BL]E,\n"
  +    WINDOWS-1252, IBM1140, IBM037.\n"
   </source>
  -          <p><em>-u=fail</em> will fail when unrepresentable characters are encountered<br/>
  -             <em>-u=rep</em> will replace with the substitution character for that codepage<br/>
  -             <em>-u=ref</em> will report the character as a reference</p>
             <p><em>-v=always</em> will force validation<br/>
                <em>-v=never</em>  will not use any validation<br/>
                <em>-v=auto</em>   will validate if a DOCTYPE declaration or a schema declaration is present in the XML document</p>
  @@ -95,9 +96,45 @@
   &lt;/person&gt;
   
   &lt;/personnel&gt;</source>
  -          <p>Note that DOMPrint does not reproduce the original XML file. DOMPrint and
  +        <p>Note that DOMPrint does not reproduce the original XML file. DOMPrint and
              SAXPrint produce different results because of the way the two APIs store data
              and capture events.</p>
  +
  +        <p>Application needs to provide its own implementation of 
  +		   DOMErrorHandler (in this sample, the DOMPrintErrorHandler), 
  +		   if it would like to receive notification from the serializer 
  +		   in the case any error occurs during the serialization.
  +		</p>
  +
  +        <p>Application needs to provide its own implementation of 
  +		   DOMWriterFilter (in this sample, the DOMPrintFilter), 
  +		   if it would like to filter out certain part of the DOM 
  +		   representation, but must be aware that thus may render the 
  +		   resultant XML stream invalid.
  +		</p>
  +
  +        <p>Application may choose any combination of characters as the 
  +		   end of line sequence to be used in the resultant XML stream, 
  +		   but must be aware that thus may render the resultant XML 
  +		   stream ill formed.
  +        </p>
  +
  +        <p>Application may choose a particular encoding name in which 
  +		   the output XML stream would be, but must be aware that if 
  +		   characters, unrepresentable in the encoding specified, appearing 
  +		   in markups, may force the serializer to terminate serialization 
  +		   prematurely, and thus no complete serialization would be done.
  +		</p>
  +
  +        <p>Application shall query the serializer first, before set any 
  +           feature/mode(true, false), or be ready to catch exception if this
  +           feature/mode is not supported by the serializer.
  +	    </p>
  +
  +        <p>Application needs to clean up the filter, error handler and 
  +		   format target objects created for the serialization.
  +		</p>
  +
           </s3>
       </s2>
   </s1>
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/enumval.xml
  
  Index: enumval.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/enumval.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- enumval.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ enumval.xml	23 Jul 2002 13:14:57 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 9: EnumVal">
  +<s1 title="Sample: EnumVal">
   
       <s2 title="EnumVal">
           <p>EnumVal shows how to enumerate the markup decls in a DTD Grammar.</p>
  
  
  
  1.2       +18 -8     xml-site/sources/xerces-c/faq-build.xml
  
  Index: faq-build.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/faq-build.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- faq-build.xml	8 Mar 2002 20:40:51 -0000	1.1
  +++ faq-build.xml	23 Jul 2002 13:14:57 -0000	1.2
  @@ -51,8 +51,8 @@
           execute your application using &XercesCName;. In case you're using the
           binary build of &XercesCName; make sure that the OS and compiler are
           the same version as the ones used to build the binary (please refer to
  -        <jump href="faq-distrib.html#faq-1">FAQ: What compilers are being used
  -        on the supported platforms?</jump>).  Different OS and
  +        <jump href="faq-distrib.html#faq-1">FAQ: What platforms / compilers are
  +        being used to build the binary distribution kits?</jump>).  Different OS and
           compiler versions might cause unresolved linking problems or compilation
           errors. If the versions are different, rebuild the &XercesCName; library on
           your system before building your application. If you're using ICU (which is
  @@ -73,8 +73,8 @@
   
         <p>In case you're using the binary build of &XercesCName; make sure that the
           OS and compiler are the same version as the ones used to build the binary
  -        (please refer to <jump href="faq-distrib.html#faq-1">FAQ: What compilers are
  -        being used on the supported platforms?</jump>).  Different OS and
  +        (please refer to <jump href="faq-distrib.html#faq-1">FAQ: What platforms / compilers
  +        are being used to build the binary distribution kits?</jump>).  Different OS and
           compiler versions might cause unresolved linking problems or compilation
           errors. If the versions are different, rebuild the &XercesCName; library on
           your system before building your application. If you're using ICU (which is
  @@ -128,8 +128,18 @@
         <p>In order to run an application built using &XercesCProjectName; you must
           set up your path and library search path properly. In the stand-alone version
           from Apache, you must have the &XercesCName; runtime library available from
  -        your path settings. On Windows this library is called <code>&XercesCWindowsDLL;.dll</code> which must be available from your <code>PATH</code> settings. (Note that now there are separate debug and release dlls for
  -        Windows. If the release dll is named <code>&XercesCWindowsDLL;.dll</code> then the debug dll is named <code>&XercesCWindowsDLL;d.dll)</code>. On UNIX platforms the library is called <code>&XercesCUnixLib;.so</code> (or <code>.a</code> or <code>.sl</code>) which must be available from your <code>LD_LIBRARY_PATH</code> (or <code>LIBPATH</code> or <code>SHLIB_PATH</code>) environment variable.</p>
  +        your path settings.
  +      </p>
  +      <p>On Windows this library is called <code>&XercesCWindowsDLL;.dll</code>
  +        which must be available from your <code>PATH</code> settings. (Note that there are
  +        separate debug and release dlls for Windows.  The release dll is named
  +        <code>&XercesCWindowsDLL;.dll</code>, and the debug dll
  +        is named <code>&XercesCWindowsDLL;d.dll)</code>.
  +      </p>
  +      <p>On UNIX platforms the library is called &XercesCUnixLib;.so.&XercesCUnixSoName; (or
  +         &XercesCUnixLib;&XercesCUnixSoName;.so or &XercesCUnixLib;.sl.&XercesCUnixSoName;)
  +         which must be available from your <code>LD_LIBRARY_PATH</code>
  +         (or <code>LIBPATH</code> or <code>SHLIB_PATH</code>) environment variable.</p>
   
         <p>Thus, if you installed your binaries under <code>$HOME/fastxmlparser</code>, you need to point your library path to that directory.</p>
   
  @@ -184,9 +194,9 @@
       </a>
     </faq>
   
  -  <faq title="Why does my multi-threaded application crash on Solaris?">
  +  <faq title="Why does my multi-threaded application crash on Solaris 2.6?">
   
  -    <q>Why does my multi-threaded application crash on Solaris?</q>
  +    <q>Why does my multi-threaded application crash on Solaris 2.6?</q>
   
       <a>
   
  
  
  
  1.9       +34 -12    xml-site/sources/xerces-c/faq-distrib.xml
  
  Index: faq-distrib.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/faq-distrib.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- faq-distrib.xml	8 Mar 2002 20:40:51 -0000	1.8
  +++ faq-distrib.xml	23 Jul 2002 13:14:57 -0000	1.9
  @@ -3,9 +3,9 @@
   
   <faqs title="Distributing &XercesCName;">
   
  -  <faq title="What compilers are being used on the supported platforms?">
  +  <faq title="What platforms / compilers are being used to build the binary distribution kits?">
   
  -    <q>What compilers are being used on the supported platforms?</q>
  +    <q>What platforms / compilers are being used to build the binary distribution kits?</q>
   
       <a>
   
  @@ -18,25 +18,45 @@
             <td><em>Compiler</em></td>
           </tr>
           <tr>
  -          <td>Windows NT 4.0 SP5/2000</td>
  +          <td><em>32-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>Windows NT 4.0 SP5</td>
             <td>MSVC 6.0 SP3</td>
           </tr>
           <tr>
             <td>Redhat Linux 7.2</td>
  -          <td>g++ 2.96</td>
  +          <td>g++ 3.1</td>
           </tr>
           <tr>
  -          <td>AIX 4.3</td>
  +          <td>AIX 5.1</td>
             <td>xlC_r 5.0.2</td>
           </tr>
           <tr>
  -          <td>Solaris 2.6</td>
  +          <td>Solaris 2.7</td>
             <td>Forte C++ Version 6 Update 2</td>
           </tr>
           <tr>
             <td>HP-UX 11.0</td>
             <td>aCC A.03.13 with pthreads</td>
           </tr>
  +        <tr>
  +          <td><em>64-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>AIX 5.1</td>
  +          <td>xlC_r 5.0.2</td>
  +        </tr>
  +        <tr>
  +          <td>HP-UX 11.0</td>
  +          <td>aCC A.03.13 with pthreads</td>
  +        </tr>
  +        <tr>
  +          <td>Solaris 2.7</td>
  +          <td>Forte C++ Version 6 Update 2</td>
  +        </tr>
         </table>
   
       </a>
  @@ -68,9 +88,11 @@
               site. The license to use XML4C is simply to comply with
               the Apache license (because of Xerces-C) and X License (because of ICU).</p>
   
  -            <p>XML4C binaries are published for Solaris 2.6 using Forte C++ 6.2
  -            compiler, HPUX 11.0 using aCC, Redhat Linux 7.2 using g++ 2.96,
  -            Windows NT 4.0 using MSVC 6.0 SP3, AIX 4.3 using xlC_r v5.0.2.</p>
  +            <p>XML4C binaries are published for the same set of platforms / compilers
  +            as Xerces-C++, see <jump href="faq-distrib.html#faq-1">FAQ:
  +            What platforms / compilers are being used to build the binary distribution kits?</jump>
  +            and the documentation in
  +            <jump href="http://www.alphaworks.ibm.com/tech/xml4c">Alphaworks</jump>.</p>
   
           </a>
       </faq>
  @@ -92,9 +114,9 @@
               <em>one</em> file:<br></br>
   
               &XercesCWindowsDLL;.dll for Windows NT/2000, or<br/>
  -            &XercesCUnixLib;.a for AIX, or<br/>
  -            &XercesCUnixLib;.so for Solaris/Linux, or<br/>
  -            &XercesCUnixLib;.sl for HP-UX.</p>
  +            &XercesCUnixLib;&XercesCUnixSoName;.so for AIX, or<br/>
  +            &XercesCUnixLib;.so.&XercesCUnixSoName; for Solaris/Linux, or<br/>
  +            &XercesCUnixLib;.sl.&XercesCUnixSoName; for HP-UX.</p>
   
               <p>However, if you are using the XML4C binaries then in
               <em>addition</em> to the library file
  
  
  
  1.7       +42 -3     xml-site/sources/xerces-c/faq-other.xml
  
  Index: faq-other.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/faq-other.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- faq-other.xml	8 Mar 2002 20:40:51 -0000	1.6
  +++ faq-other.xml	23 Jul 2002 13:14:57 -0000	1.7
  @@ -2,6 +2,44 @@
   <!DOCTYPE faqs SYSTEM "sbk:/style/dtd/faqs.dtd">
   <faqs title="Other &XercesCName; Questions">
   
  +  <faq title="Are the Xerces parsers Year-2000-compliant?">
  +        <q>Are the Xerces parsers Year-2000-compliant?</q>
  +        <a>
  +           	<p>Yes, Xerces-J and Xerces-C are Year 2000 compliant.
  +		They do not currently use any dates at all (at least until the XML
  +		Schema date datatypes are fully supported).  However, you may still
  +		have Y2K problems if the underlying OS or Java implementation has
  +		problems with dates past year 2000 (e.g. OS calls which accept or
  +		return year numbers).</p>
  +		<p>Most (UNIX) systems store dates internally as signed 32-bit
  +		integers which contain the number of seconds since 1st January 1970,
  +		so the magic boundary to worry about is the year 2038 and not 2000.
  +		But modern operating systems shouldn't cause any trouble at all.</p>
  +		
  +		<p>The Apache Xerces project is an open-source software product
  +		of the Apache Software Foundation. The project and the Foundation
  +		cannot and does not offer legal assurances regarding any suitability
  +		of the software for your application. There are several commercial
  +		support organizations and derivative products available that may be
  +		able to certify the software and provide you with any assurances you
  +		may require (IBM's Websphere product is one of them).</p>
  +		<p>The Apache HTTP server software is distributed with the following
  +		disclaimer, found in the software license: 	</p>
  +<source>THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  +DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  +ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  +SUCH DAMAGE.</source>
  +        </a>
  +  </faq>
  +
     <faq title="How do I determine the version of &XercesCName; I am using?">
           <q>How do I determine the version of &XercesCName; I am using?</q>
           <a>
  @@ -15,9 +53,10 @@
              the DLL name &XercesCWindowsDLL;.dll in the bin directory and look up
              properties. The version information may be found on the Version tab.</p>
   
  -           <p>On AIX, just look for the library name &XercesCUnixLib;.a (or
  -           &XercesCUnixLib;.so on Solaris/Linux and &XercesCUnixLib;.sl on HP-UX). The
  -           version number is coded in the name of the library.</p>
  +           <p>On AIX, just look for the library name &XercesCUnixLib;&XercesCUnixSoName;.so (or
  +           &XercesCUnixLib;.so.&XercesCUnixSoName; on Solaris/Linux
  +           and &XercesCUnixLib;.sl.&XercesCUnixSoName; on HP-UX). The
  +           version number is indicated in the name of the library.</p>
           </a>
     </faq>
   
  
  
  
  1.9       +72 -74    xml-site/sources/xerces-c/faq-parse.xml
  
  Index: faq-parse.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/faq-parse.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- faq-parse.xml	8 Mar 2002 20:40:51 -0000	1.8
  +++ faq-parse.xml	23 Jul 2002 13:14:57 -0000	1.9
  @@ -39,7 +39,7 @@
         <p>If you find any Schema feature which is specified in the W3C XML Schema Language
            Recommendation does not work with &XercesCName; &XercesCVersion;, we encourage
            the submission of bugs as described in
  -         <jump href="bug-report.html">Bug-Reporting</jump> page.
  +         <jump href="bug-report.html">Bug Reporting</jump> page.
          </p>
   
       </a>
  @@ -73,7 +73,8 @@
     <faq title="Is it OK to call the XMLPlatformUtils::Initialize/Terminate pair of routines multiple times in one program?">
       <q>Is it OK to call the XMLPlatformUtils::Initialize/Terminate pair of routines multiple times in one program?</q>
       <a>
  -      <p>Yes.  Since &XercesCName; Version 1.5.2., the code has been enhanced so that calling XMLPlatformUtils::Initialize/Terminate pair of routines
  +      <p>Yes.  Since &XercesCName; &XercesCVersion152;, the code has been enhanced so that
  +         calling XMLPlatformUtils::Initialize/Terminate pair of routines
            multiple times in one process is now allowed.
         </p>
   
  @@ -102,8 +103,9 @@
       // Initialize the parser
       XMLPlatformUtils::Initialize();
   
  -    SAXParser parser;
  -    parser.parse(xmlFile);
  +    SAXParser* parser = new SAXParser;
  +    parser->parse(xmlFile);
  +    delete parser;
   
       // Free all memory that was being held by the parser
       XMLPlatformUtils::Terminate();
  @@ -111,8 +113,9 @@
       // Initialize the parser
       XMLPlatformUtils::Initialize();
   
  -    SAXParser parser;
  -    parser.parse(xmlFile);
  +    parser = new SAXParser;
  +    parser->parse(xmlFile);
  +    delete parser;
   
       // Free all memory that was being held by the parser
       XMLPlatformUtils::Terminate();
  @@ -130,8 +133,9 @@
       XMLPlatformUtils::Initialize();
       XMLPlatformUtils::Initialize();
   
  -    SAXParser parser;
  -    parser.parse(xmlFile);
  +    SAXParser* parser = new SAXParser;
  +    parser->parse(xmlFile);
  +    delete parser;
   
       // The first two XMLPlatformUtils::Terminate() calls are no-op
       XMLPlatformUtils::Terminate();
  @@ -155,11 +159,11 @@
   
       <a>
   
  -      <p>Please make sure you are using &XercesCName; Version 1.5.2 or up.
  +      <p>Please make sure you are using the &XercesCName; &XercesCVersion152; or up.
         </p>
   
  -      <p>&XercesCName; Version 1.5.1 or below does not allow XMLPlatformUtils::Initialize()/Terminate()
  -         pair to be called more than once.
  +      <p>Earlier version of &XercesCName; does not allow XMLPlatformUtils::Initialize()/Terminate()
  +         pair to be called more than once or has a problem.
         </p>
   
       </a>
  @@ -292,18 +296,28 @@
       </a>
     </faq>
   
  -  <faq title="Can I use Xerces to perform write validation">
  +  <faq title="Can &XercesCName; create an XML skeleton based on a DTD">
   
  -    <q>Can I use Xerces to perform "write validation" (which is having an
  -      appropriate DTD and being able to add elements to the DOM whilst validating
  -      against the DTD)? Is there a function that I have totally missed that creates
  +    <q>Is there a function that I have totally missed that creates
         an XML file from a DTD, (obviously with the values missing, a skeleton, as it
  -      were.)</q>
  +      were)?</q>
   
       <a>
   
  -      <p>The answers are: "No" and "No." Write Validation is a commonly requested
  -        feature, but &XercesCName; does not have it yet.</p>
  +      <p>No.  This is not supported.</p>
  +
  +    </a>
  +  </faq>
  +
  +  <faq title="Can I use &XercesCName; to perform write validation">
  +
  +    <q>Can I use &XercesCName; to perform "write validation" (which is having an
  +      appropriate Grammar and being able to add elements to the DOM whilst validating
  +      against the grammar)?</q>
  +
  +    <a>
  +
  +      <p>No.  This is not supported.</p>
   
         <p>The best you can do for now is to create the DOM document, write it back
           as XML and re-parse it.</p>
  @@ -318,60 +332,28 @@
   
       <a>
   
  -      <p>No. This is a frequently requested feature, but at this time it is not
  -        possible to feed XML data from the DOM directly back to the DTD validator. The
  -        best option for now is to generate XML source from the DOM and feed that back
  +      <p>No. The best option for now is to generate XML source from the DOM and feed that back
           into the parser.</p>
   
       </a>
     </faq>
   
  -  <faq title="How to write out a DOM tree into an XML file?">
  -     <q>How to write out a DOM tree into an XML file?</q>
  +  <faq title="How to write out a DOM tree into a string or an XML file?">
  +     <q>How to write out a DOM tree into a string or an XML file?</q>
        <a>
  -      <p>This feature is not yet available in the parser. Take a look at the DOMPrint sample
  -         for an example on parsing  XML file, then writing it out back to the screen. You
  -         can use that code.</p>
  +      <p>Please make sure you are using &XercesCName; &XercesCVersion; or up.</p>
  +
  +      <p>You can use
  +         the DOMWriter::writeToString, or DOMWriter::writeNode to serialize a DOM tree.
  +         Please refer to the sample DOMPrint or the API documentation for more details of
  +         DOMWriter.</p>
       </a>
     </faq>
   
  -  <faq title="Why DOM_Node::cloneNode() does not clone the pointer assigned to a DOM_Node via DOM_Node::setUserData()?">
  -    <q>Why DOM_Node::cloneNode() does not clone the pointer assigned to a DOM_Node via DOM_Node::setUserData()?</q>
  +  <faq title="Why DOMNode::cloneNode() does not clone the pointer assigned to a DOMNode via DOMNode::setUserData()?">
  +    <q>Why DOMNode::cloneNode() does not clone the pointer assigned to a DOMNode via DOMNode::setUserData()?</q>
       <a>
  -      <p>There are several possible options for how cloneNode should handle userData:
  -      </p>
  -      <ul>
  -      <li>
  -          1) Copy the pointer. May be a Very Bad Idea if you really wanted the data
  -           associated with a particular node object.
  -      </li>
  -      <li>
  -          2) Clone the object being pointed at. Maybe a Very Bad Idea if that object,
  -          in turn, wasn't designed to be cloned at this time.
  -      </li>
  -      <li>
  -          3) A complex call-back API has been proposed which would allow the userData
  -          object to tell the DOM which of these three options should be taken, but
  -          that would require that only objects implementing that API be registered as
  -          userData. That doesn't seem to be a good option.
  -      </li>
  -      <li>
  -          4) Do nothing. This is by far the lowest-overhead and safest choice. And
  -          since cloneNode is a DOM operation, and userData is _not_ defined by the
  -          standard DOM API, one can make a very strong case for this being the "most
  -          correct" option.
  -      </li>
  -      </ul>
  -      <p>
  -          We chose (4), very deliberately. If you want one of the others, you can
  -          implement it by creating your own wrapper operation for cloneNode() and
  -          calling that.
  -      </p>
  -      <p>
  -          NOTE that userData should be considered a non-portable, experimental feature
  -          of the Xerces DOM. It may evaporate entirely in favor of a scheme based on
  -          the DOM Level 3 "node key" mechanism, when that becomes officially
  -          available.
  +      <p>&XercesCName; supports the DOMNode::userData specified in
         </p>
       </a>
     </faq>
  @@ -382,14 +364,15 @@
   
       <a>
   
  -      <p>If you are using the native DOM classes, the function <code>setExpandEntityReferences</code> controls how entities appear in the DOM tree. When
  -        setExpandEntityReferences is set to false (the default), an occurrence of an
  +      <p>If you are using the native DOM classes, the function <code>setCreateEntityReferenceNodes</code>
  +        controls how entities appear in the DOM tree. When
  +        setCreateEntityReferenceNodes is set to true (the default), an occurrence of an
           entity reference in the XML document will be represented by a subtree with an
           EntityReference node at the root whose children represent the entity expansion.
           Entity expansion will be a DOM tree representing the structure of the entity
           expansion, not a text node containing the entity expansion as text.</p>
   
  -      <p>If setExpandEntityReferences is true, an entity reference in the XML
  +      <p>If setCreateEntityReferenceNodes is false, an entity reference in the XML
           document is represented by only the nodes that represent the entity expansion.
           The DOM tree will not contain any entityReference nodes.</p>
   
  @@ -582,7 +565,7 @@
     <faq title="Why does deleting a transcoded string result in assertion on windows?">
       <q>Why does deleting a transcoded string result in assertion on windows?</q>
       <a>
  -      <p>Both your application program and the Xerces DLL must use the same *DLL* version of the
  +      <p>Both your application program and the &XercesCName; DLL must use the same *DLL* version of the
            runtime library.  If either statically links to the runtime library, the
   		 problem will still occur.
   
  @@ -600,7 +583,7 @@
            code page. If this is not true, you must transcode the text yourself. You
            can do this using local transcoding support on your OS, such as Iconv on
            Unix or IBM's ICU package. However, if your transcoding needs are simple,
  -         you can achieve some better portability by using the Xerces parser's
  +         you can achieve some better portability by using the &XercesCName; parser's
            transcoder wrappers. You get a transcoder like this:
          </p>
          <ul>
  @@ -660,15 +643,17 @@
       </a>
     </faq>
   
  -  <faq title="Why does SAX2XMLReader::setProperty not work?">
  +  <faq title="Why does setProperty not work?">
   
  -    <q>Why does SAX2XMLReader::setProperty not work?</q>
  +    <q>Why does setProperty not work?</q>
   
       <a>
   
         <p>The function <code>SAX2XMLReader::setProperty(const XMLCh* const name, void* value)</code>
  +         and <code>DOMBuilder::setProperty(const XMLCh* const name, void* value)</code>
            takes a void pointer for the property value.  Application is required to initialize this void pointer
            to a correct type.  See <jump href="program-sax2.html#SAX2Properties">SAX2 Programming Guide</jump>
  +         and <jump href="program-dom.html#DOMBuilderProperties">DOM Programming Guide</jump>
            to learn exactly what type of property value that each property expects for processing.
            Passing a void pointer that was initialized with a wrong type will lead to unexpected result.
         </p>
  @@ -676,15 +661,16 @@
       </a>
     </faq>
   
  -  <faq title="Why does SAX2XMLReader::getProperty not work?">
  +  <faq title="Why does getProperty not work?">
   
  -    <q>Why does SAX2XMLReader::getProperty not work?</q>
  +    <q>Why does getProperty not work?</q>
   
       <a>
   
         <p>The function <code>void* SAX2XMLReader::getProperty(const XMLCh* const name)</code>
  +         and <code>void* DOMBuilder::getProperty(const XMLCh* const name)</code>
            returns a void pointer for the property value.  See
  -         <jump href="program-sax2.html#SAX2Properties">SAX2 Programming Guide</jump> to learn
  +         <jump href="program-sax2.html#SAX2Properties">SAX2 Programming Guide</jump> and
            exactly what type of object each property returns.
         </p>
         <p>The parser owns the returned pointer.  The memory allocated for
  @@ -693,7 +679,8 @@
            is deleted, callers need to copy and store the returned information
            somewhere else; otherwise you may get unexpected result.  Since the returned
            pointer is a generic void pointer, see
  -         <jump href="program-sax2.html#SAX2Properties">SAX2 Programming Guide</jump> to learn
  +         <jump href="program-sax2.html#SAX2Properties">SAX2 Programming Guide</jump> and
  +         <jump href="program-dom.html#DOMBuilderProperties">DOM Programming Guide</jump> to learn
            exactly what type of property value each property returns for replication.
         </p>
   
  @@ -715,7 +702,18 @@
            validation is turned off.
         </p>
   
  -      <p>To ignore the DTD, the only way to get around this is to install an EntityResolver
  +      <p>To ignore the DTD, with &XercesCName; &XercesCVersion; or up, you can call
  +         <code>setLoadExternalDTD(false)</code> (or
  +         <code>setFeature(XMLUni::fgXercesLoadExternalDTD, false)</code>
  +         to disable the loading of external DTD.   The parser will then ignore
  +         any external DTD completely if the validationScheme is set to Val_Never.
  +      </p>
  +
  +      <p>Note: This flag is ignored if the validationScheme is set to Val_Always or Val_Auto.
  +      </p>
  +
  +      <p>To ignore the DTD in earlier version of &XercesCName;, the
  +         only way to get around this is to install an EntityResolver
            (see the Redirect sample for an example of how this is done), and reset the
            DTD file to "".
         </p>
  
  
  
  1.7       +1 -0      xml-site/sources/xerces-c/feedback.xml
  
  Index: feedback.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/feedback.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- feedback.xml	8 Mar 2002 20:40:51 -0000	1.6
  +++ feedback.xml	23 Jul 2002 13:14:57 -0000	1.7
  @@ -43,6 +43,7 @@
               <li>Edward Bortner</li>
               <li>Sean Bright</li>
               <li>Phil Brown</li>
  +            <li>Robert Buck</li>
               <li>Sumit Chawla</li>
               <li>Nick Chiang</li>
               <li>Chih Hsiang Chou</li>
  
  
  
  1.6       +60 -25    xml-site/sources/xerces-c/install.xml
  
  Index: install.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/install.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- install.xml	8 Mar 2002 20:40:51 -0000	1.5
  +++ install.xml	23 Jul 2002 13:14:57 -0000	1.6
  @@ -5,12 +5,27 @@
   
   
       <s2 title="Windows NT/2000">
  -        <p>Install the binary &XercesCName; release by using <code>unzip</code>
  -		on the <ref>file</ref>-win32.zip archive in the Windows environment. You can
  +      <s3 title="Source distribution">
  +        <p>The &XercesCName; source is available in the source distribution.
  +        </p>
  +        <p>Install the &XercesCName; source distribution by using <code>unzip</code>
  +		on the &XercesCSrcInstallDir;.zip archive in the Windows environment. You can
  +		use WinZip, or any other UnZip utility.</p>
  +<source>unzip &XercesCSrcInstallDir;.zip</source>
  +        <p>This creates a &apos;&XercesCSrcInstallDir;&apos; sub-directory
  +		containing the &XercesCName; source distribution. </p>
  +
  +        <p>If you need to build the &XercesCName; source after installation,
  +        please follow the <jump href="build.html">Build Instructions</jump>.</p>
  +
  +      </s3>
  +      <s3 title="Binary distribution">
  +        <p>Install the &XercesCName; binary distribution by using <code>unzip</code>
  +		on the &XercesCInstallDir;-win32.zip archive in the Windows environment. You can
   		use WinZip, or any other UnZip utility.</p>
   <source>unzip &XercesCInstallDir;-win32.zip</source>
           <p>This creates a &apos;&XercesCInstallDir;-win32&apos; sub-directory
  -		containing the &XercesCName; distribution. </p>
  +		containing the &XercesCName; binary distribution. </p>
   
           <p>You need to add the &apos;&XercesCInstallDir;-win32\bin&apos;
   		directory to your path: </p>
  @@ -23,22 +38,49 @@
   		To do this under Windows 2000 add this line to your AUTOEXEC.BAT file:</p>
   <source>SET PATH=&lt;full_path_to_&XercesCInstallDir;>\bin;%PATH%</source>
   		<p>or run the <code>SET PATH</code> command in your shell window.</p>
  +
  +        <p>The binary distribution has the built parser library and some samples executables.
  +           Please refer to the <jump href="samples.html">Samples</jump> for how to run the samples.</p>
  +
  +      </s3>
       </s2>
   
       <s2 title="UNIX">
  -        <p>Binary installation of this release is to extract the files from the
  -		compressed .tar archive (using 'tar').</p>
  -<source>cd $HOME
  +      <s3 title="Source distribution">
  +        <p>The &XercesCName; source is available in the source distribution.
  +        </p>
  +        <p>Install the &XercesCName; source distribution &XercesCSrcInstallDir;.tar.gz by extracting the files
  +           from the compressed archive.</p>
  +<source>
  +gunzip &XercesCSrcInstallDir;.tar.gz
  +tar &XercesCSrcInstallDir;.tar
  +</source>
  +        <p>This creates a &apos;&XercesCSrcInstallDir;&apos; sub-directory
  +		containing the &XercesCName; source distribution. </p>
  +
  +        <note>On Solaris, please use <code>gtar</code> instead of tar.  See
  +        <jump href="faq-distrib.html#faq-11">FAQ</jump> for more information.</note>
  +
  +        <p>If you need to build the &XercesCName; source after installation,
  +        please follow the <jump href="build.html">Build Instructions</jump>.</p>
  +
  +      </s3>
  +      <s3 title="Binary distribution">
  +        <p>Install the binary distribution &XercesCInstallDir;-xxx.tar.gz by extracting the files
  +           from the compressed archive; where &apos;xxx&apos; is the corresponding UNIX platform.
  +           For example:</p>
  +<source>
   gunzip &XercesCInstallDir;-linux.tar.gz
  -tar -xvf &XercesCInstallDir;-linux.tar</source>
  +tar -xvf &XercesCInstallDir;-linux.tar
  +</source>
           <p>This will create an '&XercesCInstallDir;-linux' sub-directory
  -		(in the home directory)
  -        which contains the &XercesCName; distribution. You will need to add the
  -        &XercesCInstallDir;-linux/bin directory to your PATH environment variable:</p>
  +		containing the &XercesCName; binary distribution. </p>
   
  -        <note>On Solaris, you may need to use <code>gtar</code> instead of tar.  See
  +        <note>On Solaris, please use <code>gtar</code> instead of tar.  See
           <jump href="faq-distrib.html#faq-11">FAQ</jump> for more information.</note>
   
  +        <p>You will need to add the
  +        &XercesCInstallDir;-linux/bin directory to your PATH environment variable:</p>
   
           <p>For Bourne Shell, K Shell or Bash, type: </p>
   <source>export PATH="$PATH:$HOME/&XercesCInstallDir;-linux/bin"</source>
  @@ -48,31 +90,24 @@
           <p>If you wish to make this setting permanent, you need to change
   		your profile by changing your setup files which can be either .profile or .kshrc.</p>
   
  -        <p>In addition, you will also need to set the environment variables XERCESCROOT,
  -        ICUROOT and the library search path. (LIBPATH on AIX, LD_LIBRARY_PATH on
  -        Solaris and Linux, SHLIB_PATH on HP-UX).</p>
  -
  -        <note>XERCESCROOT and ICUROOT are needed only if you intend to
  -        recompile the samples or build your own applications. The library path is
  -        necessary to link the shared libraries at runtime.</note>
  +        <p>In addition, you will also need to set the library search path.
  +        (LIBPATH on AIX, LD_LIBRARY_PATH on Solaris and Linux, SHLIB_PATH on HP-UX).</p>
   
           <p>For Bourne Shell, K Shell or Bash, type:</p>
  -<source>export XERCESCROOT=&lt;wherever you installed &XercesCName;>
  -export ICUROOT=&lt;wherever you installed ICU>
  +<source>
   export LIBPATH=$XERCESCROOT/lib:$LIBPATH (on AIX)
   export LD_LIBRARY_PATH=$XERCESCROOT/lib:$LD_LIBRARY_PATH (on Solaris, Linux)
   export SHLIB_PATH=$XERCESCROOT/lib:$SHLIB_PATH (on HP-UX)</source>
   
       	<p>For C Shell, type:</p>
  -<source>setenv XERCESCROOT "&lt;wherever you installed &XercesCName;>"
  -setenv ICUROOT "&lt;wherever you installed ICU>"
  +<source>
   setenv LIBPATH "$XERCESCROOT/lib:$LIBPATH" (on AIX)
   setenv LD_LIBRARY_PATH "$XERCESCROOT/lib:$LD_LIBRARY_PATH" (on Solaris, Linux)
   setenv SHLIB_PATH "$XERCESCROOT/lib:$SHLIB_PATH" (on HP-UX)</source>
   
  -        <note>If you need to build the samples after installation,
  -        make sure you read and follow the <jump href="build.html">
  -        Build Instructions</jump>.</note>
  +        <p>The binary distribution has the built parser library and some samples executables.
  +           Please refer to the <jump href="samples.html">Samples</jump> for how to run the samples.</p>
   
  +      </s3>
      </s2>
   </s1>
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/memparse.xml
  
  Index: memparse.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/memparse.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- memparse.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ memparse.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 5: MemParse">
  +<s1 title="Sample: MemParse">
   
       <s2 title="MemParse">
           <p>MemParse uses the Validating SAX Parser to parse a memory buffer containing
  
  
  
  1.4       +290 -106  xml-site/sources/xerces-c/migration.xml
  
  Index: migration.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/migration.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- migration.xml	8 Mar 2002 20:40:51 -0000	1.3
  +++ migration.xml	23 Jul 2002 13:14:57 -0000	1.4
  @@ -2,146 +2,330 @@
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
   <s1 title="Migration">
  -    <s2 title="Migrating from &XercesCName; &XercesCVersion160; to &XercesCName; &XercesCVersion;">
  +    <s2 title="Migration Archive">
  +
  +       <p>For migration information to &XercesCName; 1.7.0 or earlier,
  +          please refer to <jump href="migrate_archive.html">Migration Archive. </jump></p>
  +
  +    </s2>
  +
  +    <s2 title="Migrating from &XercesCName; 1.7.0 to &XercesCName; &XercesCVersion;">
         <p>This document is a discussion of the technical differences between
  -      &XercesCName; &XercesCVersion160; code base and the &XercesCName; &XercesCVersion;.</p>
  +      &XercesCName; 1.7.0 code base and the &XercesCName; &XercesCVersion;.</p>
   
         <p>Topics discussed are:</p>
         <ul>
           <li><link anchor="NewFeatures">New features in &XercesCName; &XercesCVersion;</link></li>
  -        <li><link anchor="DirChange">Directory change in &XercesCName; &XercesCVersion;</link></li>
  -        <li><link anchor="API">Public API Changes in &XercesCName; &XercesCVersion;</link></li>
  +        <li><link anchor="LibraryChange">Unix Library Name change</link></li>
  +        <li><link anchor="DirChange">DOM Reorganization</link></li>
  +        <li><link anchor="Reuse">Reuse Grammar becomes Grammar Caching</link></li>
  +        <li><link anchor="API">Public API Changes</link></li>
           <ul>
               <li><link anchor="NewAPI">New Public API</link></li>
               <li><link anchor="ModifiedAPI">Modified Public API</link></li>
  -            <li><link anchor="DeprecatedAPI">Deprecated Public API</link></li>
  +            <li><link anchor="DeprecatedAPI">Deprecated/Removed Public API</link></li>
           </ul>
         </ul>
  -    </s2>
   
       <anchor name="NewFeatures"/>
  -    <s2 title="New features in &XercesCName; &XercesCVersion;">
  +    <s3 title="New features in &XercesCName; &XercesCVersion;">
         <ul>
  -        <li>Support SAX2-ext's DeclHandler.</li>
  -        <li>Directory sane_include reorganization: add sub-directory 'xercesc' to src / include folder.
  -            See <link anchor="DirChange">"Directory change in &XercesCName; &XercesCVersion;"</link>
  -            below for detail.</li>
  -        <li>More IDOM test cases - port IDOMMemTest, and merge ThreadTest and IThreadTest.</li>
  -        <li>Support IconvFBSD in multi-threading environment.</li>
  -        <li>Use IDOM in schema processing for faster performance.</li>
  -        <li>Add Project files for BCB6.</li>
  -        <li>Port to Caldera (SCO) OpenServer.</li>
  -        <li>Support building with new MacOSURLAccessCF NetAccessor that doesn't require
  -            Carbon but can allow Xerces to live solely within CoreServices layer.</li>
  +        <li>64 bit binaries distribution</li>
  +        <li>Follow Unix Shared Library Naming Convention</li>
  +        <li>Apache Recommended DOM C++ Binding</li>
  +        <li>Experimental DOM Level 3 subset support, including DOMWriter and DOMBuilder</li>
  +        <li>Grammar preparsing and Grammar caching</li>
  +        <li>Optionally ignore loading of external DTD</li>
  +        <li>Project files for Microsoft Visual C++ .Net</li>
  +        <li>Codewarrior 8 support</li>
  +        <li>Option to enable/disable strict IANA encoding name checking</li>
  +        <li>plus many more bug fixes and performance enhancement</li>
         </ul>
  -    </s2>
  +    </s3>
   
  -    <anchor name="DirChange"/>
  -    <s2 title="Directory change in &XercesCName; &XercesCVersion;">
  -        <ul>
  -            <li>A new directory, <em>src/xercesc</em> is created to be the new parent directory of
  -                all src's direct subdirectories.</li>
  -            <li>And in the binary package, all the headers are distributed in <em>include/xercesc</em> directory.</li>
  -            <li>Migration considerations:</li>
  -            <ul>
  -              <li>Windows application, <br/>
  -                  either change the <em>include directories </em> setting to
  -                  "..\..\..\..\..\src\<em>xercesc</em>" (Projects->settings->C/C++->Preprocessor), <br/>
  -                  or <br/>
  -                  change the relevant #include instances in the source/header files, accordingly, eg <br/>
  -                  #include &lt;util/XMLString.hpp&gt; be changed to <br/>
  -                  #include &lt;<em>xercesc</em>/util/XMLString.hpp&gt; </li>
  -              <li>Unix application, <br/>
  -                  either change the <em>include search path </em> in the Makefile to
  -                  " -I &lt;installroot&gt;/include/<em>xercesc</em>", <br/>
  -                  or <br/>
  -                  change the relevant #include instances in the source/header files as shown above. </li>
  +    <anchor name="LibraryChange"/>
  +    <s3 title="Unix Library Name Change">
  +      <p>The Xerces-C++ UNIX Library now follows the Unix Shared Library Naming Convention (libname.so.soname).
  +         It is now called:</p>
  +         <ul>
  +            <li>AIX</li>
  +            <ul>
  +              <li>&XercesCUnixLib;&XercesCUnixSoName;.so</li>
  +              <li>symbolic link: &XercesCUnixLib;.so                      ----&gt; &XercesCUnixLib;&XercesCUnixVersion;.so</li>
  +              <li>symbolic link: &XercesCUnixLib;&XercesCUnixVersion;.so  ----&gt; &XercesCUnixLib;&XercesCUnixSoName;.so</li>
               </ul>
  -        </ul>
  -    </s2>
  +            <li>Solaris / Linux</li>
  +            <ul>
  +              <li>&XercesCUnixLib;.so.&XercesCUnixSoName;</li>
  +              <li>symbolic link: &XercesCUnixLib;.so                      ----&gt; &XercesCUnixLib;.so.&XercesCUnixVersion;</li>
  +              <li>symbolic link: &XercesCUnixLib;.so.&XercesCUnixVersion; ----&gt; &XercesCUnixLib;.so.&XercesCUnixSoName;</li>
  +            </ul>
  +            <li>HP-UX</li>
  +            <ul>
  +              <li>&XercesCUnixLib;.sl.&XercesCUnixSoName;</li>
  +              <li>symbolic link: &XercesCUnixLib;.sl                      ----&gt; &XercesCUnixLib;.sl.&XercesCUnixVersion;</li>
  +              <li>symbolic link: &XercesCUnixLib;.sl.&XercesCUnixVersion; ----&gt; &XercesCUnixLib;.sl.&XercesCUnixSoName;</li>
  +            </ul>
  +         </ul>
  +    </s3>
  +
  +    <anchor name="DirChange"/>
  +    <s3 title="DOM Reorganization">
  +        <p>1. The old Java-like DOM is now deprecated, and all the associated files, including the headers
  +              and DOMParser files are moved to <code>src/xercesc/dom/deprecated</code>.  Users of the old
  +              Java-like DOM are required to change all their #include lines to pick up the headers.
  +              For example</p>
  +<source>
  +//old code
  +#include &lt;xercesc/dom/DOM.hpp&gt;
  +#include &lt;xercesc/dom/DOM_Document.hpp&gt;
  +#include &lt;xercesc/parsers/DOMParser.hpp&gt;
  +
  +void test(char* xmlFile) {
  +    DOMParser parser;
  +    parser.parse(xmlFile);
  +    DOM_Document doc = parser.getDocument();
  +    :
  +    return;
  +}
  +</source>
  +              <p> should now change to </p>
  +<source>
  +//new code
  +#include &lt;xercesc/dom/deprecated/DOM.hpp&gt;          //&lt;==== change this include line
  +#include &lt;xercesc/dom/deprecated/DOM_Document.hpp&gt; //&lt;==== change this include line
  +#include &lt;xercesc/dom/deprecated/DOMParser.hpp&gt;    //&lt;==== change this include line
  +
  +// the rest is the same
  +void test(char* xmlFile) {
  +    DOMParser parser;
  +    parser.parse(xmlFile);
  +    DOM_Document doc = parser.getDocument();
  +    :
  +    return;
  +}
  +</source>
  +        <p>2. The Experimental IDOM is now renamed, and becomes the Apache Recommended DOM C++ Binding.
  +              The following changes are made: </p>
  +              <ul>
  +                 <li>class names are renamed from IDOM_XXXX to DOMXXXX, e.g. IDOM_Document to DOMDocument</li>
  +                 <li>and thus header files are renamed from IDOM_XXXX.hpp to DOMXXXX.hpp and are moved
  +                     to <code>src/xercesc/dom</code></li>
  +                 <li>the IDOMParser is renamed to XercesDOMParser.  And thus the header
  +                     file is renamed as well</li>
  +                 <li>the rest is the same, see
  +                     <jump href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding</jump>
  +                     and <jump href="program-dom.html">DOM Programming Guide</jump> for more programming
  +                     information</li>
  +              </ul>
  +              <p>Users of IDOM are required to change all their #include lines and do a global rename of
  +                 IDOMParser to XercesDOMParesr, and IDOM_XXXX to DOMXXXX.  For example</p>
  +<source>
  +//old code
  +#include &lt;xercesc/idom/IDOM.hpp&gt;
  +#include &lt;xercesc/idom/IDOM_Document.hpp&gt;
  +#include &lt;xercesc/parsers/IDOMParser.hpp&gt;
  +
  +void test(char* xmlFile) {
  +    IDOMParser parser;
  +    parser.parse(xmlFile);
  +    IDOM_Document* doc = parser.getDocument();
  +    :
  +    return;
  +}
  +</source>
  +              <p> should now change to </p>
  +<source>
  +//new code
  +#include &lt;xercesc/dom/DOM.hpp&gt;                  //&lt;==== change this include line
  +#include &lt;xercesc/dom/DOMDocument.hpp&gt;          //&lt;==== change this include line
  +#include &lt;xercesc/parsers/XercesDOMParser.hpp&gt;  //&lt;==== change this include line
  +
  +void test(char* xmlFile) {
  +    XercesDOMParser parser;                           //&lt;==== rename the IDOMParser
  +    parser.parse(xmlFile);
  +    DOMDocument* doc = parser.getDocument();          //&lt;==== rename the IDOM_XXXX
  +    :
  +    return;
  +}
  +</source>
  +    </s3>
  +
  +    <anchor name="Reuse"/>
  +    <s3 title="Reuse Grammar becomes Grammar Caching">
  +        <p>The &XercesCName; &XercesCVersion; extends the "Reuse Grammar" support by replacing it with
  +           a new feature called "Grammar Caching" which provides more flexibility in reusing grammars.
  +           Users who used to do the following:</p>
  +<source>
  +
  +      XercesDOMParser parser;
  +
  +      // this is the first parse, just usual code as you do normal parse
  +      // "firstXmlFile" has a grammar (schema or DTD) specified.
  +      parser.parse(firstXmlFile);
  +
  +      // this is the second parse, by setting second parameter to true,
  +      // the parser will reuse the grammar in the last parse
  +      // (i.e. the one in  "firstXmlFile")
  +      // to validate the second "anotherXmlFile".  Any grammar that is
  +      // specified in anotherXmlFile is IGNORED.
  +      //
  +      // Note: The anotherXmlFile cannot have any DTD internal subset.
  +      parser.parse(anotherXmlFile, true);
  +
  +</source>
  +        <p>should now use the features cacheGrammarFromParse and useCachedGrammarFromParse:</p>
  +<source>
  +      XercesDOMParser parser;
  +
  +      // By setting cacheGrammarFromParse to true,
  +      // the parser will cache any grammars encountered in the
  +      // follow-on xml files, if not cached already
  +      parser.cacheGrammarFromParse(true);
  +
  +      parser.parse(firstXmlFile);
  +
  +      // By setting useCachedGrammarFromParse to true,
  +      // the parser will use all the previous cached grammars
  +      // to validate the follow-on xml files if the cached
  +      // grammar matches the one specified in anotherXmlFile.
  +      //
  +      // Note: The follow-on xml files cannot have any DTD internal subset.
  +      parser.useCachedGrammarFromParse(true);
  +
  +      parser.parse(anotherXmlFile);
  +
  +      // This will flush the cached grammar pool
  +      parser.resetCachedGrammarPool();
  +</source>
  +
  +        <p>Note there are a number of differences between "Reuse Grammar" and "Grammar Caching" </p>
  +           <ol>
  +              <li>"Reuse Grammar" ignores any grammar that is specified in anotherXmlFile and simply
  +                  reuse whatever stored in previous parse; while "Grammar Caching" will use the
  +                  cached grammar only if it matches the one specified in the anotherXmlFile.
  +                  If not match, then the new grammar is parsed.</li>
  +              <li>"Reuse Grammar" can only reuse the grammar from previous parse; while "Grammar Caching"
  +                  can selectively cache many grammars from different parses and collect them all in a pool indexed
  +                  by targetNamespace (for Schema) or system id (for DTD).</li>
  +              <li>Plus "Grammar Caching" has much more functionalities other than above
  +                  (like "Pre-parsing Grammar").  Please refer to
  +                  <jump href="program-others.html#GrammarCache">Preparsing Grammar and Grammar Caching
  +                  </jump> for more programming details.</li>
  +           </ol>
  +    </s3>
   
       <anchor name="API"/>
  -    <s2 title="Public API Changes in &XercesCName; &XercesCVersion;">
  +    <s3 title="Public API Changes">
   
           <p>The following lists the public API changes between the &XercesCName;
  -           &XercesCVersion; and the &XercesCName; &XercesCVersion; releases
  +           1.7.0; and the &XercesCName; &XercesCVersion; releases
              of the parser. </p>
   
           <anchor name="NewAPI"/>
  -        <s3 title="New Public API">
  +        <s4 title="New Public API">
               <ul>
  -              <li>Added SAX2-ext's DeclHandler class.
  -                  See <jump href="api.html">the API documentation page</jump> for details.</li>
  -              <li>To support SAX2-ext's DeclHandler, the following new methods are added
  -                  in classes DefaultHandler and SAX2XMLReader:</li>
  -              <ul>
  -                <li>void DefaultHandler::elementDecl(const XMLCh* const name, const XMLCh* const model)</li>
  -                <li>void DefaultHandler::attributeDecl(const XMLCh* const eName, const XMLCh* const aName,
  -                    const XMLCh* const type, const XMLCh* const mode, const XMLCh* const value)</li>
  -                <li>void DefaultHandler::internalEntityDecl(const XMLCh* const name, const XMLCh* const value)</li>
  -                <li>void DefaultHandler::externalEntityDecl(const XMLCh* const name, const XMLCh* const publicId,
  -                    const XMLCh* const systemId)</li>
  -                <li>DeclHandler* SAX2XMLReader::getDeclarationHandler() const</li>
  -                <li>void SAX2XMLReader::setDeclarationHandler(DeclHandler* const handler)</li>
  -              </ul>
  -              <li>To conform to DOM Level 2 specification, the following methods are added:</li>
  -              <ul>
  -                <li>DOM_Node DOM_NodeIterator::getRoot()</li>
  -                <li>DOM_Node DOM_TreeWalker::getRoot()</li>
  -                <li>bool DOM_Node::hasAttributes() const</li>
  -                <li>bool DOM_Element::hasAttribute(const DOMString &amp;name) const</li>
  -                <li>bool DOM_Element::hasAttributeNS(const DOMString &amp;namespaceURI,
  -                                const DOMString &amp;localName) const</li>
  -                <li>IDOM_Node* IDOM_NodeIterator::getRoot()</li>
  -                <li>IDOM_Node* IDOM_TreeWalker::getRoot()</li>
  -                <li>bool IDOM_Node::hasAttributes() const</li>
  -                <li>bool IDOM_Element::hasAttribute(const XMLCh* name) const</li>
  -                <li>bool IDOM_Element::hasAttributeNS(const XMLCh* namespaceURI,
  -                                const XMLCh* localName) const</li>
  -              </ul>
  -              <li>To fix [Bug 5570], a copy constructor is added to DOM_Range</li>
  +              <li>To support DOM Level 3, the following are added (see
  +                  <jump href="api.html">the API documentation page</jump> for details).</li>
  +                <ul>
  +                  <li>DOMNode functions set/getUserData, isSameNode isEqualNode.</li>
  +                  <li>DOMDocument functions renameNode, get/setActualEncoding, get/setEncoding, get/setVersion, get/setStandalone, get/setDocumentURI.</li>
  +                  <li>DOMEntity functions get/setActualEncoding, get/setEncoding, get/setVersion.</li>
  +                  <li>classes AbstractDOMParser, DOMError, DOMErrorHandler, and DOMLocator.</li>
  +                  <li>classes DOMUserDataHandler, DOMImplementationRegistry and DOMImplementationSource.</li>
  +                  <li>classes DOMBuilder, DOMEntityResolver, DOMImplementationLS, DOMInputSource,
  +                      Wrapper4DOMInputSource and Wrapper4InputSource.</li>
  +                  <li>classes DOMWriter, DOMWriterFilter, LocalFileFormatTarget, StdOutFormatTarget,
  +                      and MemBufFormatTarget</li>
  +                </ul>
  +              <li>To support DOMWriter, the following PlatformUtils functions are added</li>
  +                <ul>
  +                   <li>openFileToWrite, writeBufferToFile</li>
  +                </ul>
  +              <li>To have Apache Recommended DOM C++ Binding, the following are added (see
  +                  <jump href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding).</jump></li>
  +                <ul>
  +                  <li>function release() to fix Memory Management problem</li>
  +                  <li>classes DOMDocumentRange and DOMDocumentTraversal</li>
  +                  <li>XMLSize_t is used to represent unsigned integral type in DOM</li>
  +                  <li>IDOM_XXXX classes are renamed to DOMXXXX, and IDOMParser is renamed to XercesDOMParser
  +                      as described in <link anchor="DirChange">DOM Reorganization</link></li>
  +                  <li>XercesDOMParser::adoptDocument is added so that document can optionally live
  +                  outside the parser.</li>
  +                </ul>
  +              <li>To support optionally load external DTD, the following are added:</li>
  +                <ul>
  +                  <li>XercesDOMParser::set/getLoadExternalDTD</li>
  +                  <li>DOMParser::set/getLoadExternalDTD</li>
  +                  <li>SAXParser::set/getLoadExternalDTD</li>
  +                  <li>and SAX2XMLReader will recognize the feature
  +                      http://apache.org/xml/features/nonvalidating/load-external-dtd</li>
  +                </ul>
  +              <li>To support Preparsing Grammar and Grammar Caching, the following are added:</li>
  +                <ul>
  +                   <li>XercesDOMParser/DOMParser/SAXParser functions loadGrammar, resetCachedGrammarPool,
  +                       cacheGrammarFromParse, isCachingGrammarFromParse, useCachedGrammarInParse,
  +                       isUsingCachedGrammarInParse.</li>
  +                   <li>SAX2XMLReader functions loadGrammar, resetCachedGrammarPool, and will recognize the features
  +                       http://apache.org/xml/features/validation/cache-grammarFromParse and 
  +                       http://apache.org/xml/features/validation/use-cachedGrammarInParse.</li>
  +                </ul>
  +              <li>To support access to Grammar info, the following are added:</li>
  +                <ul>
  +                   <li>XercesDOMParser/DOMParser/SAXParser/SAX2XMLReader functions getRootGrammar, getGrammar, getURIText.</li>
  +                </ul>
  +              <li>To support strict IANA encoding name checking, the following are added:</li>
  +                <ul>
  +                   <li>class EncodingValidator.</li>
  +                   <li>PlatformUtils functions strictIANAEncoding, isStrictIANAEncoding.</li>
  +                   <li>XMLTransService functions strictIANAEncoding, isStrictIANAEncoding.</li>
  +                </ul>
               </ul>
  -        </s3>
  +        </s4>
   
           <anchor name="ModifiedAPI"/>
  -        <s3 title="Modified Public API">
  +        <s4 title="Modified Public API">
               <ul>
  -              <li>To conform to the SAX2 specification, the namespace-prefixes feature
  -                  in SAX2 is set to off as default.</li>
  -              <li>To fix [Bug 6330], the Base64::encode and Base64::decode have been modified
  -                  as follows</li>
  -                  <ul>
  -                  <li>static XMLByte* Base64::encode(const XMLByte* const inputData,
  -                      const unsigned int   inputLength,
  -                      unsigned int*        outputLength);</li>
  -                  <li>static XMLByte* Base64::decode(const XMLByte* const inputData,
  -                           unsigned int*        outputLength);</li>
  -                  <li>static XMLCh* decode(const XMLCh* const inputData,
  -                         unsigned int*      outputLength);</li>
  -                  </ul>
  -              <li>To conform to DOM Level 2 specification, the DOM_Node::supports and IDOM_Node::supports
  -                  are modified to</li>
  -              <ul>
  -                <li>bool DOM_Node::isSupported(const DOMString &amp;feature, const DOMString &amp;version) const</li>
  -                <li>bool IDOM_Node::isSupported(const XMLCh* feature, const XMLCh* version) const</li>
  -              </ul>
  +              <li>SAXParser::getScanner() is moved from public to protected.</li>
  +              <li>Grammar::getGrammarType has been added a const modifier.</li>
  +              <li>Xerces features are renamed from XMLUni::fgSAX2XercesXXXX to XMLUni::fgXercesXXXX
  +                  so that they can be shared with DOM parser.</li>
  +              <li>With the new Grammar Caching introduced, the the last parameter "reuseGrammar" in
  +                  the following API is dropped.
  +                   Users should now use the "Grammar Caching" feature as described in
  +                   <link anchor="Reuse">Reuse Grammar becomes Grammar Caching</link>.</li>
  +                <ul>
  +                   <li>(in Parser, SAXParser, DOMParser, and XercesDOMParser) </li>
  +                   <li>parse(const InputSource&amp; source, const bool reuseGrammar = false);</li>
  +                   <li>parse(const XMLCh* const systemId, const bool reuseGrammar = false);</li>
  +                   <li>parse(const char* const systemId, const bool reuseGrammar = false);</li>
  +                   <li>(in SAXParser, DOMParser, and XercesDOMParser) </li>
  +                   <li>parseFirst(const InputSource&amp; source, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</li>
  +                   <li>parseFirst(const XMLCh* const systemId, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</li>
  +                   <li>parseFirst(const char* const systemId, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</li>
  +                </ul>
               </ul>
  -        </s3>
  +        </s4>
   
           <anchor name="DeprecatedAPI"/>
  -        <s3 title="Deprecated Public API">
  +        <s4 title="Deprecated/Removed Public API">
               <ul>
  -              <li>No Deprecated Public API in this release.</li>
  +              <li>The old Java-like DOM is now deprecated as described in
  +                  <link anchor="DirChange">DOM Reorganization</link></li>
  +              <li>SAX2XMLReader::setValidationConstraint.   For consistency, SAX2XMLReader users should
  +                  set the feature http://apache.org/xml/features/validation-error-as-fatal" instead.</li>
  +              <li>SAX2XMLReader::setExitOnFirstFatalError.  For consistency, SAX2XMLReader users should
  +                  set the feature "http://apache.org/xml/features/continue-after-fatal-error" instead.</li>
  +              <li>With the new Grammar Caching introduced, the following features will not be
  +                  recognized by the SAX2XMLReader:</li>
  +                <ul>
  +                   <li>http://apache.org/xml/features/validation/reuse-grammar</li>
  +                   <li>http://apache.org/xml/features/validation/reuse-validator</li>
  +                </ul>
               </ul>
  -        </s3>
  -
  -    </s2>
  -
  -    <s2 title="Migration Archive">
  -
  -       <p>For migration information to &XercesCName; &XercesCVersion160; or earlier,
  -          please refer to <jump href="migrate_archive.html">Migration Archive. </jump></p>
  +        </s4>
   
  +    </s3>
       </s2>
   
   </s1>
  
  
  
  1.3       +191 -409  xml-site/sources/xerces-c/migration_archive.xml
  
  Index: migration_archive.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/migration_archive.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- migration_archive.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ migration_archive.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -2,40 +2,154 @@
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
   <s1 title="Migration Archive">
  -    <s2 title="Migrating from &XercesCName; &XercesCVersion152; to &XercesCName; &XercesCVersion160;">
  +    <s2 title="Migrating to earlier Releases">
  +      <ul>
  +        <li><link anchor="Migrateto170">Migrating from &XercesCName; 1.6.0 to 1.7.0</link></li>
  +        <li><link anchor="Migrateto160">Migrating from &XercesCName; 1.5.2 to 1.6.0</link></li>
  +        <li><link anchor="Migrateto152">Migrating from &XercesCName; 1.4.0 to 1.5.2</link></li>
  +        <li><link anchor="Migrateto140">Migrating from XML4C 2.x to 1.4.0</link></li>
  +      </ul>
  +    </s2>
  +
  +    <anchor name="Migrateto170"/>
  +    <s2 title="Migrating from &XercesCName; 1.6.0 to 1.7.0">
         <p>The following section is a discussion of the technical differences between
  -      &XercesCName; &XercesCVersion152; code base and the &XercesCName; &XercesCVersion160; code base.</p>
  +      &XercesCName; 1.6.0 code base and the &XercesCName; 1.7.0 code base.</p>
   
  -      <p>Topics discussed are:</p>
  +    <s3 title="New features in &XercesCName; 1.7.0">
         <ul>
  -        <li><link anchor="NewFeatures">New features in &XercesCName; &XercesCVersion160;</link></li>
  -        <li><link anchor="API">Public API Changes in &XercesCName; &XercesCVersion160;</link></li>
  +        <li>Support SAX2-ext's DeclHandler.</li>
  +        <li>Directory sane_include reorganization: add sub-directory 'xercesc' to src / include folder.
  +            See <link anchor="DirChange2">"Directory change in &XercesCName; 1.7.0"</link>
  +            below for detail.</li>
  +        <li>More IDOM test cases - port IDOMMemTest, and merge ThreadTest and IThreadTest.</li>
  +        <li>Support IconvFBSD in multi-threading environment.</li>
  +        <li>Use IDOM in schema processing for faster performance.</li>
  +        <li>Add Project files for BCB6.</li>
  +        <li>Port to Caldera (SCO) OpenServer.</li>
  +        <li>Support building with new MacOSURLAccessCF NetAccessor that doesn't require
  +            Carbon but can allow Xerces to live solely within CoreServices layer.</li>
  +      </ul>
  +    </s3>
  +
  +    <anchor name="DirChange2"/>
  +    <s3 title="Directory change in &XercesCName; 1.7.0">
           <ul>
  -            <li><link anchor="NewAPI">New Public API</link></li>
  -            <li><link anchor="ModifiedAPI">Modified Public API</link></li>
  -            <li><link anchor="DeprecatedAPI">Deprecated Public API</link></li>
  +            <li>A new directory, <em>src/xercesc</em> is created to be the new parent directory of
  +                all src's direct subdirectories.</li>
  +            <li>And in the binary package, all the headers are distributed in <em>include/xercesc</em> directory.</li>
  +            <li>Migration considerations:</li>
  +            <ul>
  +              <li>Windows application, <br/>
  +                  either change the <em>include directories </em> setting to
  +                  "..\..\..\..\..\src\<em>xercesc</em>" (Projects->settings->C/C++->Preprocessor), <br/>
  +                  or <br/>
  +                  change the relevant #include instances in the source/header files, accordingly, eg <br/>
  +                  #include &lt;util/XMLString.hpp&gt; be changed to <br/>
  +                  #include &lt;<em>xercesc</em>/util/XMLString.hpp&gt; </li>
  +              <li>Unix application, <br/>
  +                  either change the <em>include search path </em> in the Makefile to
  +                  " -I &lt;installroot&gt;/include/<em>xercesc</em>", <br/>
  +                  or <br/>
  +                  change the relevant #include instances in the source/header files as shown above. </li>
  +            </ul>
           </ul>
  -      </ul>
  +    </s3>
  +
  +    <s3 title="Public API Changes in &XercesCName; 1.7.0">
  +
  +        <p>The following lists the public API changes between the &XercesCName;
  +           1.7.0 and the &XercesCName; 1.7.0 releases
  +           of the parser. </p>
  +
  +        <s4 title="New Public API">
  +            <ul>
  +              <li>Added SAX2-ext's DeclHandler class.
  +                  See <jump href="api.html">the API documentation page</jump> for details.</li>
  +              <li>To support SAX2-ext's DeclHandler, the following new methods are added
  +                  in classes DefaultHandler and SAX2XMLReader:</li>
  +              <ul>
  +                <li>void DefaultHandler::elementDecl(const XMLCh* const name, const XMLCh* const model)</li>
  +                <li>void DefaultHandler::attributeDecl(const XMLCh* const eName, const XMLCh* const aName,
  +                    const XMLCh* const type, const XMLCh* const mode, const XMLCh* const value)</li>
  +                <li>void DefaultHandler::internalEntityDecl(const XMLCh* const name, const XMLCh* const value)</li>
  +                <li>void DefaultHandler::externalEntityDecl(const XMLCh* const name, const XMLCh* const publicId,
  +                    const XMLCh* const systemId)</li>
  +                <li>DeclHandler* SAX2XMLReader::getDeclarationHandler() const</li>
  +                <li>void SAX2XMLReader::setDeclarationHandler(DeclHandler* const handler)</li>
  +              </ul>
  +              <li>To conform to DOM Level 2 specification, the following methods are added:</li>
  +              <ul>
  +                <li>DOM_Node DOM_NodeIterator::getRoot()</li>
  +                <li>DOM_Node DOM_TreeWalker::getRoot()</li>
  +                <li>bool DOM_Node::hasAttributes() const</li>
  +                <li>bool DOM_Element::hasAttribute(const DOMString &amp;name) const</li>
  +                <li>bool DOM_Element::hasAttributeNS(const DOMString &amp;namespaceURI,
  +                                const DOMString &amp;localName) const</li>
  +                <li>IDOM_Node* IDOM_NodeIterator::getRoot()</li>
  +                <li>IDOM_Node* IDOM_TreeWalker::getRoot()</li>
  +                <li>bool IDOM_Node::hasAttributes() const</li>
  +                <li>bool IDOM_Element::hasAttribute(const XMLCh* name) const</li>
  +                <li>bool IDOM_Element::hasAttributeNS(const XMLCh* namespaceURI,
  +                                const XMLCh* localName) const</li>
  +              </ul>
  +              <li>To fix [Bug 5570], a copy constructor is added to DOM_Range</li>
  +            </ul>
  +        </s4>
  +
  +        <s4 title="Modified Public API">
  +            <ul>
  +              <li>To conform to the SAX2 specification, the namespace-prefixes feature
  +                  in SAX2 is set to off as default.</li>
  +              <li>To fix [Bug 6330], the Base64::encode and Base64::decode have been modified
  +                  as follows</li>
  +                  <ul>
  +                  <li>static XMLByte* Base64::encode(const XMLByte* const inputData,
  +                      const unsigned int   inputLength,
  +                      unsigned int*        outputLength);</li>
  +                  <li>static XMLByte* Base64::decode(const XMLByte* const inputData,
  +                           unsigned int*        outputLength);</li>
  +                  <li>static XMLCh* decode(const XMLCh* const inputData,
  +                         unsigned int*      outputLength);</li>
  +                  </ul>
  +              <li>To conform to DOM Level 2 specification, the DOM_Node::supports and IDOM_Node::supports
  +                  are modified to</li>
  +              <ul>
  +                <li>bool DOM_Node::isSupported(const DOMString &amp;feature, const DOMString &amp;version) const</li>
  +                <li>bool IDOM_Node::isSupported(const XMLCh* feature, const XMLCh* version) const</li>
  +              </ul>
  +            </ul>
  +        </s4>
  +
  +        <s4 title="Deprecated Public API">
  +            <ul>
  +              <li>No Deprecated Public API in this release.</li>
  +            </ul>
  +        </s4>
  +
  +    </s3>
       </s2>
   
  -    <anchor name="NewFeatures"/>
  -    <s2 title="New features in &XercesCName; &XercesCVersion160;">
  +    <anchor name="Migrateto160"/>
  +    <s2 title="Migrating from &XercesCName; 1.5.2 to 1.6.0">
  +      <p>The following section is a discussion of the technical differences between
  +      &XercesCName; 1.5.2 code base and the &XercesCName; 1.6.0 code base.</p>
  +
  +    <s3 title="New features in &XercesCName; 1.6.0">
         <ul>
           <li>Full Schema support is available in this release.
               See <jump href="schema.html">the Schema page</jump> for details.</li>
           <li>New sample SEnumVal to show how to enumerate the markup decls in a Schema Grammar is added.</li>
         </ul>
  -    </s2>
  +    </s3>
   
  -    <anchor name="API"/>
  -    <s2 title="Public API Changes in &XercesCName; &XercesCVersion160;">
  +    <s3 title="Public API Changes in &XercesCName; 1.6.0">
   
           <p>The following lists the public API changes between the &XercesCName;
  -           &XercesCVersion152; and the &XercesCName; &XercesCVersion160; releases
  +           1.5.2 and the &XercesCName; 1.6.0 releases
              of the parser. </p>
   
  -        <anchor name="NewAPI"/>
  -        <s3 title="New Public API">
  +        <s4 title="New Public API">
               <ul>
                 <li>It should not be a fatal error if a schema InputSource is not found.
                     Add the following new methods:</li>
  @@ -76,126 +190,33 @@
                   <li>QName* XMLAttr::getAttName() const</li>
                 </ul>
               </ul>
  -        </s3>
  +        </s4>
   
  -        <anchor name="ModifiedAPI"/>
  -        <s3 title="Modified Public API">
  +        <s4 title="Modified Public API">
               <ul>
                 <li>To support attribute constraint checking, the constant values in XMLAttDef::DefAttTypes have been re-ordered.</li>
               </ul>
  -        </s3>
  +        </s4>
   
  -        <anchor name="DeprecatedAPI"/>
  -        <s3 title="Deprecated Public API">
  +        <s4 title="Deprecated Public API">
               <ul>
                 <li>Root Element check is moved from XMLValidator to XMLScanner.  Thus XMLValidator::checkRootElement() is deprecated.</li>
               </ul>
  -        </s3>
  +        </s4>
   
  +    </s3>
       </s2>
   
  -    <s2 title="Migrating from &XercesCName; &XercesCVersion140; to &XercesCName; &XercesCVersion152;">
  +    <anchor name="Migrateto152"/>
  +    <s2 title="Migrating from &XercesCName; 1.4.0 to 1.5.2">
         <p>The following section is a discussion of the technical differences between
  -      &XercesCName; &XercesCVersion140; code base and the &XercesCName; &XercesCVersion152; code base.</p>
  -
  -      <p>Topics discussed are:</p>
  -      <ul>
  -        <li><link anchor="GenImprovements2">General Improvements</link></li>
  -        <ul>
  -            <li><link anchor="Compliance2">Compliance</link></li>
  -            <li><link anchor="BugFixes2">Bug Fixes</link></li>
  -            <li><link anchor="Speed2">Speed</link></li>
  -        </ul>
  -        <li><link anchor="Changes2">Changes required to migrate to &XercesCName; &XercesCVersion152;</link></li>
  -        <ul>
  -            <li><link anchor="Reorganization2">Validator directory Reorganization</link></li>
  -            <li><link anchor="DTDValidator2">DTDValidator</link></li>
  -        </ul>
  -        <li><link anchor="NewFeatures2">New features in &XercesCName; &XercesCVersion152;</link></li>
  -        <ul>
  -            <li><link anchor="Schema2">Schema Subset Support</link></li>
  -            <li><link anchor="IDOM2">Experimental IDOM</link></li>
  -        </ul>
  -      </ul>
  -    </s2>
  -
  -    <anchor name="GenImprovements2"/>
  -    <s2 title="General Improvements">
  -
  -        <p>The new version is improved in many ways. Some general improvements
  -        are: significantly better conformance to the XML spec, cleaner
  -        internal architecture, many bug fixes, and faster speed.</p>
  -
  -        <anchor name="Compliance2"/>
  -        <s3 title="Compliance">
  -            <p>Except for a couple of the very obscure (mostly related to
  -            the 'standalone' mode), this version should be quite compliant
  -            to <jump href="http://www.w3.org/TR/REC-xml">XML 1.0</jump>. It also
  -            tracks the latest changes to DOM, SAX and Namespace Specification.
  -            We have more than a thousand tests, some collected from various
  -            public sources and some IBM generated, which are used to do
  -            regression testing. The C++ parser is now passing all but a
  -            handful of them.</p>
  -        </s3>
  -
  -        <anchor name="BugFixes2"/>
  -        <s3 title="Bug Fixes">
  -            <p>This version has many bug fixes since last release.
  -            Some of these were reported by users and some were brought up by
  -            way of the conformance testing.</p>
  -        </s3>
  -
  -        <anchor name="Speed2"/>
  -        <s3 title="Speed">
  -            <p>Much work was done to speed up this version. Some of the
  -            new features, such as experimental IDOM ended
  -            up eating up some of these gains, but overall the new version
  -            is significantly faster than previous versions, even while doing
  -            more.</p>
  -        </s3>
  -    </s2>
  -
  -
  -    <anchor name="Changes2"/>
  -    <s2 title="Changes required to migrate to &XercesCName; &XercesCVersion152;">
  -
  -        <p>There are some architectural changes between the &XercesCName;
  -           &XercesCVersion140; and the &XercesCName; &XercesCVersion152; releases
  -           of the parser, and as a result, some code has undergone restructuring
  -           as shown below. </p>
  -
  -        <anchor name="Reorganization2"/>
  -        <s3 title="Validator directory Reorganization">
  -            <ul>
  -              <li>common content model files such as DFAContentModel ...
  -                  are moved to a new directory called src/validators/common</li>
  -              <li>DTD related files are moved to a new directory called src/validators/DTD</li>
  -              <li>new directory src/validators/Datatype is created to store all datatype validators</li>
  -              <li>new directory src/validators/schema is created to store Schema related files</li>
  -            </ul>
  -        </s3>
  -
  -        <anchor name="DTDValidator2"/>
  -        <s3 title="DTDValidator">
  -            <p> DTDValidator was design to scan, validate and store the DTD in &XercesCName; &XercesCVersion140;
  -                or earlier. In &XercesCName; &XercesCVersion152;, this process is broken down into three components:
  -            </p>
  -            <ul>
  -              <li>new class DTDScanner - to scan the DTD</li>
  -              <li>new class DTDGrammar - to store the DTD Grammar</li>
  -              <li>DTDValidator - to validate the DTD only</li>
  -            </ul>
  -        </s3>
  +      &XercesCName; 1.4.0 code base and the &XercesCName; 1.5.2 code base.</p>
   
  -    </s2>
  -
  -    <anchor name="NewFeatures2"/>
  -    <s2 title="New features in &XercesCName; &XercesCVersion152;">
  +    <s3 title="New features in &XercesCName; 1.5.2">
           <p>Schema subset support and an experimental IDOM are available
              in this release.
           </p>
  -        <anchor name="Schema2"/>
  -        <s3 title="Schema Subset Support">
  +        <s4 title="Schema Subset Support">
               <ul>
                 <li>New function "setDoSchema" is added to DOM/SAX parser.</li>
                 <li>New feature "http://apache.org/xml/features/validation/schema" is recognized by SAX2XMLReader.</li>
  @@ -207,95 +228,64 @@
               <p>
                  See <jump href="schema.html">the Schema page</jump> for details.
               </p>
  -        </s3>
  +        </s4>
   
  -        <anchor name="IDOM2"/>
  -        <s3 title="Experimental IDOM">
  +        <s4 title="Experimental IDOM">
              <p>The experimental IDOM API is a new design of the C++ DOM API. If you would like
                 to migrate from DOM to the experimental IDOM, please refer to
                 <jump href="program-idom.html">
                 IDOM programming guide.</jump> Please note that this experimental IDOM API is only
                 a prototype and is subject to change.
              </p>
  -        </s3>
  +        </s4>
   
  -    </s2>
  +    </s3>
   
  -    <s2 title="Migrating from XML4C 2.x to &XercesCName; &XercesCVersion140;">
  -       <p>The following section is a discussion of the technical differences between
  -       XML4C 2.x code base and the new &XercesCName; &XercesCVersion140; code base.</p>
  +    <s3 title="Changes required to migrate to &XercesCName; 1.5.2">
   
  -       <p>Topics discussed are:</p>
  -       <ul>
  -        <li><link anchor="GenImprovements">General Improvements</link></li>
  -        <ul>
  -            <li><link anchor="Compliance">Compliance</link></li>
  -            <li><link anchor="BugFixes">Bug Fixes</link></li>
  -            <li><link anchor="Speed">Speed</link></li>
  -        </ul>
  -        <li><link anchor="Summary">Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion140;</link></li>
  -        <li><link anchor="Samples">The Samples</link></li>
  -        <li><link anchor="ParserClasses">Parser Classes</link></li>
  -        <li><link anchor="DOMLevel2">DOM Level 2 support</link></li>
  -        <li><link anchor="Progressive">Progressive Parsing</link></li>
  -        <li><link anchor="Namespace">Namespace support</link></li>
  -        <li><link anchor="MovedToSrcFramework">Moved Classes to src/framework</link></li>
  -        <li><link anchor="LoadableMessageText">Loadable Message Text</link></li>
  -        <li><link anchor="PluggableValidators">Pluggable Validators</link></li>
  -        <li><link anchor="PluggableTranscoders">Pluggable Transcoders</link></li>
  -        <li><link anchor="UtilReorg">Util directory Reorganization</link></li>
  -        <ul>
  -            <li><link anchor="UtilPlatform">util - The platform independent utility stuff</link></li>
  -        </ul>
  -       </ul>
  -    </s2>
  +        <p>There are some architectural changes between the &XercesCName;
  +           1.4.0 and the &XercesCName; 1.5.2 releases
  +           of the parser, and as a result, some code has undergone restructuring
  +           as shown below. </p>
   
  +        <s4 title="Validator directory Reorganization">
  +            <ul>
  +              <li>common content model files such as DFAContentModel ...
  +                  are moved to a new directory called src/validators/common</li>
  +              <li>DTD related files are moved to a new directory called src/validators/DTD</li>
  +              <li>new directory src/validators/Datatype is created to store all datatype validators</li>
  +              <li>new directory src/validators/schema is created to store Schema related files</li>
  +            </ul>
  +        </s4>
   
  -    <anchor name="GenImprovements"/>
  -    <s2 title="General Improvements">
  +        <s4 title="DTDValidator">
  +            <p> DTDValidator was design to scan, validate and store the DTD in &XercesCName; 1.4.0
  +                or earlier. In &XercesCName; 1.5.2, this process is broken down into three components:
  +            </p>
  +            <ul>
  +              <li>new class DTDScanner - to scan the DTD</li>
  +              <li>new class DTDGrammar - to store the DTD Grammar</li>
  +              <li>DTDValidator - to validate the DTD only</li>
  +            </ul>
  +        </s4>
   
  -        <p>The new version is improved in many ways. Some general improvements
  -        are: significantly better conformance to the XML spec, cleaner
  -        internal architecture, many bug fixes, and faster speed.</p>
  -
  -        <anchor name="Compliance"/>
  -        <s3 title="Compliance">
  -            <p>Except for a couple of the very obscure (mostly related to
  -            the 'standalone' mode), this version should be quite compliant.
  -            We have more than a thousand tests, some collected from various
  -            public sources and some IBM generated, which are used to do
  -            regression testing. The C++ parser is now passing all but a
  -            handful of them.</p>
  -        </s3>
  -
  -        <anchor name="BugFixes"/>
  -        <s3 title="Bug Fixes">
  -            <p>This version has many bug fixes with regard to XML4C version 2.x.
  -            Some of these were reported by users and some were brought up by
  -            way of the conformance testing.</p>
  -        </s3>
  -
  -        <anchor name="Speed"/>
  -        <s3 title="Speed">
  -            <p>Much work was done to speed up this version. Some of the
  -            new features, such as namespaces, and conformance checks ended
  -            up eating up some of these gains, but overall the new version
  -            is significantly faster than previous versions, even while doing
  -            more.</p>
  -        </s3>
  +    </s3>
       </s2>
   
  +    <anchor name="Migrateto140"/>
  +    <s2 title="Migrating from XML4C 2.x to &XercesCName; 1.4.0">
  +       <p>The following section is a discussion of the technical differences between
  +       XML4C 2.x code base and the new &XercesCName; 1.4.0 code base.</p>
   
  -    <anchor name="Summary"/>
  -    <s2 title="Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion140;">
  +    <s3 title="Summary of changes required to migrate from XML4C 2.x to &XercesCName; 1.4.0">
   
  -        <p>As mentioned, there are some major architectural changes
  -        between the 2.3.x and &XercesCName; &XercesCVersion140; releases
  +        <p>There are some major architectural changes
  +        between the 2.3.x and &XercesCName; 1.4.0 releases
           of the parser, and as a result the code has undergone
           significant restructuring. The list below mentions the public
           api's which existed in 2.3.x and no longer exist in
  -        &XercesCName; &XercesCVersion140;. It also mentions the
  -        &XercesCName; &XercesCVersion140; api which will give you the
  +        &XercesCName; 1.4.0. It also mentions the
  +        &XercesCName; 1.4.0 api which will give you the
           same functionality.  Note: This list is not exhaustive. The
           API docs (and ultimately the header files) supplement this
           information.</p>
  @@ -376,12 +366,11 @@
               </ul>
           </ul>
   
  -    </s2>
  +    </s3>
   
   
   
  -    <anchor name="Samples"/>
  -    <s2 title="The Samples">
  +    <s3 title="The Samples">
   
           <p>The sample programs no longer use any of the unsupported
           util/xxx classes. They only existed to allow us to write
  @@ -403,11 +392,10 @@
              <li>StdInParse - Demonstrates use of the standard in input source</li>
              <li>EnumVal - Shows how to enumerate the markup decls in a DTD Validator</li>
           </ol>
  -    </s2>
  +    </s3>
   
   
  -    <anchor name="ParserClasses"/>
  -    <s2 title="Parser Classes">
  +    <s3 title="Parser Classes">
   
           <p>In the XML4C 2.x code base, there were the following parser
           classes (in the src/parsers/ source directory):
  @@ -453,122 +441,10 @@
           cleaned up for you automatically upon exit since you don't have to
           allocate it anymore.</p>
   
  -    </s2>
  -
  -
  -    <anchor name="DOMLevel2"/>
  -    <s2 title="DOM Level 2 support">
  +    </s3>
   
  -        <p>Experimental early support for some parts of the DOM level
  -        2 specification have been added. These address some of the
  -        shortcomings in our DOM implementation,
  -        such as a simple, standard mechanism for tree traversal.</p>
  -
  -    </s2>
   
  -
  -    <anchor name="Progressive"/>
  -    <s2 title="Progressive Parsing">
  -
  -        <p>The new parser classes support, in addition to the
  -        <ref>parse()</ref> method, two new parsing methods,
  -        <ref>parseFirst()</ref> and <ref>parseNext()</ref>.  These are
  -        designed to support 'progressive parsing', so that you don't
  -        have to depend upon throwing an exception to terminate the
  -        parsing operation. Calling parseFirst() will cause the DTD (or
  -        in the future, Schema) to be parsed (both internal and
  -        external subsets) and any pre-content, i.e. everything up to
  -        but not including the root element. Subsequent calls to
  -        parseNext() will cause one more pieces of markup to be parsed,
  -        and spit out from the core scanning code to the parser (and
  -        hence either on to you if using SAX or into the DOM tree if
  -        using DOM.) You can quit the parse any time by just not
  -        calling parseNext() anymore and breaking out of the loop. When
  -        you call parseNext() and the end of the root element is the
  -        next piece of markup, the parser will continue on to the end
  -        of the file and return false, to let you know that the parse
  -        is done. So a typical progressive parse loop will look like
  -        this:</p>
  -
  -<source>// Create a progressive scan token
  -XMLPScanToken token;
  -
  -if (!parser.parseFirst(xmlFile, token))
  -{
  -  cerr &lt;&lt; "scanFirst() failed\n" &lt;&lt; endl;
  -  return 1;
  -}
  -
  -//
  -// We started ok, so lets call scanNext()
  -// until we find what we want or hit the end.
  -//
  -bool gotMore = true;
  -while (gotMore &amp;&amp; !handler.getDone())
  -  gotMore = parser.parseNext(token);</source>
  -
  -        <p>In this case, our event handler object (named 'handler'
  -        surprisingly enough) is watching form some criteria and will
  -        return a status from its getDone() method. Since the handler
  -        sees the SAX events coming out of the SAXParser, it can tell
  -        when it finds what it wants. So we loop until we get no more
  -        data or our handler indicates that it saw what it wanted to
  -        see.</p>
  -
  -        <p>When doing non-progressive parses, the parser can easily
  -        know when the parse is complete and insure that any used
  -        resources are cleaned up. Even in the case of a fatal parsing
  -        error, it can clean up all per-parse resources. However, when
  -        progressive parsing is done, the client code doing the parse
  -        loop might choose to stop the parse before the end of the
  -        primary file is reached. In such cases, the parser will not
  -        know that the parse has ended, so any resources will not be
  -        reclaimed until the parser is destroyed or another parse is started.</p>
  -
  -        <p>This might not seem like such a bad thing; however, in this case,
  -        the files and sockets which were opened in order to parse the
  -        referenced XML entities will remain open. This could cause
  -        serious problems. Therefore, you should destroy the parser instance
  -        in such cases, or restart another parse immediately. In a future
  -        release, a reset method will be provided to do this more cleanly.</p>
  -
  -        <p>Also note that you must create a scan token and pass it
  -        back in on each call. This insures that things don't get done
  -        out of sequence. When you call parseFirst() or parse(), any
  -        previous scan tokens are invalidated and will cause an error
  -        if used again. This prevents incorrect mixed use of the two
  -        different parsing schemes or incorrect calls to
  -        parseNext().</p>
  -
  -    </s2>
  -
  -
  -    <anchor name="Namespace"/>
  -    <s2 title="Namespace support">
  -
  -        <p>The C++ parser now supports namespaces. With current XML
  -        interfaces (SAX/DOM) this doesn't mean very much because these
  -        APIs are incapable of passing on the namespace information.
  -        However, if you are using our internal APIs to write your own
  -        parsers, you can make use of this new information. Since the
  -        internal event APIs must be able to now support both namespace
  -        and non-namespace information, they have more
  -        parameters. These allow namespace information to be passed
  -        along.</p>
  -
  -        <p>Most of the samples now have a new command line parameter
  -        to turn on namespace support. You turn on namespaces like
  -        this:</p>
  -
  -<source>SAXParser myParser;
  -// Tell it whether to do namespace
  -myParser.setDoNamespaces(true);</source>
  -    </s2>
  -
  -
  -
  -    <anchor name="MovedToSrcFramework"/>
  -    <s2 title="Moved Classes to src/framework">
  +    <s3 title="Moved Classes to src/framework">
   
           <p>Some of the classes previously in the src/internal/
           directory have been moved to their more correct location in
  @@ -584,111 +460,16 @@
           to rename some of the names of the classes, if you used any of
           the ones whose names were changed.</p>
   
  -    </s2>
  -
  -
  -    <anchor name="LoadableMessageText"/>
  -    <s2 title="Loadable Message Text">
  -
  -        <p>The system now supports loadable message text, instead of
  -        having it hard coded into the program. The current drop still
  -        just supports English, but it can now support other
  -        languages. Anyone interested in contributing any translations
  -        should contact us. This would be an extremely useful
  -        service.</p>
  -
  -        <p>In order to support the local message loading services, we
  -        have created a pretty flexible framework for supporting
  -        loadable text. Firstly, there is now an XML file, in the
  -        src/NLS/ directory, which contains all of the error messages.
  -        There is a simple program, in the Tools/NLSXlat/ directory,
  -        which can spit out that text in various formats. It currently
  -        supports a simple 'in memory' format (i.e. an array of
  -        strings), the Win32 resource format, and the message catalog
  -        format.  The 'in memory' format is intended for very simple
  -        installations or for use when porting to a new platform (since
  -        you can use it until you can get your own local message
  -        loading support done.)</p>
  -
  -        <p>In the src/util/ directory, there is now an XMLMsgLoader
  -        class.  This is an abstraction from which any number of
  -        message loading services can be derived. Your platform driver
  -        file can create whichever type of message loader it wants to
  -        use on that platform.  We currently have versions for the in
  -        memory format, the Win32 resource format, and the message
  -        catalog format. An ICU one is present but not implemented
  -        yet. Some of the platforms can support multiple message
  -        loaders, in which case a #define token is used to control
  -        which one is used. You can set this in your build projects to
  -        control the message loader type used.</p>
  -
  -        <p>Both the Java and C++ parsers emit the same messages for an XML error
  -        since they are being taken from the same message file.</p>
  -
  -    </s2>
  -
  -
  -    <anchor name="PluggableValidators"/>
  -    <s2 title="Pluggable Validators">
  -
  -        <p>In a preliminary move to support Schemas, and to make them
  -        first class citizens just like DTDs, the system has been
  -        reworked internally to make validators completely pluggable.
  -        So now the DTD validator code is under the src/validators/DTD/
  -        directory, with a future Schema validator probably going into
  -        the src/validators. The core scanner architecture now works
  -        completely in terms of the framework/XMLValidator abstract
  -        interface and knows almost nothing about DTDs or Schemas. For
  -        now, if you don't pass in a validator to the parsers, they
  -        will just create a DTDValidator. This means that,
  -        theoretically, you could write your own validator. But we
  -        would not encourage this for a while, until the semantics of
  -        the XMLValidator interface are completely worked out and
  -        proven to handle DTD and Schema cleanly.</p>
  -
  -    </s2>
  -
  -
  -    <anchor name="PluggableTranscoders"/>
  -    <s2 title="Pluggable Transcoders">
  -
  -        <p>Another abstract framework added in the src/util/ directory
  -        is to support pluggable transcoding services. The
  -        XMLTransService class is an abstract API that can be derived
  -        from, to support any desired transcoding
  -        service. XMLTranscoder is the abstract API for a particular
  -        instance of a transcoder for a particular encoding. The
  -        platform driver file decides what specific type of transcoder
  -        to use, which allows each platform to use its native
  -        transcoding services, or the ICU service if desired.</p>
  -
  -        <p>Implementations are provided for Win32 native services, ICU
  -        services, and the <ref>iconv</ref> services available on many
  -        Unix platforms. The Win32 version only provides native code
  -        page services, so it can only handle XML code in the intrinsic
  -        encodings ASCII, UTF-8, UTF-16 (Big/Small Endian), UCS4
  -        (Big/Small Endian), EBCDIC code pages IBM037 and
  -        IBM1140 encodings, ISO-8859-1 (aka Latin1) and Windows-1252. The ICU version
  -        provides all of the encodings that ICU supports. The
  -        <ref>iconv</ref> version will support the encodings supported
  -        by the local system. You can use transcoders we provide or
  -        create your own if you feel ours are insufficient in some way,
  -        or if your platform requires an implementation that we do not
  -        provide.</p>
  -
  -    </s2>
  -
  +    </s3>
   
  -    <anchor name="UtilReorg"/>
  -    <s2 title="Util directory Reorganization">
  +    <s3 title="Util directory Reorganization">
   
           <p>The src/util directory was becoming somewhat of a dumping
           ground of platform and compiler stuff. So we reworked that
           directory to better spread things out. The new scheme is:
           </p>
   
  -        <anchor name="UtilPlatform"/>
  -        <s3 title="util - The platform independent utility stuff">
  +        <s4 title="util - The platform independent utility stuff">
               <ul>
                   <li>MsgLoaders - Holds the msg loader implementations</li>
                   <ol>
  @@ -714,7 +495,7 @@
                       <li>Win32</li>
                   </ol>
               </ul>
  -        </s3>
  +        </s4>
   
           <p>This organization makes things much easier to understand.
           And it makes it easier to find which files you need and which
  @@ -725,6 +506,7 @@
           ICU headers. The rest of the system works only in terms of the
           abstraction APIs.</p>
   
  +    </s3>
       </s2>
   
   </s1>
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/pparse.xml
  
  Index: pparse.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/pparse.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- pparse.xml	8 Mar 2002 20:40:51 -0000	1.2
  +++ pparse.xml	23 Jul 2002 13:14:57 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 7: PParse">
  +<s1 title="Sample: PParse">
   
       <s2 title="PParse">
           <p>PParse demonstrates progressive parsing.</p>
  
  
  
  1.2       +1283 -227 xml-site/sources/xerces-c/program-dom.xml
  
  Index: program-dom.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/program-dom.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- program-dom.xml	8 Mar 2002 20:40:51 -0000	1.1
  +++ program-dom.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -2,264 +2,1320 @@
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
   <s1 title="DOM Programming Guide">
  -
  -    <anchor name="DOMProgGuide"/>
  -    <anchor name="JAVAandCPP"/>
  -    <s2 title="Java and C++ DOM comparisons">
  -      <p>The C++ DOM API is very similar in design and use, to the
  -        Java DOM API bindings. As a consequence, conversion of
  -        existing Java code that makes use of the DOM to C++ is a
  -        straight forward process.
  +    <anchor name="Objectives"/>
  +    <s2 title="Design Objectives">
  +      <p>The C++ DOM implementation is based on the
  +         <jump href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding</jump>.</p>
  +      <p>The design objective aims at meeting the following requirements:
         </p>
  -      <p>
  -        This section outlines the differences between Java and C++ bindings.
  +      <ul>
  +      <li>Reduced memory footprint.</li>
  +      <li>Fast - especially for use in server style and multi-threaded applications.</li>
  +      <li>Good scalability on multiprocessor systems.</li>
  +      <li>More C++ like and less Java like.</li>
  +      </ul>
  +    </s2>
  +
  +    <anchor name="DOM3"/>
  +    <s2 title="DOM Level 3 Support in &XercesCName;">
  +      <p>The &XercesCName; &XercesCVersion; contains a partial implementation of the W3C
  +         Document Object Model Level 3.  This implementation is experimental.    See the document
  +         <jump href="dom3.html"> DOM Level 3 Support</jump> for details.
         </p>
       </s2>
   
  -    <anchor name="AccessAPI"/>
  -    <s2 title="Accessing the API from application code">
  +    <anchor name="UsingDOMAPI"/>
  +    <s2 title="Using DOM API">
  +       <anchor name="AccessAPI"/>
  +       <s3 title="Accessing API from application code">
   
   <source>
  -// C++
   #include &lt;xercesc/dom/DOM.hpp></source>
   
  -<source>// Java
  -import org.w3c.dom.*</source>
  -
         <p>The header file &lt;dom/DOM.hpp&gt; includes all the
           individual headers for the DOM API classes. </p>
   
  -    </s2>
  -
  -    <anchor name="ClassNames"/>
  -    <s2 title="Class Names">
  -      <p>The C++ class names are prefixed with "DOM_". The intent is
  -        to prevent conflicts between DOM class names and other names
  -        that may already be in use by an application or other
  -        libraries that a DOM based application must link with.</p>
  -
  -        <p>The use of C++ namespaces would also have solved this
  -        conflict problem, but for the fact that many compilers do not
  -        yet support them.</p>
  -
  -<source>DOM_Document   myDocument;   // C++
  -DOM_Node       aNode;
  -DOM_Text       someText;</source>
  -
  -<source>Document       myDocument;   // Java
  -Node           aNode;
  -Text           someText;</source>
  -
  -      <p>If you wish to use the Java class names in C++, then you need
  -        to typedef them in C++. This is not advisable for the general
  -        case - conflicts really do occur - but can be very useful when
  -        converting a body of existing Java code to C++.</p>
  -
  -<source>typedef DOM_Document  Document;
  -typedef DOM_Node      Node;
  -
  -Document   myDocument;        // Now C++ usage is
  -                              // indistinguishable from Java
  -Node       aNode;</source>
  -    </s2>
  -
  -
  -    <anchor name="ObjMemMgmt"/>
  -    <s2 title="Objects and Memory Management">
  -      <p>The C++ DOM implementation uses automatic memory management,
  -        implemented using reference counting.  As a result, the C++
  -        code for most DOM operations is very similar to the equivalent
  -        Java code, right down to the use of factory methods in the DOM
  -        document class for nearly all object creation, and the lack of
  -        any explicit object deletion.</p>
  -
  -      <p>Consider the following code snippets </p>
  -
  -<source>// This is C++
  -DOM_Node       aNode;
  -aNode = someDocument.createElement("ElementName");
  -DOM_Node docRootNode = someDoc.getDocumentElement();
  -docRootNode.AppendChild(aNode);</source>
  -
  -<source>// This is Java
  -Node       aNode;
  -aNode = someDocument.createElement("ElementName");
  -Node docRootNode = someDoc.getDocumentElement();
  -docRootNode.AppendChild(aNode);</source>
  -
  -      <p>The Java and the C++ are identical on the surface, except for
  -        the class names, and this similarity remains true for most DOM
  -        code. </p>
  -
  -      <p>However, Java and C++ handle objects in somewhat different
  -        ways, making it important to understand a little bit of what
  -        is going on beneath the surface.</p>
  -
  -      <p>In Java, the variable <code>aNode</code> is an object reference ,
  -        essentially a pointer. It is initially == null, and references
  -        an object only after the assignment statement in the second
  -        line of the code.</p>
  -
  -      <p>In C++ the variable <code>aNode</code> is, from the C++ language's
  -        perspective, an actual live object. It is constructed when the
  -        first line of the code executes, and DOM_Node::operator = ()
  -        executes at the second line. The C++ class DOM_Node
  -        essentially a form of a smart-pointer; it implements much of
  -        the behavior of a Java Object Reference variable, and
  -        delegates the DOM behaviors to an implementation class that
  -        lives behind the scenes. </p>
  -
  -      <p>Key points to remember when using the C++ DOM classes:</p>
  +       </s3>
   
  -      <ul>
  -        <li>Create them as local variables, or as member variables of
  -        some other class. Never "new" a DOM object into the heap or
  -        make an ordinary C pointer variable to one, as this will
  -        greatly confuse the automatic memory management. </li>
  -
  -        <li>The "real" DOM objects - nodes, attributes, CData
  -        sections, whatever, do live on the heap, are created with the
  -        create... methods on class DOM_Document. DOM_Node and the
  -        other DOM classes serve as reference variables to the
  -        underlying heap objects.</li>
  -
  -        <li>The visible DOM classes may be freely copied (assigned),
  -        passed as parameters to functions, or returned by value from
  -        functions.</li>
  -
  -        <li>Memory management of the underlying DOM heap objects is
  -        automatic, implemented by means of reference counting. So long
  -        as some part of a document can be reached, directly or
  -        indirectly, via reference variables that are still alive in
  -        the application program, the corresponding document data will
  -        stay alive in the heap. When all possible paths of access have
  -        been closed off (all of the application's DOM objects have
  -        gone out of scope) the heap data itself will be automatically
  -        deleted. </li>
  -
  -        <li>There are restrictions on the ability to subclass the DOM
  -        classes. </li>
  -
  -      </ul>
  +       <anchor name="DOMClassNames"/>
  +       <s3 title="Class Names">
  +         <p>
  +           The DOM class names are prefixed with "DOM" (if not already), e.g. "DOMNode". The intent is
  +           to prevent conflicts between DOM class names and other names
  +           that may already be in use by an application or other
  +           libraries that a DOM based application must link with.</p>
  +
  +         <source>
  +   DOMDocument*   myDocument;
  +   DOMNode*       aNode;
  +   DOMText*       someText;
  +         </source>
  +
  +       </s3>
  +
  +       <anchor name="DOMObjMgmt"/>
  +       <s3 title="Objects Management">
  +         <p>Applications would use normal C++ pointers to directly access the
  +            implementation objects for Nodes in C++ DOM.
  +         </p>
  +
  +         <p>Consider the following code snippets</p>
  +
  +
  +         <source>
  +   DOMNode*       aNode;
  +   DOMNode* docRootNode;
  +
  +   aNode = someDocument->createElement(anElementName);
  +   docRootNode = someDocument->getDocumentElement();
  +   docRootNode->appendChild(aNode);
  +         </source>
  +
  +      </s3>
  +
  +
  +       <anchor name="DOMMemMgmt"/>
  +       <s3 title="Memory Management">
  +         <p>The C++ DOM implementation provides a release() method for releasing any "orphaned"
  +         resources that were created through createXXXX factory method.
  +         Memory for any returned object are owned by implementation.  Please see
  +         <jump href="ApacheDOMC++Binding.html#release"> Apache Recommended DOM C++ binding</jump>
  +         for details.</p>
  +
  +         <s4 title="Objects created by DOMImplementation::createXXXX">
  +         <p>Users <em>must</em> call the release() function when finished using any objects that
  +            were created by the DOMImplementation::createXXXX (e.g. DOMBuilder, DOMWriter, DOMDocument,
  +            DOMDocumentType).</p>
  +
  +         <p>Acesss to a released object will lead to unexpected behaviour.</p>
  +
  +         <note>When a DOMDocument is released, all its associated children AND any objects it owned
  +            (e.g. DOMRange, DOMTreeWalker, DOMNodeIterator or any orphaned nodes) will also be released.
  +         </note>
  +         <note>When a DOMDocumentType has been inserted into a DOMDocument and thus has a owner,
  +            it will then be released automatically when its owner document is released.
  +         </note>
  +         </s4>
  +
  +         <s4 title="Objects created by DOMDocument::createXXXX">
  +         <p>Users <em>can</em> call the release() function to indicate the release of any orphaned nodes.
  +            When an orphaned Node is released, its associated children will also be released.
  +            Acesss to a released Node will lead to unexpected behaviour.   These orphaned Nodes will
  +            eventually be released, if not already done so, when its owner document is released</p>
  +
  +            <note>DOMException::INVALID_ACCESS_ERR will be raised if releasing a Node that has a parent
  +            (has a owner).</note>
  +         </s4>
  +
  +         <s4 title="Objects created by DOMDocumentRange::createRange or DOMDocumentTraversal::createXXXX">
  +         <p>Users <em>can</em> call release() function when finished using the DOMRange,
  +            DOMNodeIterator, DOMTreeWalker.
  +            Acesss to a released object will lead to unexpected behaviour.   These objects will
  +            eventually be released, if not already done so, when its owner document is released
  +         </p>
  +         </s4>
  +
  +         <p>Here is an example</p>
  +         <source>
  +    //
  +    //  Create a small document tree
  +    //
  +
  +    {
  +        XMLCh* tempStr[100];
  +
  +        XMLString::transcode("Range", tempStr, 99);
  +        DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(tempStr, 0);
  +
  +        XMLString::transcode("root", tempStr, 99);
  +        DOMDocument*   doc = impl->createDocument(0, tempStr, 0);
  +        DOMElement*   root = doc->getDocumentElement();
  +
  +        XMLString::transcode("FirstElement", tempStr, 99);
  +        DOMElement*   e1 = doc->createElement(tempStr);
  +        root->appendChild(e1);
  +
  +        XMLString::transcode("SecondElement", tempStr, 99);
  +        DOMElement*   e2 = doc->createElement(tempStr);
  +        root->appendChild(e2);
  +
  +        XMLString::transcode("aTextNode", tempStr, 99);
  +        DOMText*       textNode = doc->createTextNode(tempStr);
  +        e1->appendChild(textNode);
  +
  +        // optionally, call release() to release the resource associated with the range after done
  +        DOMRange* range = doc->createRange();
  +        range->release();
  +
  +        // removedElement is an orphaned node, optionally call release() to release associated resource
  +        DOMElement* removedElement = root->removeChild(e2);
  +        removedElement->release();
  +
  +        // no need to release this returned object which is owned by implementation
  +        XMLString::transcode("*", tempStr, 99);
  +        DOMNodeList*    nodeList = doc->getElementsByTagName(tempStr);
  +
  +        // done with the document, must call release() to release the entire document resources
  +        doc->release();
  +    };
  +         </source>
  +       </s3>
  +
  +       <anchor name="XMLCh"/>
  +       <s3 title="String Type">
  +         <p>The C++ DOM uses the plain, null-terminated (XMLCh *) utf-16 strings
  +            as the String type. The (XMLCh*) utf-16 type string has low overhead.
  +            All the string data would remain in memory until the document object is released.</p>
  +
  +       <source>
  +   //C++ DOM
  +   const XMLCh* nodeValue = aNode->getNodeValue();
  +       </source>
   
  +       </s3>
       </s2>
   
  -    <anchor name="DOMString"/>
  -    <s2 title="DOMString">
  -      <p>Class DOMString provides the mechanism for passing string
  -        data to and from the DOM API. DOMString is not intended to be
  -        a completely general string class, but rather to meet the
  -        specific needs of the DOM API.</p>
  -
  -      <p>The design derives from two primary sources: from the DOM's
  -        CharacterData interface and from class <code>java.lang.string</code>.</p>
  +    <anchor name="XercesDOMParser"/>
  +    <s2 title="XercesDOMParser">
   
  -      <p>Main features are:</p>
  +        <anchor name="ConstructXercesDOMParser"/>
  +        <s3 title="Constructing a XercesDOMParser">
  +          <p>In order to use &XercesCName; to parse XML files using DOM, you
  +            can create an instance of the XercesDOMParser class. The example
  +            below shows the code you need in order to create an instance of the
  +            XercesDOMParser.</p>
  +
  +          <source>
  +    #include &lt;xercesc/parsers/XercesDOMParser.hpp>
  +    #include &lt;xercesc/dom/DOM.hpp>
  +    #include &lt;xercesc/sax/HandlerBase.hpp>
  +    #include &lt;xercesc/util/XMLString.hpp>
  +
  +    int main (int argc, char* args[]) {
  +
  +        try {
  +            XMLPlatformUtils::Initialize();
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Error during initialization! :\n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return 1;
  +        }
  +
  +        XercesDOMParser* parser = new XercesDOMParser();
  +        parser->setValidationScheme(XercesDOMParser::Val_Always);    // optional.
  +        parser->setDoNamespaces(true);    // optional
  +
  +        ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
  +        parser->setErrorHandler(errHandler);
  +
  +        char* xmlFile = "x1.xml";
  +
  +        try {
  +            parser->parse(xmlFile);
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (const DOMException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (...) {
  +            cout &lt;&lt; "Unexpected Exception \n" ;
  +            return -1;
  +        }
  +
  +        delete parser;
  +        delete errHandler;
  +        return 0;
  +    }
  +          </source>
  +        </s3>
  +
  +        <anchor name="XercesDOMFeatures"/>
  +        <s3 title="XercesDOMParser Supported Features">
  +
  +           <p>The behavior of the XercesDOMParser is dependant on the values of the following features.  All
  +           of the features below are set using the "setter" methods (e.g. <code>setDoNamespaces</code>),
  +           and are queried using the corresponding "getter" methods (e.g. <code>getDoNamespaces</code>).
  +           The following only gives you a quick summary of supported features.  Please
  +           refer to <jump href="api.html">API Documentataion</jump> for complete detail.
  +           </p>
  +
  +            <anchor name="createEntityRef"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setCreateEntityReferenceNodes(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Create EntityReference nodes in the DOM tree.   The
  +                EntityReference nodes and their child nodes will be read-only. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not create EntityReference nodes in the DOM tree.  No
  +                EntityReference nodes will be created, only the nodes corresponding to their fully
  +                expanded sustitution text will be created.  </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature only affects the appearance of
  +                EntityReference nodes in the DOM tree. The document will always contain the entity
  +                reference child nodes. </td></tr>
  +            </table>
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setExpandEntityReferences(const bool)</em> (deprecated) <br/>
  +                please use <link anchor="createEntityRef">setCreateEntityReferenceNodes</link> </td></tr>
  +                <tr><td><em>true:</em></td><td> Do not create EntityReference nodes in the DOM tree.  No
  +                EntityReference nodes will be created, only the nodes corresponding to their fully
  +                expanded sustitution text will be created.  </td></tr>
  +                <tr><td><em>false:</em></td><td> Create EntityReference nodes in the DOM tree.   The
  +                EntityReference nodes and their child nodes will be read-only. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="createEntityRef">setCreateEntityReferenceNodes</link>
  +                </td></tr>
  +            </table>
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setIncludeIgnorableWhitespace(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Include text nodes that can be considered "ignorable
  +                whitespace" in the DOM tree. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not include ignorable whitespace in the DOM tree. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> The only way that the parser can determine if text is
  +                ignorable is by reading the associated grammar and having a content model for the
  +                document. When ignorable whitespace text nodes are included in the DOM tree,
  +                they will be flagged as ignorable; and the method DOMText::isIgnorableWhitespace()
  +                will return true for those text nodes.   </td></tr>
  +            </table>
  +            <p/>
  +
  +            <anchor name="namespaces"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoNamespaces(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Perform Namespace processing </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not perform Namespace processing</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If the validation scheme is set to Val_Always or Val_Auto, then the
  +                document must contain a grammar that supports the use of namespaces </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +            <p/>
  +
  +            <anchor name="validation"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoValidation(const bool)</em> (deprecated) <br/>
  +                please use <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +                <tr><td><em>true:</em></td><td> Report all validation errors. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> see the default of
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="validation-dynamic"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationScheme(const ValSchemes)</em></td></tr>
  +                <tr><td><em>Val_Auto:</em></td><td> The parser will report validation errors only if a grammar is specified.</td></tr>
  +                <tr><td><em>Val_Always:</em></td><td> The parser will always report validation errors. </td></tr>
  +                <tr><td><em>Val_Never:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> Val_Auto </td></tr>
  +                <tr><td><em>note:</em></td><td> If set to Val_Always, the document must
  +                specify a grammar.  If this feature is set to Val_Never and document specifies a grammar,
  +                that grammar might be parsed but no validation of the document contents will be
  +                performed. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="load-external-dtd">setLoadExternalDTD</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="schema"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoSchema(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable the parser's schema support.  </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note</em></td><td> If set to true, namespace processing must also be turned on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="namespaces">setDoNamespaces</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationSchemaFullChecking(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
  +                             which may be time-consuming or memory intensive. Currently, particle unique
  +                             attribution constraint checking and particle derivation restriction checking
  +                             are controlled by this option. </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable full schema constraint checking . </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature checks the Schema grammar itself for
  +                additional errors that are time-consuming or memory intensive. It does <em>not</em> affect the
  +                level of checking performed on document instances that use Schema grammars.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="schema">setDoSchema</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="load-external-dtd"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setLoadExternalDTD(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Load the External DTD . </td></tr>
  +                <tr><td><em>false:</em></td><td> Ignore the external DTD completely. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> This feature is ignored and DTD is always loaded
  +                if the validation scheme is set to Val_Always or Val_Auto. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="continue-after-fatal"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setExitOnFirstFatalError(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Stops parse on first fatal error. </td></tr>
  +                <tr><td><em>false:</em></td><td> Attempt to continue parsing after a fatal error. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> The behavior of the parser when this feature is set to
  +                false is <em>undetermined</em>! Therefore use this feature with extreme caution because
  +                the parser may get stuck in an infinite loop or worse.</td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationConstraintFatal(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The parser will treat validation error as fatal and will
  +                exit depends on the state of
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
  +                </td></tr>
  +                <tr><td><em>false:</em></td><td> The parser will report the error and continue processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this true does not mean the validation error will
  +                be printed with the word "Fatal Error".   It is still printed as "Error", but the parser
  +                will exit if
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
  +                is set to true.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="use-cached"/>
  +            <table>
  +                <tr><td colspan="2"><em>void useCachedGrammarInParse(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Use cached grammar if it exists in the pool.</td></tr>
  +                <tr><td><em>false:</em></td><td>Parse the schema grammar.</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>The getter function for this method is called isUsingCachedGrammarInParse.</td></tr>
  +                <tr><td><em>note:</em></td><td>If the grammar caching option is enabled, this option is set to true automatically.
  +                Any setting to this option by the users is a no-op.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="cache-grammar">cacheGrammarFromParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="cache-grammar"/>
  +            <table>
  +                <tr><td colspan="2"><em>void cacheGrammarFromParse(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Cache the grammar in the pool for re-use in subsequent parses.</td></tr>
  +                <tr><td><em>false:</em></td><td>Do not cache the grammar in the pool</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>The getter function for this method is called isCachingGrammarFromParse</td></tr>
  +                <tr><td><em>note:</em></td><td> If set to true, the useCachedGrammarInParse
  +                is also set to true automatically.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="use-cached">useCachedGrammarInParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +        </s3>
  +
  +        <anchor name="XercesDOMProperties"/>
  +        <s3 title="XercesDOMParser Supported Properties">
  +           <p>The behavior of the XercesDOMParser is dependant on the values of the following properties.  All
  +           of the properties below are set using the "setter" methods (e.g. <code>setExternalSchemaLocation</code>),
  +           and are queried using the corresponding "getter" methods (e.g. <code>getExternalSchemaLocation</code>).
  +           The following only gives you a quick summary of supported features.  Please
  +           refer to <jump href="api.html">API Documentataion</jump> for complete detail.
  +           </p>
  +            <table>
  +                <tr><td colspan="2"><em>void setExternalSchemaLocation(const XMLCh*)</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  Similar situation happens to &lt;import&gt;
  +                            element in schema documents. This property allows the user to specify a list
  +                            of schemas to use.  If the targetNamespace of a schema specified using this
  +                            method matches the targetNamespace of a schema occurring in the instance
  +                            document in schemaLocation attribute, or
  +                            if the targetNamespace matches the namespace attribute of &lt;import&gt;
  +                            element, the schema specified by the user using this property will
  +                            be used (i.e., the schemaLocation attribute in the instance document
  +                            or on the &lt;import&gt; element will be effectively ignored).</td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
  +                                 in instance documents: e.g, "http://www.example.com file_name.xsd".
  +                                 The user can specify more than one XML Schema in the list.</td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +
  +            <p/>
  +            <table>
  +                <tr><td colspan="2"><em>void setExternalNoNamespaceSchemaLocation(const XMLCh* const)</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  This property allows the user to specify the
  +                            no target namespace XML Schema Location externally.  If specified, the instance
  +                            document's noNamespaceSchemaLocation attribute will be effectively ignored.</td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
  +                            attribute that may occur in an instance document: e.g."file_name.xsd".</td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
   
  -      <ul>
  -        <li>It stores Unicode text.</li>
  +            <p/>
   
  -        <li>Automatic memory management, using reference counting.</li>
  +        </s3>
   
  -        <li>DOMStrings are mutable - characters can be inserted,
  -        deleted or appended.</li>
  +    </s2>
   
  -      </ul>
  -      <p></p>
  +    <anchor name="DOMBuilder"/>
  +    <s2 title="DOMBuilder">
   
  -      <p>When a string is passed into a method of the DOM, when
  -        setting the value of a Node, for example, the string is cloned
  -        so that any subsequent alteration or reuse of the string by
  -        the application will not alter the document contents.
  -        Similarly, when strings from the document are returned to an
  -        application via the DOM API, the string is cloned so that the
  -        document can not be inadvertently altered by subsequent edits
  -        to the string.</p>
  -
  -      <note>The ICU classes are a more general solution to UNICODE
  -        character handling for C++ applications.  ICU is an Open
  -        Source Unicode library, available at the <jump
  -        href="http://oss.software.ibm.com/icu/">IBM
  -        DeveloperWorks website</jump>.</note>
  +        <anchor name="ConstructDOMBuilder"/>
  +        <s3 title="Constructing a DOMBuilder">
  +          <p>DOMBuilder is a new interface introduced by the
  +            <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +            W3C DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>.
  +            DOMBuilder provides the "Load" interface for parsing XML documents and building the
  +            corresponding DOM document tree from various input sources.
  +          </p>
  +          <p>A DOMBuilder instance is obtained from the DOMImplementationLS interface by invoking
  +            its createDOMBuilder method.  For example:
  +          </p>
  +    <source>
  +    #include &lt;xercesc/dom/DOM.hpp>
  +    #include &lt;xercesc/util/XMLString.hpp>
  +
  +    int main (int argc, char* args[]) {
  +
  +        try {
  +            XMLPlatformUtils::Initialize();
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Error during initialization! :\n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return 1;
  +        }
  +
  +
  +        XMLCh tempStr[100];
  +        XMLString::transcode("LS", tempStr, 99);
  +        DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr);
  +        DOMBuilder* parser = ((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
  +
  +        // optionally you can set some features on this builder
  +        if (parser->canSetFeature(XMLUni::fgDOMValidation, true)
  +            parser->setFeature(XMLUni::fgDOMValidation, true);
  +        if (parser->canSetFeature(XMLUni::fgDOMNamespaces, true)
  +            parser->setFeature(XMLUni::fgDOMNamespaces, true);
  +        if (parser->canSetFeature((XMLUni::fgDOMDatatypeNormalization, true)
  +            parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true);
  +
  +
  +        // optionally you can implement your DOMErrorHandler (e.g. MyDOMErrorHandler)
  +        // and set it to the builder
  +        MyDOMErrorHandler* errHandler = new myDOMErrorHandler();
  +        parser->setErrorHandler(errHandler);
  +
  +        char* xmlFile = "x1.xml";
  +        DOMDocument *doc = 0;
  +
  +        try {
  +            doc = parser->parseURI(xmlFile);
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (const DOMException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (...) {
  +            cout &lt;&lt; "Unexpected Exception \n" ;
  +            return -1;
  +        }
  +
  +        parser->release();
  +        delete errHandler;
  +        return 0;
  +    }
  +    </source>
  +           <p>Please refer to the <jump href="api.html">API Documentataion</jump> and the sample
  +           DOMCount for more detail.
  +          </p>
  +        </s3>
  +
  +        <anchor name="InputSourceWrapper"/>
  +        <s3 title="How to interchange DOMInputSource and SAX InputSource?">
  +        <p>DOM L3 has introduced a DOMInputSource which is similar to the SAX InputSource. The &XercesCName; internals
  +        (XMLScanner, Reader, etc.) use the SAX InputSource to process the xml data. In order to support DOM L3, we need
  +        to provide a mechanism to allow the &XercesCName; internals to talk to a DOMInputSource object. Similarly, &XercesCName;
  +        provides some framework classes for specialized types of input source (i.e. LocalFileInputSource, etc.) that are
  +        derived from the SAX InputSource. In DOM L3, to allow users implementing their own DOMEntityResolver(s), which return
  +        a DOMInputSource, to utilize these framework classes, we need to provide a mechanism to map a SAX InputSource to a
  +        DOMInputSource. We are introducing to wrapper classes to interchange DOMInputSource and SAXInputSource.
  +        </p>
  +
  +           <s4 title="Wrapper4DOMInputSource">
  +           <p>
  +           Wraps a DOMInputSource object to a SAX InputSource.
  +           </p>
  +           <source>
  +    #include &lt;xercesc/dom/DOMInputSource.hpp>
  +    #include &lt;xercesc/framework/Wrapper4DOMInputSource.hpp>
  +
  +    class DBInputSource: public DOMInputSource
  +    {
  +    ...
  +    };
  +
  +    ...
  +    DOMInputSource *domIS = new DBInputSource;
  +    Wrapper4DOMInputSource domISWrapper(domIS);
  +    XercesDOMParser parser;
  +
  +    parser.parse(domISWrapper);
  +           </source>
  +           </s4>
  +
  +           <s4 title="Wrapper4InputSource">
  +           <p>
  +           Wraps a SAX InputSource object to a DOMInputSource.
  +           </p>
  +           <source>
  +    #include &lt;xercesc/framework/WrapperInputSource.hpp>
  +    #include &lt;xercesc/framework/LocalFileInputSource.hpp>
  +
  +    DOMInputSource* MyEntityResolver::resolveEntity(const XMLCh* const publicId,
  +                                                    const XMLCh* const systemId,
  +                                                    const XMLCh* const baseURI)
  +    {
  +        return new Wrapper4InputSource(new LocalFileInputSource(baseURI, systemId));
  +    }
  +
  +           </source>
  +           </s4>
  +
  +        <p>Please refer to the <jump href="api.html">API Documentataion</jump> for more detail.
  +        </p>
  +        </s3>
  +
  +        <anchor name="DOMBuilderFeatures"/>
  +        <s3 title="DOMBuilder Supported Features">
  +
  +           <p>The behavior of the DOMBuilder is dependant on the values of the following features.
  +           All of the features below can be set using the function <code>DOMBuilder::setFeature(cons XMLCh* const, const bool)</code>.
  +           And can be queried using the function <code>bool DOMBuilder::getFeature(const XMLCh* const)</code>.
  +           User can also call <code>DOMBuilder::canSetFeature(const XMLCh* const, const bool)</code>
  +           to query whether setting a feature to a specific value is supported
  +           </p>
  +
  +           <s4 title="DOM Features">
  +            <table>
  +                <tr><td colspan="2"><em>cdata-sections</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Keep CDATASection nodes in the document. </td></tr>
  +                <tr><td><em>false:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to false is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>comments</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Keep Comment nodes in the document. </td></tr>
  +                <tr><td><em>false:</em></td><td> Discard Comment nodes in the document. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>charset-overrides-xml-encoding</em></td></tr>
  +                <tr><td><em>true:</em></td><td> If a higher level protocol such as HTTP [IETF RFC 2616]
  +                provides an indication of the character encoding of the input stream being processed,
  +                that will override any encoding specified in the XML declaration or the Text declaration
  +                (see also [XML 1.0] 4.3.3 "Character Encoding in Entities"). Explicitly setting an
  +                encoding in the DOMInputSource overrides encodings from the protocol. </td></tr>
  +                <tr><td><em>false:</em></td><td> Any character set encoding information from higher
  +                level protocols is ignored by the parser. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>datatype-normalization</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Let the validation process do its datatype normalization
  +                that is defined in the used schema language. </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable datatype normalization.
  +                The XML 1.0 attribute value normalization always occurs though. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Note that setting this feature to true does not affect
  +                the DTD normalization operation which always takes place, in accordance to
  +                <jump href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0 (Second Edition)</jump>.
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2000/REC-xml-20001006">XML 1.0 (Second Edition)</jump>.
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>entities</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Create EntityReference nodes in the DOM tree.   The
  +                EntityReference nodes and their child nodes will be read-only. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not create EntityReference nodes in the DOM tree.  No
  +                EntityReference nodes will be created, only the nodes corresponding to their fully
  +                expanded sustitution text will be created.  </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature only affects the appearance of
  +                EntityReference nodes in the DOM tree. The document will always contain the entity
  +                reference child nodes. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>canonical-form</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not canonicalize the document. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>infoset</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> No effect. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-namespaces"/>
  +            <table>
  +                <tr><td colspan="2"><em>namespaces</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Perform Namespace processing </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not perform Namespace processing</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If the validation is on, then the
  +                document must contain a grammar that supports the use of namespaces </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-validation">validation</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>namespace-declarations</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Include namespace declaration attributes,
  +                specified or defaulted from the schema or the DTD, in the document. </td></tr>
  +                <tr><td><em>false:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to false is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-namespaces">namespaces</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>supported-mediatypes-only</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> Don't check the media type, accept any type of data. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-validate-if-schema"/>
  +            <table>
  +                <tr><td colspan="2"><em>validate-if-schema</em></td></tr>
  +                <tr><td><em>true:</em></td><td> When validation is true, the parser will validate the document only if a grammar is specified.</td></tr>
  +                <tr><td><em>false:</em></td><td> Validation is determined by the state of the
  +                <link anchor="builder-validation">validation</link> feature. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-validation">validation</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-validation"/>
  +            <table>
  +                <tr><td colspan="2"><em>validation</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Report all validation errors. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If this feature is set to true, the document must
  +                specify a grammar.  If this feature is set to false and document specifies a grammar,
  +                that grammar might be parsed but no validation of the document contents will be
  +                performed. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-validate-if-schema">validate-if-schema</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-load-external-dtd">http://apache.org/xml/features/nonvalidating/load-external-dtd</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-whitespace"/>
  +            <table>
  +                <tr><td colspan="2"><em>whitespace-in-element-content</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Include text nodes that can be considered "ignorable
  +                whitespace" in the DOM tree. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not include ignorable whitespace in the DOM tree. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> The only way that the parser can determine if text is
  +                ignorable is by reading the associated grammar and having a content model for the
  +                document. When ignorable whitespace text nodes are included in the DOM tree,
  +                they will be flagged as ignorable; and the method DOMText::isIgnorableWhitespace()
  +                will return true for those text nodes. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +           </s4>
  +
  +           <s4 title="Xerces Features">
  +            <anchor name="builder-schema"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable the parser's schema support.  </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> If set to true, namespace processing must also be turned on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-namespaces">namespaces</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema-full-checking</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
  +                             which may be time-consuming or memory intensive. Currently, particle unique
  +                             attribution constraint checking and particle derivation restriction checking
  +                             are controlled by this option. </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable full schema constraint checking. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature checks the Schema grammar itself for
  +                additional errors that are time-consuming or memory intensive. It does <em>not</em> affect the
  +                level of checking performed on document instances that use Schema grammars. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-schema">http://apache.org/xml/features/validation/schema</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-load-external-dtd"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/nonvalidating/load-external-dtd</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Load the External DTD. </td></tr>
  +                <tr><td><em>false:</em></td><td> Ignore the external DTD completely. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> This feature is ignored and DTD is always loaded when validation is on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-validation">validation</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-continue-after-fatal"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/continue-after-fatal-error</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Attempt to continue parsing after a fatal error. </td></tr>
  +                <tr><td><em>false:</em></td><td> Stops parse on first fatal error. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> The behavior of the parser when this feature is set to
  +                true is <em>undetermined</em>! Therefore use this feature with extreme caution because
  +                the parser may get stuck in an infinite loop or worse. </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation-error-as-fatal</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The parser will treat validation error as fatal and will
  +                exit depends on the state of
  +                <link anchor="builder-continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>.
  +                </td></tr>
  +                <tr><td><em>false:</em></td><td> The parser will report the error and continue processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this true does not mean the validation error will
  +                be printed with the word "Fatal Error".   It is still printed as "Error", but the parser
  +                will exit if
  +                <link anchor="builder-continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>
  +                is set to false. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-use-cached"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/use-cachedGrammarInParse</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Use cached grammar if it exists in the pool.</td></tr>
  +                <tr><td><em>false:</em></td><td>Parse the schema grammar.</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>If http://apache.org/xml/features/validation/cache-grammarFromParse is enabled,
  +                this feature is set to true automatically. Any setting to this feature by the users is a no-op.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-cache-grammar">http://apache.org/xml/features/validation/cache-grammarFromParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="builder-cache-grammar"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/cache-grammarFromParse</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Cache the grammar in the pool for re-use in subsequent parses.</td></tr>
  +                <tr><td><em>false:</em></td><td>Do not cache the grammar in the pool</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If set to true, the http://apache.org/xml/features/validation/use-cachedGrammarInParse
  +                is also set to true automatically.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="builder-use-cached">http://apache.org/xml/features/validation/use-cachedGrammarInParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/dom/user-adopts-DOMDocument</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The caller will adopt the DOMDocument that is returned from
  +                the parse method and thus is responsible to call DOMDocument::release() to release the
  +                associated memory.  The parser will not release it.   The ownership is transferred
  +                from the parser to the caller. </td></tr>
  +                <tr><td><em>false:</em></td><td> The returned DOMDocument from the parse method is owned by
  +                the parser and thus will be deleted when the parser is released. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="apiDocs/classDOMBuilder.html">
  +                DOMBuilder API Documentation</jump>, (DOMBuilder::parse and DOMBuilder::resetDocumentPool)
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +           </s4>
  +
  +        </s3>
  +
  +        <anchor name="DOMBuilderProperties"/>
  +        <s3 title="DOMBuilder Supported Properties">
  +
  +           <p>The behavior of the DOMBuilder is dependant on the values of the following properties.
  +           All of the properties below can be set using the function <code>DOMBuilder::setProperty(const XMLCh* const, void*)</code>.
  +           It takes a void pointer as the property value.  Application is required to initialize this void
  +           pointer to a correct type.  Please check the column "Value Type" below
  +           to learn exactly what type of property value each property expects for processing.
  +           Passing a void pointer that was initialized with a wrong type will lead to unexpected result.
  +           If the same property is set more than once, the last one takes effect.</p>
  +
  +           <p>Property values can be queried using the function <code>void* DOMBuilder::getFeature(const XMLCh* const)</code>.
  +            The parser owns the returned pointer, and the memory allocated for the returned pointer will
  +            be destroyed when the parser is released.  To ensure accessibility of the returned information after
  +            the parser is released, callers need to copy and store the returned information somewhere else.
  +            Since the returned pointer is a generic void pointer, check the column "Value Type" below to learn
  +            exactly what type of object each property returns for replication.</p>
  +
  +           <s4 title="Xerces Properties">
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-schemaLocation</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  Similar situation happens to &lt;import&gt;
  +                            element in schema documents. This property allows the user to specify a list
  +                            of schemas to use.  If the targetNamespace of a schema specified using this
  +                            method matches the targetNamespace of a schema occurring in the instance
  +                            document in schemaLocation attribute, or
  +                            if the targetNamespace matches the namespace attribute of &lt;import&gt;
  +                            element, the schema specified by the user using this property will
  +                            be used (i.e., the schemaLocation attribute in the instance document
  +                            or on the &lt;import&gt; element will be effectively ignored). </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
  +                                 in instance documents: e.g, "http://www.example.com file_name.xsd".
  +                                 The user can specify more than one XML Schema in the list. </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +
  +            <p/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  This property allows the user to specify the
  +                            no target namespace XML Schema Location externally.  If specified, the instance
  +                            document's noNamespaceSchemaLocation attribute will be effectively ignored. </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
  +                            attribute that may occur in an instance document: e.g."file_name.xsd". </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +          </s4>
  +        </s3>
   
       </s2>
   
  -    <anchor name="EqualityTesting"/>
  -    <s2 title="Equality Testing">
  -      <p>The DOMString equality operators (and all of the rest of the
  -        DOM class conventions) are modeled after the Java
  -        equivalents. The equals() method compares the content of the
  -        string, while the == operator checks whether the string
  -        reference variables (the application program variables) refer
  -        to the same underlying string in memory. This is also true of
  -        DOM_Node, DOM_Element, etc., in that operator == tells whether
  -        the variables in the application are referring to the same
  -        actual node or not. It's all very Java-like </p>
  +    <anchor name="DOMWriter"/>
  +    <s2 title="DOMWriter">
   
  -      <ul>
  -        <li>bool operator == () is true if the DOMString variables
  -        refer to the same underlying storage. </li>
  +        <anchor name="ConstructDOMWriter"/>
  +        <s3 title="Constructing a DOMWriter">
  +          <p>DOMWriter is a new interface introduced by the
  +            <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +            W3C DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>.
  +            DOMWriter provides the "Save" interface for serializing (writing) a DOM document into
  +            XML data.   The XML data can be written to various type of output stream.
  +          </p>
  +          <p>A DOMWriter instance is obtained from the DOMImplementationLS interface by invoking
  +            its createDOMWriter method.  For example:
  +          </p>
  +    <source>
  +    #include &lt;xercesc/dom/DOM.hpp>
  +    #include &lt;xercesc/util/XMLString.hpp>
  +
  +    int serializeDOM(DOMNode* node) {
  +
  +        XMLCh tempStr[100];
  +        XMLString::transcode("LS", tempStr, 99);
  +        DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(tempStr);
  +        DOMWriter* theSerializer = ((DOMImplementationLS*)impl)->createDOMWriter();
  +
  +        // optionally you can set some features on this serializer
  +        if (theSerializer->canSetFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true))
  +            theSerializer->setFeature(XMLUni::fgDOMWRTDiscardDefaultContent, true);
  +
  +        if (theSerializer->canSetFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true))
  +             theSerializer->setFeature(XMLUni::fgDOMWRTFormatPrettyPrint, true);
  +
  +        // optionally you can implement your DOMWriterFilter (e.g. MyDOMWriterFilter)
  +        // and set it to the serializer
  +        DOMWriterFilter* myFilter = new myDOMWriterFilter();
  +        theSerializer->setFilter(myFilter);
  +
  +        // optionally you can implement your DOMErrorHandler (e.g. MyDOMErrorHandler)
  +        // and set it to the serializer
  +        DOMErrorHandler* errHandler = new myDOMErrorHandler();
  +        theSerializer->setErrorHandler(myErrorHandler);
  +
  +        // StdOutFormatTarget prints the resultant XML stream
  +        // to stdout once it receives any thing from the serializer.
  +        XMLFormatTarget *myFormTarget = new StdOutFormatTarget();
  +
  +        try {
  +            // do the serialization through DOMWriter::writeNode();
  +            theSerializer->writeNode(myFormTarget, *node);
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (const DOMException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (...) {
  +            cout &lt;&lt; "Unexpected Exception \n" ;
  +            return -1;
  +        }
  +
  +
  +        theSerializer->release();
  +        delete myErrorHandler;
  +        delete myFilter;
  +        delete myFormTarget;
  +        return 0;
  +    }
  +
  +    </source>
  +           <p>Please refer to the <jump href="api.html">API Documentataion</jump> and the sample
  +           DOMPrint for more detail.
  +          </p>
  +        </s3>
  +
  +        <anchor name="DOMWriterFeatures"/>
  +        <s3 title="DOMWriter Supported Features">
  +
  +           <p>The behavior of the DOMWriter is dependant on the values of the following features.
  +           All of the features below can be set using the function <code>DOMWriter::setFeature(cons XMLCh* const, bool)</code>.
  +           And can be queried using the function <code>bool DOMWriter::getFeature(const XMLCh* const)</code>.
  +           User can also call <code>DOMWriter::canSetFeature(const XMLCh* const, bool)</code>
  +           to query whether setting a feature to a specific value is supported
  +           </p>
  +
  +           <s4 title="DOM Features">
  +            <anchor name="validation"/>
  +            <table>
  +                <tr><td colspan="2"><em>discard-default-content</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Use whatever information available to the implementation
  +                (i.e. XML schema, DTD, the specified flag on Attr nodes, and so on) to decide what
  +                attributes and content should be discarded or not. </td></tr>
  +                <tr><td><em>false:</em></td><td> Keep all attributes and all content. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> Note that the specified flag on Attr nodes in itself
  +                is not always reliable, it is only reliable when it is set to false since the only case
  +                where it can be set to false is if the attribute was created by the implementation.  The
  +                default content won't be removed if an implementation does not have any information
  +                available. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>entities</em></td></tr>
  +                <tr><td><em>true:</em></td><td> EntityReference nodes are serialized as an entity
  +				 reference of the form "&amp;entityName;" in the output. </td></tr>
  +                <tr><td><em>false:</em></td><td> EntityReference nodes are serialized as expanded
  +				sustitution text, unless the corresponding entity definition is not found. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature only affects the output XML stream.
  +				The dom tree to be serialized will not be changed. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="writer-canonical"/>
  +            <table>
  +                <tr><td colspan="2"><em>canonical-form</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not canonicalize the output. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="writer-pretty">format-pretty-print</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="writer-pretty"/>
  +            <table>
  +                <tr><td colspan="2"><em>format-pretty-print</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Formatting the output by adding whitespace to produce
  +                a pretty-printed, indented, human-readable form. The exact form of the transformations
  +                is not specified by this specification. </td></tr>
  +                <tr><td><em>false:</em></td><td> Don't pretty-print the result. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true will set the feature
  +                <link anchor="writer-canonical">canonical-form</link> to false. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="writer-canonical">canonical-form</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>normalize-characters</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not perform character normalization. </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>split-cdata-sections</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Split CDATA sections containing the CDATA section
  +                termination marker ']]&gt;', or unrepresentable characters in the output encoding.
  +				When a CDATA section is split a warning is issued. </td></tr>
  +                <tr><td><em>false:</em></td><td> Signal an error if a CDATASection contains
  +                CDATA section termination marker ']]&gt;', or an unrepresentable character. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>validation</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to true is not supported. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>whitespace-in-element-content</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Include text nodes that can be considered "ignorable
  +                whitespace" in the DOM tree. </td></tr>
  +                <tr><td><em>false:</em></td><td> Not Supported. </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this feature to false is not supported. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +                DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>
  +                </td></tr>
  +            </table>
   
  -        <li>bool equals() is true if the strings contain the same
  -        characters. </li>
  +            <p/>
   
  -      </ul>
  -      <p>Here is an example of how the equality operators work: </p>
  -<source>DOMString a = "Hello";
  -DOMString b = a;
  -DOMString c = a.clone();
  -if (b == a)           //  This is true
  -if (a == c)           //  This is false
  -if (a.equals(c))       //  This is true
  -b = b + " World";
  -if (b == a)           // Still true, and the string's
  -                      //    value is "Hello World"
  -if (a.equals(c))      // false.  a is "Hello World";
  -                      //    c is still "Hello".</source>
  -    </s2>
  +           </s4>
   
  -    <anchor name="Downcasting"/>
  -    <s2 title="Downcasting">
  -      <p>Application code sometimes must cast an object reference from
  -        DOM_Node to one of the classes deriving from DOM_Node,
  -        DOM_Element, for example.  The syntax for doing this in C++ is
  -        different from that in Java.</p>
  -
  -<source>// This is C++
  -DOM_Node       aNode = someFunctionReturningNode();
  -DOM_Element    el = (DOM_Element &amp;) aNode;</source>
  -
  -<source>// This is Java
  -Node       aNode = someFunctionReturningNode();
  -Element    el = (Element) aNode;</source>
  -
  -      <p>The C++ cast is not type-safe; the Java cast is checked for
  -        compatible types at runtime.  If necessary, a type-check can
  -        be made in C++ using the node type information: </p>
  -
  -<source>// This is C++
  -
  -DOM_Node       aNode = someFunctionReturningNode();
  -DOM_Element    el;    // by default, el will == null.
  -
  -if (anode.getNodeType() == DOM_Node::ELEMENT_NODE)
  -   el = (DOM_Element &amp;) aNode;
  -else
  -   // aNode does not refer to an element.
  -   // Do something to recover here.</source>
  +        </s3>
   
       </s2>
   
  -    <anchor name="Subclassing"/>
  -    <s2 title="Subclassing">
  -      <p>The C++ DOM classes, DOM_Node, DOM_Attr, DOM_Document, etc.,
  -        are not designed to be subclassed by an application
  -        program. </p>
  -
  -      <p>As an alternative, the DOM_Node class provides a User Data
  -        field for use by applications as a hook for extending nodes by
  -        referencing additional data or objects.  See the API
  -        description for DOM_Node for details.</p>
  +    <anchor name="Deprecated"/>
  +    <s2 title="Deprecated - Java-like DOM">
  +      <p>Earlier, &XercesCName; has provided a set of C++ DOM interfaces that is
  +        very similar in design and use, to the Java DOM API bindings.
  +        Currently, such interface has been deprecated.
  +        See this <jump href="program-deprecateddom.html"> document </jump> for its programming details.
  +      </p>
       </s2>
   
   </s1>
  
  
  
  1.2       +284 -56   xml-site/sources/xerces-c/program-sax.xml
  
  Index: program-sax.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/program-sax.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- program-sax.xml	8 Mar 2002 20:40:51 -0000	1.1
  +++ program-sax.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -3,57 +3,6 @@
   
   <s1 title="SAX1 Programming Guide">
   
  -    <anchor name="SAX1ProgGuide"/>
  -    <anchor name="ConstructParser"/>
  -    <s2 title="Constructing a parser">
  -      <p>In order to use &XercesCName; to parse XML files, you will
  -        need to create an instance of the SAXParser class. The example
  -        below shows the code you need in order to create an instance
  -        of SAXParser. The DocumentHandler and ErrorHandler instances
  -        required by the SAX API are provided using the HandlerBase
  -        class supplied with &XercesCName;.</p>
  -
  -<source>int main (int argc, char* args[]) {
  -
  -    try {
  -        XMLPlatformUtils::Initialize();
  -    }
  -    catch (const XMLException&amp; toCatch) {
  -        cout &lt;&lt; "Error during initialization! :\n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n";
  -        return 1;
  -    }
  -
  -    char* xmlFile = "x1.xml";
  -    SAXParser* parser = new SAXParser();
  -    parser->setDoValidation(true);    // optional.
  -	parser->setDoNamespaces(true);    // optional
  -
  -    DocumentHandler* docHandler = new HandlerBase();
  -    ErrorHandler* errHandler = (ErrorHandler*) docHandler;
  -    parser->setDocumentHandler(docHandler);
  -    parser->setErrorHandler(errHandler);
  -
  -    try {
  -        parser->parse(xmlFile);
  -    }
  -    catch (const XMLException&amp; toCatch) {
  -        cout &lt;&lt; "Exception message is: \n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n" ;
  -        return -1;
  -    }
  -    catch (const SAXParseException&amp; toCatch) {
  -        cout &lt;&lt; "Exception message is: \n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n" ;
  -        return -1;
  -    }
  -    catch (...) {
  -        cout &lt;&lt; "Unexpected Exception \n" ;
  -        return -1;
  -    }
  -}</source>
  -    </s2>
  -
       <anchor name="UsingSAX1API"/>
       <s2 title="Using the SAX API">
         <p>The SAX API for XML parsers was originally developed for
  @@ -106,15 +55,15 @@
   MySAXHandler::startElement(const XMLCh* const name,
                              AttributeList&amp; attributes)
   {
  -    // transcode() is an user application defined function which
  -    // converts unicode strings to usual 'char *'. Look at
  -    // the sample program SAXCount for an example implementation.
  -    cout &lt;&lt; "I saw element: " &lt;&lt; transcode(name) &lt;&lt; endl;
  +    char* message = XMLString::transcode(name);
  +    cout &lt;&lt; "I saw element: "&lt;&lt; message &lt;&lt; endl;
  +    delete [] message;
   }
   
   MySAXHandler::fatalError(const SAXParseException&amp; exception)
   {
  -    cout &lt;&lt; "Fatal Error: " &lt;&lt; transcode(exception.getMessage())
  +    char* message = XMLString::transcode(exception.getMessage());
  +    cout &lt;&lt; "Fatal Error: " &lt;&lt; message
            &lt;&lt; " at line: " &lt;&lt; exception.getLineNumber()
            &lt;&lt; endl;
   }</source>
  @@ -123,6 +72,285 @@
           &XercesCName; and are documented in the include
           files. Examples of their usage appear in the source code to
           the sample applications.</p>
  +    </s2>
  +
  +    <anchor name="SAXParser"/>
  +    <s2 title="SAXParser">
  +        <anchor name="ConstructParser"/>
  +        <s3 title="Constructing a SAXParser">
  +          <p>In order to use &XercesCName; to parse XML files, you will
  +            need to create an instance of the SAXParser class. The example
  +            below shows the code you need in order to create an instance
  +            of SAXParser. The DocumentHandler and ErrorHandler instances
  +            required by the SAX API are provided using the HandlerBase
  +            class supplied with &XercesCName;.</p>
  +
  +    <source>
  +    #include &lt;xercesc/parsers/SAXParser.hpp>
  +    #include &lt;xercesc/sax/HandlerBase.hpp>
  +    #include &lt;xercesc/util/XMLString.hpp>
  +
  +    int main (int argc, char* args[]) {
  +
  +        try {
  +            XMLPlatformUtils::Initialize();
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Error during initialization! :\n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return 1;
  +        }
  +
  +        char* xmlFile = "x1.xml";
  +        SAXParser* parser = new SAXParser();
  +        parser->setDoValidation(true);    // optional.
  +        parser->setDoNamespaces(true);    // optional
  +
  +        DocumentHandler* docHandler = new HandlerBase();
  +        ErrorHandler* errHandler = (ErrorHandler*) docHandler;
  +        parser->setDocumentHandler(docHandler);
  +        parser->setErrorHandler(errHandler);
  +
  +        try {
  +            parser->parse(xmlFile);
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (const SAXParseException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (...) {
  +            cout &lt;&lt; "Unexpected Exception \n" ;
  +            return -1;
  +        }
  +
  +        delete parser;
  +        delete docHandler;
  +        return 0;
  +    }</source>
  +        </s3>
  +
  +        <anchor name="SAXFeatures"/>
  +        <s3 title="SAXParser Supported Features">
  +
  +           <p>The behavior of the SAXParser is dependant on the values of the following features.  All
  +           of the features below are set using the "setter" methods (e.g. <code>setDoNamespaces</code>),
  +           and are queried using the corresponding "getter" methods (e.g. <code>getDoNamespaces</code>).
  +           The following only gives you a quick summary of supported features.  Please
  +           refer to <jump href="api.html">API Documentataion</jump> for complete detail.
  +           </p>
  +           <p>None of these features can be modified in the middle of a parse, or an exception will be thrown.</p>
  +
  +
  +            <anchor name="namespaces"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoNamespaces(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Perform Namespace processing. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not perform Namespace processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If the validation scheme is set to Val_Always or Val_Auto, then the
  +                document must contain a grammar that supports the use of namespaces. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +            <p/>
  +
  +            <anchor name="validation"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoValidation(const bool)</em> (deprecated) <br/>
  +                please use <link anchor="validation-dynamic">setValidationScheme</link>.
  +                </td></tr>
  +                <tr><td><em>true:</em></td><td> Report all validation errors. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> see the default of
  +                <link anchor="validation-dynamic">setValidationScheme</link>.
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="validation-dynamic"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationScheme(const ValSchemes)</em></td></tr>
  +                <tr><td><em>Val_Auto:</em></td><td> The parser will report validation errors only if a grammar is specified. </td></tr>
  +                <tr><td><em>Val_Always:</em></td><td> The parser will always report validation errors. </td></tr>
  +                <tr><td><em>Val_Never:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> Val_Auto </td></tr>
  +                <tr><td><em>note:</em></td><td> If set to Val_Always, the document must
  +                specify a grammar.  If this feature is set to Val_Never and document specifies a grammar,
  +                that grammar might be parsed but no validation of the document contents will be
  +                performed. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="load-external-dtd">setLoadExternalDTD</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="schema"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setDoSchema(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable the parser's schema support.  </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note</em></td><td> If set to true, namespace processing must also be turned on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="namespaces">setDoNamespaces</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationSchemaFullChecking(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
  +                             which may be time-consuming or memory intensive. Currently, particle unique
  +                             attribution constraint checking and particle derivation restriction checking
  +                             are controlled by this option. </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable full schema constraint checking. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature checks the Schema grammar itself for
  +                additional errors that are time-consuming or memory intensive. It does <em>not</em> affect the
  +                level of checking performed on document instances that use Schema grammars. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="schema">setDoSchema</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="load-external-dtd"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setLoadExternalDTD(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Load the External DTD . </td></tr>
  +                <tr><td><em>false:</em></td><td> Ignore the external DTD completely. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> This feature is ignored and DTD is always loaded
  +                if the validation scheme is set to Val_Always or Val_Auto. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">setValidationScheme</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="continue-after-fatal"/>
  +            <table>
  +                <tr><td colspan="2"><em>void setExitOnFirstFatalError(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Stops parse on first fatal error. </td></tr>
  +                <tr><td><em>false:</em></td><td> Attempt to continue parsing after a fatal error. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> The behavior of the parser when this feature is set to
  +                false is <em>undetermined</em>! Therefore use this feature with extreme caution because
  +                the parser may get stuck in an infinite loop or worse. </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setValidationConstraintFatal(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The parser will treat validation error as fatal and will
  +                exit depends on the state of
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>.
  +                </td></tr>
  +                <tr><td><em>false:</em></td><td> The parser will report the error and continue processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this true does not mean the validation error will
  +                be printed with the word "Fatal Error".   It is still printed as "Error", but the parser
  +                will exit if
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
  +                is set to true. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="use-cached"/>
  +            <table>
  +                <tr><td colspan="2"><em>void useCachedGrammarInParse(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Use cached grammar if it exists in the pool.</td></tr>
  +                <tr><td><em>false:</em></td><td>Parse the schema grammar.</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>The getter function for this method is called isUsingCachedGrammarInParse</td></tr>
  +                <tr><td><em>note:</em></td><td>If the grammar caching option is enabled, this option is set to true automatically.
  +                Any setting to this option by the users is a no-op.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="cache-grammar">cacheGrammarFromParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="cache-grammar"/>
  +            <table>
  +                <tr><td colspan="2"><em>void cacheGrammarFromParse(const bool)</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Cache the grammar in the pool for re-use in subsequent parses.</td></tr>
  +                <tr><td><em>false:</em></td><td>Do not cache the grammar in the pool</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>The getter function for this method is called isCachingGrammarFromParse</td></tr>
  +                <tr><td><em>note:</em></td><td> If set to true, the useCachedGrammarInParse
  +                is also set to true automatically.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="use-cached">useCachedGrammarInParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>void setExternalSchemaLocation(const XMLCh* const)</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  Similar situation happens to &lt;import&gt;
  +                            element in schema documents. This property allows the user to specify a list
  +                            of schemas to use.  If the targetNamespace of a schema specified using this
  +                            method matches the targetNamespace of a schema occurring in the instance
  +                            document in schemaLocation attribute, or
  +                            if the targetNamespace matches the namespace attribute of &lt;import&gt;
  +                            element, the schema specified by the user using this property will
  +                            be used (i.e., the schemaLocation attribute in the instance document
  +                            or on the &lt;import&gt; element will be effectively ignored). </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
  +                                 in instance documents: e.g, "http://www.example.com file_name.xsd".
  +                                 The user can specify more than one XML Schema in the list. </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +
  +            <p/>
  +            <table>
  +                <tr><td colspan="2"><em>void setExternalNoNamespaceSchemaLocation(const XMLCh* const)</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  This property allows the user to specify the
  +                            no target namespace XML Schema Location externally.  If specified, the instance
  +                            document's noNamespaceSchemaLocation attribute will be effectively ignored. </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
  +                            attribute that may occur in an instance document: e.g."file_name.xsd". </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +        </s3>
       </s2>
   
   </s1>
  
  
  
  1.2       +312 -187  xml-site/sources/xerces-c/program-sax2.xml
  
  Index: program-sax2.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/program-sax2.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- program-sax2.xml	8 Mar 2002 20:40:51 -0000	1.1
  +++ program-sax2.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -3,56 +3,6 @@
   
   <s1 title="SAX2 Programming Guide">
   
  -    <anchor name="SAX2ProgGuide"/>
  -    <anchor name="ConstructParser2"/>
  -    <s2 title="Constructing an XML Reader">
  -      <p>In order to use &XercesCName; to parse XML files, you will
  -        need to create an instance of the SAX2XMLReader class. The example
  -        below shows the code you need in order to create an instance
  -        of SAX2XMLReader. The ContentHandler and ErrorHandler instances
  -        required by the SAX API are provided using the DefaultHandler
  -        class supplied with &XercesCName;.</p>
  -
  -<source>int main (int argc, char* args[]) {
  -
  -    try {
  -        XMLPlatformUtils::Initialize();
  -    }
  -    catch (const XMLException&amp; toCatch) {
  -        cout &lt;&lt; "Error during initialization! :\n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n";
  -        return 1;
  -    }
  -
  -    char* xmlFile = "x1.xml";
  -    SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
  -    parser->setFeature(XMLUni::fgSAX2CoreValidation, true)   // optional
  -    parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true)   // optional
  -
  -    DefaultHandler* defaultHandler = new DefaultHandler();
  -    parser->setContentHandler(defaultHandler);
  -    parser->setErrorHandler(defaultHandler);
  -
  -    try {
  -        parser->parse(xmlFile);
  -    }
  -    catch (const XMLException&amp; toCatch) {
  -        cout &lt;&lt; "Exception message is: \n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n" ;
  -        return -1;
  -    }
  -    catch (const SAXParseException&amp; toCatch) {
  -        cout &lt;&lt; "Exception message is: \n"
  -             &lt;&lt; DOMString(toCatch.getMessage()) &lt;&lt; "\n" ;
  -        return -1;
  -    }
  -    catch (...) {
  -        cout &lt;&lt; "Unexpected Exception \n" ;
  -        return -1;
  -    }
  -}</source>
  -    </s2>
  -
       <anchor name="UsingSAX2API"/>
       <s2 title="Using the SAX2 API">
         <p>The SAX2 API for XML parsers was originally developed for
  @@ -112,15 +62,15 @@
                               const   XMLCh* const    qname,
                               const   Attributes&amp;     attrs)
   {
  -    // transcode() is an user application defined function which
  -    // converts unicode strings to usual 'char *'. Look at
  -    // the sample program SAX2Count for an example implementation.
  -    cout &lt;&lt; "I saw element: " &lt;&lt; transcode(qname) &lt;&lt; endl;
  +    char* message = XMLString::transcode(name);
  +    cout &lt;&lt; "I saw element: "&lt;&lt; message &lt;&lt; endl;
  +    delete [] message;
   }
   
   MySAX2Handler::fatalError(const SAXParseException&amp; exception)
   {
  -    cout &lt;&lt; "Fatal Error: " &lt;&lt; transcode(exception.getMessage())
  +    char* message = XMLString::transcode(exception.getMessage());
  +    cout &lt;&lt; "Fatal Error: " &lt;&lt; message
            &lt;&lt; " at line: " &lt;&lt; exception.getLineNumber()
            &lt;&lt; endl;
   }</source>
  @@ -131,138 +81,313 @@
           the sample applications.</p>
       </s2>
   
  -    <anchor name="SAX2Features"/>
  -    <s2 title="Xerces SAX2 Supported Features">
  -
  -       <p>The behavior of the SAX2XMLReader is dependant on the values of the following features.
  -       All of the features below can be set using the function <code>SAX2XMLReader::setFeature(cons XMLCh* const, const bool)</code>.
  -       And can be queried using the function <code>bool SAX2XMLReader::getFeature(const XMLCh* const)</code>.
  -       </p>
  -       <p>None of these features can be modified in the middle of a parse, or an exception will be thrown.</p>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://xml.org/sax/features/namespaces</em></td></tr>
  -            <tr><td><em>true:</em></td><td> Perform Namespace processing (default)</td></tr>
  -            <tr><td><em>false:</em></td><td> Optionally do not perform Namespace processing</td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://xml.org/sax/features/namespace-prefixes</em></td></tr>
  -            <tr><td><em>true:</em></td><td> Report the original prefixed names and attributes used for Namespace declarations </td></tr>
  -            <tr><td><em>false:</em></td><td> Do not report attributes used for Namespace declarations, and optionally do not report original prefixed names. (default)</td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://xml.org/sax/features/validation</em></td></tr>
  -            <tr><td><em>true:</em></td><td> Report all validation errors. (default)</td></tr>
  -            <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/features/validation/dynamic</em></td></tr>
  -            <tr><td><em>true:</em></td><td> The parser will validate the document only if a grammar is specified.  (http://xml.org/sax/features/validation must be true)</td></tr>
  -            <tr><td><em>false:</em></td><td> Validation is determined by the state of the http://xml.org/sax/features/validation feature (default)</td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema</em></td></tr>
  -            <tr><td><em>true:</em></td><td> Enable the parser's schema support. (default) </td></tr>
  -            <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema-full-checking</em></td></tr>
  -            <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
  -                         which may be time-consuming or memory intensive. Currently, particle unique
  -                         attribution constraint checking and particle derivation restriction checking
  -                         are controlled by this option. </td></tr>
  -            <tr><td><em>false:</em></td><td> Disable full schema constraint checking (default). </td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/features/validation/reuse-grammar</em></td></tr>
  -            <tr><td><em>true:</em></td><td> The parser will reuse grammar information from previous parses in subsequent parses. </td></tr>
  -            <tr><td><em>false:</em></td><td> The parser will not reuse any grammar information. (default)</td></tr>
  -        </table>
  -
  -        <p/>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/features/validation/reuse-validator</em> (deprecated) <br/>
  -             Please use <em>http://apache.org/xml/features/validation/reuse-grammar</em>
  -            </td></tr>
  -            <tr><td><em>true:</em></td><td> The parser will reuse grammar information from previous parses in subsequent parses. </td></tr>
  -            <tr><td><em>false:</em></td><td> The parser will not reuse any grammar information. (default)</td></tr>
  -        </table>
  -
  -    </s2>
  -
  -    <anchor name="SAX2Properties"/>
  -    <s2 title="Xerces SAX2 Supported Properties">
  -
  -       <p>The behavior of the SAX2XMLReader is dependant on the values of the following properties.
  -       All of the properties below can be set using the function <code>SAX2XMLReader::setProperty(const XMLCh* const, void*)</code>.
  -       It takes a void pointer as the property value.  Application is required to initialize this void
  -       pointer to a correct type.  Please check the column "Value Type" below
  -       to learn exactly what type of property value each property expects for processing.
  -       Passing a void pointer that was initialized with a wrong type will lead to unexpected result.
  -       If the same property is set more than once, the last one takes effect.</p>
  -
  -       <p>Property values can be queried using the function <code>void* SAX2XMLReader::getFeature(const XMLCh* const)</code>.
  -        The parser owns the returned pointer, and the memory allocated for the returned pointer will
  -        be destroyed when the parser is deleted.  To ensure accessibility of the returned information after
  -        the parser is deleted, callers need to copy and store the returned information somewhere else.
  -        Since the returned pointer is a generic void pointer, check the column "Value Type" below to learn
  -        exactly what type of object each property returns for replication.</p>
  -
  -       <p>None of these properties can be modified in the middle of a parse, or an exception will be thrown.</p>
  -
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-schemaLocation</em></td></tr>
  -            <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  -                        the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  -                        instance document is only a hint; it does not mandate that these attributes
  -                        must be used to locate schemas.  Similar situation happens to &lt;import&gt;
  -                        element in schema documents. This property allows the user to specify a list
  -                        of schemas to use.  If the targetNamespace of a schema specified using this
  -                        method matches the targetNamespace of a schema occurring in the instance
  -                        document in schemaLocation attribute, or
  -                        if the targetNamespace matches the namespace attribute of &lt;import&gt;
  -                        element, the schema specified by the user using this property will
  -                        be used (i.e., the schemaLocation attribute in the instance document
  -                        or on the &lt;import&gt; element will be effectively ignored).</td></tr>
  -            <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
  -                             in instance documents: e.g, "http://www.example.com file_name.xsd".
  -                             The user can specify more than one XML Schema in the list.</td></tr>
  -            <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  -        </table>
  -
  -        <p/>
  -        <table>
  -            <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation</em></td></tr>
  -            <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  -                        the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  -                        instance document is only a hint; it does not mandate that these attributes
  -                        must be used to locate schemas.  This property allows the user to specify the
  -                        no target namespace XML Schema Location externally.  If specified, the instance
  -                        document's noNamespaceSchemaLocation attribute will be effectively ignored.</td></tr>
  -            <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
  -                        attribute that may occur in an instance document: e.g."file_name.xsd".</td></tr>
  -            <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  -        </table>
  -
  +    <anchor name="SAX2XMLReader"/>
  +    <s2 title="SAX2XMLReader">
  +        <anchor name="ConstructParser2"/>
  +        <s3 title="Constructing an XML Reader">
  +          <p>In order to use &XercesCName; to parse XML files, you will
  +            need to create an instance of the SAX2XMLReader class. The example
  +            below shows the code you need in order to create an instance
  +            of SAX2XMLReader. The ContentHandler and ErrorHandler instances
  +            required by the SAX API are provided using the DefaultHandler
  +            class supplied with &XercesCName;.</p>
  +
  +    <source>
  +    #include &lt;xercesc/sax2/SAX2XMLReader.hpp>
  +    #include &lt;xercesc/sax2/XMLReaderFactory.hpp>
  +    #include &lt;xercesc/sax2/DefaultHandler.hpp>
  +    #include &lt;xercesc/util/XMLString.hpp>
  +
  +    int main (int argc, char* args[]) {
  +
  +        try {
  +            XMLPlatformUtils::Initialize();
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Error during initialization! :\n"
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return 1;
  +        }
  +
  +        char* xmlFile = "x1.xml";
  +        SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
  +        parser->setFeature(XMLUni::fgSAX2CoreValidation, true)   // optional
  +        parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true)   // optional
  +
  +        DefaultHandler* defaultHandler = new DefaultHandler();
  +        parser->setContentHandler(defaultHandler);
  +        parser->setErrorHandler(defaultHandler);
  +
  +        try {
  +            parser->parse(xmlFile);
  +        }
  +        catch (const XMLException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (const SAXParseException&amp; toCatch) {
  +            char* message = XMLString::transcode(toCatch.getMessage());
  +            cout &lt;&lt; "Exception message is: \n"
  +                 &lt;&lt; message &lt;&lt; "\n";
  +            delete [] message;
  +            return -1;
  +        }
  +        catch (...) {
  +            cout &lt;&lt; "Unexpected Exception \n" ;
  +            return -1;
  +        }
  +
  +        delete parser;
  +        delete defaultHandler;
  +        return 0;
  +    }</source>
  +        </s3>
  +
  +        <anchor name="SAX2Features"/>
  +        <s3 title="Supported Features in SAX2XMLReader">
  +
  +           <p>The behavior of the SAX2XMLReader is dependant on the values of the following features.
  +           All of the features below can be set using the function <code>SAX2XMLReader::setFeature(cons XMLCh* const, const bool)</code>.
  +           And can be queried using the function <code>bool SAX2XMLReader::getFeature(const XMLCh* const)</code>.
  +           </p>
  +           <p>None of these features can be modified in the middle of a parse, or an exception will be thrown.</p>
  +
  +           <s4 title="SAX2 Features">
  +            <anchor name="namespaces"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://xml.org/sax/features/namespaces</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Perform Namespace processing. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not perform Namespace processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> If the validation feature is set to true, then the
  +                document must contain a grammar that supports the use of namespaces. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="namespace-prefixes">http://xml.org/sax/features/namespace-prefixes </link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation">http://xml.org/sax/features/validation</link>
  +                </td></tr>
  +            </table>
  +            <p/>
  +
  +            <anchor name="namespace-prefixes"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://xml.org/sax/features/namespace-prefixes</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Report the original prefixed names and attributes used for Namespace declarations. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report attributes used for Namespace declarations, and optionally do not report original prefixed names. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="validation"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://xml.org/sax/features/validation</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Report all validation errors. </td></tr>
  +                <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note:</em></td><td> If this feature is set to true, the document must
  +                specify a grammar.  If this feature is set to false and document specifies a grammar,
  +                that grammar might be parsed but no validation of the document contents will be
  +                performed. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation-dynamic">http://apache.org/xml/features/validation/dynamic</link>
  +                </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="load-external-dtd">http://apache.org/xml/features/nonvalidating/load-external-dtd</link>
  +                </td></tr>
  +            </table>
  +
  +           </s4>
  +
  +           <s4 title="Xerces Features">
  +            <anchor name="validation-dynamic"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/dynamic</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The parser will validate the document only if a grammar is specified.  (http://xml.org/sax/features/validation must be true). </td></tr>
  +                <tr><td><em>false:</em></td><td> Validation is determined by the state of the http://xml.org/sax/features/validation feature. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation">http://xml.org/sax/features/validation</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="schema"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable the parser's schema support.  </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> If set to true, namespace processing must also be turned on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="namespaces">http://xml.org/sax/features/namespaces</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/schema-full-checking</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
  +                             which may be time-consuming or memory intensive. Currently, particle unique
  +                             attribution constraint checking and particle derivation restriction checking
  +                             are controlled by this option. </td></tr>
  +                <tr><td><em>false:</em></td><td> Disable full schema constraint checking. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> This feature checks the Schema grammar itself for
  +                additional errors that are time-consuming or memory intensive. It does <em>not</em> affect the
  +                level of checking performed on document instances that use Schema grammars. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="schema">http://apache.org/xml/features/validation/schema</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="load-external-dtd"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/nonvalidating/load-external-dtd</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Load the External DTD. </td></tr>
  +                <tr><td><em>false:</em></td><td> Ignore the external DTD completely. </td></tr>
  +                <tr><td><em>default:</em></td><td> true </td></tr>
  +                <tr><td><em>note</em></td><td> This feature is ignored and DTD is always loaded when validation is on. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="validation">http://xml.org/sax/features/validation</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="continue-after-fatal"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/continue-after-fatal-error</em></td></tr>
  +                <tr><td><em>true:</em></td><td> Attempt to continue parsing after a fatal error. </td></tr>
  +                <tr><td><em>false:</em></td><td> Stops parse on first fatal error. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> The behavior of the parser when this feature is set to
  +                true is <em>undetermined</em>! Therefore use this feature with extreme caution because
  +                the parser may get stuck in an infinite loop or worse. </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation-error-as-fatal</em></td></tr>
  +                <tr><td><em>true:</em></td><td> The parser will treat validation error as fatal and will
  +                exit depends on the state of
  +                <link anchor="continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>.
  +                </td></tr>
  +                <tr><td><em>false:</em></td><td> The parser will report the error and continue processing. </td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> Setting this true does not mean the validation error will
  +                be printed with the word "Fatal Error".   It is still printed as "Error", but the parser
  +                will exit if
  +                <link anchor="continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>
  +                is set to false. </td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="continue-after-fatal">http://apache.org/xml/features/continue-after-fatal-error</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="use-cached"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/use-cachedGrammarInParse</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Use cached grammar if it exists in the pool.</td></tr>
  +                <tr><td><em>false:</em></td><td>Parse the schema grammar.</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td>If http://apache.org/xml/features/validation/cache-grammarFromParse is enabled,
  +                this feature is set to true automatically. Any setting to this feature by the users is a no-op.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="cache-grammar">http://apache.org/xml/features/validation/cache-grammarFromParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            <anchor name="cache-grammar"/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/features/validation/cache-grammarFromParse</em></td></tr>
  +                <tr><td><em>true:</em></td><td>Cache the grammar in the pool for re-use in subsequent parses.</td></tr>
  +                <tr><td><em>false:</em></td><td>Do not cache the grammar in the pool</td></tr>
  +                <tr><td><em>default:</em></td><td> false </td></tr>
  +                <tr><td><em>note:</em></td><td> If set to true, the http://apache.org/xml/features/validation/use-cachedGrammarInParse
  +                is also set to true automatically.</td></tr>
  +                <tr><td><em>see:</em></td><td>
  +                <link anchor="use-cached">http://apache.org/xml/features/validation/use-cachedGrammarInParse</link>
  +                </td></tr>
  +            </table>
  +
  +            <p/>
  +
  +            </s4>
  +        </s3>
  +
  +        <anchor name="SAX2Properties"/>
  +        <s3 title="Supported Properties in SAX2XMLReader">
  +
  +           <p>The behavior of the SAX2XMLReader is dependant on the values of the following properties.
  +           All of the properties below can be set using the function <code>SAX2XMLReader::setProperty(const XMLCh* const, void*)</code>.
  +           It takes a void pointer as the property value.  Application is required to initialize this void
  +           pointer to a correct type.  Please check the column "Value Type" below
  +           to learn exactly what type of property value each property expects for processing.
  +           Passing a void pointer that was initialized with a wrong type will lead to unexpected result.
  +           If the same property is set more than once, the last one takes effect.</p>
  +
  +           <p>Property values can be queried using the function <code>void* SAX2XMLReader::getFeature(const XMLCh* const)</code>.
  +            The parser owns the returned pointer, and the memory allocated for the returned pointer will
  +            be destroyed when the parser is deleted.  To ensure accessibility of the returned information after
  +            the parser is deleted, callers need to copy and store the returned information somewhere else.
  +            Since the returned pointer is a generic void pointer, check the column "Value Type" below to learn
  +            exactly what type of object each property returns for replication.</p>
  +
  +           <p>None of these properties can be modified in the middle of a parse, or an exception will be thrown.</p>
  +
  +           <s4 title="Xerces Properties">
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-schemaLocation</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  Similar situation happens to &lt;import&gt;
  +                            element in schema documents. This property allows the user to specify a list
  +                            of schemas to use.  If the targetNamespace of a schema specified using this
  +                            method matches the targetNamespace of a schema occurring in the instance
  +                            document in schemaLocation attribute, or
  +                            if the targetNamespace matches the namespace attribute of &lt;import&gt;
  +                            element, the schema specified by the user using this property will
  +                            be used (i.e., the schemaLocation attribute in the instance document
  +                            or on the &lt;import&gt; element will be effectively ignored). </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
  +                                 in instance documents: e.g, "http://www.example.com file_name.xsd".
  +                                 The user can specify more than one XML Schema in the list. </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +
  +            <p/>
  +            <table>
  +                <tr><td colspan="2"><em>http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation</em></td></tr>
  +                <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
  +                            the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
  +                            instance document is only a hint; it does not mandate that these attributes
  +                            must be used to locate schemas.  This property allows the user to specify the
  +                            no target namespace XML Schema Location externally.  If specified, the instance
  +                            document's noNamespaceSchemaLocation attribute will be effectively ignored. </td></tr>
  +                <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
  +                            attribute that may occur in an instance document: e.g."file_name.xsd". </td></tr>
  +                <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
  +            </table>
  +          </s4>
  +        </s3>
       </s2>
   
   </s1>
  
  
  
  1.7       +55 -36    xml-site/sources/xerces-c/program.xml
  
  Index: program.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/program.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- program.xml	8 Mar 2002 20:40:51 -0000	1.6
  +++ program.xml	23 Jul 2002 13:14:58 -0000	1.7
  @@ -3,12 +3,54 @@
   
   <s1 title="Programming Guide">
   
  +  <s2 title="DOM Programming Guide">
  +    <p>The DOM API is based on the
  +      <jump href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding</jump>.</p>
  +    <p>Read the <jump href="program-dom.html">DOM Programming Guide</jump> document
  +      or jump directly to:</p>
  +    <ul>
  +      <li><jump href="program-dom.html#Objectives">Design Objectives</jump></li>
  +      <li><jump href="program-dom.html#DOM3">DOM Level 3 Support in &XercesCName; </jump></li>
  +      <li><jump href="program-dom.html#UsingDOMAPI">Using DOM API</jump></li>
  +      <ul>
  +          <li><jump href="program-dom.html#AccessAPI">Accessing API from application code</jump></li>
  +          <li><jump href="program-dom.html#DOMClassNames">Class Names</jump></li>
  +          <li><jump href="program-dom.html#DOMObjMgmt">Objects Management</jump></li>
  +          <li><jump href="program-dom.html#DOMMemMgmt">Memory Management</jump></li>
  +          <li><jump href="program-dom.html#XMLCh">String Type</jump></li>
  +      </ul>
  +      <li><jump href="program-dom.html#XercesDOMParser">XercesDOMParser</jump></li>
  +      <ul>
  +          <li><jump href="program-dom.html#ConstructXercesDOMParser">Constructing a XercesDOMParser</jump></li>
  +          <li><jump href="program-dom.html#XercesDOMFeatures">Supported Features</jump></li>
  +          <li><jump href="program-dom.html#XercesDOMProperties">Supported Properties</jump></li>
  +      </ul>
  +      <li><jump href="program-dom.html#DOMBuilder">DOMBuilder</jump></li>
  +      <ul>
  +          <li><jump href="program-dom.html#ConstructDOMBuilder">Constructing a DOMBuilder</jump></li>
  +          <li><jump href="program-dom.html#InputSourceWrapper">How to interchange DOMInputSource and SAX InputSource?</jump></li>
  +          <li><jump href="program-dom.html#DOMBuilderFeatures">Supported Features</jump></li>
  +          <li><jump href="program-dom.html#DOMBuilderProperties">Supported Properties</jump></li>
  +      </ul>
  +      <li><jump href="program-dom.html#DOMWriter">DOMWriter</jump></li>
  +      <ul>
  +          <li><jump href="program-dom.html#ConstructDOMWriter">Constructing a DOMWriter</jump></li>
  +          <li><jump href="program-dom.html#DOMWriterFeatures">Supported Features</jump></li>
  +      </ul>
  +      <li><jump href="program-dom.html#Deprecated">Deprecated - Java-like DOM</jump></li>
  +    </ul>
  +  </s2>
  +
     <s2 title="SAX Programming Guide">
       <p>Read the <jump href="program-sax.html">SAX Programming Guide</jump> document
         or jump directly to:</p>
       <ul>
  -      <li><jump href="program-sax.html#ConstructParser">Constructing a parser</jump></li>
         <li><jump href="program-sax.html#UsingSAX1API">Using the SAX API</jump></li>
  +      <li><jump href="program-sax.html#SAXParser">SAXParser</jump></li>
  +      <ul>
  +          <li><jump href="program-sax.html#ConstructParser">Constructing a SAXParser</jump></li>
  +          <li><jump href="program-sax.html#SAXFeatures">Supported Features</jump></li>
  +      </ul>
       </ul>
     </s2>
   
  @@ -16,49 +58,26 @@
       <p>Read the <jump href="program-sax2.html">SAX2 Programming Guide</jump> document
         or jump directly to:</p>
       <ul>
  -      <li><jump href="program-sax2.html#ConstructParser2">Constructing an XML Reader</jump></li>
         <li><jump href="program-sax2.html#UsingSAX2API">Using the SAX2 API</jump></li>
  -      <li><jump href="program-sax2.html#SAX2Features">Supported Features</jump></li>
  -      <li><jump href="program-sax2.html#SAX2Properties">Supported Properties</jump></li>
  -    </ul>
  -  </s2>
  -
  -  <s2 title="DOM Programming Guide">
  -    <p>Read the <jump href="program-dom.html">DOM Programming Guide</jump> document
  -      or jump directly to:</p>
  -    <ul>
  -      <li><jump href="program-dom.html#JAVAandCPP">Comparison of Java and C++ DOM's</jump></li>
  -      <ul>
  -        <li><jump href="program-dom.html#AccessAPI">Accessing the API from application code</jump></li>
  -        <li><jump href="program-dom.html#ClassNames">Class Names</jump></li>
  -        <li><jump href="program-dom.html#ObjMemMgmt">Objects and Memory Management</jump></li>
  -      </ul>
  -      <li><jump href="program-dom.html#DOMString">DOMString</jump></li>
  +      <li><jump href="program-sax2.html#SAX2XMLReader">SAX2XMLReader</jump></li>
         <ul>
  -        <li><jump href="program-dom.html#EqualityTesting">Equality Testing</jump></li>
  +          <li><jump href="program-sax2.html#ConstructParser2">Constructing an XML Reader</jump></li>
  +          <li><jump href="program-sax2.html#SAX2Features">Supported Features</jump></li>
  +          <li><jump href="program-sax2.html#SAX2Properties">Supported Properties</jump></li>
         </ul>
  -      <li><jump href="program-dom.html#Downcasting">Downcasting</jump></li>
  -      <li><jump href="program-dom.html#Subclassing">Subclassing</jump></li>
       </ul>
     </s2>
   
  -  <s2 title="Experimental IDOM Programming Guide">
  -    <p>Read the <jump href="program-idom.html">Experimental IDOM Programming Guide</jump> document
  +  <s2 title="Other Features">
  +    <p>Read the <jump href="program-others.html">&XercesCName; Programming Guide</jump> document
         or jump directly to:</p>
       <ul>
  -      <li><jump href="program-idom.html#ConstructIDOMParser">Constructing a parser</jump></li>
  -      <li><jump href="program-idom.html#DOMandIDOM">Comparison of C++ DOM and IDOM</jump></li>
  -      <ul>
  -        <li><jump href="program-idom.html#Motivation">Motivation behind new design</jump></li>
  -        <li><jump href="program-idom.html#IDOMClassNames">Class Names</jump></li>
  -        <li><jump href="program-idom.html#IDOMObjMgmt">Objects Management</jump></li>
  -        <li><jump href="program-idom.html#IDOMMemMgmt">Memory Management</jump></li>
  -          <ul>
  -            <li><jump href="program-idom.html#IDOMMemImplicit">Implicit Object Deletion</jump></li>
  -            <li><jump href="program-idom.html#IDOMMemExplicit">Explicit Object Deletion</jump></li>
  -          </ul>
  -        <li><jump href="program-idom.html#DOMStringXMCh">DOMString vs. XMLCh</jump></li>
  -      </ul>
  +      <li><jump href="program-others.html#Schema">Schema Support</jump></li>
  +      <li><jump href="program-others.html#Progressive">Progressive Parsing</jump></li>
  +      <li><jump href="program-others.html#GrammarCache">Preparsing Grammar and Grammar Caching</jump></li>
  +      <li><jump href="program-others.html#LoadableMessageText">Loadable Message Text</jump></li>
  +      <li><jump href="program-others.html#PluggableTranscoders">Pluggable Transcoders</jump></li>
       </ul>
     </s2>
  +
   </s1>
  
  
  
  1.7       +87 -29    xml-site/sources/xerces-c/readme.xml
  
  Index: readme.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/readme.xml,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- readme.xml	8 Mar 2002 20:40:51 -0000	1.6
  +++ readme.xml	23 Jul 2002 13:14:58 -0000	1.7
  @@ -5,24 +5,17 @@
   
       <s2 title="&XercesCName; Version &XercesCVersion;">
   
  -        <p>&XercesCName; is a validating XML parser written in a portable subset of C++.
  -        &XercesCName; makes it easy to give your application the ability to read and write
  -        <jump href="http://www.w3.org/XML/">XML</jump> data.
  -        A shared library is provided for parsing, generating, manipulating, and validating XML
  -        documents.
  +        <p>&XercesCName; is a validating XML parser written in a portable subset of
  +        C++.   &XercesCName; makes it easy to give your application the ability to read and write
  +        <jump href="http://www.w3.org/XML/">XML</jump> data.    A shared
  +        library is provided for parsing, generating, manipulating, and validating XML documents.
           </p>
           <p>&XercesCName; is faithful to the
           <jump href="http://www.w3.org/TR/REC-xml">XML 1.0</jump> recommendation
  -        and associated standards (
  -        <jump href="http://www.w3.org/TR/REC-DOM-Level-1/">DOM 1.0</jump>,
  -        <jump href="http://www.w3.org/TR/DOM-Level-2-Core/">DOM 2.0</jump>.
  -        <jump href="http://sax.sourceforge.net/?selected=sax1">SAX 1.0</jump>,
  -        <jump href="http://sax.sourceforge.net/">SAX 2.0</jump>,
  -        <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces</jump>, and
  -        <jump href="http://www.w3.org/XML/Schema.html">W3C's XML Schema recommendation version 1.0</jump>.)
  +        and many associated standards (see <link anchor="Features">Features</link> below).
           </p>
  -        <p>The parser provides high performance, modularity, and scalability.
  -        Source code, samples and API documentation are provided with the parser. For
  +        <p>The parser provides high performance, modularity, and scalability.    Source
  +        code, samples and API documentation are provided with the parser.   For
           portability, care has been taken to make minimal use of templates,
           no RTTI, no C++ namespaces and minimal use of #ifdefs.</p>
   
  @@ -42,16 +35,35 @@
           </ul>
       </s2>
   
  +    <anchor name="Features"/>
       <s2 title="Features">
           <ul>
  -            <li>Conforms to <jump href="http://www.w3.org/TR/REC-xml">XML Spec 1.0</jump></li>
  -            <li>Tracking of latest
  -            <jump href="http://www.w3.org/TR/REC-DOM-Level-1/">DOM (Level 1.0)</jump>,
  -            <jump href="http://www.w3.org/TR/DOM-Level-2-Core/">DOM (Level 2.0)</jump>,
  -            <jump href="http://sax.sourceforge.net/">SAX/SAX2</jump>,
  -            <jump href="http://www.w3.org/TR/REC-xml-names/">Namespace</jump>, and
  -            <jump href="http://www.w3.org/XML/Schema.html">W3C's XML Schema recommendation version 1.0</jump>
  -            specifications.</li>
  +            <li>Conforms to</li>
  +            <ul>
  +               <li><jump href="http://www.w3.org/TR/2000/REC-xml-20001006">
  +                   XML 1.0 (Second Edition)</jump>, W3C Recommendation of October 6, 2000</li>
  +               <li><jump href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/">
  +                   DOM Level 1 Specification</jump>, W3C Recommendation of October 1, 1998</li>
  +               <li><jump href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">
  +                   DOM Level 2 Core Specification</jump>, W3C Recommendation of November 13, 2000</li>
  +               <li><jump href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/">
  +                   DOM Level 2 Traversal and Range Specification</jump>,
  +                   W3C Recommendation of November 13, 2000</li>
  +               <li><jump href="http://sax.sourceforge.net/">SAX 1.0 and SAX 2.0</jump></li>
  +               <li><jump href="http://www.w3.org/TR/1999/REC-xml-names-19990114/">
  +                   Namespaces in XML</jump>, W3C Recommendation of January 14, 1999</li>
  +               <li><jump href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">
  +                   XML Schema Part 1: Structure</jump>, W3C Recommendation 2 May 2001</li>
  +               <li><jump href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">
  +                   XML Schema Part 2: Datatypes</jump>, W3C Recommendation 2 May 2001</li>
  +            </ul>
  +            <li>Contains a partial implementation of the
  +            <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/">
  +            DOM Level 3.0 Core Specification</jump>, W3C Working Draft of 09 April 2002 and
  +            <jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
  +            DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>,
  +            W3C Working Draft of 09 April 2002.  This implementation is experimental.
  +            See <jump href="dom3.html">DOM Level 3 Support</jump> for details.</li>
               <li>Source code, samples, and documentation is provided.</li>
               <li>Programmatic generation and validation of XML</li>
               <li>Pluggable catalogs, validators and encodings</li>
  @@ -61,13 +73,52 @@
       </s2>
   
       <s2 title="Platforms with Binaries">
  -        <ul>
  -            <li>Win32 using MSVC 6.0 SP3</li>
  -            <li>Linux (RedHat 7.2) using g++ 2.96</li>
  -            <li>Solaris 2.6 using Forte C++ Version 6 Update 2</li>
  -            <li>AIX 4.3 using xlC_r 5.0.2</li>
  -            <li>HP-UX 11 using aCC A.03.13 with pthreads</li>
  -        </ul>
  +      <table>
  +        <tr>
  +          <td><em>Operating System</em></td>
  +          <td><em>Compiler</em></td>
  +        </tr>
  +        <tr>
  +          <td><em>32-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>Windows NT 4.0 SP5</td>
  +          <td>MSVC 6.0 SP3</td>
  +        </tr>
  +        <tr>
  +          <td>Redhat Linux 7.2</td>
  +          <td>g++ 3.1</td>
  +        </tr>
  +        <tr>
  +          <td>AIX 5.1</td>
  +          <td>xlC_r 5.0.2</td>
  +        </tr>
  +        <tr>
  +          <td>Solaris 2.7</td>
  +          <td>Forte C++ Version 6 Update 2</td>
  +        </tr>
  +        <tr>
  +          <td>HP-UX 11.0</td>
  +          <td>aCC A.03.13 with pthreads</td>
  +        </tr>
  +        <tr>
  +          <td><em>64-bit binary</em></td>
  +          <td></td>
  +        </tr>
  +        <tr>
  +          <td>AIX 5.1</td>
  +          <td>xlC_r 5.0.2</td>
  +        </tr>
  +        <tr>
  +          <td>HP-UX 11.0</td>
  +          <td>aCC A.03.13 with pthreads</td>
  +        </tr>
  +        <tr>
  +          <td>Solaris 2.7</td>
  +          <td>Forte C++ Version 6 Update 2</td>
  +        </tr>
  +      </table>
       </s2>
   
       <s2 title="Other ports...">
  @@ -82,6 +133,13 @@
               <li>UnixWare</li>
               <li>and more!</li>
           </ul>
  +    </s2>
  +
  +    <s2 title='License Information'>
  +       <p>The &XercesCName; Version &XercesCVersion; is available in both source distribution and
  +          binary distribution.   Both &XercesCName; are made available under the
  +          <jump href='http://xml.apache.org/LICENSE'>Apache Software License</jump>.
  +       </p>
       </s2>
   
   </s1>
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/redirect.xml
  
  Index: redirect.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/redirect.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- redirect.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ redirect.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 6: Redirect">
  +<s1 title="Sample: Redirect">
   
       <s2 title="Redirect">
           <p>Redirect uses the SAX EntityResolver handler to redirect the
  
  
  
  1.8       +348 -595  xml-site/sources/xerces-c/releases.xml
  
  Index: releases.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/releases.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- releases.xml	8 Mar 2002 20:40:52 -0000	1.7
  +++ releases.xml	23 Jul 2002 13:14:58 -0000	1.8
  @@ -3,7 +3,21 @@
   
   <s1 title="Releases">
   
  -<s2 title="&XercesCName; Version 1.7.0: March 8, 2002">
  +<s2 title="Releases Plan">
  +
  +    <p> For future release plan about &XercesCName;,
  +        please refer to <jump href="releases_plan.html">Releases Plan</jump>.
  +    </p>
  +</s2>
  +
  +<s2 title="Releases Archive">
  +
  +    <p> For release information about &XercesCName; 1.7.0 or earlier,
  +        please refer to <jump href="releases_archive.html">Releases Archive</jump>.
  +    </p>
  +</s2>
  +
  +<s2 title="Release Information of &XercesCName; &XercesCVersion;: July 23, 2002">
   <table>
       <tr>
           <td>Date</td>
  @@ -12,1184 +26,923 @@
       </tr>
   
       <tr>
  -        <td>2002-03-07</td>
  +        <td>2002-07-19</td>
           <td>Tinny Ng</td>
  -        <td>Add a keys file to store public key of committers who sign and upload packages to Apache.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-03-07</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Call Terminate() to avoid memory tools reporting memory leak in Traversal test cases.
  +        <td>[Bug 10968] Default attributes from Schema not restored by removeAttribute.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-03-06</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Schema: Allow [+]? [0]* '.'? [0]* and normalize the input to positive zero string.
  -            And similarly input conforming to '-' [0]* '.'? [0]* is normalized to negative zero.
  +        <td>2002-07-18</td>
  +        <td>Khaled Noaman</td>
  +        <td>Feature to control strict IANA encoding name.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-03-04</td>
  +        <td>2002-07-18</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 2869] AIX 4.3.3 mutex/atomic-operation changes for build.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-03-04</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 6834] apparently correct schema/instance not validating.
  +        <td>[Bug 9707] config.guess out of date.   From AutoConf dated July 18, 2002, CVS Tag  AUTOCONF-2_53b.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-28</td>
  +        <td>2002-07-17</td>
           <td>PeiYong Zhang</td>
  -        <td>[Bug 2717] Unterminated INCLUDE section causes infinite loop with setExitOnFirstFatalError(false)
  +        <td>Add Win64 to Windows VC6 Project files
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-28</td>
  +        <td>2002-07-16</td>
           <td>Tinny Ng</td>
  -        <td>Fix: ReaderMgr Should check if XMLReader is created successfully.
  +        <td>[Bug 6070] warning unused variable in HandlerBase.hpp.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-28</td>
  +        <td>2002-07-16</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 1368] improper DOMStringHandle locking.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-02-28</td>
  -        <td>Martin Kalen</td>
  -        <td>[Bug 6445] Caldera (SCO) OpenServer Port.
  +        <td>[Bug 6576] Exception on processing UTF-16 InputSource buffer with set encoding.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-27</td>
  +        <td>2002-07-16</td>
           <td>Tinny Ng</td>
  -        <td>Fix: default attribute are not added when namespace is on and validation is off.
  +        <td>[Bug 6590] Improper Internal subset filling.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-27</td>
  -        <td>Tinny Ng</td>
  -        <td>Fix: SAX AttributeList::getName should attach prefix if present
  +        <td>2002-07-16</td>
  +        <td>Alberto Massari</td>
  +        <td>[Bug 7458] Schema validator does not automatically associate the xml prefix
  +            to the "http://www.w3.org/XML/1998/namespace" URI.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-26</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 6672] SAXValidator results in an access violation when validating against schema
  -            with empty element that has default value.
  +        <td>2002-07-16</td>
  +        <td>Case Larsen</td>
  +        <td>[Bug 9502] purify UMR in DocumentImpl::DocumentImpl.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-26</td>
  -        <td>Khaled Noaman</td>
  -        <td>Fix: Create ZeroOrOne node for PCDATA only if needed.
  +        <td>2002-07-16</td>
  +        <td>Case Larsen</td>
  +        <td>[Bug 9553] purify UMR in XMLRecognizer::basicEncodingProbe.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-25</td>
  +        <td>2002-07-16</td>
           <td>Tinny Ng</td>
  -        <td>Schema Fix: Thread-safe the built-in datatype validator registry.
  +        <td>[Bug 10651] CMStateSet.hpp includes both memory.h and string.h.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-25</td>
  +        <td>2002-07-16</td>
           <td>Tinny Ng</td>
  -        <td>Merge IThreadTest and ThreadTest.  Modify ThreadTest to do schema processing, and
  -            add ThreadTest to sanityTest.pl
  +        <td>[Bug 10648] DOMDocumentImpl misaligned allocations on machines with a 64 bits 'long' type.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-20</td>
  -        <td>Don Mastrovito</td>
  -        <td>Project files for BCB6.
  +        <td>2002-07-15</td>
  +        <td>Tinny Ng</td>
  +        <td>DOM Level 3 C++ Binding.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-20</td>
  +        <td>2002-07-15</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 2845] HP-UX 10.20 with CC A.10.40 needs +Z instead of +z.
  +        <td>DOM L3: DOMText::getIsWhitespaceInElementContent, DOMDocument::set/getStrictErrorChecking.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-20</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 5977] Warnings on generating apiDocs.
  +        <td>2002-07-15</td>
  +        <td>Robert Buck</td>
  +        <td>[Bug 10834] Update version header to handle two digit revision and patch levels.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-18</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Fix: Add code for ContentSpecNode::All in formatNode.
  +        <td>2002-07-12</td>
  +        <td>Khaled Noaman</td>
  +        <td>Grammar caching/preparsing.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-18</td>
  -        <td>James Berry</td>
  -        <td>Add support for building with new MacOSURLAccessCF NetAccessor that doesn't
  -            require Carbon but can allow Xerces to live solely within CoreServices layer.
  +        <td>2002-07-12</td>
  +        <td>Khaled Noaman</td>
  +        <td>Add getRootGrammar and modify SEnumVal.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-17</td>
  +        <td>2002-07-12</td>
           <td>James Berry</td>
  -        <td>[Bug 6092] stricmp and strnicmp not present in FreeBSD.
  +        <td>Add some support for testing of Mac OS X builds with GCC3 compiler.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-17</td>
  +        <td>2002-07-12</td>
           <td>James Berry</td>
  -        <td>Update Mac OS projects to reflect "sane includes" changes.
  +        <td>[Bug 10649] XercesDefs.hpp and AutoSense.hpp assume CodeWarrior is MacOS.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-15</td>
  +        <td>2002-07-10</td>
           <td>Tinny Ng</td>
  -        <td>Add IDOM to API documentation.
  +        <td>Enable embedded path link option in HP.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-15</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Base64 interface redefined for conversion in XMLByte.
  +        <td>2002-07-10</td>
  +        <td>Robert Buck</td>
  +        <td>[Bug 9154] Requesting Xerces Version Macro.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-14</td>
  +        <td>2002-07-08</td>
           <td>PeiYong Zhang</td>
  -        <td>Add getEnumString to DatatypeValidator.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-02-13</td>
  -        <td>Khaled Noaman</td>
  -        <td>Add constraint checking for the extension of an 'all' content model.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-02-13</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 4581] erroneous static cast in programming examples.
  +        <td>[Bug 10525] runConfigure fails to recognize '-d' flag.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-13</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 6336] Output of XMLString::transcode not freed?
  +        <td>2002-07-05</td>
  +        <td>Max Gotlib</td>
  +        <td>[Bug 10250]: Implementation of new platform methods in FreeBSD.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-13</td>
  -        <td>Khaled Noaman</td>
  -        <td>Update samples to use SAX2 features/properties constants from XMLUni.
  +        <td>2002-07-05</td>
  +        <td>Tinny Ng</td>
  +        <td>[Bug 9788] VecAttrListImpl::getValue skips prefix if SAX namespace validation is on.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-11</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 6330] Base64::encode does not work.
  +        <td>2002-07-05</td>
  +        <td>Robert Buck</td>
  +        <td>[Bug 10065] xml4com bugs found when porting to Visual Studio .NET project files.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-11</td>
  +        <td>2002-07-05</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 2715] Build recursion suppresses make failures.
  +        <td>[Bug 10105] Exception in parse() despite setErrorHandler().
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-11</td>
  +        <td>2002-07-05</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 2496] libxerces-c1_5_0 fails to build correctly on Solaris.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-02-06</td>
  -        <td>Khaled Noaman</td>
  -        <td>Added a new flag '-p' to SAX2 samples to set the 'namespace-prefixes' feature.
  +        <td>[Bug 10119] Grammar::getGrammarType need a const modifier.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-06</td>
  -        <td>Khaled Noaman</td>
  -        <td>Use IDOM for schema processing.
  +        <td>2002-07-05</td>
  +        <td>Max Gotlib</td>
  +        <td>[Bug 10252] Modify FreeBSD build environment for the samples.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-05</td>
  -        <td>Tinny Ng</td>
  -        <td>Remove 3rd party jar style-apachexmljar, expand into physical files.
  +        <td>2002-07-04</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 10482] XMLUri crashes with empty fragment.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-05</td>
  -        <td>Tinny Ng</td>
  -        <td>Add IDOMMemTest.
  +        <td>2002-07-04</td>
  +        <td>Max Gotlib</td>
  +        <td>[Bug 10253] Bugfix for the IconvFBSD transcoder.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-05</td>
  +        <td>2002-07-04</td>
           <td>Tinny Ng</td>
  -        <td>Modify InitTermTest to take option flag like -s, -f , and -n.
  +        <td>[Bug 10336] Error in Error Message (set 3, #56, English).
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-05</td>
  +        <td>2002-07-04</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 5716] Can't parse with Validation more than one file.
  +        <td>DOM L3: Add DOMDocument::renameNode.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-05</td>
  +        <td>2002-06-27</td>
           <td>Tinny Ng</td>
  -        <td>Recognize IBM01140 (IANA encoding) as alias of intrinsic encoding IBM1140.
  +        <td>DOM L3: Add DOMNode::isSameNode and DOMNode::isEqualNode.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-04</td>
  +        <td>2002-06-25</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 6114] Memory leaks on IDOM getElementsByTagName().
  +        <td>Add "adoptDocument" to XercesDOMParser so that document can optionally live outside the parser.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-04</td>
  +        <td>2002-06-25</td>
           <td>Tinny Ng</td>
  -        <td>Add DOM Level2 missing functions: NodeIterator::getRoot, TreeWalker::getRoot
  -            Element::hasAttribute, Element::hasAttributeNS and Node::hasAttribute
  +        <td>[Bug 7675] IDOM memory management problem.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-04</td>
  +        <td>2002-06-25</td>
           <td>Tinny Ng</td>
  -        <td>Memory leak fix in samples / test cases.
  +        <td>DOM C++ Binding: add function release().
           </td>
       </tr>
   
       <tr>
  -        <td>2002-02-01</td>
  -        <td>PeiYong Zhang</td>
  -        <td>src and include folder reorganization for "sane_include".
  +        <td>2002-06-24</td>
  +        <td>James Berry</td>
  +        <td>Support CodeWarrior 8.
  +            (Important Note: Since Codewarrior 8 at long last supports HFS+ long file
  +             names, these projects now directly reference the src/xercesc files instead of
  +             the previously shortened file names in the MacSrc directory. With CodeWarrior
  +             8 and these projects it is no longer necessary to run the perl script
  +             ShortenNames.pl to generate that MacSrc directory.)
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-28</td>
  -        <td>Khaled Noaman</td>
  -        <td>Fix: some SAX calls were not passed to the LexicalHandler.
  +        <td>2002-06-24</td>
  +        <td>Robert Buck</td>
  +        <td>[Bug 10067] SEnumVal bugs found when porting to Visual Studio .NET.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-29</td>
  -        <td>Tinny Ng</td>
  -        <td>Remove those jar files that are not clear in license issue.
  +        <td>2002-06-24</td>
  +        <td>Robert Buck</td>
  +        <td>[Bug 10180] New Visual Studio .NET Project Files.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-28</td>
  +        <td>2002-06-18</td>
           <td>Khaled Noaman</td>
  -        <td>Add a 'null' string constant in XMLUni.
  +        <td>DOM L3: Add Wrapper4DOMInputSource and Wrapper4InputSource.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-28</td>
  +        <td>2002-06-18</td>
           <td>Khaled Noaman</td>
  -        <td>Add SAX2-ext's DeclHandler support.
  +        <td>DOM L3: Modify DOMCount to modify DOMBuilder.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-28</td>
  -        <td>Khaled Noaman</td>
  -        <td>The namespace-prefixes feature in SAX2 should be off by default.
  +        <td>2002-06-18</td>
  +        <td>Peter A. Volchek</td>
  +        <td>Bug#9950: Compilation error on MSVC5.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-24</td>
  +        <td>2002-06-17</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
  +        <td>Add feature "http://apache.org/xml/features/validation-error-as-fatal", and users should
  +            use setFeature instead of setValidationConstraintFatal in SAX2XMLReader.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-23</td>
  +        <td>2002-06-17</td>
           <td>Tinny Ng</td>
  -        <td>Progressive parse does not do post-validation and thus ID/IDREF are not checked.
  +        <td>Add feature "http://apache.org/xml/features/continue-after-fatal-error", and users should
  +            use setFeature instead of setExitOnFirstFatalError in SAX2XMLReader.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-23</td>
  +        <td>2002-06-17</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 5545] Progressive Parse trashes when encountering "&lt;!  ... "
  +        <td>Name Xerces features as XMLUni::fgXercesXXXX instead of XMLUni::fgSAX2XercesXXXX
  +            so that they can be shared with DOM parser.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-23</td>
  -        <td>Tinny Ng</td>
  -        <td>Update DOM/IDOM hasFeature method to correctly reflect current status.
  -            And add more hasFeature test to DOMMemTest.
  +        <td>2002-06-14</td>
  +        <td>PeiYong Zhang</td>
  +        <td>Build 64bit production on Itaniums platform (Windows and Linux) using Intel Compiler.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-21</td>
  +        <td>2002-06-12</td>
           <td>Tinny Ng</td>
  -        <td>Some intrinsic encodings support (e.g. UTF-16) only work as input encoding
  -            while reading in XML data; but do not work as output encoding in XMLformatter.
  +        <td>DOM L3: Add DOMUserDataHandler, DOMNode::set/getUserData.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-21</td>
  +        <td>2002-06-12</td>
           <td>Tinny Ng</td>
  -        <td>Document encoding alias for intrinsic encoding support.
  +        <td>Fix: Thread-safety in DOMString.  The reference or update to DOMString::gLiveStringHandleCount should be synchronized (locked).
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-21</td>
  +        <td>2002-06-07</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 5847] ICUMsgLoader can't be compiled with gcc 3.0.3 and ICU2.
  -            And also fix the memory leak introduced by Bug 2730 fix.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2002-01-18</td>
  -        <td>Max Gotlib</td>
  -        <td>Adds the capability to compile the tests under FreeBSD and either ICU or
  -            IconvFBSD transservice (the transcoding service is automatically detected
  -            during configuration stage), with or without pthreads.
  +        <td>DOM L3: Add Entity::get/setActualEncoding, get/setEncoding, get/setVersion.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-18</td>
  +        <td>2002-06-07</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 5371] runConfigure extra linker options ignored in Makefiles for tests and samples.
  +        <td>DOM L3: Add Document::get/setActualEncoding, get/setEncoding, get/setVersion, get/setStandalone, get/setDocumentURI.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-18</td>
  +        <td>2002-06-03</td>
           <td>Tinny Ng</td>
  -        <td>Break program.xml which takes too long to load, into program-sax.xml, program-sax2.xml
  -            program-dom.xml, program-idom.xml.
  +        <td>DOM L3: Add DOMImplementationRegistry and DOMImplementationSource.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-18</td>
  +        <td>2002-05-30</td>
           <td>Tinny Ng</td>
  -        <td>Break faq-parse.xml which becomes longer and longer into faq-parse.xml and faq-build.xml
  -            to better categorize the FAQ, and update the FAQ
  +        <td>Add feature http://apache.org/xml/features/nonvalidating/load-external-dtd to
  +            optionally ignore external DTD.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-18</td>
  -        <td>Tinny Ng</td>
  -        <td>Create symbolic link to those duplicate ICU libraries, instead of physical duplicate copies.
  +        <td>2002-05-29</td>
  +        <td>Khaled Noaman</td>
  +        <td>DOM L3: Add DOMInputSource, DOMEntityResolver, DOMImplementationLS and DOMBuilder.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-15</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 5807] Parser produces unexpected errors from 'Good' document.
  +        <td>2002-05-29</td>
  +        <td>Gereon Steffens</td>
  +        <td>[Bug 9489] Malformed HTTP GET Requests in UnixHTTPUrlInputStream.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-14</td>
  +        <td>2002-05-28</td>
           <td>PeiYong Zhang</td>
  -        <td>XMLURi bug fix: related to Authority and wellformedAddress
  +        <td>DOM L3: Modify DOMPrint to use DOMWriter.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-14</td>
  -        <td>Max Gotlib</td>
  -        <td>[Bug 5570] DOM_Range lacks the copy constructor.
  +        <td>2002-05-28</td>
  +        <td>PeiYong Zhang</td>
  +        <td>DOM L3: Add DOMWriter, DOMWriterFilter, LocalFileFormatTarget, StdOutFormatTarget, and MemBufFormatTarget.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-14</td>
  -        <td>Max Gotlib</td>
  -        <td>Support IconvFBSD in multi-threading environment with all the possible
  -            combinations of threading and transcoding options.
  +        <td>2002-05-28</td>
  +        <td>Tinny Ng</td>
  +        <td>[Bug 9104] prefixes dissapearing when schema validation turned on.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-10</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 5786] Unexpected Schema errors.
  +        <td>2002-05-27</td>
  +        <td>Tinny Ng</td>
  +        <td>Add DOMDocumentRange and DOMDocumentTraversal.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-03</td>
  +        <td>2002-05-27</td>
           <td>Khaled Noaman</td>
  -        <td>Fix for identity constraints - union operation.
  +        <td>Performance: Lazily store top-level components to eliminate unnecessary traversal
  +            of DOM tree when looking up for a top level component.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-03</td>
  +        <td>2002-05-27</td>
           <td>Khaled Noaman</td>
  -        <td>Resolve namespace first before resolving the schema location in &lt;import&gt;.
  +        <td>Performance: Use pre-built element-attribute map table.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-03</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 5675] Use of setExternalSchemaLocation() yields inconsistent behavior.
  +        <td>2002-05-27</td>
  +        <td>Tinny Ng</td>
  +        <td>To get ready for 64 bit large file, use XMLSSize_t to represent line and column number.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-02</td>
  -        <td>Khaled Noaman</td>
  -        <td>Fix for validity constraint check for standalone documents.
  +        <td>2002-05-27</td>
  +        <td>Tinny Ng</td>
  +        <td>Define XMLSize, XMLSSize_t and their associate MAX.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-02</td>
  +        <td>2002-05-24</td>
           <td>Khaled Noaman</td>
  -        <td>Fix for regular expression patterns that begin with ".".
  +        <td>Performance: Eliminate mulitple calls to addRange and sort in regx.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-02</td>
  +        <td>2002-05-23</td>
           <td>Khaled Noaman</td>
  -        <td>Fix for error message when checking for attributes with a namespace prefix.
  +        <td>Performance: Use XMLBufferMgr instead of local creation of XMLBuffer(s).
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-02</td>
  +        <td>2002-05-22</td>
           <td>Khaled Noaman</td>
  -        <td>[Bug 5569] &lt;extension&gt; does not work -- ancestor elements not recognized.
  +        <td>DOM L3: Add AbstractDOMParser, DOMError, DOMErrorHandler, and DOMLocator.
           </td>
       </tr>
   
       <tr>
  -        <td>2002-01-02</td>
  +        <td>2002-05-21</td>
           <td>Tinny Ng</td>
  -        <td>Schema Fix: should not store a temp value as the key in the element
  -            pool and the attribute pool.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-22</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 4953] Propagate existing CFLAGS and CXXFLAGS.
  +        <td>DOM Reorganization (rename IDOM and deprecate old DOM) and other documentation update.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-21</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 5514] XMLEnumerator needs virtual destructor.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-21</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2680] Remove '-instances=static' from the compile step.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-21</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 1833] LexicalHandler::startDTD not called correctly.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-21</td>
  -        <td>Frank Balluffi</td>
  -        <td>[Bug 5466] Memory Leak: ElementImpl.cpp's ElementImpl::ElementImpl copy
  -            constructor does not cleanup attributes before assignment.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-21</td>
  -        <td>Frank Balluffi</td>
  -        <td>[Bug 5464] Memory Leak: DocumentImpl::importNode does not delete
  -            old attribute if its reference count equals zero.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-21</td>
  -        <td>Tinny Ng</td>
  -        <td>Schema fix: leading whitespace should be preserved for CData type.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-14</td>
  -        <td>Khaled Noaman</td>
  -        <td>Add surrogate support to comments and processing instructions.
  +        <td>2002-05-19</td>
  +        <td>James Berry</td>
  +        <td>[Bug 9237] Encoding spec in lower case (DTD/XML) not recognized.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-14</td>
  +        <td>2002-05-10</td>
           <td>Tinny Ng</td>
  -        <td>Performance: Do not transcode twice in DOMString constructor.
  +        <td>[Bug 8967] Default element behaviour is incorrect (schema only).
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-14</td>
  -        <td>Tinny Ng</td>
  -        <td>update BUILDINSTRUCTIONS.TXT to be in sync with build instruction in build*.xml.
  +        <td>2002-05-08</td>
  +        <td>Martin Kalen</td>
  +        <td>[Bug 7701] NameIdPoolEnumerator copy constructor should call base class.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-13</td>
  +        <td>2002-05-08</td>
           <td>PeiYong Zhang</td>
  -        <td>Fix: Invalid Argument to FreeLibrary (Hint: 0x0000000).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-13</td>
  -        <td>Linda Swan</td>
  -        <td>iSeries (AS/400) documentation update and other iSeries related fixes.
  +        <td>[Bug 8899] Missing implementation of Op::Op(const Op&amp;) causes Intel C++ Win32 link to fail.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-13</td>
  +        <td>2002-05-08</td>
           <td>Khaled Noaman</td>
  -        <td>[Bug 5410] non-schema &lt;attribute&gt; attributes cause error.
  +        <td>[Bug 8301] INFINITY used as enum member.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-12</td>
  -        <td>Tinny Ng</td>
  -        <td>Fix typos in messages.
  +        <td>2002-05-08</td>
  +        <td>David Bertoni</td>
  +        <td>[Bug 8381] XMLScanner performance fixes.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-12</td>
  +        <td>2002-05-08</td>
           <td>PeiYong Zhang</td>
  -        <td>Memory leak: fRedefineList.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-12</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 5367] Progressive parse does not throw error when file is empty.
  +        <td>[Bug 8898] SchemaElementDecl doesn't compile with Intel C++ for IA32.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-12</td>
  +        <td>2002-05-07</td>
           <td>Tinny Ng</td>
  -        <td>Performance: Remove obsolete code in ElemStack.
  +        <td>Schema Fix: re-add the ID, IDREF ... datatype validators only if they were not there.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-11</td>
  -        <td>Max Gotlib</td>
  -        <td>More changes to IconvFBSDTransService.  Allow using "old" TransServece implementation
  -            (via '-t native' option to runConfigure) or to employ libiconv (it is a part of FreeBSD
  -            ports-collection) services.
  +        <td>2002-05-07</td>
  +        <td>Khaled Noaman</td>
  +        <td>Update SAX2 documentation to tell users it is necessary to delete
  +            the parser returned by XMLReaderFactory::createXMLReader.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-11</td>
  -        <td>Christopher Just</td>
  -        <td>[Bug 5320] 1.5.2 Build fails on IRIX.  The variable "atomicOpsMutex" has been defined twice.
  +        <td>2002-05-07</td>
  +        <td>David Bertoni</td>
  +        <td>[Bug 8852] UnixHTTPURLInputStream.cpp includes unneeded file.
           </td>
       </tr>
   
       <tr>
  -        <td>2001/12/10</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Swap checking to avoid "dangling pointer" reported by BoundsChecker.
  +        <td>2002-05-06</td>
  +        <td>David Bertoni</td>
  +        <td>[Bug 8492] Incorrect HP link options.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-10</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Memory Leak: fLeafNameTypeVector.
  +        <td>2002-05-03</td>
  +        <td>Martin Kalen</td>
  +        <td>[Bug 7341] Missing newline at end of util and DOM source files.
           </td>
       </tr>
   
  -</table>
  -</s2>
  -
  -<s2 title="&XercesCName; Version 1.6.0: December 6, 2001">
  -<table>
  -    <tr>
  -        <td>Date</td>
  -        <td>Contributor</td>
  -        <td>Description</td>
  -    </tr>
  -
       <tr>
  -        <td>2001-12-06</td>
  -        <td>Khaled Noaman</td>
  -        <td>Schema: Add Identity Constraint(Key, KeyRef, Unique, Selector, Field, and Partial XPath Support). <br/>
  -            Add XPathSymbols, <br/>
  -            XPathMatcherStack, <br/>
  -            XPathMatcher, <br/>
  -            XPathException, <br/>
  -            XercesXPath, <br/>
  -            ValueStoreCache, <br/>
  -            ValueStore, <br/>
  -            IdentityConstraint, <br/>
  -            IC_Unique, <br/>
  -            IC_Selector, <br/>
  -            IC_KeyRef, <br/>
  -            IC_Key, <br/>
  -            IC_Field, <br/>
  -            FieldValueMap, <br/>
  -            FieldActivator. <br/>
  -            Support Particle Derivation Constraint Checking.
  +        <td>2002-05-03</td>
  +        <td>Martin Kalen</td>
  +        <td>[Bug 7261] Remove obsolete define in UnixWareDefs.hpp.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-06</td>
  +        <td>2002-05-03</td>
           <td>PeiYong Zhang</td>
  -        <td>DatatypeValidator:<br/>
  -             Support DateTimeValidator, <br/>
  -             DateTimeDatatypeValidator, <br/>
  -             DateDatatypeValidator, <br/>
  -             TimeDatatypeValidator, <br/>
  -             DayDatatypeValidator, <br/>
  -             MonthDatatypeValidator, <br/>
  -             MonthDayDatatypeValidator, <br/>
  -             YearDatatypeValidator, <br/>
  -             YearMonthDatatypeValidator, <br/>
  -             DurationDatatypeValidator. <br/>
  -             Add SchemaDataTimeException, <br/>
  -             XMLAbstractDoubleFloat, <br/>
  -             XMLDateTime.
  +        <td>[Bug 8769] UMR (uninitialized memory read) detected by memory tool.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-06</td>
  +        <td>2002-05-01</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 1959] setNodeValue throws exception when spec specifies NOP.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-06</td>
  -        <td>Erik Rydgren</td>
  -        <td>[Bug 2174] Bug in NamedNodeMapImpl.
  +        <td>[Bug 7265] UnixWare port broken in platformTerm().
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-06</td>
  -        <td>Henry Zongaro</td>
  -        <td>Performance Enhancement.  Added setNPrefix and setNLocalPart methods in QName that
  -            allow code to take advantage of the fact that it knows the length of the prefix and
  -            local name, when possible.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-06</td>
  -        <td>Henry Zongaro</td>
  -        <td>Performance Enhancement.  Added a second ContentSpecNode constructor that allows
  -            the QName to be just assigned, not copied.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-06</td>
  -        <td>Henry Zongaro</td>
  -        <td>Performance Enhancement.  Added a second CMLeaf constructor that indicated the
  -            QName passed in was to be adopted.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-06</td>
  -        <td>Henry Zongaro</td>
  -        <td>Performance Enhancement.  Modify the handling of the fNEL option so that it results
  -            in fgCharCharsTable being modified, instead of having all of the low-level routines check
  -            the option.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-12-06</td>
  -        <td>Tinny Ng</td>
  -        <td>Make the runConfigure and associated config*, Makefile* in folders tests,
  -            samples and src more consistent.
  +        <td>2002-04-24</td>
  +        <td>Jason Stewart</td>
  +        <td>[Bug 8495] URLInputSource constructor initializes fURL member incorrectly.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-05</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 1236] Incorrect NMTOKENS attribute normalization.
  +        <td>2002-04-22</td>
  +        <td>PeiYong Zhang</td>
  +        <td>Build AIX 64 bit binary.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-05</td>
  +        <td>2002-04-19</td>
           <td>Khaled Noaman</td>
  -        <td>[Bug 2752] Surrogate support incomplete.
  +        <td>[Bug 8236] Problem with recursive and derived elements.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-05</td>
  -        <td>Edward Avis</td>
  -        <td>Fix runConfigure which can run into infinite loop with invalid argument
  +        <td>2002-04-18</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 7301] Redundant range-check in HexBin.cpp.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-05</td>
  +        <td>2002-04-17</td>
           <td>Tinny Ng</td>
  -        <td>Generate linker map for certain platforms
  +        <td>[Bug 7583] Build warnings with MS Visual Studio .NET.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-03</td>
  +        <td>2002-04-17</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 5237] PATH_MAX undefined during build without threading support.
  +        <td>[Bug 7493] The word "occured" is misspelled and it is a global error.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-03</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 5179] Misprint in downcasting description.
  +        <td>2002-04-17</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 8195] Invalid path to build 'samples' target.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-12-03</td>
  -        <td>Max Gotlib</td>
  -        <td>Add FreeBSD native transcoder (IconvFBSD).
  +        <td>2002-04-16</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 8156] Bad path name breaks build.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-30</td>
  +        <td>2002-04-16</td>
           <td>PeiYong Zhang</td>
  -        <td>Build all tests on HP-UX 11.
  +        <td>[Bug 8168] Error when attempting to build NetAccessors.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-29</td>
  -        <td>Michael Huedepohl</td>
  -        <td>Add FreeBSD Support.
  +        <td>2002-04-09</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Bug 7706] XMLString::lowerCase() does not work.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  +        <td>2002-04-09</td>
           <td>PeiYong Zhang</td>
  -        <td>DOMMemTest: delete compiler generated temporary DOMString object "Hello Goodbye".
  +        <td>[Bug 6095] Modify .so name to have version number.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  +        <td>2002-04-08</td>
           <td>Tinny Ng</td>
  -        <td>Fix broken ParserTest.
  +        <td>ICU 2.0.2 Update.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  -        <td>Tinny Ng</td>
  -        <td>Do not increment the error count if it is a warning.
  +        <td>2002-04-04</td>
  +        <td>Khaled Noaman</td>
  +        <td>Change min/maxOccurs from unsigned int to int.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  -        <td>Phil Brown</td>
  -        <td>[Bug 4019] XMLReader::getNextChar can over read (UTF-16).
  +        <td>2002-04-03</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Bug 7565] Attributes in different namespaces produce a Fatal Exception.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  +        <td>2002-04-03</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 4544] DOM_NodeList::getLength incorrect when called twice for empty list.
  +        <td>check null string first in isWSCollapsed and fix [Bug 6902] Typo in XMLString.cpp.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  -        <td>Artur Klauser</td>
  -        <td>[Bug 2238]libWWW problems with broken proxys and range requests.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-11-28</td>
  -        <td>Artur Klauser</td>
  -        <td>[Bug 2237] libWWW redirect error.
  +        <td>2002-04-02</td>
  +        <td>Martin Kalen</td>
  +        <td>[Bug 7555] Enable AIX build with newer xlC versions.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  -        <td>Matt Lovett</td>
  -        <td>[Bug 4422] BinMemInputStream::readBytes is inefficient.
  +        <td>2002-04-02</td>
  +        <td>Khaled Noaman</td>
  +        <td>Modiy QName comparison (operator==).
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  +        <td>2002-04-01</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 3683] Access Violations when performing custom schema validation.
  +        <td>According to DOM spec, setNodeValue by default is no-op.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-28</td>
  +        <td>2002-04-01</td>
           <td>Tinny Ng</td>
  -        <td>Check tohash pointer before accessing content in XMLString::hash.
  +        <td>Do not issue DOM_DOMException::INUSE_ATTRIBUTE_ERR if the owner is the same.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-27</td>
  +        <td>2002-04-01</td>
           <td>Tinny Ng</td>
  -        <td>Fix packageBinaries.pl to correctly strip the zip file name from the target
  -            directory which has "." dot in it.
  +        <td>DOMString problem with Asian codepages.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-26</td>
  -        <td>Don Mastrovito</td>
  -        <td>BCB4 can use wchar_t.
  +        <td>2002-04-01</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 7551] Exceptions are caught by value, rather than by reference.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  +        <td>2002-04-01</td>
           <td>Tinny Ng</td>
  -        <td>Support ICU 2.0.
  +        <td>[Bug 7585] xml4com.dsp - Cannot open source file.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  -        <td>Tinny Ng</td>
  -        <td>Eliminate Warning from Solaris Forte C++:
  -            Warning (Anachronism): Formal argument start_routine of type extern "C".
  +        <td>2002-04-01</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Bug 7297] Validation of schema included in document fails with improper error.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  -        <td>Tinny Ng</td>
  -        <td>Eliminate Warning from Solaris Forte C++:
  -            Warning: String literal converted to char* in initialization.
  +        <td>2002-04-01</td>
  +        <td>Khaled Noaman</td>
  +        <td>Move Element Consistency checking (ref to global declarations) to SchemaValidator.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  +        <td>2002-03-27</td>
           <td>Tinny Ng</td>
  -        <td>Eliminate Warning from AIX xlC 3.6:1540-399.
  +        <td>[Bug 1173] DOMParser entity resolution property is messed about.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  +        <td>2002-03-27</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 4655] config.status be included in all future binary releases.
  +        <td>Fix: not all the children of EntityReference Node is set to readOnly.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-23</td>
  +        <td>2002-03-27</td>
           <td>Tinny Ng</td>
  -        <td>[Bug 4873] ICU 2.0 breaks Xerces 1.5.2 build.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-11-22</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Eliminate Visual C++ compiler warning C4273.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-11-22</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Schema: Allow "0.0" to be a valid lexcial representation of ZERO.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-11-21</td>
  -        <td>Peter A. Volchek and PeiYong Zhang</td>
  -        <td>Add sample SEnumVal.
  +        <td>Should call setReadOnly instead of isReadOnly to populate the flag.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-21</td>
  +        <td>2002-03-27</td>
           <td>Tinny Ng</td>
  -        <td>New method InputSource::get/setIssueFatalErrorIfNotFound to tell the parser
  -            whether to issue fatal error or not if cannot find it (the InputSource).
  -            This is required for schema processing as it shouldn't be a fatal error if the
  -            schema is not found.
  +        <td>[Bug 3010] DocumentImpl::importNode - Missed Readonly Flag Restore.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-20</td>
  +        <td>2002-03-27</td>
           <td>Tinny Ng</td>
  -        <td>Allow schemaLocation and noNamespaceSchemaLocation to be specified outside the
  -            instance document.  New methods setExternalSchemaLocation and
  -            setExternalNoNamespaceSchemaLocation are added (for SAX2, two new properties are added).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-11-19</td>
  -        <td>PeiYong Zhang</td>
  -        <td>XMLFloat and XMLDouble boundary Values updated.
  +        <td>Correct count element routine in IDOMCount.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-16</td>
  -        <td>Tinny Ng</td>
  -        <td>Add test case InitTermTest to test XMLPlatformUtils:Initialize/Terminate() pair.
  +        <td>2002-03-26</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Bug 7471] Failed to validate correctly when schema has &lt;xsd:extension&gt; and the base has an attribute.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-16</td>
  +        <td>2002-03-25</td>
           <td>Khaled Noaman</td>
  -        <td>Design change: GeneralAttributeCheck is not longer a singleton class.
  +        <td>Move particle derivation checking from TraverseSchema to SchemaValidator.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-15</td>
  +        <td>2002-03-22</td>
           <td>Khaled Noaman</td>
  -        <td>Re-organize constant values in XMLAttDef.
  +        <td>[Bug 7358] About TraverseSchema::traverseSimpleTypeDecl member function.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-13</td>
  -        <td>Tinny Ng</td>
  -        <td>Move root element check from XMLValidator to XMLScanner
  -            and deprecate XMLValidator::checkRootElement().
  +        <td>2002-03-21</td>
  +        <td>Khaled Noaman</td>
  +        <td>Add support for reporting line/column numbers of schema errors.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-13</td>
  -        <td>Tinny Ng</td>
  -        <td>Update documentation for SAX2XMLReader, DefaultHandler and DOMParser.
  +        <td>2002-03-19</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 7164] DOMParser with a DTD leak!
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-09</td>
  -        <td>Tinny Ng</td>
  -        <td>Regular Expression: Update the Block Names and Block Range to comply to the latest standard.
  +        <td>2002-03-19</td>
  +        <td>Khaled Noaman</td>
  +        <td>Fix for declarations referenced from a different NS in the case of a circular import.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-09</td>
  -        <td>Carolyn Weiss</td>
  -        <td>DOMIDTest/MemParse fix: Pulled the hardcoded encoding out of the document
  -            itself and made it a #define to make it easier to support other encodings.
  +        <td>2002-03-19</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 7243] Base64 encoding is not working.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-09</td>
  -        <td>Carolyn Weiss</td>
  -        <td>DOMMemTest fix: Changed some literal values to their equivalent hex values
  -            so they work correctly on both ASCII and EBCDIC systems.
  +        <td>2002-03-19</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Bug 7074] Unwarranted error regarding "no circular definitions allowed".
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-09</td>
  -        <td>Linda Swan</td>
  -        <td>Bug Fix: maxChars in XMLString::copyNString is more related to the target than the src.
  +        <td>2002-03-18</td>
  +        <td>Khaled Noaman</td>
  +        <td>[Regx Fix] Change constant names to eliminate possible conflict with user defined ones.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-07</td>
  +        <td>2002-03-18</td>
           <td>Tinny Ng</td>
  -        <td>Performance: Create QName in ContentSpecNode only if it is a leaf/Any/PCDataNode.
  +        <td>[Bug 7162] IconvFreeBSDTransService.cpp needs an #include statement fixed to use xercesc.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-07</td>
  +        <td>2002-03-15</td>
           <td>Tinny Ng</td>
  -        <td>Performance: move getRawName() to outer loop in DFAContentModel so that it
  -            is called only once per outer loop.
  +        <td>[Bug 6888] NodeIterator.  Retrofit this typo that was applied to Xerces-J, although this
  +            function "matchNodeOrParent" is not used in Xerces-C++.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-06</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 4644] Memory leak in schema traverser.
  +        <td>2002-03-15</td>
  +        <td>Tinny Ng</td>
  +        <td>DOMString Thread safe Fix: should lock the entire deleter function where freeListPtr and
  +            blockListPtr are modified.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-02</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 4133] --prefix not used properly in configure.
  +        <td>2002-03-15</td>
  +        <td>Tinny Ng</td>
  +        <td>Issue DOMException::INDEX_SIZE_ERR if count is greater than length, equal to length is ok.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-01</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 2730] Can't build xerces-c-1.5.1 with ICUMsgLoader.
  +        <td>2002-03-14</td>
  +        <td>Tinny Ng</td>
  +        <td>IDOM Fix: Issue IDOM_DOMException::INDEX_SIZE_ERR if count or offset is negative.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-01</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 4578] No documentation for XMLTranscoder.
  +        <td>2002-03-14</td>
  +        <td>Tinny Ng</td>
  +        <td>IDOM Fix: Initialize fPublic/fSystemId to zero in IDNotationImpl.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-11-01</td>
  +        <td>2002-03-14</td>
           <td>Tinny Ng</td>
  -        <td>IDOM: Leak: should allocate the fNodeListPool with the overloaded new.
  +        <td>Certain IDOM Node should call fParent.normalize().
           </td>
       </tr>
   
       <tr>
  -        <td>2001/10/29</td>
  +        <td>2002-03-14</td>
           <td>Tinny Ng</td>
  -        <td>Update samples doc to reflect the latest changes.  Also update runConfigure usage
  -            in build doc to reflect the latest changes.
  +        <td>Run methods test[NodeType] in the IDOMTest and other fixes.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-10-26</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Thread safe XMLFloat and XMLDouble.
  +        <td>2002-03-12</td>
  +        <td>Mark Russell</td>
  +        <td>[Bug 1687] resValue not always updated when making a transcoder.
           </td>
       </tr>
   
       <tr>
  -        <td>2001-10-26</td>
  -        <td>Tinny Ng</td>
  -        <td>Update SAX standard web link.
  +        <td>2002/03/11</td>
  +        <td>PeiYong Zhang</td>
  +        <td>[Bug 7000] The URL is corrupted in UnixHTTPURLInputStream.cpp.
           </td>
       </tr>
   
   </table>
  -</s2>
  -
  -<s2 title="Releases Archive">
  -
  -    <p> For release information about &XercesCName; 1.5.2 or earlier,
  -        please refer to <jump href="releases_archive.html">Releases Archive</jump>.
  -    </p>
  -</s2>
  -
  -
  -<s2 title="Releases Plan">
  -
  -    <p> For future release plan about &XercesCName;,
  -        please refer to <jump href="releases_plan.html">Releases Plan</jump>.
  -    </p>
   </s2>
   
   </s1>
  
  
  
  1.3       +4340 -3120xml-site/sources/xerces-c/releases_archive.xml
  
  Index: releases_archive.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/releases_archive.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- releases_archive.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ releases_archive.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -2,3135 +2,4353 @@
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
   <s1 title="Releases Archive">
  +    <s2 title="Release Information of earlier releases">
  +      <ul>
  +        <li><link anchor="Release170">Release Information of &XercesCName; 1.7.0</link></li>
  +        <li><link anchor="Release160">Release Information of &XercesCName; 1.6.0</link></li>
  +        <li><link anchor="Release152">Release Information of &XercesCName; 1.5.2</link></li>
  +        <li><link anchor="Release151">Release Information of &XercesCName; 1.5.1</link></li>
  +        <li><link anchor="Release150">Release Information of &XercesCName; 1.5.0</link></li>
  +        <li><link anchor="Release140">Release Information of &XercesCName; 1.4.0</link></li>
  +        <li><link anchor="Release130">Release Information of &XercesCName; 1.3.0</link></li>
  +        <li><link anchor="Release120">Release Information of &XercesCName; 1.2.0</link></li>
  +        <li><link anchor="Release110">Release Information of &XercesCName; 1.1.0</link></li>
  +        <li><link anchor="Release101">Release Information of &XercesCName; 1.0.1</link></li>
  +        <li><link anchor="Release100">Release Information of &XercesCName; 1.0.0</link></li>
  +        <li><link anchor="ReleaseBETA">Release Information of &XercesCName; BETA</link></li>
  +      </ul>
  +    </s2>
  +
  +    <anchor name="Release170"/>
  +    <s2 title="Release Information of &XercesCName; 1.7.0: March 8, 2002">
  +    <table>
  +        <tr>
  +            <td>Date</td>
  +            <td>Contributor</td>
  +            <td>Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-07</td>
  +            <td>Tinny Ng</td>
  +            <td>Add a keys file to store public key of committers who sign and upload packages to Apache.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-07</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Call Terminate() to avoid memory tools reporting memory leak in Traversal test cases.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-06</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Schema: Allow [+]? [0]* '.'? [0]* and normalize the input to positive zero string.
  +                And similarly input conforming to '-' [0]* '.'? [0]* is normalized to negative zero.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-04</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2869] AIX 4.3.3 mutex/atomic-operation changes for build.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-04</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 6834] apparently correct schema/instance not validating.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-03-01</td>
  +            <td>Tinny Ng</td>
  +            <td>NodeIDMap informational message about growing only be printed if debug is on.
  +                Besides the throw message should be encap in the XMLErrList_EN_US.Xml, not hardcoded in the code.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-28</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 2717] Unterminated INCLUDE section causes infinite loop with setExitOnFirstFatalError(false)
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-28</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix: ReaderMgr Should check if XMLReader is created successfully.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-28</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1368] improper DOMStringHandle locking.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-28</td>
  +            <td>Martin Kalen</td>
  +            <td>[Bug 6445] Caldera (SCO) OpenServer Port.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-27</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix: default attribute are not added when namespace is on and validation is off.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-27</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix: SAX AttributeList::getName should attach prefix if present
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-26</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 6672] SAXValidator results in an access violation when validating against schema
  +                with empty element that has default value.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-26</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix: Create ZeroOrOne node for PCDATA only if needed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-25</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema Fix: Thread-safe the built-in datatype validator registry.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-25</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema Fix: Ensure no invalid uri index for UPA checking.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-25</td>
  +            <td>Tinny Ng</td>
  +            <td>Merge IThreadTest and ThreadTest.  Modify ThreadTest to do schema processing, and
  +                add ThreadTest to sanityTest.pl
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-20</td>
  +            <td>Don Mastrovito</td>
  +            <td>Project files for BCB6.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-20</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2845] HP-UX 10.20 with CC A.10.40 needs +Z instead of +z.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-20</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5977] Warnings on generating apiDocs.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-18</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Fix: Add code for ContentSpecNode::All in formatNode.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-18</td>
  +            <td>James Berry</td>
  +            <td>Add support for building with new MacOSURLAccessCF NetAccessor that doesn't
  +                require Carbon but can allow Xerces to live solely within CoreServices layer.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-17</td>
  +            <td>James Berry</td>
  +            <td>[Bug 6092] stricmp and strnicmp not present in FreeBSD.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-17</td>
  +            <td>James Berry</td>
  +            <td>Update Mac OS projects to reflect "sane includes" changes.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-15</td>
  +            <td>Tinny Ng</td>
  +            <td>Add IDOM to API documentation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-15</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Base64 interface redefined for conversion in XMLByte.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-14</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Add getEnumString to DatatypeValidator.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-14</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 6461] Unexpected recursion errors reported against schema.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-13</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add constraint checking for the extension of an 'all' content model.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-13</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 4581] erroneous static cast in programming examples.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-13</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 6336] Output of XMLString::transcode not freed?
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-13</td>
  +            <td>Khaled Noaman</td>
  +            <td>Update samples to use SAX2 features/properties constants from XMLUni.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-11</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 6330] Base64::encode does not work.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-11</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2715] Build recursion suppresses make failures.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-11</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2496] libxerces-c1_5_0 fails to build correctly on Solaris.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-06</td>
  +            <td>Khaled Noaman</td>
  +            <td>Added a new flag '-p' to SAX2 samples to set the 'namespace-prefixes' feature.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-06</td>
  +            <td>Khaled Noaman</td>
  +            <td>Use IDOM for schema processing.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Remove 3rd party jar style-apachexmljar, expand into physical files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Add IDOMMemTest.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Modify InitTermTest to take option flag like -s, -f , and -n.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5716] Can't parse with Validation more than one file.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Recognize IBM01140 (IANA encoding) as alias of intrinsic encoding IBM1140.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-04</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 6114] Memory leaks on IDOM getElementsByTagName().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-04</td>
  +            <td>Tinny Ng</td>
  +            <td>Add DOM Level2 missing functions: NodeIterator::getRoot, TreeWalker::getRoot
  +                Element::hasAttribute, Element::hasAttributeNS and Node::hasAttribute
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-04</td>
  +            <td>Tinny Ng</td>
  +            <td>Memory leak fix in samples / test cases.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-02-01</td>
  +            <td>PeiYong Zhang</td>
  +            <td>src and include folder reorganization for "sane_include".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-28</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix: some SAX calls were not passed to the LexicalHandler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-29</td>
  +            <td>Tinny Ng</td>
  +            <td>Remove those jar files that are not clear in license issue.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-28</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add a 'null' string constant in XMLUni.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-28</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add SAX2-ext's DeclHandler support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-28</td>
  +            <td>Khaled Noaman</td>
  +            <td>The namespace-prefixes feature in SAX2 should be off by default.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-24</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Progressive parse does not do post-validation and thus ID/IDREF are not checked.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-23</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5545] Progressive Parse trashes when encountering "&lt;!  ... "
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Update DOM/IDOM hasFeature method to correctly reflect current status.
  +                And add more hasFeature test to DOMMemTest.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-21</td>
  +            <td>Tinny Ng</td>
  +            <td>Some intrinsic encodings support (e.g. UTF-16) only work as input encoding
  +                while reading in XML data; but do not work as output encoding in XMLformatter.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-21</td>
  +            <td>Tinny Ng</td>
  +            <td>Document encoding alias for intrinsic encoding support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-21</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5847] ICUMsgLoader can't be compiled with gcc 3.0.3 and ICU2.
  +                And also fix the memory leak introduced by Bug 2730 fix.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-18</td>
  +            <td>Max Gotlib</td>
  +            <td>Adds the capability to compile the tests under FreeBSD and either ICU or
  +                IconvFBSD transservice (the transcoding service is automatically detected
  +                during configuration stage), with or without pthreads.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-18</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5371] runConfigure extra linker options ignored in Makefiles for tests and samples.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-18</td>
  +            <td>Tinny Ng</td>
  +            <td>Break program.xml which takes too long to load, into program-sax.xml, program-sax2.xml
  +                program-dom.xml, program-idom.xml.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-18</td>
  +            <td>Tinny Ng</td>
  +            <td>Break faq-parse.xml which becomes longer and longer into faq-parse.xml and faq-build.xml
  +                to better categorize the FAQ, and update the FAQ
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-18</td>
  +            <td>Tinny Ng</td>
  +            <td>Create symbolic link to those duplicate ICU libraries, instead of physical duplicate copies.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 5807] Parser produces unexpected errors from 'Good' document.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-14</td>
  +            <td>PeiYong Zhang</td>
  +            <td>XMLURi bug fix: related to Authority and wellformedAddress
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-14</td>
  +            <td>Max Gotlib</td>
  +            <td>[Bug 5570] DOM_Range lacks the copy constructor.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-14</td>
  +            <td>Max Gotlib</td>
  +            <td>Support IconvFBSD in multi-threading environment with all the possible
  +                combinations of threading and transcoding options.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-10</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 5786] Unexpected Schema errors.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-03</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix for identity constraints - union operation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-03</td>
  +            <td>Khaled Noaman</td>
  +            <td>Resolve namespace first before resolving the schema location in &lt;import&gt;.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-03</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 5675] Use of setExternalSchemaLocation() yields inconsistent behavior.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-02</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix for validity constraint check for standalone documents.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-02</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix for regular expression patterns that begin with ".".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-02</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix for error message when checking for attributes with a namespace prefix.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-02</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 5569] &lt;extension&gt; does not work -- ancestor elements not recognized.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2002-01-02</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema Fix: should not store a temp value as the key in the element
  +                pool and the attribute pool.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-22</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 4953] Propagate existing CFLAGS and CXXFLAGS.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 5514] XMLEnumerator needs virtual destructor.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2680] Remove '-instances=static' from the compile step.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1833] LexicalHandler::startDTD not called correctly.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Frank Balluffi</td>
  +            <td>[Bug 5466] Memory Leak: ElementImpl.cpp's ElementImpl::ElementImpl copy
  +                constructor does not cleanup attributes before assignment.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Frank Balluffi</td>
  +            <td>[Bug 5464] Memory Leak: DocumentImpl::importNode does not delete
  +                old attribute if its reference count equals zero.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-21</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema fix: leading whitespace should be preserved for CData type.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-14</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add surrogate support to comments and processing instructions.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-14</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: Do not transcode twice in DOMString constructor.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-14</td>
  +            <td>Tinny Ng</td>
  +            <td>update BUILDINSTRUCTIONS.TXT to be in sync with build instruction in build*.xml.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-13</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Fix: Invalid Argument to FreeLibrary (Hint: 0x0000000).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-13</td>
  +            <td>Linda Swan</td>
  +            <td>iSeries (AS/400) documentation update and other iSeries related fixes.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-13</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 5410] non-schema &lt;attribute&gt; attributes cause error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-12</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix typos in messages.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-12</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Memory leak: fRedefineList.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-12</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5367] Progressive parse does not throw error when file is empty.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-12</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: Remove obsolete code in ElemStack.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-11</td>
  +            <td>Max Gotlib</td>
  +            <td>More changes to IconvFBSDTransService.  Allow using "old" TransServece implementation
  +                (via '-t native' option to runConfigure) or to employ libiconv (it is a part of FreeBSD
  +                ports-collection) services.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-11</td>
  +            <td>Christopher Just</td>
  +            <td>[Bug 5320] 1.5.2 Build fails on IRIX.  The variable "atomicOpsMutex" has been defined twice.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001/12/10</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Swap checking to avoid "dangling pointer" reported by BoundsChecker.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-10</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Memory Leak: fLeafNameTypeVector.
  +            </td>
  +        </tr>
  +
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release160"/>
  +    <s2 title="Release Information of &XercesCName; 1.6.0: December 6, 2001">
  +    <table>
  +        <tr>
  +            <td>Date</td>
  +            <td>Contributor</td>
  +            <td>Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Khaled Noaman</td>
  +            <td>Schema: Add Identity Constraint(Key, KeyRef, Unique, Selector, Field, and Partial XPath Support). <br/>
  +                Add XPathSymbols, <br/>
  +                XPathMatcherStack, <br/>
  +                XPathMatcher, <br/>
  +                XPathException, <br/>
  +                XercesXPath, <br/>
  +                ValueStoreCache, <br/>
  +                ValueStore, <br/>
  +                IdentityConstraint, <br/>
  +                IC_Unique, <br/>
  +                IC_Selector, <br/>
  +                IC_KeyRef, <br/>
  +                IC_Key, <br/>
  +                IC_Field, <br/>
  +                FieldValueMap, <br/>
  +                FieldActivator. <br/>
  +                Support Particle Derivation Constraint Checking.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>PeiYong Zhang</td>
  +            <td>DatatypeValidator:<br/>
  +                 Support DateTimeValidator, <br/>
  +                 DateTimeDatatypeValidator, <br/>
  +                 DateDatatypeValidator, <br/>
  +                 TimeDatatypeValidator, <br/>
  +                 DayDatatypeValidator, <br/>
  +                 MonthDatatypeValidator, <br/>
  +                 MonthDayDatatypeValidator, <br/>
  +                 YearDatatypeValidator, <br/>
  +                 YearMonthDatatypeValidator, <br/>
  +                 DurationDatatypeValidator. <br/>
  +                 Add SchemaDataTimeException, <br/>
  +                 XMLAbstractDoubleFloat, <br/>
  +                 XMLDateTime.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1959] setNodeValue throws exception when spec specifies NOP.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Erik Rydgren</td>
  +            <td>[Bug 2174] Bug in NamedNodeMapImpl.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Henry Zongaro</td>
  +            <td>Performance Enhancement.  Added setNPrefix and setNLocalPart methods in QName that
  +                allow code to take advantage of the fact that it knows the length of the prefix and
  +                local name, when possible.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Henry Zongaro</td>
  +            <td>Performance Enhancement.  Added a second ContentSpecNode constructor that allows
  +                the QName to be just assigned, not copied.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Henry Zongaro</td>
  +            <td>Performance Enhancement.  Added a second CMLeaf constructor that indicated the
  +                QName passed in was to be adopted.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Henry Zongaro</td>
  +            <td>Performance Enhancement.  Modify the handling of the fNEL option so that it results
  +                in fgCharCharsTable being modified, instead of having all of the low-level routines check
  +                the option.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-06</td>
  +            <td>Tinny Ng</td>
  +            <td>Make the runConfigure and associated config*, Makefile* in folders tests,
  +                samples and src more consistent.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-05</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 1236] Incorrect NMTOKENS attribute normalization.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-05</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 2752] Surrogate support incomplete.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-05</td>
  +            <td>Edward Avis</td>
  +            <td>Fix runConfigure which can run into infinite loop with invalid argument
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Generate linker map for certain platforms
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-03</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5237] PATH_MAX undefined during build without threading support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-03</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 5179] Misprint in downcasting description.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-12-03</td>
  +            <td>Max Gotlib</td>
  +            <td>Add FreeBSD native transcoder (IconvFBSD).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-30</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Build all tests on HP-UX 11.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-29</td>
  +            <td>Michael Huedepohl</td>
  +            <td>Add FreeBSD Support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>PeiYong Zhang</td>
  +            <td>DOMMemTest: delete compiler generated temporary DOMString object "Hello Goodbye".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix broken ParserTest.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Tinny Ng</td>
  +            <td>Do not increment the error count if it is a warning.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Phil Brown</td>
  +            <td>[Bug 4019] XMLReader::getNextChar can over read (UTF-16).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 4544] DOM_NodeList::getLength incorrect when called twice for empty list.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Artur Klauser</td>
  +            <td>[Bug 2238]libWWW problems with broken proxys and range requests.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Artur Klauser</td>
  +            <td>[Bug 2237] libWWW redirect error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Matt Lovett</td>
  +            <td>[Bug 4422] BinMemInputStream::readBytes is inefficient.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3683] Access Violations when performing custom schema validation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-28</td>
  +            <td>Tinny Ng</td>
  +            <td>Check tohash pointer before accessing content in XMLString::hash.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-27</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix packageBinaries.pl to correctly strip the zip file name from the target
  +                directory which has "." dot in it.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-26</td>
  +            <td>Don Mastrovito</td>
  +            <td>BCB4 can use wchar_t.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Support ICU 2.0.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Eliminate Warning from Solaris Forte C++:
  +                Warning (Anachronism): Formal argument start_routine of type extern "C".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Eliminate Warning from Solaris Forte C++:
  +                Warning: String literal converted to char* in initialization.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>Eliminate Warning from AIX xlC 3.6:1540-399.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 4655] config.status be included in all future binary releases.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-23</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 4873] ICU 2.0 breaks Xerces 1.5.2 build.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-22</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Eliminate Visual C++ compiler warning C4273.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-22</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Schema: Allow "0.0" to be a valid lexcial representation of ZERO.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-21</td>
  +            <td>Peter A. Volchek and PeiYong Zhang</td>
  +            <td>Add sample SEnumVal.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-21</td>
  +            <td>Tinny Ng</td>
  +            <td>New method InputSource::get/setIssueFatalErrorIfNotFound to tell the parser
  +                whether to issue fatal error or not if cannot find it (the InputSource).
  +                This is required for schema processing as it shouldn't be a fatal error if the
  +                schema is not found.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-20</td>
  +            <td>Tinny Ng</td>
  +            <td>Allow schemaLocation and noNamespaceSchemaLocation to be specified outside the
  +                instance document.  New methods setExternalSchemaLocation and
  +                setExternalNoNamespaceSchemaLocation are added (for SAX2, two new properties are added).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-19</td>
  +            <td>PeiYong Zhang</td>
  +            <td>XMLFloat and XMLDouble boundary Values updated.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-16</td>
  +            <td>Tinny Ng</td>
  +            <td>Add test case InitTermTest to test XMLPlatformUtils:Initialize/Terminate() pair.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-16</td>
  +            <td>Khaled Noaman</td>
  +            <td>Design change: GeneralAttributeCheck is not longer a singleton class.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>Re-organize constant values in XMLAttDef.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-13</td>
  +            <td>Tinny Ng</td>
  +            <td>Move root element check from XMLValidator to XMLScanner
  +                and deprecate XMLValidator::checkRootElement().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-13</td>
  +            <td>Tinny Ng</td>
  +            <td>Update documentation for SAX2XMLReader, DefaultHandler and DOMParser.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-09</td>
  +            <td>Tinny Ng</td>
  +            <td>Regular Expression: Update the Block Names and Block Range to comply to the latest standard.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-09</td>
  +            <td>Carolyn Weiss</td>
  +            <td>DOMIDTest/MemParse fix: Pulled the hardcoded encoding out of the document
  +                itself and made it a #define to make it easier to support other encodings.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-09</td>
  +            <td>Carolyn Weiss</td>
  +            <td>DOMMemTest fix: Changed some literal values to their equivalent hex values
  +                so they work correctly on both ASCII and EBCDIC systems.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-09</td>
  +            <td>Linda Swan</td>
  +            <td>Bug Fix: maxChars in XMLString::copyNString is more related to the target than the src.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-07</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: Create QName in ContentSpecNode only if it is a leaf/Any/PCDataNode.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-07</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: move getRawName() to outer loop in DFAContentModel so that it
  +                is called only once per outer loop.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-06</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 4644] Memory leak in schema traverser.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-02</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 4133] --prefix not used properly in configure.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-01</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 2730] Can't build xerces-c-1.5.1 with ICUMsgLoader.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-01</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 4578] No documentation for XMLTranscoder.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-11-01</td>
  +            <td>Tinny Ng</td>
  +            <td>IDOM: Leak: should allocate the fNodeListPool with the overloaded new.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001/10/29</td>
  +            <td>Tinny Ng</td>
  +            <td>Update samples doc to reflect the latest changes.  Also update runConfigure usage
  +                in build doc to reflect the latest changes.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-26</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Thread safe XMLFloat and XMLDouble.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-26</td>
  +            <td>Tinny Ng</td>
  +            <td>Update SAX standard web link.
  +            </td>
  +        </tr>
  +
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release152"/>
  +    <s2 title="Release Information of &XercesCName; 1.5.2: October 26, 2001">
  +    <table>
  +        <tr>
  +            <td>Date</td>
  +            <td>Contributor</td>
  +            <td>Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-26</td>
  +            <td>Khaled Noaman</td>
  +            <td>Schema:<br/>
  +                 Support group, <br/>
  +                 attributeGroup, <br/>
  +                 all, <br/>
  +                 any, <br/>
  +                 anyAttribute, <br/>
  +                 annotation, <br/>
  +                 notation, <br/>
  +                 redefine, <br/>
  +                 circular import. <br/>
  +                 Add AnySimpleTypeDatatypeValidator. <br/>
  +                 Add XercesGroupInfo. <br/>
  +                 More complex type constraint checking.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-26</td>
  +            <td>PeiYong Zhang</td>
  +            <td>DatatypeValidator:<br/>
  +                 Support DoubleDatatypeValidator, <br/>
  +                 FloatDatatypeValidator, <br/>
  +                 AnyURIDatatypeValidator, <br/>
  +                 AbstractStringValidator, <br/>
  +                 AbstractNumericValidator, <br/>
  +                 AbstractNumericFacetValidator, <br/>
  +                 NCNameDatatypeValidator, <br/>
  +                 NameDatatypeValidator. <br/>
  +                 Add XMLDouble, <br/>
  +                 XMLFloat, <br/>
  +                 XMLInteger, <br/>
  +                 XMLNumber, <br/>
  +                 XMLUri.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-26</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema:<br/>
  +                 Support xsi:type, <br/>
  +                 Unique Particle Attribution Constraint Checking, <br/>
  +                 anyAttribute in Scanner and Validator. <br/>
  +                 Add XercesElementWildCard, <br/>
  +                 AllContentModel, <br/>
  +                 XMLInternalErrorHandler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>PeiYong Zhang</td>
  +            <td>XMLDeleterFor related functions and data are removed.  Replace with XMLRegisterCleanup.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>Henry Zongaro</td>
  +            <td>[Bug 2924] runConfigure script to accept multiple linker options.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>John Warrier</td>
  +            <td>[Bug 2924] runConfigure script to accept multiple compiler options.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>Mark Weaver</td>
  +            <td>[Bug 4213] BinHTTPURLInputStream initialization not thread safe.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>John Clayton</td>
  +            <td>[Bug 4121] BinHTTPUrlInputStream needs to read entire HTTP header.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 4318] Single threaded build fails due to obsolete #define.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2860] gAtomicMutex should be used when APP_NO_THREADS is not defined in both Tru64 and OS400.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-25</td>
  +            <td>Tinny Ng</td>
  +            <td>Comment outside root element should also be reported.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 4342] Validator mutex is not deleted.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 3975] XMLPlatformUtils::Initialize() leaks memory after thousands of calls.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>Kevin Philips</td>
  +            <td>[Bug 3813] BinHTTPURLInputStream has weak HTTP request capabilities.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>Peter A. Volchek</td>
  +            <td>[Bug 2305] Include stdlib.h to BinHTTPURLInputStream.cpp.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>Sean Bright</td>
  +            <td>[Bug 2456] loadXML gives an exception.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-24</td>
  +            <td>Curt Arnold</td>
  +            <td>Fixed xml4com.idl which attempts to set the version of the type library to 1.5.2 when
  +                only major.minor format is allowed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-23</td>
  +            <td>Mark Weaver</td>
  +            <td>[Bug 4060] XMLPlatformUtils leaks a mutex on Solaris, Linux and others.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-23</td>
  +            <td>Mark Weaver</td>
  +            <td>[Bug 880] XMLPlatformUtils::Terminate cannot be called more than once.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-22</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3660] Off-by-one error in DOMString.cpp.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-22</td>
  +            <td>Tinny Ng</td>
  +            <td>Check that memory has been acquired successfully after memory acquisition requests in DOMString.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-22</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3361] "String pool id was not legal" error in Attributes::getURI().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-22</td>
  +            <td>Linda Swan</td>
  +            <td>castToNodeImpl is inconsistent with other cast routines in IDCasts.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>James Berry</td>
  +            <td>Add new file name shortening hints; chmod +x.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>James Berry</td>
  +            <td>Cleanup handling of transcoder failure to transcode a character;
  +                implement canTranscodeTo; thanks to Geoff Coffey.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>James Berry</td>
  +            <td>Correctly swap / and : in classic environment MacOS pathnames; thanks to Geoff Coffey.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>James Berry</td>
  +            <td>Update MacOS projects for CodeWarrior 7 and ProjectBuilder 1.1, new files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3909] return non-zero an exit code when error was encountered.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>Tinny Ng</td>
  +            <td>Modify PParse not to hardcode the number of expected elements as this may vary.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>David McCreedy</td>
  +            <td>Fixed the binary search in XML256TableTranscoder.cpp which
  +                fails for the last item in whichever table it is searching.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>David McCreedy</td>
  +            <td>Added U+0110 to XMLEBCDICTranscoder.cpp's "Unicode to IBM037" translation table.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-19</td>
  +            <td>David McCreedy</td>
  +            <td>Modified DOMPrint and IDOMPrint not to use "endl" method which puts out a newline
  +                in the local code page to generate output.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-18</td>
  +            <td>Jerry Carter</td>
  +            <td>[Bug 3666] Win32MsgLoader unable to retrieve error text if DLL is renamed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-18</td>
  +            <td>Tinny Ng</td>
  +            <td>Use opt2 on AIX platform.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-18</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1699] Redirect "delete this" to a temp ptr to bypass AIX xlC v5
  +                optimization memory leak problem.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-18</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 4015] IDDOMImplementation::createDocumentType hopelessly broken.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-16</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 3750] GeneralAttributeCheck threading bug.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 4177] setupRange uses non-portable code.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-13</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 2409] undocumented XMLException in LocalFileInputSource::new().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-13</td>
  +            <td>Jason Stewart</td>
  +            <td>[Bug 4133] --prefix not used properly in configure.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-10</td>
  +            <td>Jason Stewart</td>
  +            <td>XMLURL::parse now throws an exception if it sees a an http URL without
  +                two forward slashes ('//') following the protocol.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-10</td>
  +            <td>Petr Gotthard</td>
  +            <td>Add "Base64::encode" for encoding binary data.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-09</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1685] memory leak after parsing document with validation error.<br/>
  +                And other miscellaneous memory leak.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-05</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 3831] -1 returned from getIndex() needs to be checked.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-03</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3867] IDOM_Element::getElementsByTagName() threading problem.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-10-02</td>
  +            <td>Tinny Ng</td>
  +            <td>Memory leak in IDOM, need to delete the fDocument created.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-13</td>
  +            <td>Artur Klauser</td>
  +            <td>Patch: Xerces 1.5 w/ libWWW for Tru64.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-13</td>
  +            <td>Artur Klauser</td>
  +            <td>Patch: Xerces 1.5 samples with g++ compiler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-12</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 3565] Stream leaked in ReaderMgr.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-12</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3155] SAX2 does not offer progressive parse.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-11</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 3523] SchemaElementDecl.cpp(242) : error C2202 : not all control paths return a value.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-10</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: Store the fGrammarType instead of calling getGrammarType all the time for faster performance.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-04</td>
  +            <td>Christopher Just</td>
  +            <td>Support IRIX's sproc().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-09-04</td>
  +            <td>Kevin Philips</td>
  +            <td>[Bug 3170] URLs with ? type fragments in them don't work.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-29</td>
  +            <td>Henry Zongaro</td>
  +            <td>Allowing -p as argument to -z or -l in runConfigure.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-29</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: Use XMLBufBid instead of XMLBuffer directly for better performance.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-29</td>
  +            <td>Tinny Ng</td>
  +            <td>Performance: No need to new the child QName in ElemStack addChild.  Remove it for performance gain.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-22</td>
  +            <td>Don Mastrovito</td>
  +            <td>Project files for BCB5.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-21</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 2816]Numerous datatype headers cause CC error 1144.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-21</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 3017] MSVC5.0: C2202: 'compareSpecial' : not all control paths return a value.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-17</td>
  +            <td>Nick Chiang</td>
  +            <td>Fix to memory leak in buildDFA().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-16</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Performance: stateTable created to optimize the identification of new state created.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-10</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Add isHex(), isAlphaNum(), isAllWhiteSpace() and patternMatch() in XMLString.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-09</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2947]IDOM segfault calling getElementsByTagName() using a DOM_Document().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-09</td>
  +            <td>Tinny Ng</td>
  +            <td>Port test case DOMTest to  IDOMTest.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-07</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2676] IDOM: pure virtual called in IDDeepNodeListImpl::item().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-07</td>
  +            <td>Kari Whitcomb</td>
  +            <td>IDOM: Unaligned Access warnings in IDOM samples.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-02</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1329] SAX2XMLReaderImpl leaks XMLBuffers.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-08-02</td>
  +            <td>Tinny Ng</td>
  +            <td>Allow DOMCount/SAXCount/IDOMCount/SAX2Count to take a file that has a list of xml file as input.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-31</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Fix: memory leak in DFAContentModel::postTreeBuildInit().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001/07/27</td>
  +            <td>Tinny Ng</td>
  +            <td>Fix bug in 'transcode' functions reported by Evgeniy Gabrilovich.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-27</td>
  +            <td>Tinny Ng</td>
  +            <td>put getScanner() back as they were there before, not to break existing apps.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-26</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2751] Several NameChar characters missing from internal tables.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-26</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 2815] util/regx/RegxParser.cpp compile fails on HP-UX 10.20 with CC A.10.40.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-24</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 2707] DFAContentModel memory leaks.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-19</td>
  +            <td>Tinny Ng</td>
  +            <td>Add IDOMCount, IDOMPrint, SAX2Count, and SAX2Print to samples.dsw.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-19</td>
  +            <td>Tinny Ng</td>
  +            <td>Add more tests in sanityTest.pl.
  +            </td>
  +        </tr>
  +
  +
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release151"/>
  +    <s2 title="Release Information of &XercesCName; 1.5.1: July 18, 2001">
  +    <table>
  +        <tr>
  +            <td>Date</td>
  +            <td>Contributor</td>
  +            <td>Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-17</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 2643] - derivation by extension of complex types does not permit
  +            addition of ONLY element content.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-16</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2410] DOMParser::parse() throws undocumented exceptions.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-16</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2512] typing mistake in code example of chapter "Constructing an XML Reader".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-16</td>
  +            <td>Tinny Ng</td>
  +            <td>APIDocs fix: default for schema processing in DOMParser, IDOMParser,
  +            and SAXParser should be false.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-15</td>
  +            <td>James Berry</td>
  +            <td>Add new files to UnionTypeValidator and ListDataTypeValidator to MacOS Project files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-09</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add constraint checking for simple types.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-11</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Fix to normalizeWhiteSpace: synchronize fDatatypeBuffer with toFill.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-05</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Add ListDatatypeValidator and UnionDatatypeValidator.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-10</td>
  +            <td>Tinny Ng</td>
  +            <td>Give proper error message when scanning external id.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-10</td>
  +            <td>Tinny Ng</td>
  +            <td>The first char of PI Target Name should be checked.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-09</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add &lt;any&gt; declaration.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-09</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fixes for import/include declarations.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-09</td>
  +            <td>Tinny Ng</td>
  +            <td>Partial Markup in Parameter Entity is validity constraint and thus
  +            should be just error, not fatal error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>Add new samples projects: IDOMPPrint and SAX2Print for ProjectBuilder
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>Update ProjectBuilder Xerces project for latest file additions.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>[Bug 2486] Files missing from XercesLib.mcp.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>Add new samples for CodeWarrior build: IDOMPrint and SAX2Print.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>New file for use in building Carbon samples.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>Simplify file existence checks.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>[Bug 2495] Missing ( in xerces-c-src1_5_0/obj/Makefile.in.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-08</td>
  +            <td>James Berry</td>
  +            <td>Fix clean and distclean targets; broken because rm fails if passed no files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-06</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2472] Linker options ignored on IRIX.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-06</td>
  +            <td>Martin Kalen</td>
  +            <td>Automatic build of single-threaded library.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Encoding String must present for external entity text decl.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-05</td>
  +            <td>Tinny Ng</td>
  +            <td>Standalone checking is validity constraint and thus should be just error, not fatal error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-05</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Add NotationDatatypeValidator, QNameDatatypeValidator and ENTITYDatatypeValidator.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-04</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Add IDREFDatatypeValidator and IDDatatypeValidator.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-04</td>
  +            <td>PeiYong Zhang</td>
  +            <td>XMLString:isValidName(): to validate Name (XML [4][5]).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-03</td>
  +            <td>Tinny Ng</td>
  +            <td>Some compilers (e.g. the HP compiler) has mistaken the parameter 'std',
  +            which is short for standalone as the special prefix used by the standard libraries.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-07-03</td>
  +            <td>Miroslaw Dobrzanski-Neumann</td>
  +            <td>Supporting dce threading on AIX and Solaris.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-27</td>
  +            <td>David Bertoni</td>
  +            <td>[Bug 2365] Huge performance problem with the parser in XMLScanner::sendCharData().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-27</td>
  +            <td>David Bertoni</td>
  +            <td>[Bug 2363] XMLScanner::sendCharData() can send the wrong length to the handler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-27</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 2353] Validating Parser parses after validation failed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-27</td>
  +            <td>Murray Cumming</td>
  +            <td>[Bug 1147] Headers install in wrong directory.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-26</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2119] DOMString::print() should use DOMString::transcode() for transcoding.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-25</td>
  +            <td>Stephen Dulin</td>
  +            <td>OS390 updates.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-25</td>
  +            <td>Linda Swan</td>
  +            <td>AS400 updates.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-25</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 1393] Converting from Unicode to iso8859.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-25</td>
  +            <td>Matt Lovett</td>
  +            <td>[Bug 965] scanDocTypeDecl messes up the source offsets.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-25</td>
  +            <td>Khaled Noaman</td>
  +            <td>Add constraint checking on elements in complex types.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-22</td>
  +            <td>James Berry</td>
  +            <td>[Bug 2277] Bad argument to ConvertFromUnicodeToText.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-22</td>
  +            <td>PeiYong Zhang</td>
  +            <td>[Bug 2263] 'SIZE' : redefinition ( BooleanDatatypeValidator.cpp ).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-22</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 2258] Bug in Iconv and Iconv390.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-22</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2225] assignment vs. comparison in if clause.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-22</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2257] 1.5 thinks a &lt;?xml-stylesheet ...&gt; tag is a &lt;?xml ...&gt; tag.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-21</td>
  +            <td>Khaled Noaman</td>
  +            <td>[Bug 1946] Standalone validity check only for external decl.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-21</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2262] Duplicated header guard.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-20</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Proper Debug Guard: Reported by Dean.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-19</td>
  +            <td>Tinny Ng</td>
  +            <td>Namespace should be off by default in XMLScanner.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001/06/19</td>
  +            <td>Tinny Ng</td>
  +            <td>Add installAdvDocHandler to SAX2XMLReader as the code is there already.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-19</td>
  +            <td>Khaled Noaman</td>
  +            <td>Handle maxChars > length(toTranscode).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-18</td>
  +            <td>Erik Rydgren</td>
  +            <td>Memory leak fix: to addlevel().
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-18</td>
  +            <td>Khaled Noaman and PeiYong Zhang</td>
  +            <td>Add support for 'fixed' facet.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>Added constraint checking for ref on elements.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Tinny Ng</td>
  +            <td>ICU 1.8.1 update.
  +            </td>
  +        </tr>
  +
  +
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release150"/>
  +    <s2 title="Release Information of &XercesCName; 1.5.0: June 15, 2001">
  +
  +    <table>
  +        <tr>
  +            <td>Date</td>
  +            <td>Contributor</td>
  +            <td>Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Tinny Ng</td>
  +            <td>Schema:<br/>
  +                Add Schema support in XMLParsers (DOM/SAX/SAX2), XMLScanner. <br/>
  +                Create SchemaValidator. <br/>
  +                Add Grammar Model. <br/>
  +                Support xsi:nil. <br/>
  +                Support xsi:schemaLocation and xsi:noNamespaceSchemaLocation. <br/>
  +                Update samples to enable schema.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Tinny Ng</td>
  +            <td>Break DTDValidator into DTDGrammar, DTDScanner, and DTDValidator.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Tinny Ng</td>
  +            <td>IDOM:<br/>
  +                Complete the Range, TreeWalker, NodeIterator, and other memory fixes.<br/>
  +                Support IDOM on UNIX platform.<br/>
  +                Add samples IDOMPrint, and IDOMCount.<br/>
  +                Add test cases IRangeTest and ITraversal.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>Schema:<br/>
  +                 Add Regular Expression. <br/>
  +                 Add Schema Messages. <br/>
  +                 Add Schema Simple Type Support. <br/>
  +                 Add Schema Complex Type Support (Except Group). <br/>
  +                 Add Schema Attribute Declarations support. <br/>
  +                 Add Schema Element Declarations support. <br/>
  +                 Support Simple Content and Complex Content. <br/>
  +                 Support Element and attribute reuse using "ref". <br/>
  +                 Support Schema Choice and Sequence. <br/>
  +                 Support Schema Import and Include.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>Khaled Noaman</td>
  +            <td>DatatypeValidator:<br/>
  +                Add DatatypeValidator and DatatypeValidatorFactory.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Schema:<br/>
  +                Add Schema support in Content Model. <br/>
  +                Add Schema Exception Handling. <br/>
  +                Add Schema XUtil. <br/>
  +                Add QName Support. <br/>
  +                Support SubstitutionGroup.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-15</td>
  +            <td>PeiYong Zhang</td>
  +            <td>DatatypeValidator:<br/>
  +                 Support Base64DatatypeValidator, <br/>
  +                 BooleanDatatypeValidator, <br/>
  +                 DecimalDatatypeValidator, <br/>
  +                 HexBinDatatypeValidator, <br/>
  +                 StringDatatypeValidator, <br/>
  +                 InvalidDatatypeFacetException, <br/>
  +                 InvalidDatatypeValueException.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-13</td>
  +            <td>Erik Rydgren</td>
  +            <td>[Bug 812] Memory leak with multiple !ATTLIST on single !ELEMENT.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-08</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 2043] XMLFormatter unallocates arrays incorrectly.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-08</td>
  +            <td>PeiYong Zhang</td>
  +            <td>Documentation and project files update for Xerces 1.5.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-08</td>
  +            <td>Khaled Noaman</td>
  +            <td>IDOM Documentation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-07</td>
  +            <td>Khaled Noaman</td>
  +            <td>Fix no error message for faulted-in attributes if reuse grammar for 3+ times.
  +    	</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-06</td>
  +            <td>Peter A. Volchek</td>
  +            <td>/Platforms/Win32/Win32PlatformUtils.cpp<br/>
  +    	    Include stdlib.h.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-06</td>
  +            <td>James Berry</td>
  +            <td>Update Mac OS ProjectBuilder projects.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-06</td>
  +            <td>James Berry</td>
  +            <td>Fix invalid file references in project.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-06</td>
  +            <td>James Berry</td>
  +            <td>/src/util XMLString.cpp<br/>
  +                Clean up compiler warning.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-06</td>
  +            <td>James Berry</td>
  +            <td>/src/util/regx RegxParser.cpp<br/>
  +                Fix two improper NULL tests.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-05</td>
  +            <td>James Berry</td>
  +            <td>Add support for Mac OS X command line configuration and build.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-5</td>
  +            <td>Peter A. Volchek</td>
  +            <td>Add 'const' to getGrammar.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-04</td>
  +            <td>PeiYong Zhang</td>
  +            <td>The start tag "&#60;?xml" could be	followed by (#x20 | #x9 | #xD | #xA)+.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-04</td>
  +            <td>James Berry</td>
  +            <td>Add support for tracking error count during parse; enables
  +                simple parse without requiring error handler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-06-01</td>
  +            <td>Tinny Ng</td>
  +            <td>/scripts/packageSources.pl<br/>
  +    	    Keep the BCB4 project files	in the source package.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-22</td>
  +            <td>James Berry</td>
  +            <td>Check for existence of MacOS Unicode Converter routines prior to instantiating our
  +    	 transcoder object; Xerces will thus panic, rather than crash, if they don't exist.
  +    	 Add support to check for existence of MacOS Unicode Converter to avoid calling through NULL pointer.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-16</td>
  +            <td>Henry Zongaro</td>
  +            <td>IDOM: Add DeepNodeList support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-16</td>
  +            <td>Henry Zongaro</td>
  +            <td>IDOM: Add namespace support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-10</td>
  +            <td>Christian Schuhegger</td>
  +            <td>[Bug 1158] built-in buffer limit could be smaller than system limit,
  +                use PATH_MAX instead.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-10</td>
  +            <td>Arnaud LeHors</td>
  +            <td>[Bug 1605] AttrNSImpl.cpp: fixed typo in constructor.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-09</td>
  +            <td>Curt Arnold</td>
  +            <td>[Bug 1500] The public id was set twice and the system id was not set on Notations.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-04</td>
  +            <td>Tinny Ng</td>
  +            <td>DOMPrint: Check error before continuing.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-03</td>
  +            <td>Tinny Ng</td>
  +            <td>ICU 1.8 update.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-05-03</td>
  +            <td>Khaled Noaman</td>
  +            <td>Added new option to the parsers so that the NEL (0x85) char can be
  +                treated as a newline character.
  +    	</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-23</td>
  +            <td>Erik Rydgren</td>
  +            <td>DTDScanner: Reuse grammar should allow users to use any stored
  +                element decl as root.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-19</td>
  +            <td>William L Hopper</td>
  +            <td>Win32PlatformUtils: InterlockedCompareExchange on different Windows.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-19</td>
  +            <td>William L Hopper</td>
  +            <td>BCB project changes.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-16</td>
  +            <td>James Berry</td>
  +            <td>MacOSUnicodeConverter: Fix include path, Updates to reflect changes for
  +                Mac OS X final and Update MacOS projects for Mac OS X final ProjectBuilder.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-11</td>
  +            <td>Arnaud LeHors</td>
  +            <td>[Bug 1303] AttrImpl: allow value to be set to null.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-11</td>
  +            <td>Tinny Ng</td>
  +            <td>DOMParser: Attribute default values not printed in document
  +    	    type internal subset interface.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-10</td>
  +            <td>Tinny Ng</td>
  +            <td>createdocs.bat: fix PDF generation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-04</td>
  +            <td>Alberto Massari</td>
  +            <td>DTDElementDecl: Error checking for null content spec.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-02</td>
  +            <td>Andy Heninger</td>
  +            <td>IDOM: imported.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-04-02</td>
  +            <td>Andy Heninger</td>
  +            <td>IThreadTest: imported.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-30</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 1150] Problems with Namespaces and validating parsing.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-27</td>
  +            <td>Roman Sulzhyk</td>
  +            <td>[Bug 1069] Explicit Makefile dependency for 'lib' build.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-26</td>
  +            <td>PeiYong Zhang</td>
  +            <td>When Standalone="yes", it is NOT supposed to accept element
  +                which is defined in external DTD with #FIXED attribute.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-26</td>
  +            <td>Andy Heninger</td>
  +            <td>Update packageBinaries.pl for ICU 1.8. ICU debug .lib file
  +                names and locations changed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-23</td>
  +            <td>Jeff Harrell</td>
  +            <td>[Bug 1018] AutoSense looks for "IRIX" when it should look for "sgi" or "__sgi".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-22</td>
  +            <td>Roman Sulzhyk</td>
  +            <td>[Bug 1069] The Makefiles fail to locate .cpp -> .o dependency and rebuild .o all the time.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-22</td>
  +            <td>John Rope</td>
  +            <td>[Bug 1021] Accessing an XML file using the file "protocol" and a UNC path fails
  +                to open the file.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-09</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 733] Seg fault when trying to parse empty filename.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-06</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 677] Infinite loop caused by malformed XML. Happen when namespace is on.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-03-02</td>
  +            <td>Martin Kalen</td>
  +            <td>Enabling libWWW NetAccessor support under UNIX. Tested with latest
  +                tarball of libWWW (w3c-libwww-5.3.2) under RedHat Linux 6.1.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-27</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 676] Linux for S/390 build requires -fPIC.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-22</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 678] StdInParse doesn't output filename or duration.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-21</td>
  +            <td>Matt Lovett</td>
  +            <td>ICUTranscoder::transcodeFrom() expects ICU function ucnv_toUnicode
  +                to return an extra element in fSrcOffsets to allow us to figure
  +                out the last char size, which in fact it is not.  The fix is to compute
  +                the last char size ourselves using the total bytes used.
  +               </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001/02/16</td>
  +            <td>Andy Heninger</td>
  +            <td>Change limit test to reduce spurious pointer assignment warnings from BoundsChecker.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-14</td>
  +            <td>Bob Kline</td>
  +            <td>Better FAQ for the checksum error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-14</td>
  +            <td>Mark Everline</td>
  +            <td>Core dump when UTF-16 encoding contradicts actual encoding.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-13</td>
  +            <td>Hiram Clawson</td>
  +            <td>Update samples/tests files for on UnixWare 7.1.1 with gcc 2.95. Add
  +                UNIXWARE platform defines to Makefile.incl, add recognition of
  +                sysv5uw7 to configure.in, and add unixware as recognized platform to runConfigure.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-09</td>
  +            <td>Martin Kalen</td>
  +            <td>Update support for SCO UnixWare 7 (gcc). Tested under UnixWare 7.1.1
  +                with gcc version 2.95.2 19991024 (release) with gmake 3.79.1.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-08</td>
  +            <td>Martin Kalen</td>
  +            <td>Enable COMPAQ Tru64 UNIX machines to build xerces-c with gcc (tested using
  +                COMPAQ gcc version2.95.2 19991024 (release) and Tru64 V5.0 1094).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-07</td>
  +            <td>Bill Schindler</td>
  +            <td>Rearranged statements in Initialize() so that platformInit() is called
  +                before an XMLMutex is created.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-07</td>
  +            <td>Richard Ko</td>
  +            <td>Storage overlay in ucnv_setFromUCallBack.</td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-05</td>
  +            <td>Tinny Ng</td>
  +            <td>[Bug 766] /src/util/Compilers/CSetDefs.hpp: define NO_NATIVE_BOOL macro only
  +                if not pre-defined/reserved.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td>2001-02-05</td>
  +            <td>Jordan Naftolin</td>
  +            <td>Add createPDF.jar and apachPDFStyle.xsl to convert documentation xml files
  +                to pdf format.
  +            </td>
  +        </tr>
  +
  +    </table>
  +
  +    </s2>
  +
  +    <anchor name="Release140"/>
  +    <s2 title="Release Information of &XercesCName; 1.4.0: January 31, 2001">
  +
  +    <table>
  +        <tr>
  +            <td >Date</td>
  +            <td >Contributor</td>
  +            <td >Description</td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-26</td>
  +            <td >Walker Curtis</td>
  +            <td >Undefined symbol error when building a single threaded version of the xerces lib on irix.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-25</td>
  +            <td >Arnaud LeHors</td>
  +            <td >Added a flag to turn off error checking in the DOM, this is primarily
  +                 used while building the DOM from the parser to get better performance.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-25</td>
  +            <td >Khaled Noaman</td>
  +            <td >Let users add their encoding to the intrinsic mapping table.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-25</td>
  +            <td >Khaled Noaman</td>
  +            <td >const should be used instead of static const.  And other clean up bug fixes.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-24</td>
  +            <td >Arnaud LeHors</td>
  +            <td >Fixed replaceChild to handle the case where a node is replaced
  +                 by itself. Cleaned up insertBefore.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-24</td>
  +            <td >Tinny Ng</td>
  +            <td >Guard the use of '-ptr${OUTDIR}' in EnumVal/Makefile.in
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-22</td>
  +            <td >Curt Arnold.</td>
  +            <td >Loads winsock dynamically.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-19</td>
  +            <td >Curt Arnold.</td>
  +            <td >COM various updates: updated the GUID's so both can coexist,
  +                 better error reporting and fixed a new minor bugs.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-18</td>
  +            <td >Bill Schindler</td>
  +            <td >FAQ spell check, fix typos, fix grammar, readability editing, clean up formatting,
  +                 re-organize so related topics appear together.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-18</td>
  +            <td >Bill Schindler</td>
  +            <td >Project file updated due to removal of ChildAndParentNode.cpp.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-17</td>
  +            <td >Arnaud LeHors</td>
  +            <td >DOM Implementation Optimization.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-17</td>
  +            <td >Volker Krause</td>
  +            <td >ElementImpl::getAttributeNS should check null pointer.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-17</td>
  +            <td >Arnaud LeHors</td>
  +            <td >Have a single counter global to the document.  Removed node basis change counter.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-17</td>
  +            <td >Arnaud LeHors</td>
  +            <td >Removed unused field in NodeImpl that was left over.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-17</td>
  +            <td >Tinny Ng</td>
  +            <td >Access violations and stack overflows in insertBefore.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-15</td>
  +            <td >David Bertoni</td>
  +            <td >Performance Patches.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-12</td>
  +            <td >Tinny Ng</td>
  +            <td >Fix style-ibm.zip for documentation generation.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-12</td>
  +            <td >Tinny Ng</td>
  +            <td >Remove the two obsolete file: stylesheets\Copy of book2project.xsl and
  +                 stylesheets\Copy of document2html.xsl in style-apachexml.jar
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-12</td>
  +            <td >Tinny Ng</td>
  +            <td >Documentation Enhancement: explain values of Val_Scheme.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-12</td>
  +            <td >Tinny Ng</td>
  +            <td >Documentation Enhancement: Add list of SAX2 feature strings that are supported.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2001-01-04</td>
  +            <td >Khaled Noaman</td>
  +            <td >Assertion `size > 0' failure when cloning a node if the last attributes
  +                 has been removed.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-28</td>
  +            <td >James Berry</td>
  +            <td >Omit include carbon.h in favor of specific include files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-28</td>
  +            <td >James Berry</td>
  +            <td >Add or modify cvs header in various files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-28</td>
  +            <td >James Berry</td>
  +            <td >Eliminate compiler warning in RangeImpl.cpp.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-28</td>
  +            <td >James Berry</td>
  +            <td >Replace include of Carbon.h with specific include files.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-28</td>
  +            <td >James Berry</td>
  +            <td >Move away from include of Carbon.h; include only needed files instead.
  +                 Fix bug in parsing of upwardly relative paths under classic (thanks to Lawrence You).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-22</td>
  +            <td >Tinny Ng</td>
  +            <td >XMLUni::fgEmptyString which is defined as "EMPTY" is incorrectly used as
  +                 an empty string; in fact XMLUni::fgZeroLenString should be used instead.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-22</td>
  +            <td >Tinny Ng</td>
  +            <td >Add the new header LexicalHandler.hpp to Makefile.in.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-22</td>
  +            <td >Murray Cumming</td>
  +            <td >removes '-instances=static' from the Linux link sections.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-22</td>
  +            <td >David Bertoni</td>
  +            <td >SAX2-ext's LexicalHandler support.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-14</td>
  +            <td >Tinny Ng</td>
  +            <td >Better instruction for using packageBinaries.pl.  Use symbol XercesCInstallDir
  +                 and XercesCSrcInstallDir instead of hardcoding the Xerces version number in the file.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-14</td>
  +            <td >Tinny Ng</td>
  +            <td >Fix API document generation warning: "Warning: end of member group without matching begin".
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-14</td>
  +            <td >Tinny Ng</td>
  +            <td >Add RangeTest as part of the xerces-all MSVC++ workspace.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-12</td>
  +            <td >Gareth Reakes</td>
  +            <td >null pointer bug.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-08</td>
  +            <td >Tinny Ng</td>
  +            <td >Entity Reference cleanup dumping core if the last entity reference is deleted.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-06</td>
  +            <td >Tinny Ng</td>
  +            <td >fix the link to FAQ.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-12-06</td>
  +            <td >Tinny Ng</td>
  +            <td >further fixes to Range, and update RangeTest.cpp with more test coverage.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-30</td>
  +            <td >Bill Schindler</td>
  +            <td >Spell check, fix typos, fix grammar, readability editing, clean up formatting.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-30</td>
  +            <td >Bill Schindler</td>
  +            <td >Remove dead code (old StdOut and StdErr functions); minor clean-up.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-30</td>
  +            <td >Tinny Ng</td>
  +            <td >patch to fix a number of Range problems.  See mail of 11/21/2000.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-30</td>
  +            <td >Tinny Ng</td>
  +            <td >DOM_Text::splitText(), fix off by one error in the test for index too big error.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-30</td>
  +            <td >Tinny Ng</td>
  +            <td >reuseValidator - fix bugs (spurious errors) that occurred on reuse due to
  +                 pools already containing some items.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-08</td>
  +            <td >Andrei Smirnov</td>
  +            <td >Build updates for Solaris 2.8 64 bit.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000/11/07</td>
  +            <td >Tinny Ng</td>
  +            <td >Bug fix for DTD entity reference problem reported by Tony Wuebben on 10/25.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-07</td>
  +            <td >Tinny Ng</td>
  +            <td >config.guess and config.sub updated to newer versions.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-07</td>
  +            <td >Pieter Van-Dyck</td>
  +            <td >Change InterlockedCompareExchange for compatibility with Borland BCB5
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-07</td>
  +            <td >Pieter Van-Dyck</td>
  +            <td >Fix incorrect version number in gXercesMinVersion.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-11-01</td>
  +            <td >Tinny Ng</td>
  +            <td >SAX bug fix:  Attribute lists were throwing exceptions rather than returning
  +                 null when an attribute could not be found by name.
  +            </td>
  +        </tr>
  +
  +       <tr>
  +            <td >2000-11-01</td>
  +            <td >Tinny Ng</td>
  +            <td >Scanner bug fix:  with progressive parsing, namespace and validation
  +                 options were not being set correctly.  Symptoms included failure to detect
  +                 ignorable white space.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-31</td>
  +            <td >Tinny Ng</td>
  +            <td >DOM NodeIterator bug fix: iterators would sometimes continue beyond their
  +                 starting (root) node.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-20</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMParser bug fix - erroneous attempt to look up name space URIs
  +                 while scanning default attribute values in DTD removed.  Was a
  +                 crashing bug when namespaces were enabled.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-20</td>
  +            <td >Andy Heninger</td>
  +            <td >DOM NodeFilter - define values for FilterAction enum to match those in the
  +                 DOM spec.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-19</td>
  +            <td >Andy Heninger</td>
  +            <td >SAXCount sample, allow multiple files on command line.  DOMCount sample, rename
  +                 error handler class to say that it is an error handler.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-18</td>
  +            <td >James Berry</td>
  +            <td >MacOS project file updates.  Small code optimization.  Add comments to clarify and
  +                 to reflect new fixed XMLCh size.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-17</td>
  +            <td >Andy Heninger</td>
  +            <td >Bug Fix - problems with multi-byte characters on input buffer boundaries.
  +            </td>
  +        </tr>
  +
  +       <tr>
  +            <td >2000-10-17</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMPRintFormatTarget, bad override of writeChars fixed (missing const).
  +                 XMLFormatTarget, removed version of writeChars with no length.  Can not be
  +                 safely used, and obscured other errors.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-16</td>
  +            <td >Andy Heninger</td>
  +            <td >Change XMLCh back to unsigned short on all platforms
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-13</td>
  +            <td >Devin Barnhart</td>
  +            <td >COM: interpret BSTR as UTF-16 in documents
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-13</td>
  +            <td >Edward Bortner</td>
  +            <td >Solaris: change detection for native support for type bool to defined(_BOOL).
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-13</td>
  +            <td >Nadav Aharoni</td>
  +            <td >MXLString::trim() bug fix: failure to null terminate result.
  +            </td>
  +        </tr>
  +
  +         <tr>
  +            <td >2000-10-10</td>
  +            <td >Bill Schindler</td>
  +            <td >XMLFormatter:  Fix problems with output to multi-byte encodings.
  +            </td>
  +        </tr>
  +
  +         <tr>
  +            <td >2000-10-10</td>
  +            <td >Andy Heninger</td>
  +            <td >From Janitor, remove the addition that is having compile problems in MSVC.
  +            </td>
  +        </tr>
  +
  +          <tr>
  +            <td >2000-10-10</td>
  +            <td >James Berry</td>
  +            <td >Fix a bug in returned length of transcoded string.
  +                 Add a few comments.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-09</td>
  +            <td >James Berry</td>
  +            <td >ProjectBuilder project to build Xerces.
  +            </td>
  +        </tr>
  +
  +       <tr>
  +            <td >2000-10-09</td>
  +            <td >James Berry</td>
  +            <td >  Numerous Changes:
  +                  - Increase environmental sensitivity with hope of supporting pre OS 9
  +                    OS versions.
  +                  - Enhanced path creation/interpretation to support proper unix style
  +                    paths under Mac OS X instead of the volume rooted paths we previously
  +                    used. Paths under Classic remain the same.
  +                  - Better timer resolution.
  +                  - Detect functionality via unresolved symbols rather than Gestalt
  +                    where possible.
  +                  - Softly back away from URLAccess...if it's not installed, we just
  +                    don't support a net accessor.
  +                  - Additional support for XMLCh/UniChar size differences under
  +                    GCC on Mac OS X.
  +                      - Fix Mac OS X support. GCC in this environment sets wchar_t to a 32 bit
  +                        value which requires an additional transcoding stage (bleh...)
  +                      - Improve sensitivity to environment in order to support a broader
  +                        range of system versions.
  +                      - Fix a few compiler sensitivities.
  +                  - Carbon.h header support
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-09</td>
  +            <td >James Berry</td>
  +            <td >Add some auto_ptr functionality to allow modification of monitored
  +                 pointer value. This eases use of Janitor in some situations.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-10-09</td>
  +            <td >James Berry</td>
  +            <td >Autosense.hpp: modify sensing of Mac OS X.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-28</td>
  +            <td >Andy Heninger</td>
  +            <td >DOM_Document::putIdentifier() removed.  There never was an implementation
  +                 for this function.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-28</td>
  +            <td >Curt Arnold</td>
  +            <td >COM wrappers updated.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-28</td>
  +            <td >Linda Swan</td>
  +            <td >AS400 related changes.
  +            </td>
  +        </tr>
  +
  +       <tr>
  +            <td >2000-09-28</td>
  +            <td >Andy Heninger</td>
  +            <td >DOM_Document - remove the un-implemented function putIdentifier()
  +                 from the header.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-28</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMParser MemoryLeak fixed.  Occurred when a document redefined the
  +                  a builtin entity, e.g. &lt;.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-28</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMPrint sample: add deletes before exit so boundschecker runs cleanly.
  +            </td>
  +        </tr>
  +
  +
  +        <tr>
  +            <td >2000-09-22</td>
  +            <td >James Berry</td>
  +            <td >  Change file access permissions to fsRdPerm. Since we never write, there's
  +                  no reason to request write access. Thanks to John Mostrom @ Adobe.
  +                  Also nuke a few spaces and the entire defunct support for reading
  +                  directly from MacOS resources.
  +            </td>
  +        </tr>
  +
  +        <tr>
  +            <td >2000-09-22</td>
  +            <td >Arundhari Bhowmick</td>
  +            <td >DOM Parser:  internal subset entity printing update.
  +            </td>
  +        </tr>
   
  -<s2 title="&XercesCName; Version 1.5.2: October 26, 2001">
  -<table>
  -    <tr>
  -        <td>Date</td>
  -        <td>Contributor</td>
  -        <td>Description</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-26</td>
  -        <td>Khaled Noaman</td>
  -        <td>Schema:<br/>
  -             Support group, <br/>
  -             attributeGroup, <br/>
  -             all, <br/>
  -             any, <br/>
  -             anyAttribute, <br/>
  -             annotation, <br/>
  -             notation, <br/>
  -             redefine, <br/>
  -             circular import. <br/>
  -             Add AnySimpleTypeDatatypeValidator. <br/>
  -             Add XercesGroupInfo. <br/>
  -             More complex type constraint checking.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-26</td>
  -        <td>PeiYong Zhang</td>
  -        <td>DatatypeValidator:<br/>
  -             Support DoubleDatatypeValidator, <br/>
  -             FloatDatatypeValidator, <br/>
  -             AnyURIDatatypeValidator, <br/>
  -             AbstractStringValidator, <br/>
  -             AbstractNumericValidator, <br/>
  -             AbstractNumericFacetValidator, <br/>
  -             NCNameDatatypeValidator, <br/>
  -             NameDatatypeValidator. <br/>
  -             Add XMLDouble, <br/>
  -             XMLFloat, <br/>
  -             XMLInteger, <br/>
  -             XMLNumber, <br/>
  -             XMLUri.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-26</td>
  -        <td>Tinny Ng</td>
  -        <td>Schema:<br/>
  -             Support xsi:type, <br/>
  -             Unique Particle Attribution Constraint Checking, <br/>
  -             anyAttribute in Scanner and Validator. <br/>
  -             Add XercesElementWildCard, <br/>
  -             AllContentModel, <br/>
  -             XMLInternalErrorHandler.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>PeiYong Zhang</td>
  -        <td>XMLDeleterFor related functions and data are removed.  Replace with XMLRegisterCleanup.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>Henry Zongaro</td>
  -        <td>[Bug 2924] runConfigure script to accept multiple linker options.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>John Warrier</td>
  -        <td>[Bug 2924] runConfigure script to accept multiple compiler options.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>Mark Weaver</td>
  -        <td>[Bug 4213] BinHTTPURLInputStream initialization not thread safe.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>John Clayton</td>
  -        <td>[Bug 4121] BinHTTPUrlInputStream needs to read entire HTTP header.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 4318] Single threaded build fails due to obsolete #define.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2860] gAtomicMutex should be used when APP_NO_THREADS is not defined in both Tru64 and OS400.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-25</td>
  -        <td>Tinny Ng</td>
  -        <td>Comment outside root element should also be reported.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 4342] Validator mutex is not deleted.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 3975] XMLPlatformUtils::Initialize() leaks memory after thousands of calls.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>Kevin Philips</td>
  -        <td>[Bug 3813] BinHTTPURLInputStream has weak HTTP request capabilities.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>Peter A. Volchek</td>
  -        <td>[Bug 2305] Include stdlib.h to BinHTTPURLInputStream.cpp.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>Sean Bright</td>
  -        <td>[Bug 2456] loadXML gives an exception.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-24</td>
  -        <td>Curt Arnold</td>
  -        <td>Fixed xml4com.idl which attempts to set the version of the type library to 1.5.2 when
  -            only major.minor format is allowed.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-23</td>
  -        <td>Mark Weaver</td>
  -        <td>[Bug 4060] XMLPlatformUtils leaks a mutex on Solaris, Linux and others.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-23</td>
  -        <td>Mark Weaver</td>
  -        <td>[Bug 880] XMLPlatformUtils::Terminate cannot be called more than once.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-22</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3660] Off-by-one error in DOMString.cpp.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-22</td>
  -        <td>Tinny Ng</td>
  -        <td>Check that memory has been acquired successfully after memory acquisition requests in DOMString.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-22</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3361] "String pool id was not legal" error in Attributes::getURI().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-22</td>
  -        <td>Linda Swan</td>
  -        <td>castToNodeImpl is inconsistent with other cast routines in IDCasts.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>James Berry</td>
  -        <td>Add new file name shortening hints; chmod +x.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>James Berry</td>
  -        <td>Cleanup handling of transcoder failure to transcode a character;
  -            implement canTranscodeTo; thanks to Geoff Coffey.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>James Berry</td>
  -        <td>Correctly swap / and : in classic environment MacOS pathnames; thanks to Geoff Coffey.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>James Berry</td>
  -        <td>Update MacOS projects for CodeWarrior 7 and ProjectBuilder 1.1, new files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3909] return non-zero an exit code when error was encountered.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>Tinny Ng</td>
  -        <td>Modify PParse not to hardcode the number of expected elements as this may vary.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>David McCreedy</td>
  -        <td>Fixed the binary search in XML256TableTranscoder.cpp which
  -            fails for the last item in whichever table it is searching.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>David McCreedy</td>
  -        <td>Added U+0110 to XMLEBCDICTranscoder.cpp's "Unicode to IBM037" translation table.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-19</td>
  -        <td>David McCreedy</td>
  -        <td>Modified DOMPrint and IDOMPrint not to use "endl" method which puts out a newline
  -            in the local code page to generate output.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-18</td>
  -        <td>Jerry Carter</td>
  -        <td>[Bug 3666] Win32MsgLoader unable to retrieve error text if DLL is renamed.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-18</td>
  -        <td>Tinny Ng</td>
  -        <td>Use opt2 on AIX platform.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-18</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 1699] Redirect "delete this" to a temp ptr to bypass AIX xlC v5
  -            optimization memory leak problem.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-18</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 4015] IDDOMImplementation::createDocumentType hopelessly broken.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-16</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 3750] GeneralAttributeCheck threading bug.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-15</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 4177] setupRange uses non-portable code.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-13</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 2409] undocumented XMLException in LocalFileInputSource::new().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-13</td>
  -        <td>Jason Stewart</td>
  -        <td>[Bug 4133] --prefix not used properly in configure.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-10</td>
  -        <td>Jason Stewart</td>
  -        <td>XMLURL::parse now throws an exception if it sees a an http URL without
  -            two forward slashes ('//') following the protocol.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-10</td>
  -        <td>Petr Gotthard</td>
  -        <td>Add "Base64::encode" for encoding binary data.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-09</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 1685] memory leak after parsing document with validation error.<br/>
  -            And other miscellaneous memory leak.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-05</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 3831] -1 returned from getIndex() needs to be checked.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-03</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3867] IDOM_Element::getElementsByTagName() threading problem.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-10-02</td>
  -        <td>Tinny Ng</td>
  -        <td>Memory leak in IDOM, need to delete the fDocument created.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-13</td>
  -        <td>Artur Klauser</td>
  -        <td>Patch: Xerces 1.5 w/ libWWW for Tru64.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-13</td>
  -        <td>Artur Klauser</td>
  -        <td>Patch: Xerces 1.5 samples with g++ compiler.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-12</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 3565] Stream leaked in ReaderMgr.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-12</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3155] SAX2 does not offer progressive parse.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-11</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 3523] SchemaElementDecl.cpp(242) : error C2202 : not all control paths return a value.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-10</td>
  -        <td>Tinny Ng</td>
  -        <td>Performance: Store the fGrammarType instead of calling getGrammarType all the time for faster performance.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-04</td>
  -        <td>Christopher Just</td>
  -        <td>Support IRIX's sproc().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-09-04</td>
  -        <td>Kevin Philips</td>
  -        <td>[Bug 3170] URLs with ? type fragments in them don't work.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-29</td>
  -        <td>Henry Zongaro</td>
  -        <td>Allowing -p as argument to -z or -l in runConfigure.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-29</td>
  -        <td>Tinny Ng</td>
  -        <td>Performance: Use XMLBufBid instead of XMLBuffer directly for better performance.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-29</td>
  -        <td>Tinny Ng</td>
  -        <td>Performance: No need to new the child QName in ElemStack addChild.  Remove it for performance gain.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-22</td>
  -        <td>Don Mastrovito</td>
  -        <td>Project files for BCB5.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-21</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 2816]Numerous datatype headers cause CC error 1144.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-21</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 3017] MSVC5.0: C2202: 'compareSpecial' : not all control paths return a value.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-17</td>
  -        <td>Nick Chiang</td>
  -        <td>Fix to memory leak in buildDFA().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-16</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Performance: stateTable created to optimize the identification of new state created.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-10</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Add isHex(), isAlphaNum(), isAllWhiteSpace() and patternMatch() in XMLString.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-09</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2947]IDOM segfault calling getElementsByTagName() using a DOM_Document().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-09</td>
  -        <td>Tinny Ng</td>
  -        <td>Port test case DOMTest to  IDOMTest.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-07</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2676] IDOM: pure virtual called in IDDeepNodeListImpl::item().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-07</td>
  -        <td>Kari Whitcomb</td>
  -        <td>IDOM: Unaligned Access warnings in IDOM samples.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-02</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 1329] SAX2XMLReaderImpl leaks XMLBuffers.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-08-02</td>
  -        <td>Tinny Ng</td>
  -        <td>Allow DOMCount/SAXCount/IDOMCount/SAX2Count to take a file that has a list of xml file as input.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-31</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Fix: memory leak in DFAContentModel::postTreeBuildInit().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001/07/27</td>
  -        <td>Tinny Ng</td>
  -        <td>Fix bug in 'transcode' functions reported by Evgeniy Gabrilovich.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-27</td>
  -        <td>Tinny Ng</td>
  -        <td>put getScanner() back as they were there before, not to break existing apps.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-26</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2751] Several NameChar characters missing from internal tables.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-26</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 2815] util/regx/RegxParser.cpp compile fails on HP-UX 10.20 with CC A.10.40.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-24</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 2707] DFAContentModel memory leaks.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-19</td>
  -        <td>Tinny Ng</td>
  -        <td>Add IDOMCount, IDOMPrint, SAX2Count, and SAX2Print to samples.dsw.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-19</td>
  -        <td>Tinny Ng</td>
  -        <td>Add more tests in sanityTest.pl.
  -        </td>
  -    </tr>
  -
  -
  -</table>
  -</s2>
  -
  -<s2 title="&XercesCName; Version 1.5.1: July 18, 2001">
  -<table>
  -    <tr>
  -        <td>Date</td>
  -        <td>Contributor</td>
  -        <td>Description</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-17</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 2643] - derivation by extension of complex types does not permit
  -        addition of ONLY element content.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-16</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2410] DOMParser::parse() throws undocumented exceptions.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-16</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2512] typing mistake in code example of chapter "Constructing an XML Reader".
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-16</td>
  -        <td>Tinny Ng</td>
  -        <td>APIDocs fix: default for schema processing in DOMParser, IDOMParser,
  -        and SAXParser should be false.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-15</td>
  -        <td>James Berry</td>
  -        <td>Add new files to UnionTypeValidator and ListDataTypeValidator to MacOS Project files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-09</td>
  -        <td>Khaled Noaman</td>
  -        <td>Add constraint checking for simple types.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-11</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Fix to normalizeWhiteSpace: synchronize fDatatypeBuffer with toFill.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-05</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Add ListDatatypeValidator and UnionDatatypeValidator.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-10</td>
  -        <td>Tinny Ng</td>
  -        <td>Give proper error message when scanning external id.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-10</td>
  -        <td>Tinny Ng</td>
  -        <td>The first char of PI Target Name should be checked.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-09</td>
  -        <td>Khaled Noaman</td>
  -        <td>Add &lt;any&gt; declaration.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-09</td>
  -        <td>Khaled Noaman</td>
  -        <td>Fixes for import/include declarations.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-09</td>
  -        <td>Tinny Ng</td>
  -        <td>Partial Markup in Parameter Entity is validity constraint and thus
  -        should be just error, not fatal error.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>Add new samples projects: IDOMPPrint and SAX2Print for ProjectBuilder
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>Update ProjectBuilder Xerces project for latest file additions.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>[Bug 2486] Files missing from XercesLib.mcp.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>Add new samples for CodeWarrior build: IDOMPrint and SAX2Print.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>New file for use in building Carbon samples.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>Simplify file existence checks.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>[Bug 2495] Missing ( in xerces-c-src1_5_0/obj/Makefile.in.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-08</td>
  -        <td>James Berry</td>
  -        <td>Fix clean and distclean targets; broken because rm fails if passed no files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-06</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2472] Linker options ignored on IRIX.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-06</td>
  -        <td>Martin Kalen</td>
  -        <td>Automatic build of single-threaded library.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-05</td>
  -        <td>Tinny Ng</td>
  -        <td>Encoding String must present for external entity text decl.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-05</td>
  -        <td>Tinny Ng</td>
  -        <td>Standalone checking is validity constraint and thus should be just error, not fatal error.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-05</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Add NotationDatatypeValidator, QNameDatatypeValidator and ENTITYDatatypeValidator.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-04</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Add IDREFDatatypeValidator and IDDatatypeValidator.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-04</td>
  -        <td>PeiYong Zhang</td>
  -        <td>XMLString:isValidName(): to validate Name (XML [4][5]).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-03</td>
  -        <td>Tinny Ng</td>
  -        <td>Some compilers (e.g. the HP compiler) has mistaken the parameter 'std',
  -        which is short for standalone as the special prefix used by the standard libraries.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-07-03</td>
  -        <td>Miroslaw Dobrzanski-Neumann</td>
  -        <td>Supporting dce threading on AIX and Solaris.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-27</td>
  -        <td>David Bertoni</td>
  -        <td>[Bug 2365] Huge performance problem with the parser in XMLScanner::sendCharData().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-27</td>
  -        <td>David Bertoni</td>
  -        <td>[Bug 2363] XMLScanner::sendCharData() can send the wrong length to the handler.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-27</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 2353] Validating Parser parses after validation failed.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-27</td>
  -        <td>Murray Cumming</td>
  -        <td>[Bug 1147] Headers install in wrong directory.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-26</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2119] DOMString::print() should use DOMString::transcode() for transcoding.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-25</td>
  -        <td>Stephen Dulin</td>
  -        <td>OS390 updates.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-25</td>
  -        <td>Linda Swan</td>
  -        <td>AS400 updates.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-25</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 1393] Converting from Unicode to iso8859.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-25</td>
  -        <td>Matt Lovett</td>
  -        <td>[Bug 965] scanDocTypeDecl messes up the source offsets.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-25</td>
  -        <td>Khaled Noaman</td>
  -        <td>Add constraint checking on elements in complex types.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-22</td>
  -        <td>James Berry</td>
  -        <td>[Bug 2277] Bad argument to ConvertFromUnicodeToText.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-22</td>
  -        <td>PeiYong Zhang</td>
  -        <td>[Bug 2263] 'SIZE' : redefinition ( BooleanDatatypeValidator.cpp ).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-22</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 2258] Bug in Iconv and Iconv390.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-22</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2225] assignment vs. comparison in if clause.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-22</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2257] 1.5 thinks a &lt;?xml-stylesheet ...&gt; tag is a &lt;?xml ...&gt; tag.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-21</td>
  -        <td>Khaled Noaman</td>
  -        <td>[Bug 1946] Standalone validity check only for external decl.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-21</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2262] Duplicated header guard.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-20</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Proper Debug Guard: Reported by Dean.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-19</td>
  -        <td>Tinny Ng</td>
  -        <td>Namespace should be off by default in XMLScanner.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001/06/19</td>
  -        <td>Tinny Ng</td>
  -        <td>Add installAdvDocHandler to SAX2XMLReader as the code is there already.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-19</td>
  -        <td>Khaled Noaman</td>
  -        <td>Handle maxChars > length(toTranscode).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-18</td>
  -        <td>Erik Rydgren</td>
  -        <td>Memory leak fix: to addlevel().
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-18</td>
  -        <td>Khaled Noaman and PeiYong Zhang</td>
  -        <td>Add support for 'fixed' facet.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Khaled Noaman</td>
  -        <td>Added constraint checking for ref on elements.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Tinny Ng</td>
  -        <td>ICU 1.8.1 update.
  -        </td>
  -    </tr>
  -
  -
  -</table>
  -</s2>
  -
  -
  -<s2 title="&XercesCName; Version 1.5.0: June 15, 2001">
  -
  -<table>
  -    <tr>
  -        <td>Date</td>
  -        <td>Contributor</td>
  -        <td>Description</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Tinny Ng</td>
  -        <td>Schema:<br/>
  -            Add Schema support in XMLParsers (DOM/SAX/SAX2), XMLScanner. <br/>
  -            Create SchemaValidator. <br/>
  -            Add Grammar Model. <br/>
  -            Support xsi:nil. <br/>
  -            Support xsi:schemaLocation and xsi:noNamespaceSchemaLocation. <br/>
  -            Update samples to enable schema.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Tinny Ng</td>
  -        <td>Break DTDValidator into DTDGrammar, DTDScanner, and DTDValidator.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Tinny Ng</td>
  -        <td>IDOM:<br/>
  -            Complete the Range, TreeWalker, NodeIterator, and other memory fixes.<br/>
  -            Support IDOM on UNIX platform.<br/>
  -            Add samples IDOMPrint, and IDOMCount.<br/>
  -            Add test cases IRangeTest and ITraversal.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Khaled Noaman</td>
  -        <td>Schema:<br/>
  -             Add Regular Expression. <br/>
  -             Add Schema Messages. <br/>
  -             Add Schema Simple Type Support. <br/>
  -             Add Schema Complex Type Support (Except Group). <br/>
  -             Add Schema Attribute Declarations support. <br/>
  -             Add Schema Element Declarations support. <br/>
  -             Support Simple Content and Complex Content. <br/>
  -             Support Element and attribute reuse using "ref". <br/>
  -             Support Schema Choice and Sequence. <br/>
  -             Support Schema Import and Include.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>Khaled Noaman</td>
  -        <td>DatatypeValidator:<br/>
  -            Add DatatypeValidator and DatatypeValidatorFactory.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Schema:<br/>
  -            Add Schema support in Content Model. <br/>
  -            Add Schema Exception Handling. <br/>
  -            Add Schema XUtil. <br/>
  -            Add QName Support. <br/>
  -            Support SubstitutionGroup.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-15</td>
  -        <td>PeiYong Zhang</td>
  -        <td>DatatypeValidator:<br/>
  -             Support Base64DatatypeValidator, <br/>
  -             BooleanDatatypeValidator, <br/>
  -             DecimalDatatypeValidator, <br/>
  -             HexBinDatatypeValidator, <br/>
  -             StringDatatypeValidator, <br/>
  -             InvalidDatatypeFacetException, <br/>
  -             InvalidDatatypeValueException.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-13</td>
  -        <td>Erik Rydgren</td>
  -        <td>[Bug 812] Memory leak with multiple !ATTLIST on single !ELEMENT.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-08</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 2043] XMLFormatter unallocates arrays incorrectly.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-08</td>
  -        <td>PeiYong Zhang</td>
  -        <td>Documentation and project files update for Xerces 1.5.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-08</td>
  -        <td>Khaled Noaman</td>
  -        <td>IDOM Documentation.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-07</td>
  -        <td>Khaled Noaman</td>
  -        <td>Fix no error message for faulted-in attributes if reuse grammar for 3+ times.
  -	</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-06</td>
  -        <td>Peter A. Volchek</td>
  -        <td>/Platforms/Win32/Win32PlatformUtils.cpp<br/>
  -	    Include stdlib.h.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-06</td>
  -        <td>James Berry</td>
  -        <td>Update Mac OS ProjectBuilder projects.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-06</td>
  -        <td>James Berry</td>
  -        <td>Fix invalid file references in project.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-06</td>
  -        <td>James Berry</td>
  -        <td>/src/util XMLString.cpp<br/>
  -            Clean up compiler warning.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-06</td>
  -        <td>James Berry</td>
  -        <td>/src/util/regx RegxParser.cpp<br/>
  -            Fix two improper NULL tests.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-05</td>
  -        <td>James Berry</td>
  -        <td>Add support for Mac OS X command line configuration and build.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-5</td>
  -        <td>Peter A. Volchek</td>
  -        <td>Add 'const' to getGrammar.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-04</td>
  -        <td>PeiYong Zhang</td>
  -        <td>The start tag "&#60;?xml" could be	followed by (#x20 | #x9 | #xD | #xA)+.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-04</td>
  -        <td>James Berry</td>
  -        <td>Add support for tracking error count during parse; enables
  -            simple parse without requiring error handler.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-06-01</td>
  -        <td>Tinny Ng</td>
  -        <td>/scripts/packageSources.pl<br/>
  -	    Keep the BCB4 project files	in the source package.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-22</td>
  -        <td>James Berry</td>
  -        <td>Check for existence of MacOS Unicode Converter routines prior to instantiating our
  -	 transcoder object; Xerces will thus panic, rather than crash, if they don't exist.
  -	 Add support to check for existence of MacOS Unicode Converter to avoid calling through NULL pointer.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-16</td>
  -        <td>Henry Zongaro</td>
  -        <td>IDOM: Add DeepNodeList support.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-16</td>
  -        <td>Henry Zongaro</td>
  -        <td>IDOM: Add namespace support.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-10</td>
  -        <td>Christian Schuhegger</td>
  -        <td>[Bug 1158] built-in buffer limit could be smaller than system limit,
  -            use PATH_MAX instead.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-10</td>
  -        <td>Arnaud LeHors</td>
  -        <td>[Bug 1605] AttrNSImpl.cpp: fixed typo in constructor.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-09</td>
  -        <td>Curt Arnold</td>
  -        <td>[Bug 1500] The public id was set twice and the system id was not set on Notations.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-04</td>
  -        <td>Tinny Ng</td>
  -        <td>DOMPrint: Check error before continuing.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-03</td>
  -        <td>Tinny Ng</td>
  -        <td>ICU 1.8 update.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-05-03</td>
  -        <td>Khaled Noaman</td>
  -        <td>Added new option to the parsers so that the NEL (0x85) char can be
  -            treated as a newline character.
  -	</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-23</td>
  -        <td>Erik Rydgren</td>
  -        <td>DTDScanner: Reuse grammar should allow users to use any stored
  -            element decl as root.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-19</td>
  -        <td>William L Hopper</td>
  -        <td>Win32PlatformUtils: InterlockedCompareExchange on different Windows.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-19</td>
  -        <td>William L Hopper</td>
  -        <td>BCB project changes.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-16</td>
  -        <td>James Berry</td>
  -        <td>MacOSUnicodeConverter: Fix include path, Updates to reflect changes for
  -            Mac OS X final and Update MacOS projects for Mac OS X final ProjectBuilder.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-11</td>
  -        <td>Arnaud LeHors</td>
  -        <td>[Bug 1303] AttrImpl: allow value to be set to null.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-11</td>
  -        <td>Tinny Ng</td>
  -        <td>DOMParser: Attribute default values not printed in document
  -	    type internal subset interface.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-10</td>
  -        <td>Tinny Ng</td>
  -        <td>createdocs.bat: fix PDF generation.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-04</td>
  -        <td>Alberto Massari</td>
  -        <td>DTDElementDecl: Error checking for null content spec.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-02</td>
  -        <td>Andy Heninger</td>
  -        <td>IDOM: imported.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-04-02</td>
  -        <td>Andy Heninger</td>
  -        <td>IThreadTest: imported.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-30</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 1150] Problems with Namespaces and validating parsing.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-27</td>
  -        <td>Roman Sulzhyk</td>
  -        <td>[Bug 1069] Explicit Makefile dependency for 'lib' build.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-26</td>
  -        <td>PeiYong Zhang</td>
  -        <td>When Standalone="yes", it is NOT supposed to accept element
  -            which is defined in external DTD with #FIXED attribute.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-26</td>
  -        <td>Andy Heninger</td>
  -        <td>Update packageBinaries.pl for ICU 1.8. ICU debug .lib file
  -            names and locations changed.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-23</td>
  -        <td>Jeff Harrell</td>
  -        <td>[Bug 1018] AutoSense looks for "IRIX" when it should look for "sgi" or "__sgi".
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-22</td>
  -        <td>Roman Sulzhyk</td>
  -        <td>[Bug 1069] The Makefiles fail to locate .cpp -> .o dependency and rebuild .o all the time.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-22</td>
  -        <td>John Rope</td>
  -        <td>[Bug 1021] Accessing an XML file using the file "protocol" and a UNC path fails
  -            to open the file.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-09</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 733] Seg fault when trying to parse empty filename.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-06</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 677] Infinite loop caused by malformed XML. Happen when namespace is on.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-03-02</td>
  -        <td>Martin Kalen</td>
  -        <td>Enabling libWWW NetAccessor support under UNIX. Tested with latest
  -            tarball of libWWW (w3c-libwww-5.3.2) under RedHat Linux 6.1.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-27</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 676] Linux for S/390 build requires -fPIC.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-22</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 678] StdInParse doesn't output filename or duration.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-21</td>
  -        <td>Matt Lovett</td>
  -        <td>ICUTranscoder::transcodeFrom() expects ICU function ucnv_toUnicode
  -            to return an extra element in fSrcOffsets to allow us to figure
  -            out the last char size, which in fact it is not.  The fix is to compute
  -            the last char size ourselves using the total bytes used.
  -           </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001/02/16</td>
  -        <td>Andy Heninger</td>
  -        <td>Change limit test to reduce spurious pointer assignment warnings from BoundsChecker.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-14</td>
  -        <td>Bob Kline</td>
  -        <td>Better FAQ for the checksum error.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-14</td>
  -        <td>Mark Everline</td>
  -        <td>Core dump when UTF-16 encoding contradicts actual encoding.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-13</td>
  -        <td>Hiram Clawson</td>
  -        <td>Update samples/tests files for on UnixWare 7.1.1 with gcc 2.95. Add
  -            UNIXWARE platform defines to Makefile.incl, add recognition of
  -            sysv5uw7 to configure.in, and add unixware as recognized platform to runConfigure.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-09</td>
  -        <td>Martin Kalen</td>
  -        <td>Update support for SCO UnixWare 7 (gcc). Tested under UnixWare 7.1.1
  -            with gcc version 2.95.2 19991024 (release) with gmake 3.79.1.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-08</td>
  -        <td>Martin Kalen</td>
  -        <td>Enable COMPAQ Tru64 UNIX machines to build xerces-c with gcc (tested using
  -            COMPAQ gcc version2.95.2 19991024 (release) and Tru64 V5.0 1094).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-07</td>
  -        <td>Bill Schindler</td>
  -        <td>Rearranged statements in Initialize() so that platformInit() is called
  -            before an XMLMutex is created.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-07</td>
  -        <td>Richard Ko</td>
  -        <td>Storage overlay in ucnv_setFromUCallBack.</td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-05</td>
  -        <td>Tinny Ng</td>
  -        <td>[Bug 766] /src/util/Compilers/CSetDefs.hpp: define NO_NATIVE_BOOL macro only
  -            if not pre-defined/reserved.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td>2001-02-05</td>
  -        <td>Jordan Naftolin</td>
  -        <td>Add createPDF.jar and apachPDFStyle.xsl to convert documentation xml files
  -            to pdf format.
  -        </td>
  -    </tr>
  -
  -</table>
  -
  -</s2>
  -
  -<s2 title="&XercesCName; Version 1.4.0: January 31, 2001">
  -
  -<table>
  -    <tr>
  -        <td >Date</td>
  -        <td >Contributor</td>
  -        <td >Description</td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-26</td>
  -        <td >Walker Curtis</td>
  -        <td >Undefined symbol error when building a single threaded version of the xerces lib on irix.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-25</td>
  -        <td >Arnaud LeHors</td>
  -        <td >Added a flag to turn off error checking in the DOM, this is primarily
  -             used while building the DOM from the parser to get better performance.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-25</td>
  -        <td >Khaled Noaman</td>
  -        <td >Let users add their encoding to the intrinsic mapping table.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-25</td>
  -        <td >Khaled Noaman</td>
  -        <td >const should be used instead of static const.  And other clean up bug fixes.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-24</td>
  -        <td >Arnaud LeHors</td>
  -        <td >Fixed replaceChild to handle the case where a node is replaced
  -             by itself. Cleaned up insertBefore.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-24</td>
  -        <td >Tinny Ng</td>
  -        <td >Guard the use of '-ptr${OUTDIR}' in EnumVal/Makefile.in
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-22</td>
  -        <td >Curt Arnold.</td>
  -        <td >Loads winsock dynamically.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-19</td>
  -        <td >Curt Arnold.</td>
  -        <td >COM various updates: updated the GUID's so both can coexist,
  -             better error reporting and fixed a new minor bugs.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-18</td>
  -        <td >Bill Schindler</td>
  -        <td >FAQ spell check, fix typos, fix grammar, readability editing, clean up formatting,
  -             re-organize so related topics appear together.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-18</td>
  -        <td >Bill Schindler</td>
  -        <td >Project file updated due to removal of ChildAndParentNode.cpp.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-17</td>
  -        <td >Arnaud LeHors</td>
  -        <td >DOM Implementation Optimization.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-17</td>
  -        <td >Volker Krause</td>
  -        <td >ElementImpl::getAttributeNS should check null pointer.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-17</td>
  -        <td >Arnaud LeHors</td>
  -        <td >Have a single counter global to the document.  Removed node basis change counter.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-17</td>
  -        <td >Arnaud LeHors</td>
  -        <td >Removed unused field in NodeImpl that was left over.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-17</td>
  -        <td >Tinny Ng</td>
  -        <td >Access violations and stack overflows in insertBefore.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-15</td>
  -        <td >David Bertoni</td>
  -        <td >Performance Patches.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-12</td>
  -        <td >Tinny Ng</td>
  -        <td >Fix style-ibm.zip for documentation generation.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-12</td>
  -        <td >Tinny Ng</td>
  -        <td >Remove the two obsolete file: stylesheets\Copy of book2project.xsl and
  -             stylesheets\Copy of document2html.xsl in style-apachexml.jar
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-12</td>
  -        <td >Tinny Ng</td>
  -        <td >Documentation Enhancement: explain values of Val_Scheme.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-12</td>
  -        <td >Tinny Ng</td>
  -        <td >Documentation Enhancement: Add list of SAX2 feature strings that are supported.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2001-01-04</td>
  -        <td >Khaled Noaman</td>
  -        <td >Assertion `size > 0' failure when cloning a node if the last attributes
  -             has been removed.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-28</td>
  -        <td >James Berry</td>
  -        <td >Omit include carbon.h in favor of specific include files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-28</td>
  -        <td >James Berry</td>
  -        <td >Add or modify cvs header in various files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-28</td>
  -        <td >James Berry</td>
  -        <td >Eliminate compiler warning in RangeImpl.cpp.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-28</td>
  -        <td >James Berry</td>
  -        <td >Replace include of Carbon.h with specific include files.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-28</td>
  -        <td >James Berry</td>
  -        <td >Move away from include of Carbon.h; include only needed files instead.
  -             Fix bug in parsing of upwardly relative paths under classic (thanks to Lawrence You).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-22</td>
  -        <td >Tinny Ng</td>
  -        <td >XMLUni::fgEmptyString which is defined as "EMPTY" is incorrectly used as
  -             an empty string; in fact XMLUni::fgZeroLenString should be used instead.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-22</td>
  -        <td >Tinny Ng</td>
  -        <td >Add the new header LexicalHandler.hpp to Makefile.in.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-22</td>
  -        <td >Murray Cumming</td>
  -        <td >removes '-instances=static' from the Linux link sections.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-22</td>
  -        <td >David Bertoni</td>
  -        <td >SAX2-ext's LexicalHandler support.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-14</td>
  -        <td >Tinny Ng</td>
  -        <td >Better instruction for using packageBinaries.pl.  Use symbol XercesCInstallDir
  -             and XercesCSrcInstallDir instead of hardcoding the Xerces version number in the file.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-14</td>
  -        <td >Tinny Ng</td>
  -        <td >Fix API document generation warning: "Warning: end of member group without matching begin".
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-14</td>
  -        <td >Tinny Ng</td>
  -        <td >Add RangeTest as part of the xerces-all MSVC++ workspace.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-12</td>
  -        <td >Gareth Reakes</td>
  -        <td >null pointer bug.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-08</td>
  -        <td >Tinny Ng</td>
  -        <td >Entity Reference cleanup dumping core if the last entity reference is deleted.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-06</td>
  -        <td >Tinny Ng</td>
  -        <td >fix the link to FAQ.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-12-06</td>
  -        <td >Tinny Ng</td>
  -        <td >further fixes to Range, and update RangeTest.cpp with more test coverage.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-30</td>
  -        <td >Bill Schindler</td>
  -        <td >Spell check, fix typos, fix grammar, readability editing, clean up formatting.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-30</td>
  -        <td >Bill Schindler</td>
  -        <td >Remove dead code (old StdOut and StdErr functions); minor clean-up.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-30</td>
  -        <td >Tinny Ng</td>
  -        <td >patch to fix a number of Range problems.  See mail of 11/21/2000.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-30</td>
  -        <td >Tinny Ng</td>
  -        <td >DOM_Text::splitText(), fix off by one error in the test for index too big error.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-30</td>
  -        <td >Tinny Ng</td>
  -        <td >reuseValidator - fix bugs (spurious errors) that occurred on reuse due to
  -             pools already containing some items.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-08</td>
  -        <td >Andrei Smirnov</td>
  -        <td >Build updates for Solaris 2.8 64 bit.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000/11/07</td>
  -        <td >Tinny Ng</td>
  -        <td >Bug fix for DTD entity reference problem reported by Tony Wuebben on 10/25.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-07</td>
  -        <td >Tinny Ng</td>
  -        <td >config.guess and config.sub updated to newer versions.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-07</td>
  -        <td >Pieter Van-Dyck</td>
  -        <td >Change InterlockedCompareExchange for compatibility with Borland BCB5
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-07</td>
  -        <td >Pieter Van-Dyck</td>
  -        <td >Fix incorrect version number in gXercesMinVersion.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-11-01</td>
  -        <td >Tinny Ng</td>
  -        <td >SAX bug fix:  Attribute lists were throwing exceptions rather than returning
  -             null when an attribute could not be found by name.
  -        </td>
  -    </tr>
  -
  -   <tr>
  -        <td >2000-11-01</td>
  -        <td >Tinny Ng</td>
  -        <td >Scanner bug fix:  with progressive parsing, namespace and validation
  -             options were not being set correctly.  Symptoms included failure to detect
  -             ignorable white space.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-31</td>
  -        <td >Tinny Ng</td>
  -        <td >DOM NodeIterator bug fix: iterators would sometimes continue beyond their
  -             starting (root) node.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-20</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMParser bug fix - erroneous attempt to look up name space URIs
  -             while scanning default attribute values in DTD removed.  Was a
  -             crashing bug when namespaces were enabled.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-20</td>
  -        <td >Andy Heninger</td>
  -        <td >DOM NodeFilter - define values for FilterAction enum to match those in the
  -             DOM spec.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-19</td>
  -        <td >Andy Heninger</td>
  -        <td >SAXCount sample, allow multiple files on command line.  DOMCount sample, rename
  -             error handler class to say that it is an error handler.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-18</td>
  -        <td >James Berry</td>
  -        <td >MacOS project file updates.  Small code optimization.  Add comments to clarify and
  -             to reflect new fixed XMLCh size.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-17</td>
  -        <td >Andy Heninger</td>
  -        <td >Bug Fix - problems with multi-byte characters on input buffer boundaries.
  -        </td>
  -    </tr>
  -
  -   <tr>
  -        <td >2000-10-17</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMPRintFormatTarget, bad override of writeChars fixed (missing const).
  -             XMLFormatTarget, removed version of writeChars with no length.  Can not be
  -             safely used, and obscured other errors.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-16</td>
  -        <td >Andy Heninger</td>
  -        <td >Change XMLCh back to unsigned short on all platforms
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-13</td>
  -        <td >Devin Barnhart</td>
  -        <td >COM: interpret BSTR as UTF-16 in documents
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-13</td>
  -        <td >Edward Bortner</td>
  -        <td >Solaris: change detection for native support for type bool to defined(_BOOL).
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-13</td>
  -        <td >Nadav Aharoni</td>
  -        <td >MXLString::trim() bug fix: failure to null terminate result.
  -        </td>
  -    </tr>
  -
  -     <tr>
  -        <td >2000-10-10</td>
  -        <td >Bill Schindler</td>
  -        <td >XMLFormatter:  Fix problems with output to multi-byte encodings.
  -        </td>
  -    </tr>
  -
  -     <tr>
  -        <td >2000-10-10</td>
  -        <td >Andy Heninger</td>
  -        <td >From Janitor, remove the addition that is having compile problems in MSVC.
  -        </td>
  -    </tr>
  -
  -      <tr>
  -        <td >2000-10-10</td>
  -        <td >James Berry</td>
  -        <td >Fix a bug in returned length of transcoded string.
  -             Add a few comments.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-09</td>
  -        <td >James Berry</td>
  -        <td >ProjectBuilder project to build Xerces.
  -        </td>
  -    </tr>
  -
  -   <tr>
  -        <td >2000-10-09</td>
  -        <td >James Berry</td>
  -        <td >  Numerous Changes:
  -              - Increase environmental sensitivity with hope of supporting pre OS 9
  -                OS versions.
  -              - Enhanced path creation/interpretation to support proper unix style
  -                paths under Mac OS X instead of the volume rooted paths we previously
  -                used. Paths under Classic remain the same.
  -              - Better timer resolution.
  -              - Detect functionality via unresolved symbols rather than Gestalt
  -                where possible.
  -              - Softly back away from URLAccess...if it's not installed, we just
  -                don't support a net accessor.
  -              - Additional support for XMLCh/UniChar size differences under
  -                GCC on Mac OS X.
  -                  - Fix Mac OS X support. GCC in this environment sets wchar_t to a 32 bit
  -                    value which requires an additional transcoding stage (bleh...)
  -                  - Improve sensitivity to environment in order to support a broader
  -                    range of system versions.
  -                  - Fix a few compiler sensitivities.
  -              - Carbon.h header support
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-09</td>
  -        <td >James Berry</td>
  -        <td >Add some auto_ptr functionality to allow modification of monitored
  -             pointer value. This eases use of Janitor in some situations.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-10-09</td>
  -        <td >James Berry</td>
  -        <td >Autosense.hpp: modify sensing of Mac OS X.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-28</td>
  -        <td >Andy Heninger</td>
  -        <td >DOM_Document::putIdentifier() removed.  There never was an implementation
  -             for this function.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-28</td>
  -        <td >Curt Arnold</td>
  -        <td >COM wrappers updated.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-28</td>
  -        <td >Linda Swan</td>
  -        <td >AS400 related changes.
  -        </td>
  -    </tr>
  -
  -   <tr>
  -        <td >2000-09-28</td>
  -        <td >Andy Heninger</td>
  -        <td >DOM_Document - remove the un-implemented function putIdentifier()
  -             from the header.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-28</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMParser MemoryLeak fixed.  Occurred when a document redefined the
  -              a builtin entity, e.g. &lt;.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-28</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMPrint sample: add deletes before exit so boundschecker runs cleanly.
  -        </td>
  -    </tr>
  -
  -
  -    <tr>
  -        <td >2000-09-22</td>
  -        <td >James Berry</td>
  -        <td >  Change file access permissions to fsRdPerm. Since we never write, there's
  -              no reason to request write access. Thanks to John Mostrom @ Adobe.
  -              Also nuke a few spaces and the entire defunct support for reading
  -              directly from MacOS resources.
  -        </td>
  -    </tr>
  -
  -    <tr>
  -        <td >2000-09-22</td>
  -        <td >Arundhari Bhowmick</td>
  -        <td >DOM Parser:  internal subset entity printing update.
  -        </td>
  -    </tr>
  -
  -
  -</table>
  -</s2>
  -
  -<s2 title="&XercesCName; Version 1.3.0: Sept 21, 2000">
  -
  -<table >
  -    <tr>
  -        <td >Date</td>
  -        <td >Contributor</td>
  -        <td >Description</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-21</td>
  -        <td >Torbjörn Bäckström</td>
  -        <td >HPUX - Incorrect use of Array Janitor in Platform Utils removed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-21</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOMPrint - DTD internal subset, printing of attribute value enumerations was broken.</td>
  -    </tr>
  -    <tr>
  -        <td >2000/09/19</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOMPrint - output entity reference nodes as XML entity references, instead of just printing their children.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-19</td>
  -        <td >Bill Schindler</td>
  -        <td >OS/2 - port update</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-18</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOM EntityReferences, fixed bugs with length() and hasChildNodes() methods.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-12</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOM: changed name of expandEntityReferences option to createEntityReferenceNodes.  More accurately describes what
  -            it does.  Fixed bugs that caused creation of Entity Reference nodes to fail.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-12</td>
  -        <td >IBM</td>
  -        <td >AS400 - transcoder updates.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-11</td>
  -        <td >Shengkai Qu</td>
  -        <td >OS390 - makefile updates</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-11</td>
  -        <td >Kirk Wylie</td>
  -        <td >Alpha processor support update in config.sub.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Kirk Wylie</td>
  -        <td >Reordered member variables in ThrowEOEJanitor.  </td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Arnaud LeHors</td>
  -        <td >DOM NamedNodeMap - because in many cases we may have to deal with both nodes with a namespace and nodes without
  -            any, NS methods through findNamePoint must handle both types of nodes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Kirk Wylie</td>
  -        <td >Some destructors not virtual that should have been; some members of DOM_Entity virtual that should not have been.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Andy Heninger</td>
  -        <td >Removed incorrect detection of nested CDATA sections.  Problem reported by Johannes Lipp.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMPrint incorrectly handled DOCTYPE declarations containing both a public and system id.  Problem reported by
  -            Jesse Pelton.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-08</td>
  -        <td >Radovan Chytracek</td>
  -        <td >MSVC:  RangeTest project settings incorrect, build failed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-07</td>
  -        <td >Bob Kline</td>
  -        <td >XMLReader::skippedString(),  failed under certain rare circumstances.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-07</td>
  -        <td >Andy Heninger</td>
  -        <td >Fix SAXException assignment operator.  Now non-virtual, and SAXParseException subclass invokes base class operator.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >William L. Hopper</td>
  -        <td >Borland  updates.  It had fallen way behind.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >Andy Heninger</td>
  -        <td >HPUX 11, packageBinaries build script, DCEThreads no longer default</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >James Berry</td>
  -        <td >Macintosh:  Add support for new compile time options defined in prefix file.  These control the selection of the
  -            msgloader, transcoder, and netaccessor.  Add a tiny bit of robustness to the nasty panic method..</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >Shengkai Qu</td>
  -        <td >S390: socket related changes</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >James Berry</td>
  -        <td >Macintosh: Allow ShortenFiles to work even when destination directory already exists.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-06</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >HP compile options modified for ICU compatibility</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-05</td>
  -        <td >Michael Crawford</td>
  -        <td >Macintosh: Fix atomic increment &amp; decrement to return value after operation rather than before.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-05</td>
  -        <td >Andy Heninger</td>
  -        <td >Cleaned up various compiler warnings.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-05</td>
  -        <td >Andy Heninger</td>
  -        <td >SAX parser: added advanced callback support for XMLDecl</td>
  -    </tr>
  -    <tr>
  -        <td >2000-09-01</td>
  -        <td >Andy Heninger</td>
  -        <td >Fix ICU transcoding service, crashing bug on Linux, Solaris</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-30</td>
  -        <td >Andy Heninger</td>
  -        <td >Builds - clean up a number of compiler warnings.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-24</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMPrint - fixed crash when input xml file was not found.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-23</td>
  -        <td >Andy Heninger</td>
  -        <td >Build Script updates and cleanups</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-18</td>
  -        <td >Andy Heninger</td>
  -        <td >Version number bumped to 1.3 in preparation for the upcoming xerces 1.3 / xml4c 3.3 release</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-17</td>
  -        <td >Arnaud Lehors</td>
  -        <td >DOM: Rewrote code updating the linked list on node addition and  removal. I believe it is now easier to read and
  -            it uses fewer tests so it is also a little faster.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-17</td>
  -        <td >Arnaud Lehors</td>
  -        <td >DOM: small cleanup: renamed a set of [] boolean flag methods.   yes, I know, I also wish I got them right
  -            in the first place...</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-17</td>
  -        <td >Sumit Chawla</td>
  -        <td >PTX port updates</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-16</td>
  -        <td >Andy Heninger</td>
  -        <td >Fixed crash when XML text content has very long lines. Bug pointed out by Simon Fell.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-14</td>
  -        <td >Joe Polastre</td>
  -        <td >SAX2 DefaultHandler, inconsistency in const parameters fixed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-11</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >ICU Transcoding - updates to support ICU 1.6</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-09</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOM Range:  Add const to API where appropriate.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-09</td>
  -        <td >Joe Polastre</td>
  -        <td >Many conformance and stability changes:<br/>
  -               - ContentHandler::resetDocument() removed<br/>
  -                - attrs param of ContentHandler::startDocument() made const<br/>
  -                - SAXExceptions thrown now have msgs<br/>
  -                - removed duplicate function signatures that had 'const'<br/>
  -                    [ eg: getContentHander() ]<br/>
  -                - changed getFeature and getProperty to apply to const objs<br/>
  -                - setProperty now takes a void* instead of const void*<br/>
  -                - SAX2XMLReaderImpl does not inherit from SAXParser anymore<br/>
  -                - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented<br/>
  -                - Features &amp; Properties now read-only during parse</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-09</td>
  -        <td >Joe Polastre</td>
  -        <td >Namespaces bug - bogus default namespace removed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-09</td>
  -        <td >Joe Polastre</td>
  -        <td >SAXException enhanced, messages added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-08</td>
  -        <td >Joe Polastre</td>
  -        <td >SAX2Count - new sample program for SAX2.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-07</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >Remove detach() method from TreeWalker. </td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-03</td>
  -        <td >James Berry</td>
  -        <td >Add Mac Codewarrior projects.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-01</td>
  -        <td >Joe Polastre</td>
  -        <td >SAX2 support added</td>
  -    </tr>
  -    <tr>
  -        <td >2000-08-01</td>
  -        <td >Gary Gale</td>
  -        <td >Compaq Tru64 port added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-31</td>
  -        <td >Joe Polastre</td>
  -        <td >bug fix in removeAll() to zero out all the pointers.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-31</td>
  -        <td >Andy Heninger</td>
  -        <td >utf-8 byte order mark recognition</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-29</td>
  -        <td >James Berry</td>
  -        <td >Mac OS Port, general cleanups.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-28</td>
  -        <td >James Berry</td>
  -        <td >Addition of NetAccessor functionality for MacOS, built on URLAccess library.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-28</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >ICU Transcoding service: changes for move to ICU 1.6</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-27</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOM Range added. (Major new feature)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-27</td>
  -        <td >Murray Cumming</td>
  -        <td >makefile fixes for SUNW_0.7</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-25</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >XMLCh character constants definitions moved to XMLUniDefs.h. Removes name clashes with application defined symbols.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-25</td>
  -        <td >Joe Polastre</td>
  -        <td >allow nesting of PlatformUtils::Init() and Terminate()</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-25</td>
  -        <td >Gary Gale</td>
  -        <td >ICU transcoding: fix off by one error.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-21</td>
  -        <td >&lt;check&gt;</td>
  -        <td >Change wcsupr to _wcsupr</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-21</td>
  -        <td >Eric Schroeder</td>
  -        <td >Win32TransService - fix error in use of hashtables</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-21</td>
  -        <td >Joe Polastre</td>
  -        <td >DOMPrint: fixed error in handling of null CDATA sections.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-20</td>
  -        <td >Andy Heninger</td>
  -        <td >Improved net access (parse of URLs). Still weak, though.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-20</td>
  -        <td >Erik Schroeder</td>
  -        <td >XMLScaner.cpp bugfix: call startDocument() at beginning of scan.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-20</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOMCount exception handling cleaned up.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-19</td>
  -        <td >Todd Collins</td>
  -        <td >runConfigure: modified to take &quot;configureoptions&quot;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-19</td>
  -        <td >&lt;check&gt;</td>
  -        <td >Add 'make install' target to src/util/Platforms/Makefile.in</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-19</td>
  -        <td >&lt;check&gt;</td>
  -        <td >DOM: BugFix: DocumentType nodes can not have children.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-19</td>
  -        <td >&lt;check&gt;</td>
  -        <td >DOM: Bug in NodeIDMap constructor.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-18</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Documentation generation tools updated.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-17</td>
  -        <td >James Berry</td>
  -        <td >Mac OS port brought up to date (was very old)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-17</td>
  -        <td >Andy Heninger</td>
  -        <td >Change windows project to link with ws2_32.lib instead of winsock32.lib</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-17</td>
  -        <td >Grace Yan, Joe Kesselman</td>
  -        <td >DOM NodeIterator: bug fix for SHOW_ELEMENT flag incorrectly being retrieved.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-17</td>
  -        <td >Joe Polastre</td>
  -        <td >switched scanMisc() with endDoc() in scanNext. Pointed out by Dean Roddey.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-17</td>
  -        <td >Jim Reitz</td>
  -        <td >fix for uninitialized variable gotData bug in XMLScanner.cpp.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-12</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >DOM: fix bug in setting previous sibling pointer during insertNode</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-07</td>
  -        <td >Joe Polastre</td>
  -        <td >Update to use of hashtables.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-07</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM userdata: several bug fixes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-06</td>
  -        <td >Andy Heninger</td>
  -        <td >Speedups in XMLScanner, XMLReader</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-07</td>
  -        <td >&lt;check&gt;</td>
  -        <td >bug fixes in IXMLDOM*</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-06</td>
  -        <td >Joe Polastre</td>
  -        <td >Performance tweaks, added more inlines.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-05</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Documentation updates.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-05</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM: Attribute node default value handling implemented.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-05</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM Attr nodes - fixed setting of specified when cloning. (change may be in error)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-07-04</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed a memory leak when namespaces are enabled.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-28</td>
  -        <td >Curt Arnold</td>
  -        <td >COM object usage documentation update.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-28</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM Userdata - put pointers in a hash table rather than having one pre-allocated per node. Memory footprint reduction.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-27</td>
  -        <td >Joe Polastre</td>
  -        <td >extended the (implementation) hash table classes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-26</td>
  -        <td >John Roper@iOra.com</td>
  -        <td >Bug fix: check if initialized in Terminate() to stop access violations.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-26</td>
  -        <td >&lt;check&gt;</td>
  -        <td >Solaris build - template directory related changes.</td>
  -    </tr>
   
       </table>
       </s2>
   
  -    <s2 title="&XercesCName; Version 1.2.0: June 22, 2000">
  +    <anchor name="Release130"/>
  +    <s2 title="Release Information of &XercesCName; 1.3.0: Sept 21, 2000">
  +
  +    <table >
  +        <tr>
  +            <td >Date</td>
  +            <td >Contributor</td>
  +            <td >Description</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-21</td>
  +            <td >Torbjörn Bäckström</td>
  +            <td >HPUX - Incorrect use of Array Janitor in Platform Utils removed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-21</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOMPrint - DTD internal subset, printing of attribute value enumerations was broken.</td>
  +        </tr>
  +        <tr>
  +            <td >2000/09/19</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOMPrint - output entity reference nodes as XML entity references, instead of just printing their children.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-19</td>
  +            <td >Bill Schindler</td>
  +            <td >OS/2 - port update</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-18</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOM EntityReferences, fixed bugs with length() and hasChildNodes() methods.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-12</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOM: changed name of expandEntityReferences option to createEntityReferenceNodes.  More accurately describes what
  +                it does.  Fixed bugs that caused creation of Entity Reference nodes to fail.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-12</td>
  +            <td >IBM</td>
  +            <td >AS400 - transcoder updates.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-11</td>
  +            <td >Shengkai Qu</td>
  +            <td >OS390 - makefile updates</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-11</td>
  +            <td >Kirk Wylie</td>
  +            <td >Alpha processor support update in config.sub.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Kirk Wylie</td>
  +            <td >Reordered member variables in ThrowEOEJanitor.  </td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Arnaud LeHors</td>
  +            <td >DOM NamedNodeMap - because in many cases we may have to deal with both nodes with a namespace and nodes without
  +                any, NS methods through findNamePoint must handle both types of nodes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Kirk Wylie</td>
  +            <td >Some destructors not virtual that should have been; some members of DOM_Entity virtual that should not have been.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Andy Heninger</td>
  +            <td >Removed incorrect detection of nested CDATA sections.  Problem reported by Johannes Lipp.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMPrint incorrectly handled DOCTYPE declarations containing both a public and system id.  Problem reported by
  +                Jesse Pelton.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-08</td>
  +            <td >Radovan Chytracek</td>
  +            <td >MSVC:  RangeTest project settings incorrect, build failed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-07</td>
  +            <td >Bob Kline</td>
  +            <td >XMLReader::skippedString(),  failed under certain rare circumstances.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-07</td>
  +            <td >Andy Heninger</td>
  +            <td >Fix SAXException assignment operator.  Now non-virtual, and SAXParseException subclass invokes base class operator.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >William L. Hopper</td>
  +            <td >Borland  updates.  It had fallen way behind.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >Andy Heninger</td>
  +            <td >HPUX 11, packageBinaries build script, DCEThreads no longer default</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >James Berry</td>
  +            <td >Macintosh:  Add support for new compile time options defined in prefix file.  These control the selection of the
  +                msgloader, transcoder, and netaccessor.  Add a tiny bit of robustness to the nasty panic method..</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >Shengkai Qu</td>
  +            <td >S390: socket related changes</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >James Berry</td>
  +            <td >Macintosh: Allow ShortenFiles to work even when destination directory already exists.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-06</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >HP compile options modified for ICU compatibility</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-05</td>
  +            <td >Michael Crawford</td>
  +            <td >Macintosh: Fix atomic increment &amp; decrement to return value after operation rather than before.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-05</td>
  +            <td >Andy Heninger</td>
  +            <td >Cleaned up various compiler warnings.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-05</td>
  +            <td >Andy Heninger</td>
  +            <td >SAX parser: added advanced callback support for XMLDecl</td>
  +        </tr>
  +        <tr>
  +            <td >2000-09-01</td>
  +            <td >Andy Heninger</td>
  +            <td >Fix ICU transcoding service, crashing bug on Linux, Solaris</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-30</td>
  +            <td >Andy Heninger</td>
  +            <td >Builds - clean up a number of compiler warnings.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-24</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMPrint - fixed crash when input xml file was not found.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-23</td>
  +            <td >Andy Heninger</td>
  +            <td >Build Script updates and cleanups</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-18</td>
  +            <td >Andy Heninger</td>
  +            <td >Version number bumped to 1.3 in preparation for the upcoming xerces 1.3 / xml4c 3.3 release</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-17</td>
  +            <td >Arnaud Lehors</td>
  +            <td >DOM: Rewrote code updating the linked list on node addition and  removal. I believe it is now easier to read and
  +                it uses fewer tests so it is also a little faster.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-17</td>
  +            <td >Arnaud Lehors</td>
  +            <td >DOM: small cleanup: renamed a set of [] boolean flag methods.   yes, I know, I also wish I got them right
  +                in the first place...</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-17</td>
  +            <td >Sumit Chawla</td>
  +            <td >PTX port updates</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-16</td>
  +            <td >Andy Heninger</td>
  +            <td >Fixed crash when XML text content has very long lines. Bug pointed out by Simon Fell.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-14</td>
  +            <td >Joe Polastre</td>
  +            <td >SAX2 DefaultHandler, inconsistency in const parameters fixed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-11</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >ICU Transcoding - updates to support ICU 1.6</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-09</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOM Range:  Add const to API where appropriate.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-09</td>
  +            <td >Joe Polastre</td>
  +            <td >Many conformance and stability changes:<br/>
  +                   - ContentHandler::resetDocument() removed<br/>
  +                    - attrs param of ContentHandler::startDocument() made const<br/>
  +                    - SAXExceptions thrown now have msgs<br/>
  +                    - removed duplicate function signatures that had 'const'<br/>
  +                        [ eg: getContentHander() ]<br/>
  +                    - changed getFeature and getProperty to apply to const objs<br/>
  +                    - setProperty now takes a void* instead of const void*<br/>
  +                    - SAX2XMLReaderImpl does not inherit from SAXParser anymore<br/>
  +                    - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented<br/>
  +                    - Features &amp; Properties now read-only during parse</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-09</td>
  +            <td >Joe Polastre</td>
  +            <td >Namespaces bug - bogus default namespace removed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-09</td>
  +            <td >Joe Polastre</td>
  +            <td >SAXException enhanced, messages added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-08</td>
  +            <td >Joe Polastre</td>
  +            <td >SAX2Count - new sample program for SAX2.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-07</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >Remove detach() method from TreeWalker. </td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-03</td>
  +            <td >James Berry</td>
  +            <td >Add Mac Codewarrior projects.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-01</td>
  +            <td >Joe Polastre</td>
  +            <td >SAX2 support added</td>
  +        </tr>
  +        <tr>
  +            <td >2000-08-01</td>
  +            <td >Gary Gale</td>
  +            <td >Compaq Tru64 port added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-31</td>
  +            <td >Joe Polastre</td>
  +            <td >bug fix in removeAll() to zero out all the pointers.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-31</td>
  +            <td >Andy Heninger</td>
  +            <td >utf-8 byte order mark recognition</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-29</td>
  +            <td >James Berry</td>
  +            <td >Mac OS Port, general cleanups.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-28</td>
  +            <td >James Berry</td>
  +            <td >Addition of NetAccessor functionality for MacOS, built on URLAccess library.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-28</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >ICU Transcoding service: changes for move to ICU 1.6</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-27</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOM Range added. (Major new feature)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-27</td>
  +            <td >Murray Cumming</td>
  +            <td >makefile fixes for SUNW_0.7</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-25</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >XMLCh character constants definitions moved to XMLUniDefs.h. Removes name clashes with application defined symbols.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-25</td>
  +            <td >Joe Polastre</td>
  +            <td >allow nesting of PlatformUtils::Init() and Terminate()</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-25</td>
  +            <td >Gary Gale</td>
  +            <td >ICU transcoding: fix off by one error.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-21</td>
  +            <td >&lt;check&gt;</td>
  +            <td >Change wcsupr to _wcsupr</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-21</td>
  +            <td >Eric Schroeder</td>
  +            <td >Win32TransService - fix error in use of hashtables</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-21</td>
  +            <td >Joe Polastre</td>
  +            <td >DOMPrint: fixed error in handling of null CDATA sections.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-20</td>
  +            <td >Andy Heninger</td>
  +            <td >Improved net access (parse of URLs). Still weak, though.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-20</td>
  +            <td >Erik Schroeder</td>
  +            <td >XMLScaner.cpp bugfix: call startDocument() at beginning of scan.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-20</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOMCount exception handling cleaned up.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-19</td>
  +            <td >Todd Collins</td>
  +            <td >runConfigure: modified to take &quot;configureoptions&quot;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-19</td>
  +            <td >&lt;check&gt;</td>
  +            <td >Add 'make install' target to src/util/Platforms/Makefile.in</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-19</td>
  +            <td >&lt;check&gt;</td>
  +            <td >DOM: BugFix: DocumentType nodes can not have children.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-19</td>
  +            <td >&lt;check&gt;</td>
  +            <td >DOM: Bug in NodeIDMap constructor.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-18</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Documentation generation tools updated.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-17</td>
  +            <td >James Berry</td>
  +            <td >Mac OS port brought up to date (was very old)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-17</td>
  +            <td >Andy Heninger</td>
  +            <td >Change windows project to link with ws2_32.lib instead of winsock32.lib</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-17</td>
  +            <td >Grace Yan, Joe Kesselman</td>
  +            <td >DOM NodeIterator: bug fix for SHOW_ELEMENT flag incorrectly being retrieved.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-17</td>
  +            <td >Joe Polastre</td>
  +            <td >switched scanMisc() with endDoc() in scanNext. Pointed out by Dean Roddey.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-17</td>
  +            <td >Jim Reitz</td>
  +            <td >fix for uninitialized variable gotData bug in XMLScanner.cpp.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-12</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >DOM: fix bug in setting previous sibling pointer during insertNode</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-07</td>
  +            <td >Joe Polastre</td>
  +            <td >Update to use of hashtables.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-07</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM userdata: several bug fixes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-06</td>
  +            <td >Andy Heninger</td>
  +            <td >Speedups in XMLScanner, XMLReader</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-07</td>
  +            <td >&lt;check&gt;</td>
  +            <td >bug fixes in IXMLDOM*</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-06</td>
  +            <td >Joe Polastre</td>
  +            <td >Performance tweaks, added more inlines.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-05</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Documentation updates.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-05</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM: Attribute node default value handling implemented.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-05</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM Attr nodes - fixed setting of specified when cloning. (change may be in error)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-07-04</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed a memory leak when namespaces are enabled.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-28</td>
  +            <td >Curt Arnold</td>
  +            <td >COM object usage documentation update.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-28</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM Userdata - put pointers in a hash table rather than having one pre-allocated per node. Memory footprint reduction.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-27</td>
  +            <td >Joe Polastre</td>
  +            <td >extended the (implementation) hash table classes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-26</td>
  +            <td >John Roper@iOra.com</td>
  +            <td >Bug fix: check if initialized in Terminate() to stop access violations.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-26</td>
  +            <td >&lt;check&gt;</td>
  +            <td >Solaris build - template directory related changes.</td>
  +        </tr>
  +
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release120"/>
  +    <s2 title="Release Information of &XercesCName; 1.2.0: June 22, 2000">
   
       <table>
  -    <tr>
  -        <td >2000/06/22</td>
  -        <td >&lt;check&gt;</td>
  -        <td >OS/2 Port updated.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-22</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM Attr nodes, specified flag not set correctly by parser. Fixed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-20</td>
  -        <td >Rahul, Joe, Arundhati</td>
  -        <td >Many doc updates in preparation for release of version 1.2</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-19</td>
  -        <td >Rahul Jain</td>
  -        <td >Update Package Binaries script to build Xerces with ICU.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-19</td>
  -        <td >Joe Polastre</td>
  -        <td >Added help messages to PParse and StdInParse samples.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-19</td>
  -        <td >Joe Polastre</td>
  -        <td >Changed &quot;XML4C&quot; to &quot;Xerces-C&quot; in DOMPrint. (Missed in earlier mass name change.)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-19</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >Moved version.incl up one directory level.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-19</td>
  -        <td >Curt Arnold</td>
  -        <td >Improved Windows project file.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-16</td>
  -        <td >John Smirl</td>
  -        <td >Bug Fix: Document Handler was not called for PIs occurring before the document element. Bug identified by John Smirl
  -            and Rich Taylor</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-16</td>
  -        <td >Rahul Jain</td>
  -        <td >DOMPrint, SAXPrint: remove extra space in printing PIs.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-16</td>
  -        <td >Rahul Jain</td>
  -        <td >Windows Debug Build: add 'D' suffix to DLL name in VCPPDefs.hpp</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-16</td>
  -        <td >Rahul Jain</td>
  -        <td >Samples: added -v option (validate always). Needed for testing scripts.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-14</td>
  -        <td >Joe Polastre</td>
  -        <td >Fixed null ptr failures in DOM NamedNodeMap</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-12</td>
  -        <td >Andy Heninger</td>
  -        <td >Fixed bug in XMLString::trim(), reported by Michele Laghi</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-07</td>
  -        <td >Joe Polastre</td>
  -        <td >DOM: reduced memory usage for elements with no attributes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-01</td>
  -        <td >Andy Heninger</td>
  -        <td >DOMString - add const to return type of const XMLCh *DOMString::rawBuffer()</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-01</td>
  -        <td >Arundhati Bhowmick</td>
  -        <td >Fix crash with Solaris optimized build. Modified XMLURL.cpp to dodge compiler code generation error.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-06-01</td>
  -        <td >Joe Polastre</td>
  -        <td >Bug fix: DOM Attr Specified flag was incorrectly set when cloning or importing attributes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-31</td>
  -        <td >Andy Heninger</td>
  -        <td >MSVC projects modified to produce separate debug and release versions of Xerces lib and dll.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-31</td>
  -        <td >Rahul Jain</td>
  -        <td >Bug fix: DOMPrint, SAXPrint produced garbage output on Solaris. Solaris library problem.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-31</td>
  -        <td >Joe Polastre</td>
  -        <td >Fixed incorrect error check for end of file in Win32 platform utils.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-31</td>
  -        <td >Rahul Jain</td>
  -        <td >DOMPrint enhancements. Add options for specifying character encoding of the output, better control over escaping
  -            of characters, better handling of CDATA sections. Default validation is now &quot;auto&quot;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-22</td>
  -        <td >Dean Roddey</td>
  -        <td >XMLFormatter now escapes characters, as reqd., occurring midway in strings. Reported by Hugo Duncan.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-22</td>
  -        <td >Andy Heninger</td>
  -        <td >Bug fix in implementation of DOM_Document::GetElementById()</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-18</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Documentation, DTD for source xml files moved into xerces-c project, sbk: prefixes removed, xml can now be validated
  -            locally.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-15</td>
  -        <td >Dean</td>
  -        <td >Fixed 'fatal error' when 'reusing the validator' problem reported<br/>
  -            by Rocky Raccoon (rrockey@bigfoot.com). Fix submitted by<br/>
  -            Dean Roddey (droddey@charmedquark.com).</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-15</td>
  -        <td >James Berry</td>
  -        <td >Changed #include &lt;memory.h&gt; to &lt;string.h&gt; everywhere. &lt;jberry@criticalpath.com&gt;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-15</td>
  -        <td >Andy H.</td>
  -        <td >DOMTest: removed incorrectly failing entity tests</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-12</td>
  -        <td >Andy H.</td>
  -        <td >Revised implementation of DOMDocument::getElementsById(), removed memory leaks, new test program for it.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-12</td>
  -        <td >Dean</td>
  -        <td >Bug fix - A PE ref appearing at the start of a skipped conditional section<br/>
  -            was incorrectly being processed rather than ignored. Fix from Dean Roddey.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-11</td>
  -        <td >Rahul Jain</td>
  -        <td >Start using the socket based netaccessor by default on most Unix platforms.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-11</td>
  -        <td >Rahul Jain</td>
  -        <td >Update ICUTransService to work with latest revision of ICU which provides a hard linked data DLL. i.e. icudata.dll
  -            will be loaded when xerces-c is loaded.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-05</td>
  -        <td >Dean</td>
  -        <td >Problem with progressive parsing. parseNext() would through an exception when the document contains entities, either
  -            or external.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-11</td>
  -        <td >Sean MacRoibeaird</td>
  -        <td >Add missing validity checks for stand-alone documents, character range<br/>
  -            and Well-formed parsed entities.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-10</td>
  -        <td >Radovan Chytracek</td>
  -        <td >Fix compilation problems on MSVC 5. &lt;Radovan.Chytracek@cern.ch&gt;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-10</td>
  -        <td >Dean</td>
  -        <td >Fix XMLReader defect reported by SHOGO SAWAKI</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-09</td>
  -        <td >Andy H</td>
  -        <td >Fix problem with Windows filenames containing '\' in Japanese and Korean encodings.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-08</td>
  -        <td >Andy H</td>
  -        <td >Memory Cleanup. XMLPlatformUtils::Terminate() deletes all lazily allocated memory</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-05</td>
  -        <td >Dean</td>
  -        <td >Fixed defect in progressive parsing 'parseNext()' reported by Tim Johnston</td>
  -    </tr>
  -    <tr>
  -        <td >2000-05-03</td>
  -        <td >Tom Jordahl</td>
  -        <td >Fixed Solaris build problems with static character constants. Tom Jordahl &lt;tomj@allaire.com&gt;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-28</td>
  -        <td >Arnaud LeHors</td>
  -        <td >Reduced memory usage for DOM Attributes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-28</td>
  -        <td >boercher@kidata.de</td>
  -        <td >New runConfigure options -P and -C</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-27</td>
  -        <td >Andy H</td>
  -        <td >Memory leaks in TransService. Joseph Chen &lt;JosephC@plumtree.com&gt;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-27</td>
  -        <td >Arnaud LeHors</td>
  -        <td >DOM - storage requirements for nodes substantially reduced.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-27</td>
  -        <td >Arundhati</td>
  -        <td >Added DOM XMLDecl node type; provides access to XML declaration.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-20</td>
  -        <td >Arundhati</td>
  -        <td >Added DOM access to DTD subset (DOM Level 2 feature)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-19</td>
  -        <td >Anupam Bagchi</td>
  -        <td >API document generation changed to Doxygen from Doc++</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-18</td>
  -        <td >Arundhati</td>
  -        <td >Full support for DOM_EntityReference, DOM_Entity and DOM_DocumentType introduced</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-18</td>
  -        <td >Dean Roddey</td>
  -        <td >Don't allow spaces before PI target. Bug #42</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-17</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Follow the SMP/E procedures for the OS/390 BATCH install</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-12</td>
  -        <td >Dean Roddey</td>
  -        <td >Auto-validate mode. Validate only when a DTD is present.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-11</td>
  -        <td >Dean Roddey</td>
  -        <td >If a SAX error handler is installed, then the resetErrors() event handler<br/>
  -            should call the one on the installed SAX error handler.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-10</td>
  -        <td >Dean Roddey</td>
  -        <td >Allow an empty DOCTYPE declaration, with just the root name.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-06</td>
  -        <td >Dean Roddey</td>
  -        <td >Add low level support for transcoding XML output to different character encodings.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-06</td>
  -        <td >Arnaud Lehors</td>
  -        <td >DOM node memory footprint reduction.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-06</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed hanging bug in character transcoding.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-05</td>
  -        <td >Dean Roddey</td>
  -        <td >Enable installation of DTDHandler on SAX parser.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-04</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Support for PTX platform</td>
  -    </tr>
  -    <tr>
  -        <td >2000-04-03</td>
  -        <td >&nbsp;</td>
  -        <td >IRIX 6.5 port</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-30</td>
  -        <td >&nbsp;</td>
  -        <td >COM wrappers</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-24</td>
  -        <td >Jeff Lewis</td>
  -        <td >DOM_Document::GetElementsByTagId() added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-23</td>
  -        <td >Chih Hsiang Chou</td>
  -        <td >DOM: support for identifying &quot;ignorable white space&quot; text nodes.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-23</td>
  -        <td >Rahul Jain</td>
  -        <td >URL Net Accessor added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-20</td>
  -        <td >Dean Roddey</td>
  -        <td >Fix null pointer exception with some bad documents.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-17</td>
  -        <td >Dean Roddey</td>
  -        <td >Initial support for two-way transcoding.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-17</td>
  -        <td >Dean Roddey</td>
  -        <td >Intrinsic transcoding table generation utility added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-17</td>
  -        <td >Anupam Bagchi</td>
  -        <td >UNIX build: Now generates object files in platform-specific directories</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-13</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Fix GCC build problem: Changed XML_GNUG to XML_GCC</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-13</td>
  -        <td >Helmut Eiken</td>
  -        <td >Fixed #54. Changed self-assignment to now use the parameter value.<br/>
  -            Reported by Helmut Eiken &lt;H.Eiken@cli.de&gt;</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-10</td>
  -        <td >Chih Hsiang Chou</td>
  -        <td >Fix bug # 19, add const keyword to API. As a result, update test case.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-10</td>
  -        <td >Chih Hsiang Chou</td>
  -        <td >DOM: &quot;specified&quot; flag of attributes now set correctly.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-08</td>
  -        <td >Dean Roddey</td>
  -        <td >Some fixes for content models that have multiple, trailing, empty<br/>
  -            PE refs (for content model extension.)</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-07</td>
  -        <td >Dean Roddey</td>
  -        <td >First cut for additions to Win32 xcode. Based very loosely on a<br/>
  -            prototype from Eric Ulevik.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-03</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed a bug in SimpleContentModel that allowed an &lt;a/&gt; to be taken<br/>
  -            as valid for a content model of (a,b).</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-02</td>
  -        <td >Dean Roddey</td>
  -        <td >Added a scanReset()/parseReset() method to the scanner and<br/>
  -            parsers, to allow for reset after early exit from a progressive parse.<br/>
  -            Added calls to new Terminate() call to all of the samples. Improved<br/>
  -            documentation in SAX and DOM parsers.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-03-02</td>
  -        <td >Dean Roddey</td>
  -        <td >Change &quot;XML4C&quot; to &quot;Xerces&quot; in many places<br/>
  -            Add a cleanup method to XMLPlatformUtils.<br/>
  -            Implement the Locator scheme for SAX.<br/>
  -            Add a -n option to most of the samples, to enable namespaces<br/>
  -            Fix an error where XMLScanner::parseNext() was falling through on an<br/>
  -            exception instead of return a failure.<br/>
  -            Implement the specialized string loading for Win98, since LoadStringW()<br/>
  -            doesn't work on 98 and makes the loaded error text from the Win32<br/>
  -            message loader come out junk<br/>
  -            fix error when two trailing entity references in a content model, like so:<br/>
  -            &lt;!ELEMENT foo (a|b|c|d|e %one;%two;)*&gt;</td>
  -    </tr>
  -
  -     </table>
  -     </s2>
  -
  -     <s2 title="&XercesCName; Version 1.1.0: Feb 28, 2000">
  -
  -     <table>
  -
  -    <tr>
  -        <td >2000/02/18</td>
  -        <td >Dean Roddey</td>
  -        <td >XMLCh defaults to wchar_t on platforms where wchar_t uses Unicode.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-18</td>
  -        <td >Dean Roddey</td>
  -        <td >Add Windows-1252 as a built in encoding</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-17</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed an infinite loop caused while trying to trim leading white space from the raw URL during parsing.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-17</td>
  -        <td >Rahul Jain</td>
  -        <td >Add LibWWW based net accessor</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-17</td>
  -        <td >Chih Hsiang Chou</td>
  -        <td >DOM: NodeIterator, TreeWalker added.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-16</td>
  -        <td >Dean Roddey</td>
  -        <td >Updates for EBCDIC code page issues.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-15</td>
  -        <td >Chih Hsiang Chou</td>
  -        <td >DOM: several namespace bugfixes</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-14</td>
  -        <td >Dean Roddey</td>
  -        <td >Disallow EBCDIC documents without an encoding declaration</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-10</td>
  -        <td >Bill Schindler</td>
  -        <td >Fixed defect in compare[N]IString function. Defect and fix reported<br/>
  -            by Bill Schindler from developer@bitranch.com</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-10</td>
  -        <td >Anupam Bagchi</td>
  -        <td >Sample source code cleaned up.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-08</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed bug: xmlns:xxx=&quot;&quot; should affect the mapping of the prefixes of sibling attributes</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-07</td>
  -        <td >Dean Roddey</td>
  -        <td >Don't weave base and relative paths unless relative part is really relative.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-03</td>
  -        <td >Dietrich Wolf</td>
  -        <td >C++-Builder 4 support</td>
  -    </tr>
  -    <tr>
  -        <td >2000-02-03</td>
  -        <td >Robert Weir</td>
  -        <td >DOMString enhancements</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-31</td>
  -        <td >Dean Roddey</td>
  -        <td >Win32 mutex implementation was changed to use critical sections for speed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-28</td>
  -        <td >Dean Roddey</td>
  -        <td >The API is not in place to allow client code to make sense of start/end entity<br/>
  -            ref calls from attribute values. So suppress them for now.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-28</td>
  -        <td >Andy Heninger</td>
  -        <td >Fix multi-threading problem in DOM.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-27</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixed bug: If an entity ends on the last &gt; of some markup, then the end of entity<br/>
  -            won't be sent because the end of entity is not sensed.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-24</td>
  -        <td >Dean Roddey</td>
  -        <td >Fixes a bogus error about ]]&gt; in char data.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-24</td>
  -        <td >Dean Roddey</td>
  -        <td >Exposed the APIs to get to the byte offset in the source XML buffer.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-21</td>
  -        <td >Dean Roddey</td>
  -        <td >Added a check for a broken pipe error on file read.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-18</td>
  -        <td >Dean Roddey</td>
  -        <td >Update to support new ICU 1.4 release</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-18</td>
  -        <td >Dean Roddey</td>
  -        <td >Remove dependence on old utils standard streams</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-18</td>
  -        <td >Rahul Jain</td>
  -        <td >Added CreateDOMDocument sample.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-13</td>
  -        <td >Dean Roddey</td>
  -        <td >Added a NetAccessorException for use by implementations of the NetAccessor abstraction, if they need to report
  -            errors during processing</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-12</td>
  -        <td >Dean Roddey</td>
  -        <td >get the C++ and Java versions of error messages more into sync.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-11</td>
  -        <td >Dean Roddey</td>
  -        <td >Moved the input source classes from / to framework/.</td>
  -    </tr>
  -    <tr>
  -        <td >2000-01-11</td>
  -        <td >Dean Roddey</td>
  -        <td >Changes to deal with multiply nested, relative paths, entities</td>
  -    </tr>
  -</table>
  +        <tr>
  +            <td >2000/06/22</td>
  +            <td >&lt;check&gt;</td>
  +            <td >OS/2 Port updated.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-22</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM Attr nodes, specified flag not set correctly by parser. Fixed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-20</td>
  +            <td >Rahul, Joe, Arundhati</td>
  +            <td >Many doc updates in preparation for release of 1.2</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-19</td>
  +            <td >Rahul Jain</td>
  +            <td >Update Package Binaries script to build Xerces with ICU.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-19</td>
  +            <td >Joe Polastre</td>
  +            <td >Added help messages to PParse and StdInParse samples.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-19</td>
  +            <td >Joe Polastre</td>
  +            <td >Changed &quot;XML4C&quot; to &quot;Xerces-C&quot; in DOMPrint. (Missed in earlier mass name change.)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-19</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >Moved version.incl up one directory level.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-19</td>
  +            <td >Curt Arnold</td>
  +            <td >Improved Windows project file.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-16</td>
  +            <td >John Smirl</td>
  +            <td >Bug Fix: Document Handler was not called for PIs occurring before the document element. Bug identified by John Smirl
  +                and Rich Taylor</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-16</td>
  +            <td >Rahul Jain</td>
  +            <td >DOMPrint, SAXPrint: remove extra space in printing PIs.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-16</td>
  +            <td >Rahul Jain</td>
  +            <td >Windows Debug Build: add 'D' suffix to DLL name in VCPPDefs.hpp</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-16</td>
  +            <td >Rahul Jain</td>
  +            <td >Samples: added -v option (validate always). Needed for testing scripts.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-14</td>
  +            <td >Joe Polastre</td>
  +            <td >Fixed null ptr failures in DOM NamedNodeMap</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-12</td>
  +            <td >Andy Heninger</td>
  +            <td >Fixed bug in XMLString::trim(), reported by Michele Laghi</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-07</td>
  +            <td >Joe Polastre</td>
  +            <td >DOM: reduced memory usage for elements with no attributes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-01</td>
  +            <td >Andy Heninger</td>
  +            <td >DOMString - add const to return type of const XMLCh *DOMString::rawBuffer()</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-01</td>
  +            <td >Arundhati Bhowmick</td>
  +            <td >Fix crash with Solaris optimized build. Modified XMLURL.cpp to dodge compiler code generation error.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-06-01</td>
  +            <td >Joe Polastre</td>
  +            <td >Bug fix: DOM Attr Specified flag was incorrectly set when cloning or importing attributes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-31</td>
  +            <td >Andy Heninger</td>
  +            <td >MSVC projects modified to produce separate debug and release versions of Xerces lib and dll.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-31</td>
  +            <td >Rahul Jain</td>
  +            <td >Bug fix: DOMPrint, SAXPrint produced garbage output on Solaris. Solaris library problem.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-31</td>
  +            <td >Joe Polastre</td>
  +            <td >Fixed incorrect error check for end of file in Win32 platform utils.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-31</td>
  +            <td >Rahul Jain</td>
  +            <td >DOMPrint enhancements. Add options for specifying character encoding of the output, better control over escaping
  +                of characters, better handling of CDATA sections. Default validation is now &quot;auto&quot;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-22</td>
  +            <td >Dean Roddey</td>
  +            <td >XMLFormatter now escapes characters, as reqd., occurring midway in strings. Reported by Hugo Duncan.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-22</td>
  +            <td >Andy Heninger</td>
  +            <td >Bug fix in implementation of DOM_Document::GetElementById()</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-18</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Documentation, DTD for source xml files moved into xerces-c project, sbk: prefixes removed, xml can now be validated
  +                locally.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-15</td>
  +            <td >Dean</td>
  +            <td >Fixed 'fatal error' when 'reusing the validator' problem reported<br/>
  +                by Rocky Raccoon (rrockey@bigfoot.com). Fix submitted by<br/>
  +                Dean Roddey (droddey@charmedquark.com).</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-15</td>
  +            <td >James Berry</td>
  +            <td >Changed #include &lt;memory.h&gt; to &lt;string.h&gt; everywhere. &lt;jberry@criticalpath.com&gt;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-15</td>
  +            <td >Andy H.</td>
  +            <td >DOMTest: removed incorrectly failing entity tests</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-12</td>
  +            <td >Andy H.</td>
  +            <td >Revised implementation of DOMDocument::getElementsById(), removed memory leaks, new test program for it.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-12</td>
  +            <td >Dean</td>
  +            <td >Bug fix - A PE ref appearing at the start of a skipped conditional section<br/>
  +                was incorrectly being processed rather than ignored. Fix from Dean Roddey.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-11</td>
  +            <td >Rahul Jain</td>
  +            <td >Start using the socket based netaccessor by default on most Unix platforms.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-11</td>
  +            <td >Rahul Jain</td>
  +            <td >Update ICUTransService to work with latest revision of ICU which provides a hard linked data DLL. i.e. icudata.dll
  +                will be loaded when xerces-c is loaded.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-05</td>
  +            <td >Dean</td>
  +            <td >Problem with progressive parsing. parseNext() would through an exception when the document contains entities, either
  +                or external.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-11</td>
  +            <td >Sean MacRoibeaird</td>
  +            <td >Add missing validity checks for stand-alone documents, character range<br/>
  +                and Well-formed parsed entities.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-10</td>
  +            <td >Radovan Chytracek</td>
  +            <td >Fix compilation problems on MSVC 5. &lt;Radovan.Chytracek@cern.ch&gt;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-10</td>
  +            <td >Dean</td>
  +            <td >Fix XMLReader defect reported by SHOGO SAWAKI</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-09</td>
  +            <td >Andy H</td>
  +            <td >Fix problem with Windows filenames containing '\' in Japanese and Korean encodings.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-08</td>
  +            <td >Andy H</td>
  +            <td >Memory Cleanup. XMLPlatformUtils::Terminate() deletes all lazily allocated memory</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-05</td>
  +            <td >Dean</td>
  +            <td >Fixed defect in progressive parsing 'parseNext()' reported by Tim Johnston</td>
  +        </tr>
  +        <tr>
  +            <td >2000-05-03</td>
  +            <td >Tom Jordahl</td>
  +            <td >Fixed Solaris build problems with static character constants. Tom Jordahl &lt;tomj@allaire.com&gt;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-28</td>
  +            <td >Arnaud LeHors</td>
  +            <td >Reduced memory usage for DOM Attributes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-28</td>
  +            <td >boercher@kidata.de</td>
  +            <td >New runConfigure options -P and -C</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-27</td>
  +            <td >Andy H</td>
  +            <td >Memory leaks in TransService. Joseph Chen &lt;JosephC@plumtree.com&gt;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-27</td>
  +            <td >Arnaud LeHors</td>
  +            <td >DOM - storage requirements for nodes substantially reduced.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-27</td>
  +            <td >Arundhati</td>
  +            <td >Added DOM XMLDecl node type; provides access to XML declaration.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-20</td>
  +            <td >Arundhati</td>
  +            <td >Added DOM access to DTD subset (DOM Level 2 feature)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-19</td>
  +            <td >Anupam Bagchi</td>
  +            <td >API document generation changed to Doxygen from Doc++</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-18</td>
  +            <td >Arundhati</td>
  +            <td >Full support for DOM_EntityReference, DOM_Entity and DOM_DocumentType introduced</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-18</td>
  +            <td >Dean Roddey</td>
  +            <td >Don't allow spaces before PI target. Bug #42</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-17</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Follow the SMP/E procedures for the OS/390 BATCH install</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-12</td>
  +            <td >Dean Roddey</td>
  +            <td >Auto-validate mode. Validate only when a DTD is present.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-11</td>
  +            <td >Dean Roddey</td>
  +            <td >If a SAX error handler is installed, then the resetErrors() event handler<br/>
  +                should call the one on the installed SAX error handler.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-10</td>
  +            <td >Dean Roddey</td>
  +            <td >Allow an empty DOCTYPE declaration, with just the root name.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-06</td>
  +            <td >Dean Roddey</td>
  +            <td >Add low level support for transcoding XML output to different character encodings.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-06</td>
  +            <td >Arnaud Lehors</td>
  +            <td >DOM node memory footprint reduction.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-06</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed hanging bug in character transcoding.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-05</td>
  +            <td >Dean Roddey</td>
  +            <td >Enable installation of DTDHandler on SAX parser.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-04</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Support for PTX platform</td>
  +        </tr>
  +        <tr>
  +            <td >2000-04-03</td>
  +            <td >&nbsp;</td>
  +            <td >IRIX 6.5 port</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-30</td>
  +            <td >&nbsp;</td>
  +            <td >COM wrappers</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-24</td>
  +            <td >Jeff Lewis</td>
  +            <td >DOM_Document::GetElementsByTagId() added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-23</td>
  +            <td >Chih Hsiang Chou</td>
  +            <td >DOM: support for identifying &quot;ignorable white space&quot; text nodes.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-23</td>
  +            <td >Rahul Jain</td>
  +            <td >URL Net Accessor added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-20</td>
  +            <td >Dean Roddey</td>
  +            <td >Fix null pointer exception with some bad documents.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-17</td>
  +            <td >Dean Roddey</td>
  +            <td >Initial support for two-way transcoding.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-17</td>
  +            <td >Dean Roddey</td>
  +            <td >Intrinsic transcoding table generation utility added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-17</td>
  +            <td >Anupam Bagchi</td>
  +            <td >UNIX build: Now generates object files in platform-specific directories</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-13</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Fix GCC build problem: Changed XML_GNUG to XML_GCC</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-13</td>
  +            <td >Helmut Eiken</td>
  +            <td >Fixed #54. Changed self-assignment to now use the parameter value.<br/>
  +                Reported by Helmut Eiken &lt;H.Eiken@cli.de&gt;</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-10</td>
  +            <td >Chih Hsiang Chou</td>
  +            <td >Fix bug # 19, add const keyword to API. As a result, update test case.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-10</td>
  +            <td >Chih Hsiang Chou</td>
  +            <td >DOM: &quot;specified&quot; flag of attributes now set correctly.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-08</td>
  +            <td >Dean Roddey</td>
  +            <td >Some fixes for content models that have multiple, trailing, empty<br/>
  +                PE refs (for content model extension.)</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-07</td>
  +            <td >Dean Roddey</td>
  +            <td >First cut for additions to Win32 xcode. Based very loosely on a<br/>
  +                prototype from Eric Ulevik.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-03</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed a bug in SimpleContentModel that allowed an &lt;a/&gt; to be taken<br/>
  +                as valid for a content model of (a,b).</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-02</td>
  +            <td >Dean Roddey</td>
  +            <td >Added a scanReset()/parseReset() method to the scanner and<br/>
  +                parsers, to allow for reset after early exit from a progressive parse.<br/>
  +                Added calls to new Terminate() call to all of the samples. Improved<br/>
  +                documentation in SAX and DOM parsers.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-03-02</td>
  +            <td >Dean Roddey</td>
  +            <td >Change &quot;XML4C&quot; to &quot;Xerces&quot; in many places<br/>
  +                Add a cleanup method to XMLPlatformUtils.<br/>
  +                Implement the Locator scheme for SAX.<br/>
  +                Add a -n option to most of the samples, to enable namespaces<br/>
  +                Fix an error where XMLScanner::parseNext() was falling through on an<br/>
  +                exception instead of return a failure.<br/>
  +                Implement the specialized string loading for Win98, since LoadStringW()<br/>
  +                doesn't work on 98 and makes the loaded error text from the Win32<br/>
  +                message loader come out junk<br/>
  +                fix error when two trailing entity references in a content model, like so:<br/>
  +                &lt;!ELEMENT foo (a|b|c|d|e %one;%two;)*&gt;</td>
  +        </tr>
   
  -</s2>
  +    </table>
  +    </s2>
  +
  +    <anchor name="Release110"/>
  +    <s2 title="Release Information of &XercesCName; 1.1.0: Feb 28, 2000">
   
  +    <table>
   
  +        <tr>
  +            <td >2000/02/18</td>
  +            <td >Dean Roddey</td>
  +            <td >XMLCh defaults to wchar_t on platforms where wchar_t uses Unicode.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-18</td>
  +            <td >Dean Roddey</td>
  +            <td >Add Windows-1252 as a built in encoding</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-17</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed an infinite loop caused while trying to trim leading white space from the raw URL during parsing.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-17</td>
  +            <td >Rahul Jain</td>
  +            <td >Add LibWWW based net accessor</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-17</td>
  +            <td >Chih Hsiang Chou</td>
  +            <td >DOM: NodeIterator, TreeWalker added.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-16</td>
  +            <td >Dean Roddey</td>
  +            <td >Updates for EBCDIC code page issues.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-15</td>
  +            <td >Chih Hsiang Chou</td>
  +            <td >DOM: several namespace bugfixes</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-14</td>
  +            <td >Dean Roddey</td>
  +            <td >Disallow EBCDIC documents without an encoding declaration</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-10</td>
  +            <td >Bill Schindler</td>
  +            <td >Fixed defect in compare[N]IString function. Defect and fix reported<br/>
  +                by Bill Schindler from developer@bitranch.com</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-10</td>
  +            <td >Anupam Bagchi</td>
  +            <td >Sample source code cleaned up.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-08</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed bug: xmlns:xxx=&quot;&quot; should affect the mapping of the prefixes of sibling attributes</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-07</td>
  +            <td >Dean Roddey</td>
  +            <td >Don't weave base and relative paths unless relative part is really relative.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-03</td>
  +            <td >Dietrich Wolf</td>
  +            <td >C++-Builder 4 support</td>
  +        </tr>
  +        <tr>
  +            <td >2000-02-03</td>
  +            <td >Robert Weir</td>
  +            <td >DOMString enhancements</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-31</td>
  +            <td >Dean Roddey</td>
  +            <td >Win32 mutex implementation was changed to use critical sections for speed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-28</td>
  +            <td >Dean Roddey</td>
  +            <td >The API is not in place to allow client code to make sense of start/end entity<br/>
  +                ref calls from attribute values. So suppress them for now.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-28</td>
  +            <td >Andy Heninger</td>
  +            <td >Fix multi-threading problem in DOM.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-27</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixed bug: If an entity ends on the last &gt; of some markup, then the end of entity<br/>
  +                won't be sent because the end of entity is not sensed.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-24</td>
  +            <td >Dean Roddey</td>
  +            <td >Fixes a bogus error about ]]&gt; in char data.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-24</td>
  +            <td >Dean Roddey</td>
  +            <td >Exposed the APIs to get to the byte offset in the source XML buffer.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-21</td>
  +            <td >Dean Roddey</td>
  +            <td >Added a check for a broken pipe error on file read.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-18</td>
  +            <td >Dean Roddey</td>
  +            <td >Update to support new ICU 1.4 release</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-18</td>
  +            <td >Dean Roddey</td>
  +            <td >Remove dependence on old utils standard streams</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-18</td>
  +            <td >Rahul Jain</td>
  +            <td >Added CreateDOMDocument sample.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-13</td>
  +            <td >Dean Roddey</td>
  +            <td >Added a NetAccessorException for use by implementations of the NetAccessor abstraction, if they need to report
  +                errors during processing</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-12</td>
  +            <td >Dean Roddey</td>
  +            <td >get the C++ and Java versions of error messages more into sync.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-11</td>
  +            <td >Dean Roddey</td>
  +            <td >Moved the input source classes from / to framework/.</td>
  +        </tr>
  +        <tr>
  +            <td >2000-01-11</td>
  +            <td >Dean Roddey</td>
  +            <td >Changes to deal with multiply nested, relative paths, entities</td>
  +        </tr>
  +    </table>
  +    </s2>
   
  -    <s2 title="&XercesCName; Version 1.0.1: December 15, 1999">
  +    <anchor name="Release101"/>
  +    <s2 title="Release Information of &XercesCName; 1.0.1: December 15, 1999">
           <ul>
               <li>Port to Solaris.</li>
               <li>Improved error recovery and clarified error messages.</li>
  @@ -3138,7 +4356,8 @@
           </ul>
       </s2>
   
  -    <s2 title="&XercesCFullName; Version 1.0.0: December 7, 1999">
  +    <anchor name="Release100"/>
  +    <s2 title="Release Information of &XercesCName; 1.0.0: December 7, 1999">
           <ul>
               <li>Released &XercesCName; after incorporating ICU as a value-added plug-in.</li>
               <li>Has bug fixes, better conformance, better speed and cleaner internal architecture</li>
  @@ -3152,7 +4371,8 @@
           </ul>
       </s2>
   
  -    <s2 title="&XercesCName; BETA November 5, 1999">
  +    <anchor name="ReleaseBETA"/>
  +    <s2 title="Release Information of &XercesCName; BETA: November 5, 1999">
           <ul>
               <li>Created initial code base derived from IBM's XML4C Version 2.0</li>
               <li>Modified documentation to reflect new name (Xerces-C)</li>
  
  
  
  1.3       +16 -151   xml-site/sources/xerces-c/releases_plan.xml
  
  Index: releases_plan.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/releases_plan.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- releases_plan.xml	17 Jul 2002 18:08:33 -0000	1.2
  +++ releases_plan.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -5,8 +5,8 @@
   
   <s2 title="&XercesCName; Future Releases Plan">
   <p>This document highlights the release plan for &XercesCName;.</p>
  -<s3 title="Current Status"><p>&XercesCName; 1.7.0 - released on March 8, 2002.</p></s3>
  -<s3 title="Next Target Release"><p>&XercesCName; 2.0.0 - plan to be released in June or July.</p></s3>
  +<s3 title="Current Status"><p>&XercesCName; 2.0.0 - released on July 23, 2002.</p></s3>
  +<s3 title="Next Target Release"><p>&XercesCName; 2.1.0 - plan to be released by the end of this year.</p></s3>
   <s3 title="&XercesCName; Features list">
   <p> The following table lists the TODO items for &XercesCName;.  It does not include fixing
   bugs that are opened in Bugzilla; unless such Bugzilla bug involves a major development
  @@ -23,184 +23,49 @@
       </tr>
   
       <tr>
  -        <td>Report Schema Error with matching column number and line number</td>
  -        <td>Khaled Noaman</td>
  -        <td>March</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Move post schema validation (e.g. element consistency check, particle derivation checking)
  -            from TraverseSchema to SchemaValidator</td>
  -        <td>Khaled Noaman</td>
  -        <td>March</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>[Bug 6095] Modify .so name to have version number</td>
  -        <td>PeiYong Zhang</td>
  -        <td>April</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Modify runConfigure with 64 bit support</td>
  -        <td>PeiYong Zhang</td>
  -        <td>April</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Produce 64 bit binary distribution for AIX</td>
  -        <td>PeiYong Zhang</td>
  -        <td>April</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Produce 64 bit binary distribution for HP</td>
  -        <td>PeiYong Zhang</td>
  -        <td>May</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Produce 64 bit binary distribution for Solaris</td>
  -        <td>PeiYong Zhang</td>
  -        <td>July</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Produce 64 bit binary distribution for Windows</td>
  -        <td>PeiYong Zhang</td>
  -        <td>July</td>
  +        <td>XML 1.1</td>
  +        <td></td>
           <td></td>
  -    </tr>
  -
  -    <tr>
  -        <td>Produce 64 bit binary distribution for Linux</td>
  -        <td>PeiYong Zhang</td>
  -        <td>July</td>
           <td></td>
       </tr>
   
       <tr>
  -        <td>DOM Reorganization and Apache Recommended DOM C++ Binding</td>
  -        <td>Tinny Ng</td>
  -        <td>May</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Add feature http://apache.org/xml/features/nonvalidating/load-external-dtd to
  -            optionally ignore external DTD</td>
  -        <td>Tinny Ng</td>
  -        <td>May</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>Update 32 bit Solaris binary distribution from Solaris 2.6 to Solaris 2.7</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: DOMImplementationRegistry and DOMImplementationSource</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: Document: set/getActualEncoding, set/getEncoding, set/getVersion, set/getStandalone, set/getDocumentURI</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: Document: renameNode</td>
  -        <td>Tinny Ng</td>
  -        <td>July</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: Node: isSameNode, isEqualNode, getInterface</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: DOMUserDataHandler, and Node: get/setUserData</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -
  -    <tr>
  -        <td>DOM L3 Core: Entity: set/getActualEncoding, set/getEncoding, set/getVersion</td>
  -        <td>Tinny Ng</td>
  -        <td>June</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Core: DOMErrorHandler, DOMError, DOMLocator</td>
  -        <td>Khaled Noaman</td>
  -        <td>May</td>
  -        <td>Complete</td>
  -    </tr>
  -
  -    <tr>
  -        <td>DOM L3 Load: DOMInputSource, DOMEntityResolver, DOMBuilder, DOMImplementationLS</td>
  -        <td>Khaled Noaman</td>
  -        <td>May</td>
  -        <td>Complete</td>
  -    </tr>
  -    <tr>
  -        <td>DOM L3 Save: DOMWriter, DOMWriterFilter, DOMOutputSource(or similar class)</td>
  -        <td>PeiYong Zhang</td>
  -        <td>May</td>
  -        <td>Complete</td>
  +        <td>SAX 2.0.1</td>
  +        <td></td>
  +        <td></td>
  +        <td></td>
       </tr>
   
       <tr>
  -        <td>Grammar Caching</td>
  -        <td>Khaled Noaman</td>
  -        <td>July</td>
  -        <td>Compelte</td>
  +        <td>Schema 1.1</td>
  +        <td></td>
  +        <td></td>
  +        <td></td>
       </tr>
   
       <tr>
  -        <td>XML 1.1</td>
  +        <td>PSVI</td>
           <td></td>
           <td></td>
           <td></td>
       </tr>
   
       <tr>
  -        <td>SAX 2.0.1</td>
  +        <td>More DOM Level 3 Core Support</td>
           <td></td>
           <td></td>
           <td></td>
       </tr>
   
       <tr>
  -        <td>Schema 1.1</td>
  +        <td>NLS messages</td>
           <td></td>
           <td></td>
           <td></td>
       </tr>
   
       <tr>
  -        <td>PSVI</td>
  +        <td>Use C++ namespace</td>
           <td></td>
           <td></td>
           <td></td>
  
  
  
  1.10      +1 -5      xml-site/sources/xerces-c/samples.xml
  
  Index: samples.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/samples.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- samples.xml	8 Mar 2002 20:40:52 -0000	1.9
  +++ samples.xml	23 Jul 2002 13:14:58 -0000	1.10
  @@ -4,7 +4,7 @@
   <s1 title="&XercesCName; Samples">
   
       <s2 title="Introduction">
  -    <p>&XercesCName; comes packaged with 15 sample applications that
  +    <p>&XercesCName; comes packaged with 13 sample applications that
       demonstrate salient features of the parser using simple
       applications written on top of the SAX and DOM APIs provided by
       the parser.  Sample XML data files are provided in the samples/data directory.</p>
  @@ -66,10 +66,6 @@
   					characters in an XML file.</li>
   				<li><link idref="sax2print">SAX2Print</link>
   					<br/>SAX2Print parses an XML file and prints it out.</li>
  -				<li><link idref="idomcount">IDOMCount</link>
  -					<br/>IDOMCount counts the elements in a XML file.</li>
  -				<li><link idref="idomprint">IDOMPrint</link>
  -					<br/>IDOMPrint parses an XML file and prints it out.</li>
   			</ul>
   		</s3>
       </s2>
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/sax2count.xml
  
  Index: sax2count.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/sax2count.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- sax2count.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ sax2count.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 11: SAX2Count">
  +<s1 title="Sample: SAX2Count">
   
       <s2 title="SAX2Count">
           <p>SAX2Count is the simplest application that counts the elements and characters of
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/sax2print.xml
  
  Index: sax2print.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/sax2print.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- sax2print.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ sax2print.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 12: SAX2Print">
  +<s1 title="Sample: SAX2Print">
   
       <s2 title="SAX2Print">
           <p>SAX2Print uses the SAX2 APIs to parse an XML file and print
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/saxcount.xml
  
  Index: saxcount.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/saxcount.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- saxcount.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ saxcount.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 1: SAXCount">
  +<s1 title="Sample: SAXCount">
   
       <s2 title="SAXCount">
           <p>SAXCount is the simplest application that counts the elements and characters of
  
  
  
  1.2       +1 -1      xml-site/sources/xerces-c/saxprint.xml
  
  Index: saxprint.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/saxprint.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- saxprint.xml	14 Feb 2002 16:44:20 -0000	1.1
  +++ saxprint.xml	23 Jul 2002 13:14:58 -0000	1.2
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 2: SAXPrint">
  +<s1 title="Sample: SAXPrint">
   
       <s2 title="SAXPrint">
           <p>SAXPrint uses the SAX APIs to parse an XML file and print
  
  
  
  1.3       +3 -3      xml-site/sources/xerces-c/schema.xml
  
  Index: schema.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/schema.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- schema.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ schema.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -67,7 +67,7 @@
                  </p>
   <source>SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
   parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true);
  -parser->setFeature(XMLUni::fgSAX2XercesSchema, true);
  +parser->setFeature(XMLUni::fgXercesSchema, true);
   parser->parse(xmlFile);
   </source>
                  <p>Review the sample file, 'samples/data/personal-schema.xml' and
  @@ -104,7 +104,7 @@
   ArrayJanitor&lt;XMLCh&gt; janValue(propertyValue);
   
   parser->setProperty(
  -       XMLUni::fgSAX2XercesSchemaExternalNoNameSpaceSchemaLocation,
  +       XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation,
          propertyValue);
   parser.parse("test.xml");
   </source>
  @@ -127,7 +127,7 @@
   ArrayJanitor&lt;XMLCh&gt; janValue(propertyValue);
   
   parser->setProperty(
  -       XMLCh XMLUni::fgSAX2XercesSchemaExternalSchemaLocation,
  +       XMLCh XMLUni::fgXercesSchemaExternalSchemaLocation,
          propertyValue);
   parser.parse("test.xml");
   </source>
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/senumval.xml
  
  Index: senumval.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/senumval.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- senumval.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ senumval.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 9: SEnumVal">
  +<s1 title="Sample: SEnumVal">
   
       <s2 title="SEnumVal">
           <p>SEnumVal shows how to enumerate the markup decls in a Schema Grammar.</p>
  
  
  
  1.3       +1 -1      xml-site/sources/xerces-c/stdinparse.xml
  
  Index: stdinparse.xml
  ===================================================================
  RCS file: /home/cvs/xml-site/sources/xerces-c/stdinparse.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- stdinparse.xml	8 Mar 2002 20:40:52 -0000	1.2
  +++ stdinparse.xml	23 Jul 2002 13:14:58 -0000	1.3
  @@ -1,7 +1,7 @@
   <?xml version="1.0" standalone="no"?>
   <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
   
  -<s1 title="&XercesCName; Sample 8: StdInParse">
  +<s1 title="Sample: StdInParse">
   
       <s2 title="StdInParse">
           <p>StdInParse demonstrates streaming XML data from standard input.</p>
  
  
  
  1.1                  xml-site/sources/xerces-c/dom3.xml
  
  Index: dom3.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
  
  <s1 title="DOM Level 3 Support">
  <s2 title="Disclaimer">
      <p>
      The &XercesCName; &XercesCVersion; contains a partial implementation of the W3C Document Object Model
      Level 3.  This implementation is experimental.  The DOM Level 3 specification is
      still in working draft stage: you should not consider this implementation complete or correct.</p>
      <p>The limitations of this implementation are detailed below.
      Please, read this document before using &XercesCName; &XercesCVersion;.
      </p>
  </s2>
  <s2 title="Introduction">
      <p>
      The &XercesCName; &XercesCVersion; contains an experimental implementation of
      a subset of the W3C DOM Level 3 as specified in </p>
      <ul>
        <li><jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-Core-20020409/">
        DOM Level 3.0 Core Specification</jump>, a W3C Working Draft of 09 April 2002 and</li>
        <li><jump href="http://www.w3.org/TR/2002/WD-DOM-Level-3-ASLS-20020409/">
        DOM Level 3.0 Abstract Schemas and Load and Save Specification</jump>,
        a W3C Working Draft of 09 April 2002.</li>
      </ul>
  </s2>
  
  <s2 title='Implementation of DOM Level 3 Core'>
      <p>The following are implemented in &XercesCName; &XercesCVersion;.</p>
  <ul>
      <li>
          <code>DOMImplementationRegistry</code>, <code>DOMImplementationSource</code>
      </li>
      <li>
          <code>DOMException</code>: VALIDATION_ERR
      </li>
       <li>
          <code>DOMDocument</code>: set/getActualEncoding, set/getEncoding, set/getVersion, set/getStandalone,
          set/getDocumentURI, set/getStrictErrorChecking, renameNode
      </li>
      <li>
          <code>DOMEntity</code>: set/getActualEncoding, set/getEncoding, set/getVersion
      </li>
      <li>
          <code>DOMErrorHandler</code>, <code>DOMError</code>, <code>DOMLocator</code>
      </li>
      <li>
          <code>DOMNode</code>: set/getUserData, isSameNode, isEqualNode
      </li>
      <li>
          <code>DOMText</code>: getIsWhitespaceInElementContent
      </li>
      <li>
          <code>DOMUserDataHandler</code>
      </li>
  </ul>
  </s2>
  
  <s2 title='Implementation of DOM Level 3 Load and Save'>
      <p>The following are implemented in &XercesCName; &XercesCVersion;.</p>
  <ul>
      <li>
          <code>DOMImplementationLS</code>
      </li>
      <li>
          <code>DOMBuilder</code>: does not provide implementation of parseWithContext() and <code>DOMBuilderFilter</code>.
      </li>
      <li>
          <code>DOMEntityResolver</code>
      </li>
      <li>
          <code>DOMInputSource</code>
      </li>
      <li>
          <code>DOMWriter</code> and <code>DOMWriterFilter</code>
      </li>
  </ul>
  
  </s2>
  <s2 title='Implementation of DOM Level 3 Abstract Schemas'>
      <p>The entire section has not been implemented in &XercesCName; &XercesCVersion;.</p>
  </s2>
  
  </s1>
  
  
  
  1.1                  xml-site/sources/xerces-c/program-deprecateddom.xml
  
  Index: program-deprecateddom.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
  
  <s1 title="Deprecated - Java-like DOM">
  
      <s2 title="Deprecated - Java-like DOM">
        <p>Earlier, &XercesCName; has provided a set of C++ DOM interfaces that is
          very similar in design and use, to the Java DOM API bindings.
          It uses smart pointer interface and uses reference counting in memory management.
        </p>
        <p>
          Currently, such interface has been deprecated and is provided just as a viable
          alternative for those users who like the idea of Java-like smart pointer design.
          Please note that such interface may not be kept up to date to the latest
          W3C DOM specification.
        </p>
        <p>
          Users are recommended to migrate to the
          <jump href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding</jump>.
        </p>
      </s2>
  
      <s2 title="Using this set of deprecated API">
          <s3 title="Accessing API from application code">
  
      <source>
      // C++
      #include &lt;xercesc/dom/deprecated/DOM.hpp></source>
  
      <source>// Compared to Java
      import org.w3c.dom.*</source>
  
            <p>The header file &lt;dom/deprecated/DOM.hpp&gt; includes all the
              individual headers for this set of deprecated DOM API classes. </p>
          </s3>
  
          <s3 title="Class Names">
            <p>The C++ class names are prefixed with "DOM_". The intent is
              to prevent conflicts between DOM class names and other names
              that may already be in use by an application or other
              libraries that a DOM based application must link with.</p>
  
              <p>The use of C++ namespaces would also have solved this
              conflict problem, but for the fact that many compilers do not
              yet support them.</p>
  
      <source>DOM_Document   myDocument;   // C++
      DOM_Node       aNode;
      DOM_Text       someText;</source>
  
      <source>Document       myDocument;   // Compared to Java
      Node           aNode;
      Text           someText;</source>
  
            <p>If you wish to use the Java class names in C++, then you need
              to typedef them in C++. This is not advisable for the general
              case - conflicts really do occur - but can be very useful when
              converting a body of existing Java code to C++.</p>
  
      <source>typedef DOM_Document  Document;
      typedef DOM_Node      Node;
  
      Document   myDocument;        // Now C++ usage is
                                    // indistinguishable from Java
      Node       aNode;</source>
          </s3>
  
  
          <s3 title="Objects and Memory Management">
            <p>This deprecated C++ DOM implementation uses automatic memory management,
              implemented using reference counting.  As a result, the C++
              code for most DOM operations is very similar to the equivalent
              Java code, right down to the use of factory methods in the DOM
              document class for nearly all object creation, and the lack of
              any explicit object deletion.</p>
  
            <p>Consider the following code snippets </p>
  
      <source>// This is C++
      DOM_Node       aNode;
      aNode = someDocument.createElement("ElementName");
      DOM_Node docRootNode = someDoc.getDocumentElement();
      docRootNode.AppendChild(aNode);</source>
  
      <source>// This is Java
      Node       aNode;
      aNode = someDocument.createElement("ElementName");
      Node docRootNode = someDoc.getDocumentElement();
      docRootNode.AppendChild(aNode);</source>
  
            <p>The Java and the C++ are identical on the surface, except for
              the class names, and this similarity remains true for most DOM
              code. </p>
  
            <p>However, Java and C++ handle objects in somewhat different
              ways, making it important to understand a little bit of what
              is going on beneath the surface.</p>
  
            <p>In Java, the variable <code>aNode</code> is an object reference ,
              essentially a pointer. It is initially == null, and references
              an object only after the assignment statement in the second
              line of the code.</p>
  
            <p>In C++ the variable <code>aNode</code> is, from the C++ language's
              perspective, an actual live object. It is constructed when the
              first line of the code executes, and DOM_Node::operator = ()
              executes at the second line. The C++ class DOM_Node
              essentially a form of a smart-pointer; it implements much of
              the behavior of a Java Object Reference variable, and
              delegates the DOM behaviors to an implementation class that
              lives behind the scenes. </p>
  
            <p>Key points to remember when using the C++ DOM classes:</p>
  
            <ul>
              <li>Create them as local variables, or as member variables of
              some other class. Never "new" a DOM object into the heap or
              make an ordinary C pointer variable to one, as this will
              greatly confuse the automatic memory management. </li>
  
              <li>The "real" DOM objects - nodes, attributes, CData
              sections, whatever, do live on the heap, are created with the
              create... methods on class DOM_Document. DOM_Node and the
              other DOM classes serve as reference variables to the
              underlying heap objects.</li>
  
              <li>The visible DOM classes may be freely copied (assigned),
              passed as parameters to functions, or returned by value from
              functions.</li>
  
              <li>Memory management of the underlying DOM heap objects is
              automatic, implemented by means of reference counting. So long
              as some part of a document can be reached, directly or
              indirectly, via reference variables that are still alive in
              the application program, the corresponding document data will
              stay alive in the heap. When all possible paths of access have
              been closed off (all of the application's DOM objects have
              gone out of scope) the heap data itself will be automatically
              deleted. </li>
  
              <li>There are restrictions on the ability to subclass the DOM
              classes. </li>
  
            </ul>
  
          </s3>
  
          <s3 title="String Type - DOMString">
            <p>Class DOMString provides the mechanism for passing string
              data to and from the DOM API. DOMString is not intended to be
              a completely general string class, but rather to meet the
              specific needs of the DOM API.</p>
  
            <p>The design derives from two primary sources: from the DOM's
              CharacterData interface and from class <code>java.lang.string</code>.</p>
  
            <p>Main features are:</p>
  
            <ul>
              <li>It stores Unicode text.</li>
  
              <li>Automatic memory management, using reference counting.</li>
  
              <li>DOMStrings are mutable - characters can be inserted,
              deleted or appended.</li>
  
            </ul>
            <p></p>
  
            <p>When a string is passed into a method of the DOM, when
              setting the value of a Node, for example, the string is cloned
              so that any subsequent alteration or reuse of the string by
              the application will not alter the document contents.
              Similarly, when strings from the document are returned to an
              application via the DOM API, the string is cloned so that the
              document can not be inadvertently altered by subsequent edits
              to the string.</p>
  
            <note>The ICU classes are a more general solution to UNICODE
              character handling for C++ applications.  ICU is an Open
              Source Unicode library, available at the <jump
              href="http://oss.software.ibm.com/icu/">IBM
              DeveloperWorks website</jump>.</note>
  
          </s3>
  
          <s3 title="Equality Testing">
            <p>The DOMString equality operators (and all of the rest of the
              DOM class conventions) are modeled after the Java
              equivalents. The equals() method compares the content of the
              string, while the == operator checks whether the string
              reference variables (the application program variables) refer
              to the same underlying string in memory. This is also true of
              DOM_Node, DOM_Element, etc., in that operator == tells whether
              the variables in the application are referring to the same
              actual node or not. It's all very Java-like </p>
  
            <ul>
              <li>bool operator == () is true if the DOMString variables
              refer to the same underlying storage. </li>
  
              <li>bool equals() is true if the strings contain the same
              characters. </li>
  
            </ul>
            <p>Here is an example of how the equality operators work: </p>
      <source>DOMString a = "Hello";
      DOMString b = a;
      DOMString c = a.clone();
      if (b == a)           //  This is true
      if (a == c)           //  This is false
      if (a.equals(c))       //  This is true
      b = b + " World";
      if (b == a)           // Still true, and the string's
                            //    value is "Hello World"
      if (a.equals(c))      // false.  a is "Hello World";
                            //    c is still "Hello".</source>
          </s3>
  
          <s3 title="Downcasting">
            <p>Application code sometimes must cast an object reference from
              DOM_Node to one of the classes deriving from DOM_Node,
              DOM_Element, for example.  The syntax for doing this in C++ is
              different from that in Java.</p>
  
      <source>// This is C++
      DOM_Node       aNode = someFunctionReturningNode();
      DOM_Element    el = (DOM_Element &amp;) aNode;</source>
  
      <source>// This is Java
      Node       aNode = someFunctionReturningNode();
      Element    el = (Element) aNode;</source>
  
            <p>The C++ cast is not type-safe; the Java cast is checked for
              compatible types at runtime.  If necessary, a type-check can
              be made in C++ using the node type information: </p>
  
      <source>// This is C++
  
      DOM_Node       aNode = someFunctionReturningNode();
      DOM_Element    el;    // by default, el will == null.
  
      if (anode.getNodeType() == DOM_Node::ELEMENT_NODE)
         el = (DOM_Element &amp;) aNode;
      else
         // aNode does not refer to an element.
         // Do something to recover here.</source>
  
          </s3>
  
          <s3 title="Subclassing">
            <p>The C++ DOM classes, DOM_Node, DOM_Attr, DOM_Document, etc.,
              are not designed to be subclassed by an application
              program. </p>
  
            <p>As an alternative, the DOM_Node class provides a User Data
              field for use by applications as a hook for extending nodes by
              referencing additional data or objects.  See the API
              description for DOM_Node for details.</p>
          </s3>
      </s2>
  
      <s2 title="DOMParser">
          <s3 title="Constructing a DOMParser">
            <p>In order to use &XercesCName; to parse XML files using the deprecated DOM, you
              will need to create an instance of the DOMParser class. The example
              below shows the code you need in order to create an instance of the
              DOMParser.</p>
  
            <source>
      #include &lt;xercesc/dom/deprecated/DOMParser.hpp>
      #include &lt;xercesc/dom/deprecated/DOM.hpp>
      #include &lt;xercesc/sax/HandlerBase.hpp>
      #include &lt;xercesc/util/XMLString.hpp>
  
      int main (int argc, char* args[]) {
  
          try {
              XMLPlatformUtils::Initialize();
          }
          catch (const XMLException&amp; toCatch) {
              char* message = XMLString::transcode(toCatch.getMessage());
              cout &lt;&lt; "Error during initialization! :\n"
                   &lt;&lt; message &lt;&lt; "\n";
              delete [] message;
              return 1;
          }
  
          char* xmlFile = "x1.xml";
          DOMParser* parser = new DOMParser();
          parser->setValidationScheme(DOMParser::Val_Always);    // optional.
          parser->setDoNamespaces(true);    // optional
  
          ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
          parser->setErrorHandler(errHandler);
  
          try {
              parser->parse(xmlFile);
          }
          catch (const XMLException&amp; toCatch) {
              char* message = XMLString::transcode(toCatch.getMessage());
              cout &lt;&lt; "Exception message is: \n"
                   &lt;&lt; message &lt;&lt; "\n";
              delete [] message;
              return -1;
          }
          catch (const DOM_DOMException&amp; toCatch) {
              cout &lt;&lt; "Exception message is: \n"
                   &lt;&lt; toCatch.code &lt;&lt; "\n";
              return -1;
          }
          catch (...) {
              cout &lt;&lt; "Unexpected Exception \n" ;
              return -1;
          }
  
          delete parser;
          delete errHandler;
          return 0;
      }
            </source>
          </s3>
  
  
          <anchor name="DeprecatedDOMFeatures"/>
          <s3 title="DOMParser Supported Features">
  
             <p>The behavior of the DOMParser is dependant on the values of the following features.  All
             of the features below are set using the "setter" methods (e.g. <code>setDoNamespaces</code>),
             and are queried using the corresponding "getter" methods (e.g. <code>getDoNamespaces</code>).
             The following only gives you a quick summary of supported features.  Please
             refer to <jump href="api.html">API Documentataion</jump> for complete detail.
             </p>
             <p>None of these features can be modified in the middle of a parse, or an exception will be thrown.</p>
  
  
              <anchor name="createEntityRef"/>
              <table>
                  <tr><td colspan="2"><em>void setCreateEntityReferenceNodes(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Create EntityReference nodes in the DOM tree.   The
                  EntityReference nodes and their child nodes will be read-only. </td></tr>
                  <tr><td><em>false:</em></td><td> Do not create EntityReference nodes in the DOM tree.  No
                  EntityReference nodes will be created, only the nodes corresponding to their fully
                  expanded sustitution text will be created.  </td></tr>
                  <tr><td><em>default:</em></td><td> true </td></tr>
                  <tr><td><em>note:</em></td><td> This feature only affects the appearance of
                  EntityReference nodes in the DOM tree. The document will always contain the entity
                  reference child nodes. </td></tr>
              </table>
              <p/>
  
              <table>
                  <tr><td colspan="2"><em>void setExpandEntityReferences(const bool)</em> (deprecated) <br/>
                  please use <link anchor="createEntityRef">setCreateEntityReferenceNodes</link> </td></tr>
                  <tr><td><em>true:</em></td><td> Do not create EntityReference nodes in the DOM tree.  No
                  EntityReference nodes will be created, only the nodes corresponding to their fully
                  expanded sustitution text will be created.  </td></tr>
                  <tr><td><em>false:</em></td><td> Create EntityReference nodes in the DOM tree.   The
                  EntityReference nodes and their child nodes will be read-only. </td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="createEntityRef">setCreateEntityReferenceNodes</link>
                  </td></tr>
              </table>
              <p/>
  
              <table>
                  <tr><td colspan="2"><em>void setIncludeIgnorableWhitespace(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Include text nodes that can be considered "ignorable
                  whitespace" in the DOM tree. </td></tr>
                  <tr><td><em>false:</em></td><td> Do not include ignorable whitespace in the DOM tree. </td></tr>
                  <tr><td><em>default:</em></td><td> true </td></tr>
                  <tr><td><em>note:</em></td><td> The only way that the parser can determine if text is
                  ignorable is by reading the associated grammar and having a content model for the
                  document. When ignorable whitespace text nodes are included in the DOM tree,
                  they will be flagged as ignorable; and the method DOMText::isIgnorableWhitespace()
                  will return true for those text nodes.   </td></tr>
              </table>
              <p/>
  
              <anchor name="namespaces"/>
              <table>
                  <tr><td colspan="2"><em>void setDoNamespaces(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Perform Namespace processing </td></tr>
                  <tr><td><em>false:</em></td><td> Do not perform Namespace processing</td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note:</em></td><td> If the validation scheme is set to Val_Always or Val_Auto, then the
                  document must contain a grammar that supports the use of namespaces </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="validation-dynamic">setValidationScheme</link>
                  </td></tr>
              </table>
              <p/>
  
              <anchor name="validation"/>
              <table>
                  <tr><td colspan="2"><em>void setDoValidation(const bool)</em> (deprecated) <br/>
                  please use <link anchor="validation-dynamic">setValidationScheme</link>
                  </td></tr>
                  <tr><td><em>true:</em></td><td> Report all validation errors. </td></tr>
                  <tr><td><em>false:</em></td><td> Do not report validation errors. </td></tr>
                  <tr><td><em>default:</em></td><td> see the default of
                  <link anchor="validation-dynamic">setValidationScheme</link>
                  </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="validation-dynamic">setValidationScheme</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="validation-dynamic"/>
              <table>
                  <tr><td colspan="2"><em>void setValidationScheme(const ValSchemes)</em></td></tr>
                  <tr><td><em>Val_Auto:</em></td><td> The parser will report validation errors only if a grammar is specified.</td></tr>
                  <tr><td><em>Val_Always:</em></td><td> The parser will always report validation errors. </td></tr>
                  <tr><td><em>Val_Never:</em></td><td> Do not report validation errors. </td></tr>
                  <tr><td><em>default:</em></td><td> Val_Auto </td></tr>
                  <tr><td><em>note:</em></td><td> If set to Val_Always, the document must
                  specify a grammar.  If this feature is set to Val_Never and document specifies a grammar,
                  that grammar might be parsed but no validation of the document contents will be
                  performed. </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="load-external-dtd">setLoadExternalDTD</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="schema"/>
              <table>
                  <tr><td colspan="2"><em>void setDoSchema(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Enable the parser's schema support.  </td></tr>
                  <tr><td><em>false:</em></td><td> Disable the parser's schema support. </td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note</em></td><td> If set to true, namespace processing must also be turned on. </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="namespaces">setDoNamespaces</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <table>
                  <tr><td colspan="2"><em>void setValidationSchemaFullChecking(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Enable full schema constraint checking, including checking
                               which may be time-consuming or memory intensive. Currently, particle unique
                               attribution constraint checking and particle derivation restriction checking
                               are controlled by this option. </td></tr>
                  <tr><td><em>false:</em></td><td> Disable full schema constraint checking . </td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note:</em></td><td> This feature checks the Schema grammar itself for
                  additional errors that are time-consuming or memory intensive. It does <em>not</em> affect the
                  level of checking performed on document instances that use Schema grammars.</td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="schema">setDoSchema</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="load-external-dtd"/>
              <table>
                  <tr><td colspan="2"><em>void setLoadExternalDTD(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Load the External DTD . </td></tr>
                  <tr><td><em>false:</em></td><td> Ignore the external DTD completely. </td></tr>
                  <tr><td><em>default:</em></td><td> true </td></tr>
                  <tr><td><em>note</em></td><td> This feature is ignored and DTD is always loaded
                  if the validation scheme is set to Val_Always or Val_Auto. </td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="validation-dynamic">setValidationScheme</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="continue-after-fatal"/>
              <table>
                  <tr><td colspan="2"><em>void setExitOnFirstFatalError(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> Stops parse on first fatal error. </td></tr>
                  <tr><td><em>false:</em></td><td> Attempt to continue parsing after a fatal error. </td></tr>
                  <tr><td><em>default:</em></td><td> true </td></tr>
                  <tr><td><em>note:</em></td><td> The behavior of the parser when this feature is set to
                  false is <em>undetermined</em>! Therefore use this feature with extreme caution because
                  the parser may get stuck in an infinite loop or worse.</td></tr>
              </table>
  
              <p/>
  
              <table>
                  <tr><td colspan="2"><em>void setValidationConstraintFatal(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td> The parser will treat validation error as fatal and will
                  exit depends on the state of
                  <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
                  </td></tr>
                  <tr><td><em>false:</em></td><td> The parser will report the error and continue processing. </td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note:</em></td><td> Setting this true does not mean the validation error will
                  be printed with the word "Fatal Error".   It is still printed as "Error", but the parser
                  will exit if
                  <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
                  is set to true.</td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="continue-after-fatal">setExitOnFirstFatalError</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="use-cached"/>
              <table>
                  <tr><td colspan="2"><em>void useCachedGrammarInParse(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td>Use cached grammar if it exists in the pool.</td></tr>
                  <tr><td><em>false:</em></td><td>Parse the schema grammar.</td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note:</em></td><td>The getter function for this method is called isUsingCachedGrammarInParse</td></tr>
                  <tr><td><em>note:</em></td><td>If the grammar caching option is enabled, this option is set to true automatically.
                  Any setting to this option by the users is a no-op.</td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="cache-grammar">cacheGrammarFromParse</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <anchor name="cache-grammar"/>
              <table>
                  <tr><td colspan="2"><em>void cacheGrammarFromParse(const bool)</em></td></tr>
                  <tr><td><em>true:</em></td><td>cache the grammar in the pool for re-use in subsequent parses.</td></tr>
                  <tr><td><em>false:</em></td><td>Do not cache the grammar in the pool</td></tr>
                  <tr><td><em>default:</em></td><td> false </td></tr>
                  <tr><td><em>note:</em></td><td>The getter function for this method is called isCachingGrammarFromParse</td></tr>
                  <tr><td><em>note:</em></td><td> If set to true, the useCachedGrammarInParse
                  is also set to true automatically.</td></tr>
                  <tr><td><em>see:</em></td><td>
                  <link anchor="use-cached">useCachedGrammarInParse</link>
                  </td></tr>
              </table>
  
              <p/>
  
              <table>
                  <tr><td colspan="2"><em>void setExternalSchemaLocation(const XMLCh* const)</em></td></tr>
                  <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
                              the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
                              instance document is only a hint; it does not mandate that these attributes
                              must be used to locate schemas.  Similar situation happens to &lt;import&gt;
                              element in schema documents. This property allows the user to specify a list
                              of schemas to use.  If the targetNamespace of a schema specified using this
                              method matches the targetNamespace of a schema occurring in the instance
                              document in schemaLocation attribute, or
                              if the targetNamespace matches the namespace attribute of &lt;import&gt;
                              element, the schema specified by the user using this property will
                              be used (i.e., the schemaLocation attribute in the instance document
                              or on the &lt;import&gt; element will be effectively ignored).</td></tr>
                  <tr><td><em>Value</em></td><td> The syntax is the same as for schemaLocation attributes
                                   in instance documents: e.g, "http://www.example.com file_name.xsd".
                                   The user can specify more than one XML Schema in the list.</td></tr>
                  <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
              </table>
  
              <p/>
              <table>
                  <tr><td colspan="2"><em>void setExternalNoNamespaceSchemaLocation(const XMLCh* const)</em></td></tr>
                  <tr><td><em>Description</em></td><td> The XML Schema Recommendation explicitly states that
                              the inclusion of schemaLocation/ noNamespaceSchemaLocation attributes in the
                              instance document is only a hint; it does not mandate that these attributes
                              must be used to locate schemas.  This property allows the user to specify the
                              no target namespace XML Schema Location externally.  If specified, the instance
                              document's noNamespaceSchemaLocation attribute will be effectively ignored.</td></tr>
                  <tr><td><em>Value</em></td><td> The syntax is the same as for the noNamespaceSchemaLocation
                              attribute that may occur in an instance document: e.g."file_name.xsd".</td></tr>
                  <tr><td><em>Value Type</em></td><td> XMLCh* </td></tr>
              </table>
  
              <p/>
  
          </s3>
      </s2>
  
  </s1>
  
  
  
  1.1                  xml-site/sources/xerces-c/program-others.xml
  
  Index: program-others.xml
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE s1 SYSTEM "sbk:/style/dtd/document.dtd">
  
  <s1 title="Programming Guide">
      <anchor name="Schema"/>
      <s2 title="Schema Support">
          <p>&XercesCName; contains an implementation of the W3C XML Schema
             Language.  See <jump href="schema.html">the Schema page</jump> for details.
           </p>
      </s2>
  
      <anchor name="Progressive"/>
      <s2 title="Progressive Parsing">
  
          <p>In addition to using the <ref>parse()</ref> method to parse an XML File.
          You can use the other two parsing methods, <ref>parseFirst()</ref> and <ref>parseNext()</ref>
          to do 'progressive parsing', so that you don't
          have to depend upon throwing an exception to terminate the
          parsing operation.
           </p>
           <p>
          Calling parseFirst() will cause the DTD (both internal and
          external subsets), and any pre-content, i.e. everything up to
          but not including the root element, to be parsed. Subsequent calls to
          parseNext() will cause one more pieces of markup to be parsed,
          and spit out from the core scanning code to the parser (and
          hence either on to you if using SAX or into the DOM tree if
          using DOM).
           </p>
           <p>
          You can quit the parse any time by just not
          calling parseNext() anymore and breaking out of the loop. When
          you call parseNext() and the end of the root element is the
          next piece of markup, the parser will continue on to the end
          of the file and return false, to let you know that the parse
          is done. So a typical progressive parse loop will look like
          this:</p>
  
  <source>// Create a progressive scan token
  XMLPScanToken token;
  
  if (!parser.parseFirst(xmlFile, token))
  {
    cerr &lt;&lt; "scanFirst() failed\n" &lt;&lt; endl;
    return 1;
  }
  
  //
  // We started ok, so lets call scanNext()
  // until we find what we want or hit the end.
  //
  bool gotMore = true;
  while (gotMore &amp;&amp; !handler.getDone())
    gotMore = parser.parseNext(token);</source>
  
          <p>In this case, our event handler object (named 'handler'
          surprisingly enough) is watching form some criteria and will
          return a status from its getDone() method. Since the handler
          sees the SAX events coming out of the SAXParser, it can tell
          when it finds what it wants. So we loop until we get no more
          data or our handler indicates that it saw what it wanted to
          see.</p>
  
          <p>When doing non-progressive parses, the parser can easily
          know when the parse is complete and insure that any used
          resources are cleaned up. Even in the case of a fatal parsing
          error, it can clean up all per-parse resources. However, when
          progressive parsing is done, the client code doing the parse
          loop might choose to stop the parse before the end of the
          primary file is reached. In such cases, the parser will not
          know that the parse has ended, so any resources will not be
          reclaimed until the parser is destroyed or another parse is started.</p>
  
          <p>This might not seem like such a bad thing; however, in this case,
          the files and sockets which were opened in order to parse the
          referenced XML entities will remain open. This could cause
          serious problems. Therefore, you should destroy the parser instance
          in such cases, or restart another parse immediately. In a future
          release, a reset method will be provided to do this more cleanly.</p>
  
          <p>Also note that you must create a scan token and pass it
          back in on each call. This insures that things don't get done
          out of sequence. When you call parseFirst() or parse(), any
          previous scan tokens are invalidated and will cause an error
          if used again. This prevents incorrect mixed use of the two
          different parsing schemes or incorrect calls to
          parseNext().</p>
  
      </s2>
  
      <anchor name="GrammarCache"/>
      <s2 title="Preparsing Grammar and Grammar Caching">
          <p>&XercesCName; &XercesCVersion; provides a new function to pre-parse the grammar so that users
             can check for any syntax or error before using the grammar.  Users can also optionally
             cache these pre-parsed grammars for later use during actual parsing.
          </p>
          <p>Here is an example:</p>
  <source>
  XercesDOMParser parser;
  
  // enbale schema processing
  parser.setDoSchema(true);
  parser.setDONamespaces(true);
  
  // Let's preparse the schema grammar (.xsd) and cache it.
  Grammar* grammar = parser.loadGrammar(xmlFile, Grammar::SchemaGrammarType, true);
  </source>
          <p>Besides caching pre-parsed schema grammars, users can also cache any
             grammars encountered during an xml document parse.
          </p>
          <p>Here is an example:</p>
  <source>
  SAXParser parser;
  
  // Enable grammar caching by setting cacheGrammarFromParse to true.
  // The parser will cache any encountered grammars if it does not
  // exist in the pool.
  // If the grammar is DTD, no internal subset is allowed.
  parser.cacheGrammarFromParse(true);
  
  // Let's parse our xml file (DTD grammar)
  parser.parse(xmlFile);
  
  // We can get the grammar where the root element was declared
  // by calling the parser's method getRootGrammar;
  // Note: The parser owns the grammar, and the user should not delete it.
  Grammar* grammar = parser.getRootGrammar();
  </source>
          <p>We can use any previously cached grammars when parsing new xml
          documents. Here are some examples on how to use those cached grammars:
          </p>
  <source>
  /**
    * Caching and reusing XML Schema (.xsd) grammar
    * Parse an XML document and cache its grammar set. Then,  use the cached
    * grammar set in subsequent parses.
    */
  
  XercesDOMParser parser;
  
  // Enable schema processing
  parser.setDoSchema(true);
  parser.setDoNamespaces(true);
  
  // Enable grammar caching
  parser.cacheGrammarFromParsing(true);
  
  // Let's parse the XML document. The parser will cache any grammars encounterd.
  parser.parse(xmlFile);
  
  // No need to enable re-use by setting useCachedGrammarInParse to true. It is
  // automatically enabled with grammar caching.
  for (int i=0; i&lt; 3; i++)
      parser.parse(xmlFile);
  
  // This will flush the grammar pool
  parser.resetCachedGrammarPool(); 
  </source>
  
  <source>
  /**
    * Caching and reusing DTD grammar
    * Preparse a grammar and cache it in the pool. Then, we use the cached grammar
    * when parsing XML documents.
    */
  
  SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
  
  // Load grammar and cache it
  parser->loadGrammar(dtdFile, Grammar::DTDGrammarType, true);
  
  // enable grammar reuse
  parser->setFeature(XMLUni::fgXercesUseCachedGrammarInParse, true);
  
  // Parse xml files
  parser->parse(xmlFile1);
  parser->parse(xmlFile2);
  </source>
          <p>There are some limitations about caching and using cached grammars:</p>
             <ul>
                <li>When caching/reusing DTD grammars, no internal subset is allowed.</li>
                <li>When preparsing grammars with caching option enabled, if a grammar, in the
                result set, already exists in the pool (same NS for schema or same system 
                id for DTD), the entire set will not be cached.</li>
                <li>When parsing an XML document with the grammar caching option enabled, the
                reuse option is also automatically enabled. We will only parse a grammar if it
                does not exist in the pool.</li>
             </ul>
      </s2>
  
      <anchor name="LoadableMessageText"/>
      <s2 title="Loadable Message Text">
  
          <p>The &XercesCName; supports loadable message text.   Although
          the current drop just supports English, it is capable to support other
          languages. Anyone interested in contributing any translations
          should contact us. This would be an extremely useful
          service.</p>
  
          <p>In order to support the local message loading services, all the error messages
          are captured in an XML file in the src/xercesc/NLS/ directory.
          There is a simple program, in the Tools/NLSXlat/ directory,
          which can spit out that text in various formats. It currently
          supports a simple 'in memory' format (i.e. an array of
          strings), the Win32 resource format, and the message catalog
          format.  The 'in memory' format is intended for very simple
          installations or for use when porting to a new platform (since
          you can use it until you can get your own local message
          loading support done.)</p>
  
          <p>In the src/xercesc/util/ directory, there is an XMLMsgLoader
          class.  This is an abstraction from which any number of
          message loading services can be derived. Your platform driver
          file can create whichever type of message loader it wants to
          use on that platform.  &XercesCName; currently has versions for the in
          memory format, the Win32 resource format, and the message
          catalog format. An ICU one is present but not implemented
          yet. Some of the platforms can support multiple message
          loaders, in which case a #define token is used to control
          which one is used. You can set this in your build projects to
          control the message loader type used.</p>
  
      </s2>
  
      <anchor name="PluggableTranscoders"/>
      <s2 title="Pluggable Transcoders">
  
          <p>&XercesCName; also supports pluggable transcoding services. The
          XMLTransService class is an abstract API that can be derived
          from, to support any desired transcoding
          service. XMLTranscoder is the abstract API for a particular
          instance of a transcoder for a particular encoding. The
          platform driver file decides what specific type of transcoder
          to use, which allows each platform to use its native
          transcoding services, or the ICU service if desired.</p>
  
          <p>Implementations are provided for Win32 native services, ICU
          services, and the <ref>iconv</ref> services available on many
          Unix platforms. The Win32 version only provides native code
          page services, so it can only handle XML code in the intrinsic
          encodings ASCII, UTF-8, UTF-16 (Big/Small Endian), UCS4
          (Big/Small Endian), EBCDIC code pages IBM037 and
          IBM1140 encodings, ISO-8859-1 (aka Latin1) and Windows-1252. The ICU version
          provides all of the encodings that ICU supports. The
          <ref>iconv</ref> version will support the encodings supported
          by the local system. You can use transcoders we provide or
          create your own if you feel ours are insufficient in some way,
          or if your platform requires an implementation that &XercesCName; does not
          provide.</p>
  
      </s2>
  </s1>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: general-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: general-cvs-help@xml.apache.org


Mime
View raw message