diff --git a/credits.txt b/credits.txt
index acd8becb5bc00acfd8554cd45a16fd60660795a7..2b56dcd623753c11ad3c2bb62b0c01b1b8442997 100644
--- a/credits.txt
+++ b/credits.txt
@@ -8,6 +8,7 @@ Curt Arnold
 Edward Avis
 Anupam Bagchi
 Torbjörn Bäckström
+Frank Balluffi
 Matthew Baker
 Devin Barnhart
 James Berry
diff --git a/doc/faq-parse.xml b/doc/faq-parse.xml
index 01a7391205eee150d6d2069ec61a2df7ed5e0329..0085d07e413f881e505070ae96f4ba5925a1044a 100644
--- a/doc/faq-parse.xml
+++ b/doc/faq-parse.xml
@@ -906,14 +906,14 @@ catch (const XMLException& toCatch) {
          <jump href="program.html#SAX2Properties">SAX2 Programming Guide</jump> to learn
          exactly what type of object each property returns.
       </p>
-      <p>The parser owns the returned pointer, and the memory allocated for
+      <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
          is deleted, callers need to copy and store the returned information
-         somewhere else; other you may get unexpected result.  Since the returned
+         somewhere else; otherwise you may get unexpected result.  Since the returned
          pointer is a generic void pointer, see
          <jump href="program.html#SAX2Properties">SAX2 Programming Guide</jump> to learn
-         exactly what type of object each property returns for replication.
+         exactly what type of property value each property returns for replication.
       </p>
 
     </a>
diff --git a/doc/feedback.xml b/doc/feedback.xml
index 772d64424778d700fb446842252df560b06b31e6..8d8ac1a30e1b88684e06eae184f2c849c2436f43 100644
--- a/doc/feedback.xml
+++ b/doc/feedback.xml
@@ -33,6 +33,7 @@
             <li>Edward Avis</li>
             <li>Anupam Bagchi</li>
             <li>Torbjörn Bäckström</li>
+            <li>Frank Balluffi</li>
             <li>Matthew Baker</li>
             <li>Devin Barnhart</li>
             <li>James Berry</li>
diff --git a/doc/releases.xml b/doc/releases.xml
index c2a97a3eaf761d54954d9c102d53920a9ae51332..227111fc3f1b479624f9889307390ecdb32b1a1e 100644
--- a/doc/releases.xml
+++ b/doc/releases.xml
@@ -11,6 +11,65 @@
         <td>Description</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>
diff --git a/doc/schema.xml b/doc/schema.xml
index 1723237c8578c1ecee26833c550999f40f3eb52e..4869a58dc9feaf79b902fe5a7d8495695d1f96ce 100644
--- a/doc/schema.xml
+++ b/doc/schema.xml
@@ -90,9 +90,9 @@ parser->parse(xmlFile);
                </p>
 
                <s3 title="Specifying Schema Grammar through method calls:">
-               <p>An application developer may use the methods <code>setExternalSchemaLocation</code>
-                if they use namespaces, and <code>setExternalNoNamespaceSchemaLocation</code> otherwise
-                to associate schemas with instance documents.
+               <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:
                 "http://apache.org/xml/properties/schema/external-schemaLocation" and
                 "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation")
@@ -116,7 +116,8 @@ parser.parse("test.xml");
 </source>
 
                <p>Here is an example with a target namespace. Note that it is an error to specify a
-                different namespace than the target namespace defined in the Schema.
+                different namespace in <code>setExternalSchemaLocation</code> than the target
+                namespace defined in the Schema.
                </p>
 <source>
 // Instantiate the DOM parser.
@@ -131,7 +132,7 @@ SAX2XMLReader* parser = XMLReaderFactory::createXMLReader();
 parser->setProperty(
        XMLString::transcode("http://apache.org/xml/properties/schema/external-SchemaLocation"),
        XMLString transcode("http://my.com personal.xsd http://my2.com test2.xsd"));
-parser.parse("test");
+parser.parse("test.xml");
 </source>
                </s3>
                <s3 title="Specifying Schema Grammar through attributes in the instance document:">
@@ -149,12 +150,13 @@ parser.parse("test");
 &lt;/personnel&gt;
 </source>
                <p>Here is an example with a target namespace. Note that it is an error to specify a
-                different namespace than the target namespace defined in the Schema.
+                different namespace in xsi:schemaLocation attribute than the target namespace
+                defined in the Schema.
                </p>
 <source>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
 &lt;personnel xmlns="http://my.com"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	   xsi:schemaLocation="http://my.com personal.xsd"&gt;
+	   xsi:schemaLocation="http://my.com personal.xsd http://my2.com test2.xsd"&gt;
 ...
 &lt;/personnel&gt;
 </source>
diff --git a/doc/senumval.xml b/doc/senumval.xml
index 11690516cbe11fde28522e2d85a31bc81af841d7..a30678236b75f8b51e8d89701ad9e523eca6786f 100644
--- a/doc/senumval.xml
+++ b/doc/senumval.xml
@@ -21,104 +21,104 @@ access the Schema information stored in internal data structures.
 <source>cd &XercesCInstallDir;-linux/samples/data
 SEnumVal personal-schema.xml
 
