diff --git a/doc/apidocs.xml b/doc/apidocs.xml
index d0a30aa59b7ad228bd091fe00453448faba3fbb1..c99641943eda8de09f4812627977c5f854ad00e5 100644
--- a/doc/apidocs.xml
+++ b/doc/apidocs.xml
@@ -24,7 +24,7 @@
 	    <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
+		<jump href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</jump> and
 		<jump href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</jump>.</note>
 
     </s2>
diff --git a/doc/bug-report.xml b/doc/bug-report.xml
index 0de6863643dd8406bdfe94ebd35ffce4b17f15b4..8f444db2467f97bd0ffd2dcc52194f1350538654 100644
--- a/doc/bug-report.xml
+++ b/doc/bug-report.xml
@@ -26,7 +26,7 @@
         </p>
     </s2>
 			
-    <s2 title="Search frist">
+    <s2 title="Search first">
         <p> Check the <jump href="http://nagoya.apache.org/bugzilla/">Bugzilla</jump> database
             before submitting your bug report to avoid creating a duplicate report.
             Even the bug has been reported already, you may add a comment to the existing report
diff --git a/doc/build-misc.xml b/doc/build-misc.xml
index 6c31c295f6ef5396e24abf16f320139c0c07bdeb..6e14964c367b174b5123b1fed7ff847121072d08 100644
--- a/doc/build-misc.xml
+++ b/doc/build-misc.xml
@@ -222,7 +222,7 @@ perl packageBinaries.pl -s x:\&XercesCSrcInstallDir; -o x:\temp\&XercesCInstallD
             Each operating system has a file which implements some
             methods of the XMLPlatformUtils class, specific to that
             operating system. These are not terribly complex, so it
-            should not be a lot of work. The Win32 verions is called
+            should not be a lot of work. The Win32 version is called
             <code>Win32PlatformUtils.cpp</code>, the AIX version is
             <code>AIXPlatformUtils.cpp</code> and so on. Create one for your
             platform, with the correct name, and empty out all of the
@@ -232,7 +232,7 @@ perl packageBinaries.pl -s x:\&XercesCSrcInstallDir; -o x:\temp\&XercesCInstallD
             to get it to build without any real implementation.</li>
 
         <li>Once you have the system building, then start
-            implementing your own platform utilties methods. Follow
+            implementing your own platform utilities methods. Follow
             the comments in the Win32 version as to what they do, the
             comments will be improved in subsequent versions, but they
             should be fairly obvious now. Once you have these
@@ -275,11 +275,11 @@ perl packageBinaries.pl -s x:\&XercesCSrcInstallDir; -o x:\temp\&XercesCInstallD
                Linux), sometimes it is not based on Unicode at all
                (HP/UX, AS/400, system 390).  </p>
 
-        <p>Some earlier releases of xerce-c defined XMLCh to be the
+        <p>Some earlier releases of &XercesCName; defined XMLCh to be the
            same type as wchar_t on most platforms, with the goal of making
            it possible to pass XMLCh strings to library or system functions
-           that were expecting wchar_t paramters.  This approach has
-           been abandonded because of</p>
+           that were expecting wchar_t parameters.  This approach has
+           been abandoned because of</p>
 
            <ul>
               <li>
@@ -295,7 +295,7 @@ perl packageBinaries.pl -s x:\&XercesCSrcInstallDir; -o x:\temp\&XercesCInstallD
                   ucs-4 encoded wchar_t on Solaris and Linux.  The
                   problem occurs with Unicode characters with values
                   greater than 64k; in ucs-4 the value is stored as
-                  a single 32 bit quatity.  With utf-16, the value
+                  a single 32 bit quantity.  With utf-16, the value
                   will be stored as a "surrogate pair" of two 16 bit
                   values.  Even with XMLCh equated to wchar_t, xerces will
                   still create the utf-16 encoded surrogate pairs, which
