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 <full path to &XercesCName;>/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 <full path to &XercesCName;>/lib
-ln -s /qsys.lib/<outputdir>.lib/libxercesc.srvpgm &XercesCUnixLib;.o
-qar -cuv &XercesCUnixLib;.a *.o
+ln -s /qsys.lib/<outputdir>.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 && 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<char> *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 "From Existing" 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 "From Scratch" 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 <xercescroot>
-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 <platform> (accepts 'aix', 'linux', 'solaris',
- 'hp-10', 'hp-11', 'unixware', 'os400', 'irix', 'ptx', 'tru64',
'macosx' )
- -c <C compiler name> (e.g. gcc, cc, xlc_r, icc)
- -x <C++ compiler name> (e.g. g++, CC, xlC_r, icc, c++)
+ -p <platform> (accepts 'aix', 'linux', 'freebsd', 'solaris',
+ 'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
+ 'ptx', 'tru64', 'macosx')
+ -c <C compiler name> (e.g. gcc, cc, xlc_r, icc or ecc)
+ -x <C++ compiler name> (e.g. g++, CC, xlC_r, icc or ecc)
-d (specifies that you want to build debug version)
-m <message loader> can be 'inmem', 'icu', 'MsgFile' or 'iconv'
-n <net accessor> can be 'fileonly', 'libwww', 'socket' or
'native'
- -t <transcoder> can be 'icu', 'Iconv400', 'Iconv390' or 'native'
- -r <thread option> can be 'pthread' or 'dce' (only used on aix,
HP-11 and solaris) or 'sproc' (only on IRIX) or 'none'
+ -t <transcoder> can be 'icu', 'Iconv400', 'Iconv390',
'IconvFBSD' or 'native'
+ -r <thread option> can be 'pthread' or 'dce' (AIX, HP-11, and
Solaris) or 'sproc' (IRIX) or 'none'
+ -b <bitsToBuild> (accepts '64', '32')
-l <extra linker options>
-z <extra compiler options>
-P <install-prefix>
-C <any one extra configure options>
- -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 <platform> (accepts 'aix', 'unixware', 'linux', 'solaris',
-'hp-10', 'hp-11', 'os400', 'irix', 'ptx', 'tru64', 'macosx')
- -c <C compiler name> (e.g. gcc, xlc or icc)
- -x <C++ compiler name> (e.g. g++, xlC, or icc)
+ -p <platform> (accepts 'aix', 'linux', 'freebsd', 'solaris',
+ 'hp-10', 'hp-11', 'openserver', 'unixware', 'os400', 'irix',
+ 'ptx', 'tru64', 'macosx')
+ -c <C compiler name> (e.g. gcc, cc, xlc_r, icc or ecc)
+ -x <C++ compiler name> (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 <thread option> can be 'pthread' or 'dce' (AIX, HP-11, and
Solaris) or 'sproc' (IRIX) or 'none'
+ -b <bitsToBuild> (accepts '64', '32')
+ -l <extra linker options>
-z <extra compiler options>
+ -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 <XML file></source>
<p>The following parameters may be set from the command line </p>
-<source>Usage:
- DOMPrint [options] <XML file>
+<source>
+Usage:
+ DOMPrint [options] <XML file>
-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 @@
</person>
</personnel></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 '&XercesCSrcInstallDir;' 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 '&XercesCInstallDir;-win32' sub-directory
- containing the &XercesCName; distribution. </p>
+ containing the &XercesCName; binary distribution. </p>
<p>You need to add the '&XercesCInstallDir;-win32\bin'
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=<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 '&XercesCSrcInstallDir;' 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 'xxx' 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=<wherever you installed &XercesCName;>
-export ICUROOT=<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 "<wherever you installed &XercesCName;>"
-setenv ICUROOT "<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 <util/XMLString.hpp> be changed to <br/>
- #include <<em>xercesc</em>/util/XMLString.hpp> </li>
- <li>Unix application, <br/>
- either change the <em>include search path </em> in the
Makefile to
- " -I <installroot>/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
----> &XercesCUnixLib;&XercesCUnixVersion;.so</li>
+ <li>symbolic link: &XercesCUnixLib;&XercesCUnixVersion;.so
----> &XercesCUnixLib;&XercesCUnixSoName;.so</li>
</ul>
- </ul>
- </s2>
+ <li>Solaris / Linux</li>
+ <ul>
+ <li>&XercesCUnixLib;.so.&XercesCUnixSoName;</li>
+ <li>symbolic link: &XercesCUnixLib;.so
----> &XercesCUnixLib;.so.&XercesCUnixVersion;</li>
+ <li>symbolic link: &XercesCUnixLib;.so.&XercesCUnixVersion;
----> &XercesCUnixLib;.so.&XercesCUnixSoName;</li>
+ </ul>
+ <li>HP-UX</li>
+ <ul>
+ <li>&XercesCUnixLib;.sl.&XercesCUnixSoName;</li>
+ <li>symbolic link: &XercesCUnixLib;.sl
----> &XercesCUnixLib;.sl.&XercesCUnixVersion;</li>
+ <li>symbolic link: &XercesCUnixLib;.sl.&XercesCUnixVersion;
----> &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 <xercesc/dom/DOM.hpp>
+#include <xercesc/dom/DOM_Document.hpp>
+#include <xercesc/parsers/DOMParser.hpp>
+
+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 <xercesc/dom/deprecated/DOM.hpp> //<==== change
this include line
+#include <xercesc/dom/deprecated/DOM_Document.hpp> //<==== change
this include line
+#include <xercesc/dom/deprecated/DOMParser.hpp> //<==== 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 <xercesc/idom/IDOM.hpp>
+#include <xercesc/idom/IDOM_Document.hpp>
+#include <xercesc/parsers/IDOMParser.hpp>
+
+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 <xercesc/dom/DOM.hpp> //<==== change this
include line
+#include <xercesc/dom/DOMDocument.hpp> //<==== change this
include line
+#include <xercesc/parsers/XercesDOMParser.hpp> //<==== change this
include line
+
+void test(char* xmlFile) {
+ XercesDOMParser parser; //<==== rename the
IDOMParser
+ parser.parse(xmlFile);
+ DOMDocument* doc = parser.getDocument(); //<==== 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
&name) const</li>
- <li>bool DOM_Element::hasAttributeNS(const DOMString
&namespaceURI,
- const DOMString &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 &feature,
const DOMString &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& 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& source,
XMLPScanToken& toFill, const bool reuseGrammar = false);</li>
+ <li>parseFirst(const XMLCh* const systemId,
XMLPScanToken& toFill, const bool reuseGrammar = false);</li>
+ <li>parseFirst(const char* const systemId,
XMLPScanToken& 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 <util/XMLString.hpp> be changed to <br/>
+ #include <<em>xercesc</em>/util/XMLString.hpp> </li>
+ <li>Unix application, <br/>
+ either change the <em>include search path </em> in the
Makefile to
+ " -I <installroot>/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
&name) const</li>
+ <li>bool DOM_Element::hasAttributeNS(const DOMString
&namespaceURI,
+ const DOMString &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 &feature,
const DOMString &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 << "scanFirst() failed\n" << 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 && !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 <xercesc/dom/DOM.hpp></source>
-<source>// Java
-import org.w3c.dom.*</source>
-
<p>The header file <dom/DOM.hpp> 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 <xercesc/parsers/XercesDOMParser.hpp>
+ #include <xercesc/dom/DOM.hpp>
+ #include <xercesc/sax/HandlerBase.hpp>
+ #include <xercesc/util/XMLString.hpp>
+
+ int main (int argc, char* args[]) {
+
+ try {
+ XMLPlatformUtils::Initialize();
+ }
+ catch (const XMLException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Error during initialization! :\n"
+ << message << "\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& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (const DOMException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (...) {
+ cout << "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 <import>
+ 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 <import>
+ 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 <import> 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 <xercesc/dom/DOM.hpp>
+ #include <xercesc/util/XMLString.hpp>
+
+ int main (int argc, char* args[]) {
+
+ try {
+ XMLPlatformUtils::Initialize();
+ }
+ catch (const XMLException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Error during initialization! :\n"
+ << message << "\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& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (const DOMException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (...) {
+ cout << "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 <xercesc/dom/DOMInputSource.hpp>
+ #include <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 <xercesc/framework/WrapperInputSource.hpp>
+ #include <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 <import>
+ 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 <import>
+ 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 <import> 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 <xercesc/dom/DOM.hpp>
+ #include <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& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (const DOMException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (...) {
+ cout << "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 "&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 ']]>', 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 ']]>', 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 &) 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 &) 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& toCatch) {
- cout << "Error during initialization! :\n"
- << DOMString(toCatch.getMessage()) << "\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& toCatch) {
- cout << "Exception message is: \n"
- << DOMString(toCatch.getMessage()) << "\n" ;
- return -1;
- }
- catch (const SAXParseException& toCatch) {
- cout << "Exception message is: \n"
- << DOMString(toCatch.getMessage()) << "\n" ;
- return -1;
- }
- catch (...) {
- cout << "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& 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 << "I saw element: " << transcode(name) << endl;
+ char* message = XMLString::transcode(name);
+ cout << "I saw element: "<< message << endl;
+ delete [] message;
}
MySAXHandler::fatalError(const SAXParseException& exception)
{
- cout << "Fatal Error: " << transcode(exception.getMessage())
+ char* message = XMLString::transcode(exception.getMessage());
+ cout << "Fatal Error: " << message
<< " at line: " << exception.getLineNumber()
<< 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 <xercesc/parsers/SAXParser.hpp>
+ #include <xercesc/sax/HandlerBase.hpp>
+ #include <xercesc/util/XMLString.hpp>
+
+ int main (int argc, char* args[]) {
+
+ try {
+ XMLPlatformUtils::Initialize();
+ }
+ catch (const XMLException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Error during initialization! :\n"
+ << message << "\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& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (const SAXParseException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (...) {
+ cout << "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 <import>
+ 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 <import>
+ 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 <import> 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& toCatch) {
- cout << "Error during initialization! :\n"
- << DOMString(toCatch.getMessage()) << "\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& toCatch) {
- cout << "Exception message is: \n"
- << DOMString(toCatch.getMessage()) << "\n" ;
- return -1;
- }
- catch (const SAXParseException& toCatch) {
- cout << "Exception message is: \n"
- << DOMString(toCatch.getMessage()) << "\n" ;
- return -1;
- }
- catch (...) {
- cout << "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& 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 << "I saw element: " << transcode(qname) << endl;
+ char* message = XMLString::transcode(name);
+ cout << "I saw element: "<< message << endl;
+ delete [] message;
}
MySAX2Handler::fatalError(const SAXParseException& exception)
{
- cout << "Fatal Error: " << transcode(exception.getMessage())
+ char* message = XMLString::transcode(exception.getMessage());
+ cout << "Fatal Error: " << message
<< " at line: " << exception.getLineNumber()
<< 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 <import>
- 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 <import>
- 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 <import> 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 <xercesc/sax2/SAX2XMLReader.hpp>
+ #include <xercesc/sax2/XMLReaderFactory.hpp>
+ #include <xercesc/sax2/DefaultHandler.hpp>
+ #include <xercesc/util/XMLString.hpp>
+
+ int main (int argc, char* args[]) {
+
+ try {
+ XMLPlatformUtils::Initialize();
+ }
+ catch (const XMLException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Error during initialization! :\n"
+ cout << "Exception message is: \n"
+ << message << "\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& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (const SAXParseException& toCatch) {
+ char* message = XMLString::transcode(toCatch.getMessage());
+ cout << "Exception message is: \n"
+ << message << "\n";
+ delete [] message;
+ return -1;
+ }
+ catch (...) {
+ cout << "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 <import>
+ 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 <import>
+ 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 <import> 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 "<!
... "
+ <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
<import>.
+ <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] <extension> 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&)
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 <attribute> 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
<xsd:extension> 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
"<! ... "
+ </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 <import>.
+ </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] <extension> 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 <attribute> 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 <any> 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 <?xml-stylesheet ...> tag is a
<?xml ...> 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 "<?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. <.
+ </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 <any> 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 <?xml-stylesheet ...> tag is a
<?xml ...> 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 "<?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. <.
- </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 & 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 & 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 ><check></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 "configureoptions"</td>
- </tr>
- <tr>
- <td >2000-07-19</td>
- <td ><check></td>
- <td >Add 'make install' target to src/util/Platforms/Makefile.in</td>
- </tr>
- <tr>
- <td >2000-07-19</td>
- <td ><check></td>
- <td >DOM: BugFix: DocumentType nodes can not have children.</td>
- </tr>
- <tr>
- <td >2000-07-19</td>
- <td ><check></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 ><check></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 [EMAIL PROTECTED]</td>
- <td >Bug fix: check if initialized in Terminate() to stop access
violations.</td>
- </tr>
- <tr>
- <td >2000-06-26</td>
- <td ><check></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 & 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 & 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 ><check></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
"configureoptions"</td>
+ </tr>
+ <tr>
+ <td >2000-07-19</td>
+ <td ><check></td>
+ <td >Add 'make install' target to
src/util/Platforms/Makefile.in</td>
+ </tr>
+ <tr>
+ <td >2000-07-19</td>
+ <td ><check></td>
+ <td >DOM: BugFix: DocumentType nodes can not have children.</td>
+ </tr>
+ <tr>
+ <td >2000-07-19</td>
+ <td ><check></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 ><check></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 [EMAIL PROTECTED]</td>
+ <td >Bug fix: check if initialized in Terminate() to stop access
violations.</td>
+ </tr>
+ <tr>
+ <td >2000-06-26</td>
+ <td ><check></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 ><check></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 "XML4C" to "Xerces-C" 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 "auto"</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 ([EMAIL PROTECTED]). Fix submitted by<br/>
- Dean Roddey ([EMAIL PROTECTED]).</td>
- </tr>
- <tr>
- <td >2000-05-15</td>
- <td >James Berry</td>
- <td >Changed #include <memory.h> to <string.h>
everywhere. <[EMAIL PROTECTED]></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. <[EMAIL
PROTECTED]></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 <[EMAIL PROTECTED]></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 >[EMAIL PROTECTED]</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 <[EMAIL
PROTECTED]></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 > </td>
- <td >IRIX 6.5 port</td>
- </tr>
- <tr>
- <td >2000-03-30</td>
- <td > </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 "ignorable white space"
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 <[EMAIL PROTECTED]></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: "specified" 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 <a/> 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 "XML4C" to "Xerces" 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/>
- <!ELEMENT foo (a|b|c|d|e %one;%two;)*></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 [EMAIL PROTECTED]</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="" 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 > 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 ]]> 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 ><check></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 "XML4C" to "Xerces-C" 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 "auto"</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 ([EMAIL PROTECTED]). Fix submitted by<br/>
+ Dean Roddey ([EMAIL PROTECTED]).</td>
+ </tr>
+ <tr>
+ <td >2000-05-15</td>
+ <td >James Berry</td>
+ <td >Changed #include <memory.h> to <string.h>
everywhere. <[EMAIL PROTECTED]></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. <[EMAIL
PROTECTED]></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 <[EMAIL PROTECTED]></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 >[EMAIL PROTECTED]</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 <[EMAIL
PROTECTED]></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 > </td>
+ <td >IRIX 6.5 port</td>
+ </tr>
+ <tr>
+ <td >2000-03-30</td>
+ <td > </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 "ignorable white
space" 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 <[EMAIL PROTECTED]></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: "specified" 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
<a/> 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 "XML4C" to "Xerces" 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/>
+ <!ELEMENT foo (a|b|c|d|e %one;%two;)*></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 [EMAIL PROTECTED]</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="" 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 > 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 ]]> 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<XMLCh> janValue(propertyValue);
parser->setProperty(
- XMLUni::fgSAX2XercesSchemaExternalNoNameSpaceSchemaLocation,
+ XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation,
propertyValue);
parser.parse("test.xml");
</source>
@@ -127,7 +127,7 @@
ArrayJanitor<XMLCh> 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 <xercesc/dom/deprecated/DOM.hpp></source>
<source>// Compared to Java
import org.w3c.dom.*</source>
<p>The header file <dom/deprecated/DOM.hpp> 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 &) 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 &) 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 <xercesc/dom/deprecated/DOMParser.hpp>
#include <xercesc/dom/deprecated/DOM.hpp>
#include <xercesc/sax/HandlerBase.hpp>
#include <xercesc/util/XMLString.hpp>
int main (int argc, char* args[]) {
try {
XMLPlatformUtils::Initialize();
}
catch (const XMLException& toCatch) {
char* message = XMLString::transcode(toCatch.getMessage());
cout << "Error during initialization! :\n"
<< message << "\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& toCatch) {
char* message = XMLString::transcode(toCatch.getMessage());
cout << "Exception message is: \n"
<< message << "\n";
delete [] message;
return -1;
}
catch (const DOM_DOMException& toCatch) {
cout << "Exception message is: \n"
<< toCatch.code << "\n";
return -1;
}
catch (...) {
cout << "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 <import>
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 <import>
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 <import> 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 << "scanFirst() failed\n" << 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 && !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< 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]