- Name:			personnel
- Model Type:		Children
- Create Reason:	Declared
- ContentType:	OneOrMore
- Content Model:	(person)+
- ComplexType:
- 	TypeName:	,C0
- 	ContentType:	OneOrMore
- --------------------------------------------
- Name:			person
- Model Type:		Children
- Create Reason:	Declared
- ContentType:	Sequence
- Content Model:	(name,email*,url*,link?)
- ComplexType:
- 	TypeName:	,C1
- 	ContentType:	Sequence
- Attributes:
- 	Name:			salary
- 	Type:			CDATA
- 	Default Type:	#IMPLIED
- 	Base Datatype:		Decimal
- Facets:		
- 	fractionDigits=0
+Name:                   personnel
+Model Type:             Children
+Create Reason:  Declared
+ContentType:    OneOrMore
+Content Model:  (person)+
+ComplexType:
+        TypeName:       ,C0
+        ContentType:    OneOrMore
+--------------------------------------------
+Name:                   person
+Model Type:             Children
+Create Reason:  Declared
+ContentType:    Sequence
+Content Model:  (name,email*,url*,link?)
+ComplexType:
+        TypeName:       ,C1
+        ContentType:    Sequence
+Attributes:
+        Name:                   salary
+        Type:                   CDATA
+        Default Type:   #IMPLIED
+        Base Datatype:          Decimal
+Facets:
+        fractionDigits=0
 
- 	Name:			id
- 	Type:			ID
- 	Default Type:	#REQUIRED
- 	Base Datatype:		ID
+        Name:                   id
+        Type:                   ID
+        Default Type:   #REQUIRED
+        Base Datatype:          ID
 
- 	Name:			contr
- 	Type:			CDATA
- 	Default Type:	#DEFAULT
- 	Value:			false
- 	Base Datatype:		string
+        Name:                   contr
+        Type:                   CDATA
+        Default Type:   #DEFAULT
+        Value:                  false
+        Base Datatype:          string
 
- 	Name:			note
- 	Type:			CDATA
- 	Default Type:	#IMPLIED
- 	Base Datatype:		string
+        Name:                   note
+        Type:                   CDATA
+        Default Type:   #IMPLIED
+        Base Datatype:          string
 
- --------------------------------------------
- Name:			name
- Model Type:		Children
- Create Reason:	Declared
- ContentType:	Sequence
- Content Model:	(family,given)
- ComplexType:
- 	TypeName:	,C3
- 	ContentType:	Sequence
- --------------------------------------------
- Name:			family
- Model Type:		Simple
- Create Reason:	Declared
- Base Datatype:		string
- --------------------------------------------
- Name:			given
- Model Type:		Simple
- Create Reason:	Declared
- Base Datatype:		string
- --------------------------------------------
- Name:			email
- Model Type:		Simple
- Create Reason:	Declared
- Base Datatype:		string
- --------------------------------------------
- Name:			url
- Model Type:		Empty
- Create Reason:	Declared
- Content Model:	EMPTY
- ComplexType:
- 	TypeName:	,C4
- Attributes:
- 	Name:			href
- 	Type:			CDATA
- 	Default Type:	#DEFAULT
- 	Value:			http://
- 	Base Datatype:		string
+--------------------------------------------
+Name:                   name
+Model Type:             Children
+Create Reason:  Declared
+ContentType:    All
+Content Model:
+ComplexType:
+        TypeName:       ,C3
+        ContentType:    All
+--------------------------------------------
+Name:                   family
+Model Type:             Simple
+Create Reason:  Declared
+Base Datatype:          string
+--------------------------------------------
+Name:                   given
+Model Type:             Simple
+Create Reason:  Declared
+Base Datatype:          string
+--------------------------------------------
+Name:                   email
+Model Type:             Simple
+Create Reason:  Declared
+Base Datatype:          string
+--------------------------------------------
+Name:                   url
+Model Type:             Empty
+Create Reason:  Declared
+Content Model:  EMPTY
+ComplexType:
+        TypeName:       ,C4
+Attributes:
+        Name:                   href
+        Type:                   CDATA
+        Default Type:   #DEFAULT
+        Value:                  http://
+        Base Datatype:          string
 
- --------------------------------------------
- Name:			link
- Model Type:		Empty
- Create Reason:	Declared
- Content Model:	EMPTY
- ComplexType:
- 	TypeName:	,C5
- Attributes:
- 	Name:			subordinates
- 	Type:			IDREFS
- 	Default Type:	#IMPLIED
- 	Base Datatype:		List
+--------------------------------------------
+Name:                   link
+Model Type:             Empty
+Create Reason:  Declared
+Content Model:  EMPTY
+ComplexType:
+        TypeName:       ,C5
+Attributes:
+        Name:                   subordinates
+        Type:                   IDREFS
+        Default Type:   #IMPLIED
+        Base Datatype:          List
 
- 	Name:			manager
- 	Type:			IDREF
- 	Default Type:	#IMPLIED
- 	Base Datatype:		IDREF
+        Name:                   manager
+        Type:                   IDREF
+        Default Type:   #IMPLIED
+        Base Datatype:          IDREF
 
- --------------------------------------------
+--------------------------------------------
               </source>
         </s3>
     </s2>