diff --git a/doc/build-other.xml b/doc/build-other.xml
index 0a3d7be17c546cde9f917d3b29d9d384b089eb9d..b88379cbdca71b7d8742071726a4e29d9ccae98e 100644
--- a/doc/build-other.xml
+++ b/doc/build-other.xml
@@ -28,7 +28,7 @@
                 <ul>
                 <li>There is one option when building the XML4C parser on iSeries.
                 For code page translation, you can use the iSeries
-                native <code>Iconv400</code> support or ICU as the transcoder plugin. If you choose ICU, follow the instructions
+                native <code>Iconv400</code> support or ICU as the transcoder plug in. If you choose ICU, follow the instructions
                 to build the ICU service program with the ICU download. Those instructions
                 are not included here.</li>
 
@@ -40,7 +40,7 @@
 
                 <ul>
                 <li>Make sure that you have the requirements installed on your iSeries.
-                We highly recommend that you read the writeup that accompanies the
+                We highly recommend that you read the write up that accompanies the
                 iSeries Tools for Developers PRPQ. There are install instructions as well as
                 information about how modules, programs and service programs can be
                 created in Unix-like fashion using gnu utilities. Note that symbolic
@@ -146,7 +146,7 @@ FAILURE: spawnp()  with errno = 3491
 GMAKE: vfork: Argument list too long.
 </source>
 
-         <p>If this is the case, you can manually create the service progam by doing the following:</p>
+         <p>If this is the case, you can manually create the service program by doing the following:</p>
 
 <source>CL:
 CRTSRVPGM  (&lt;OUTPUTDIR-library&gt;/libxercesc)  MODULE(&lt;OUTPUTDIR-library&gt;/*ALL) EXPORT(*ALL) TEXT('XML4C parser version xxx')
@@ -450,7 +450,7 @@ gmake </source>
             configuration files for the samples you have on your system.</li>
 
 
-          <li>Go to the first step above in the "Building asmples for OS/2" section.</li>
+          <li>Go to the first step above in the "Building samples for OS/2" section.</li>
         </ul>
         </s3>
 
diff --git a/doc/build-winunix.xml b/doc/build-winunix.xml
index 8772e2f475421d1a4e61e4664d0325836dcdb7cc..4a5040e3230e92bcb8dd9b8f89e463bf72ccfda5 100644
--- a/doc/build-winunix.xml
+++ b/doc/build-winunix.xml
@@ -101,7 +101,7 @@
 		       <li> &XercesCSrcInstallDir;\Projects\Win32\BCB6\Xerces-all\Xerces-all.bpg </li>
     	   </ul>
 
-		   <p> Each project in the group refers a directory belog \Xerces-all.
+		   <p> Each project in the group refers a directory below \Xerces-all.
 		       For example, the XercesLib project files are contained in the directory
            </p>
 
@@ -130,7 +130,7 @@
         to build the system. You must first make sure you
         have these tools installed on your system before proceeding.
         If you don not have required tools, ask your system administrator
-        to get them for you. These tools are free under the GNU Public Licence
+        to get them for you. These tools are free under the GNU Public License
         and may be obtained from the
         <jump href="http://www.gnu.org">Free Software Foundation</jump>.</p>
 
@@ -396,7 +396,7 @@ Usage: runConfigure "options"
        -z &lt;extra compiler options&gt;
 </source>
 
-         <note><em>NOTE:</em>The code samples in this section assume that you are are working on the Linux binary drop.
+         <note><em>NOTE:</em>The code samples in this section assume that you are working on the Linux binary drop.
          If you are using some other UNIX flavor, please replace '-linux' with the appropriate
          platform name in the code samples.</note>
 
diff --git a/doc/faq-distrib.xml b/doc/faq-distrib.xml
index 3f1317d581c8f4fd5ceb4d5061c2e619ddca4826..f605126f9c2a67e4c3b4ef4ee4c85297f50002b4 100644
--- a/doc/faq-distrib.xml
+++ b/doc/faq-distrib.xml
@@ -131,7 +131,7 @@
             script, go to the \&lt;&XercesCProjectName;&gt;\scripts directory, and type:</p>
 <source>perl packageBinaries.pl</source>
 
-            <p>You will get a message that somewhat looks like this (changes always happpen,
+            <p>You will get a message that somewhat looks like this (changes always happen,
             we are evolving you see!): </p>
 
 <source>Usage is: packageBinaries &lt;options&gt;
@@ -218,7 +218,7 @@ Example: perl packageBinaries.pl -s$HOME/&XercesCSrcInstallDir;
             <jump href="http://xml.apache.org/cocoon/index.html">Cocoon</jump>.</p>
 
 	    <p>The API documentation is automatically generated using
-		<jump href="http://www.stack.nl/~dimitri/doxygen/">doxygen</jump> and
+		<jump href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</jump> and
 		<jump href="http://www.research.att.com/sw/tools/graphviz/">GraphViz</jump>.</p>
 
         </a>
diff --git a/doc/faq-parse.xml b/doc/faq-parse.xml
index f63665cf6d4d91ce2f8bbc24f8df29b92de1b70c..3f8ba4eceb9b6f5ba2f20705ea65dce345b61514 100644
--- a/doc/faq-parse.xml
+++ b/doc/faq-parse.xml
@@ -329,7 +329,7 @@ catch (const XMLException&amp; toCatch) {
   <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>
      <a>
-      <p>This feature is not yet availabe in the parser. Take a look at the DOMPrint sample
+      <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>
     </a>
@@ -368,7 +368,7 @@ catch (const XMLException&amp; toCatch) {
           calling that.
       </p>
       <p>
-          NOTE that userData should be considered a nonportable, experimental feature
+          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.
@@ -520,7 +520,7 @@ catch (const XMLException&amp; toCatch) {
           full Unicode character set, which includes all of the characters from all major
           national, international and industry character sets.</li>
         <li>Efficient. utf-8 has the smaller storage requirements for documents
-          that are primarily composed of of characters from the Latin alphabet. utf-16 is
+          that are primarily composed of characters from the Latin alphabet. utf-16 is
           more efficient for encoding Asian languages. But both encodings cover all
           languages without loss.</li>
       </ul>
@@ -599,7 +599,7 @@ catch (const XMLException&amp; toCatch) {
          other APIs which take a char* assume that the source text is in the local
          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 or IBM's ICU package. However, if your transcoding needs are simple,
+         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
          transcoder wrappers. You get a transcoder like this:
        </p>
@@ -627,7 +627,7 @@ catch (const XMLException&amp; toCatch) {
          3. This object is really just a wrapper around the underlying transcoding
             system actually in use by your version of Xerces, and does whatever is
             necessary to handle differences between the XMLCh representation and the
-            representation uesd by that underying transocding system.
+            representation used by that underlying transcoding system.
          </li>
 		 <li>
          4. The transcoder object has two primary APIs, transcodeFrom() and
@@ -689,7 +689,7 @@ catch (const XMLException&amp; toCatch) {
       </p>
       <p>The parser owns the returned pointer.  The memory allocated for
          the returned pointer will be destroyed when the parser is deleted.
-         To ensure assessiblity of the returned information after the parser
+         To ensure accessibility of the returned information after the parser
          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
@@ -710,7 +710,7 @@ catch (const XMLException&amp; toCatch) {
 
       <p>When DTD is referenced, the parser will try to read it, because DTDs can
          provide a lot more information than just validation. It defines entities and
-         notations, external uparsed entities, default attributes, character
+         notations, external unparsed entities, default attributes, character
          entities, etc... So it will always try to read it if present, even if
          validation is turned off.
       </p>
diff --git a/doc/html/apiDocs/header.html b/doc/html/apiDocs/header.html
index 7b9babfcb57c1662ec93ef582d332d5607880dcb..23d44f703e18a1e1eab1fef11a3421150f4a809c 100644
--- a/doc/html/apiDocs/header.html
+++ b/doc/html/apiDocs/header.html
@@ -35,8 +35,8 @@
 
   <IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
 
-  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-94');" onMouseOver="rolloverOn('side-ext-94');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-94" onLoad="rolloverLoad('side-ext-94','../graphics/ext-94-label-2.jpg','../graphics/ext-94-label-3.jpg');" src="../graphics/ext-94-label-3.jpg" vspace="0" width="120"></A><BR>
-  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-96');" onMouseOver="rolloverOn('side-ext-96');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-96" onLoad="rolloverLoad('side-ext-96','../graphics/ext-96-label-2.jpg','../graphics/ext-96-label-3.jpg');" src="../graphics/ext-96-label-3.jpg" vspace="0" width="120"></A><BR>
+  <A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-96');" onMouseOver="rolloverOn('side-ext-96');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-96" onLoad="rolloverLoad('side-ext-96','../graphics/ext-96-label-2.jpg','../graphics/ext-96-label-3.jpg');" src="../graphics/ext-96-label-3.jpg" vspace="0" width="120"></A><BR>
+  <A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-98');" onMouseOver="rolloverOn('side-ext-98');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-98" onLoad="rolloverLoad('side-ext-98','../graphics/ext-98-label-2.jpg','../graphics/ext-98-label-3.jpg');" src="../graphics/ext-98-label-3.jpg" vspace="0" width="120"></A><BR>
 
 <IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
     <TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
diff --git a/doc/memparse.xml b/doc/memparse.xml
index 33d6a83ba67257a4dc28642d38232808ed56007a..8b5252d1575dd95ec4da356bc7dff3d379fc6b8e 100644
--- a/doc/memparse.xml
+++ b/doc/memparse.xml
@@ -83,7 +83,7 @@ MemParse -v=never</source>
 &lt;/company&gt;
 
 Parsing took 10 ms (4 elements, 1 attributes, 0 spaces, 111 characters).</source>
-          <p>Note that the sum of spaces and chracters in both versions is the same.</p>
+          <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the system may be different, depending on your
           processor type.</note>
diff --git a/doc/migration.xml b/doc/migration.xml
index c8effb2e39940029c0653ef08a88209ce7bb2cdb..697f8863e234ecb841b98c185e0127f6b9386acd 100644
--- a/doc/migration.xml
+++ b/doc/migration.xml
@@ -84,7 +84,7 @@
                 <li>DeclHandler* SAX2XMLReader::getDeclarationHandler() const</li>
                 <li>void SAX2XMLReader::setDeclarationHandler(DeclHandler* const handler)</li>
               </ul>
-              <li>To conform to DOM Level 2 specifiction, the following methods are added:</li>
+              <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>
@@ -119,7 +119,7 @@
                   <li>static XMLCh* decode(const XMLCh* const inputData,
                          unsigned int*      outputLength);</li>
                   </ul>
-              <li>To conform to DOM Level 2 specifiction, the DOM_Node::supports and IDOM_Node::supports
+              <li>To conform to DOM Level 2 specification, the DOM_Node::supports and IDOM_Node::supports
                   are modified to</li>
               <ul>
                 <li>bool DOM_Node::isSupported(const DOMString &amp;feature, const DOMString &amp;version) const</li>
diff --git a/doc/migration_archive.xml b/doc/migration_archive.xml
index 1f604c260914e00c522dc84e6caf6424b0384ae0..4237894f5df3423b21987b7b55eaa93ede7e7118 100644
--- a/doc/migration_archive.xml
+++ b/doc/migration_archive.xml
@@ -114,7 +114,7 @@
         <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">Experiemental IDOM</link></li>
+            <li><link anchor="IDOM2">Experimental IDOM</link></li>
         </ul>
       </ul>
     </s2>
@@ -148,7 +148,7 @@
         <anchor name="Speed2"/>
         <s3 title="Speed">
             <p>Much work was done to speed up this version. Some of the
-            new features, such as experiemental IDOM ended
+            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>
@@ -210,7 +210,7 @@
         </s3>
 
         <anchor name="IDOM2"/>
-        <s3 title="Experiemental IDOM">
+        <s3 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">
@@ -366,7 +366,7 @@
             <code>validators/DTD</code> directory.</li>
 
             <li>The error code definitions which were earlier in
-            <code>internal/ErrorCodes.hpp</code> are now splitup into
+            <code>internal/ErrorCodes.hpp</code> are now split up into
             the following files:</li>
 
             <ul>
@@ -574,7 +574,7 @@ myParser.setDoNamespaces(true);</source>
         directory have been moved to their more correct location in
         the src/framework/ directory. These are classes used by the
         outside world and should have been framework classes to begin
-        with. Also, to avoid name classes in the absense of C++ namespace
+        with. Also, to avoid name classes in the absence of C++ namespace
         support, some of these clashes have been renamed to make them
         more XML specific and less likely to clash. More
         classes might end up being moved to framework as well.</p>
@@ -590,7 +590,7 @@ myParser.setDoNamespaces(true);</source>
     <anchor name="LoadableMessageText"/>
     <s2 title="Loadable Message Text">
 
-        <p>The system now supoprts loadable message text, instead of
+        <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
@@ -654,7 +654,7 @@ myParser.setDoNamespaces(true);</source>
 
         <p>Another abstract framework added in the src/util/ directory
         is to support pluggable transcoding services. The
-        XMLTransService class is an abtract API that can be derived
+        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
diff --git a/doc/pparse.xml b/doc/pparse.xml
index 680af367103ab8676e02849991ced21e1032d124..036ad767e145f50146f5e67e4ee07b51de35362a 100644
--- a/doc/pparse.xml
+++ b/doc/pparse.xml
@@ -50,7 +50,7 @@ personal.xml: 60 ms (37 elems, 12 attrs, 134 spaces, 134 chars)</source>
           ignorable white-space is counted separately from regular characters.</p>
 <source>PParse -v=never personal.xml
 personal.xml: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)</source>
-          <p>Note that the sum of spaces and chracters in both versions is the same.</p>
+          <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the program may be different depending on your
           machine processor.</note>
diff --git a/doc/program-idom.xml b/doc/program-idom.xml
index 2e6062ce2ec7a37c92b63f9eeed3c13b6221df2b..4bb4e9f97dc31c87e18b40bd33714e6298fb960c 100644
--- a/doc/program-idom.xml
+++ b/doc/program-idom.xml
@@ -58,7 +58,7 @@ int main (int argc, char* args[]) {
     </s2>
 
     <anchor name="DOMandIDOM"/>
-    <s2 title="Comparision of C++ DOM and IDOM">
+    <s2 title="Comparison of C++ DOM and IDOM">
       <p>
         This section outlines the differences between the C++ DOM and IDOM APIs.
       </p>
@@ -145,7 +145,7 @@ docRootNode.appendChild(aNode);
          allocator per document.  The storage for a DOM document is
          associated with the document node object.
          The advantage here is that allocation would require no synchronization
-         in most cases (based on the the same threading model that we
+         in most cases (based on the same threading model that we
          have now - one thread active per document, but any number of
          documents running in parallel with separate threads).
       </p>
@@ -165,7 +165,7 @@ docRootNode.appendChild(aNode);
          memory is automatically taken care of by the reference counting.
       </p>
 
-      <p>In C++ IDOM, there is an implict and explict object deletion.
+      <p>In C++ IDOM, there is an implicit and explicit object deletion.
       </p>
     </s2>
 
@@ -236,21 +236,21 @@ docRootNode.appendChild(aNode);
     <anchor name="IDOMMemExplicit"/>
       <s2 title="Explicit Object Deletion">
       <p>If user is manually building a DOM tree in memory using the document factory methods,
-         then the user needs to explicilty delete the document object to free all the allocated memory.
+         then the user needs to explicitly delete the document object to free all the allocated memory.
          It normally falls under the following 3 scenarios:
       </p>
         <ul>
            <li>If a user is manually creating a DOM document using the document implementation
                factory methods, IDOM_DOMImplementation::getImplementation()->createDocument,
-               then the user needs to explicilty delete the document object to free all
+               then the user needs to explicitly delete the document object to free all
                allocated memory. </li>
            <li>If a user is creating a DocumentType object using the document implementation factory
                method, IDOM_DOMImplementation::getImplementation()->createDocumentType, then
-               the user also needs to explicilty delete the document type object to free the
+               the user also needs to explicitly delete the DocumentType object to free the
                allocated memory.</li>
            <li>Special case:  If a user is creating a DocumentType using the document
                implementation factory method, and clone the node WITHOUT assigning a document
-               owner to that documentType object, then the cloned node also needs to be explicitly
+               owner to that DocumentType object, then the cloned node also needs to be explicitly
                deleted.</li>
         </ul>
 
@@ -258,7 +258,7 @@ docRootNode.appendChild(aNode);
 
       <source>
 // C++ IDOM - explicit deletion
-// use the document implementation factory method to create a document type and a document
+// use the document implementation factory method to create a DocumentType and a document
 IDOM_DocumentType* myDocType;
 IDOM_Document*   myDocument;
 IDOM_Node*       root;
@@ -301,7 +301,7 @@ delete myDocument;
       <source>
 // C++ IDOM - explicit deletion
 // manually build a DOM document
-// clone the document type object which does not have an owner yet
+// clone the DocumentType object which does not have an owner yet
 IDOM_DocumentType* myDocType1;
 IDOM_DocumentType* myDocType;
 IDOM_Document*   myDocument;
@@ -327,7 +327,7 @@ delete myDocument;
       <source>
 // C++ IDOM - explicit deletion
 // manually build a DOM document
-// clone the document type object that has an owner already
+// clone the DocumentType object that has an owner already
 //   thus no need to delete the cloned object
 IDOM_DocumentType* myDocType1;
 IDOM_DocumentType* myDocType;
diff --git a/doc/program-sax2.xml b/doc/program-sax2.xml
index 74e8bea7d2f839b2aaf1fbfadec7a8af91054eae..558768912eaf17c08b4c84e2b881052d032476f1 100644
--- a/doc/program-sax2.xml
+++ b/doc/program-sax2.xml
@@ -150,7 +150,7 @@ MySAX2Handler::fatalError(const SAXParseException&amp; exception)
 
         <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 orignal prefixed names and attributes used for Namespace declarations </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>
 
@@ -184,7 +184,7 @@ MySAX2Handler::fatalError(const SAXParseException&amp; exception)
             <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 resriction checking
+                         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>
@@ -222,7 +222,7 @@ MySAX2Handler::fatalError(const SAXParseException&amp; exception)
 
        <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 assessiblity of the returned information after
+        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>
diff --git a/doc/program.xml b/doc/program.xml
index 74456697bba9d34a72b870951e975f1ce705a57c..29b8d04de1ca06654c54f59afeb56c5fa86ce1f4 100644
--- a/doc/program.xml
+++ b/doc/program.xml
@@ -27,7 +27,7 @@
     <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">Comparision of Java and C++ DOM's</jump></li>
+      <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>
@@ -47,7 +47,7 @@
       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">Comparision of C++ DOM and IDOM</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>
diff --git a/doc/releases.xml b/doc/releases.xml
index e4190907936ddb8bd65cd21e6f1bcf40722eaed3..e27b6fdc421d85adfc4980d93779e41dcf76803c 100644
--- a/doc/releases.xml
+++ b/doc/releases.xml
@@ -15,7 +15,7 @@
         <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 comforming to '-' [0]* '.'? [0]* is normalized to negative zero.
+            And similarly input conforming to '-' [0]* '.'? [0]* is normalized to negative zero.
         </td>
     </tr>
 
@@ -137,7 +137,7 @@
         <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 soley within CoreServices layer.
+            require Carbon but can allow Xerces to live solely within CoreServices layer.
         </td>
     </tr>
 
@@ -849,7 +849,7 @@
     <tr>
         <td>2001-11-28</td>
         <td>PeiYong Zhang</td>
-        <td>DOMMemTest: delete compiler generated temperary DOMString object "Hello Goodbye".
+        <td>DOMMemTest: delete compiler generated temporary DOMString object "Hello Goodbye".
         </td>
     </tr>
 
diff --git a/doc/releases_archive.xml b/doc/releases_archive.xml
index 664d8550ca49edd661e6cc627633dcd4d6da61dd..9c16359588cf231bea5b0e55c153d38f5fbcecd2 100644
--- a/doc/releases_archive.xml
+++ b/doc/releases_archive.xml
@@ -87,7 +87,7 @@
     <tr>
         <td>2001-10-25</td>
         <td>Mark Weaver</td>
-        <td>[Bug 4213] BinHTTPURLInputStream initialisation not thread safe.
+        <td>[Bug 4213] BinHTTPURLInputStream initialization not thread safe.
         </td>
     </tr>
 
@@ -200,7 +200,7 @@
     <tr>
         <td>2001-10-22</td>
         <td>Linda Swan</td>
-        <td>castToNodeImpl is inconsistent with other cast routinesin IDCasts.
+        <td>castToNodeImpl is inconsistent with other cast routines in IDCasts.
         </td>
     </tr>
 
@@ -661,7 +661,7 @@
     <tr>
         <td>2001-07-10</td>
         <td>Tinny Ng</td>
-        <td>Give proper error messsage when scanning external id.
+        <td>Give proper error message when scanning external id.
         </td>
     </tr>
 
@@ -732,7 +732,7 @@
     <tr>
         <td>2001-07-08</td>
         <td>James Berry</td>
-        <td>Simplify file existance checks.
+        <td>Simplify file existence checks.
         </td>
     </tr>
 
@@ -1198,9 +1198,9 @@
     <tr>
         <td>2001-05-22</td>
         <td>James Berry</td>
-        <td>Check for existance of MacOS Unicode Converter routines prior to instanciating our
+        <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 existance of MacOS Unicode Converter to avoid calling through NULL pointer.
+	 Add support to check for existence of MacOS Unicode Converter to avoid calling through NULL pointer.
         </td>
     </tr>
 
@@ -1821,7 +1821,7 @@
     <tr>
         <td >2000-11-30</td>
         <td >Tinny Ng</td>
-        <td >reuseValidator - fix bugs (spurious errors) that occured on reuse due to
+        <td >reuseValidator - fix bugs (spurious errors) that occurred on reuse due to
              pools already containing some items.
         </td>
     </tr>
@@ -1872,7 +1872,7 @@
    <tr>
         <td >2000-11-01</td>
         <td >Tinny Ng</td>
-        <td >Scanner bug fix:  with progessive parsing, namesapce and validation
+        <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>
@@ -2065,7 +2065,7 @@
     <tr>
         <td >2000-09-28</td>
         <td >Andy Heninger</td>
-        <td >DOMParser MemoryLeak fixed.  Occured when a document redefined the
+        <td >DOMParser MemoryLeak fixed.  Occurred when a document redefined the
               a builtin entity, e.g. &lt;.
         </td>
     </tr>
@@ -2807,7 +2807,7 @@
     <tr>
         <td >2000-04-19</td>
         <td >Anupam Bagchi</td>
-        <td >API document generation changed to DOxygen from Doc++</td>
+        <td >API document generation changed to Doxygen from Doc++</td>
     </tr>
     <tr>
         <td >2000-04-18</td>
diff --git a/doc/sax2count.xml b/doc/sax2count.xml
index 02d262015adfa688c9d51495e5c25435fa767223..b1ffaeb76f1d869559ae9210223070401786a938 100644
--- a/doc/sax2count.xml
+++ b/doc/sax2count.xml
@@ -45,7 +45,7 @@ personal.xml: 60 ms (37 elems, 12 attrs, 134 spaces, 134 chars)</source>
           ignorable white-space is counted separately from regular characters.</p>
 <source>SAX2Count -v=never personal.xml
 personal.xml: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)</source>
-          <p>Note that the sum of spaces and chracters in both versions is the same.</p>
+          <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the program may be different depending on your
           machine processor.</note>
diff --git a/doc/saxcount.xml b/doc/saxcount.xml
index 5b5d292263f4d69c0409554b153b842809773d39..1f84289b58c3cd0e669d9c28278fe9660d324f58 100644
--- a/doc/saxcount.xml
+++ b/doc/saxcount.xml
@@ -43,7 +43,7 @@ personal.xml: 60 ms (37 elems, 12 attrs, 134 spaces, 134 chars)</source>
           ignorable white-space is counted separately from regular characters.</p>
 <source>SAXCount -v=never personal.xml
 personal.xml: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)</source>
-          <p>Note that the sum of spaces and chracters in both versions is the same.</p>
+          <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the program may be different depending on your
           machine processor.</note>
diff --git a/doc/schema.xml b/doc/schema.xml
index ec7d427d255d2b7940e44e4def344a7d402ac481..03956f5cddbecafa685d39ecfd7df240612b6bb3 100644
--- a/doc/schema.xml
+++ b/doc/schema.xml
@@ -76,7 +76,7 @@ parser->parse(xmlFile);
        </s2>
 
        <anchor name="associate"/>
-       <s2 title="Assocating Schema Grammar with instance document">
+       <s2 title="Associating Schema Grammar with instance document">
                <p>Schema grammars can be associated with instance documents in two ways.
                </p>
 
@@ -84,11 +84,11 @@ parser->parse(xmlFile);
                <p>An application developer may associate schemas with instance documents through
                   methods <code>setExternalSchemaLocation</code> if they use namespaces, and
                   <code>setExternalNoNamespaceSchemaLocation</code> otherwise.
-                (For SAX2XMLReader, use the properites:
+                (For SAX2XMLReader, use the properties:
                 "http://apache.org/xml/properties/schema/external-schemaLocation" and
                 "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation")
                </p>
-               <p>Here is an example with no target namspace:
+               <p>Here is an example with no target namespace:
                </p>
 <source>
 // Instantiate the DOM parser.
@@ -138,7 +138,7 @@ parser.parse("test.xml");
                 the grammars it uses by using an xsi:schemaLocation attribute if they use
                 namespaces, and xsi:noNamespaceSchemaLocation attribute otherwise.
                </p>
-               <p>Here is an example with no target namspace:
+               <p>Here is an example with no target namespace:
                </p>
 <source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;personnel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
diff --git a/doc/stdinparse.xml b/doc/stdinparse.xml
index b734a29864b969accde6eb3025ccb20a7dbc7a6c..aa9544f3c3f5d75184cb2d1e2c6979ef759128fa 100644
--- a/doc/stdinparse.xml
+++ b/doc/stdinparse.xml
@@ -42,7 +42,7 @@ stdin: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)</source>
           ignorable white-space is counted separately from regular characters.</p>
 <source>StdInParse -v=never &lt; personal.xml
 stdin: 10 ms (37 elems, 12 attrs, 0 spaces, 268 chars)</source>
-          <p>Note that the sum of spaces and chracters in both versions is the same.</p>
+          <p>Note that the sum of spaces and characters in both versions is the same.</p>
 
           <note>The time reported by the program may be different depending on your
           machine processor.</note>