From 556d156e3b238c4ba36aa049f21b2ee3d918be45 Mon Sep 17 00:00:00 2001
From: Tinny Ng <tng@apache.org>
Date: Fri, 14 Mar 2003 21:17:17 +0000
Subject: [PATCH] Change to 2.3

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174861 13f79535-47bb-0310-9956-ffa450edef68
---
 .../XercesLib/English.lproj/InfoPlist.strings |    4 +-
 .../XercesLib.pbproj/project.pbxproj          |    2 +-
 .../VC6/xerces-all/XercesLib/XercesLib.dsp    |   12 +-
 .../VC6/xerces-all/XercesLib/XercesLib.mak    |   46 +-
 .../VC6/xerces-all/xerces-com/xerces-com.dsp  |    8 +-
 .../VC6/xerces-all/xerces-com/xerces-com.mak  |   14 +-
 .../VC7/xerces-all/XercesLib/XercesLib.vcproj |   10 +-
 .../xerces-all/xerces-com/xerces-com.vcproj   |   10 +-
 doc/Doxyfile                                  |    2 +-
 doc/migration.xml                             |  129 +--
 doc/migration_archive.xml                     |  148 +++
 doc/releases.xml                              | 1021 +++--------------
 doc/releases_archive.xml                      |  981 ++++++++++++++++
 doc/style/dtd/entities.ent                    |   14 +-
 scripts/packageBinaries.pl                    |   66 +-
 src/xercesc/com/xml4com.idl                   |    6 +-
 src/xercesc/configure.in                      |    2 +-
 src/xercesc/util/Platforms/Win32/Version.rc   |   16 +-
 src/xercesc/util/XercesVersion.hpp            |    4 +-
 version.incl                                  |    6 +-
 xerces-c.spec                                 |   11 +-
 21 files changed, 1442 insertions(+), 1070 deletions(-)

diff --git a/Projects/MacOS/ProjectBuilder/XercesLib/English.lproj/InfoPlist.strings b/Projects/MacOS/ProjectBuilder/XercesLib/English.lproj/InfoPlist.strings
index 9732f912b..83b94b41d 100644
--- a/Projects/MacOS/ProjectBuilder/XercesLib/English.lproj/InfoPlist.strings
+++ b/Projects/MacOS/ProjectBuilder/XercesLib/English.lproj/InfoPlist.strings
@@ -1,6 +1,6 @@
 /* Localized versions of Info.plist keys */
 
 CFBundleName = "Xerces";
-CFBundleShortVersionString = "XercesLib version 2.2.0";
-CFBundleGetInfoString = "XercesLib version 2.2.0";
+CFBundleShortVersionString = "XercesLib version 2.3.0";
+CFBundleGetInfoString = "XercesLib version 2.3.0";
 NSHumanReadableCopyright = "Copyright";
diff --git a/Projects/MacOS/ProjectBuilder/XercesLib/XercesLib.pbproj/project.pbxproj b/Projects/MacOS/ProjectBuilder/XercesLib/XercesLib.pbproj/project.pbxproj
index 270d4c0d1..ed98b6d93 100644
--- a/Projects/MacOS/ProjectBuilder/XercesLib/XercesLib.pbproj/project.pbxproj
+++ b/Projects/MacOS/ProjectBuilder/XercesLib/XercesLib.pbproj/project.pbxproj
@@ -2983,7 +2983,7 @@
 	<key>CFBundleSignature</key>
 	<string>????</string>
 	<key>CFBundleVersion</key>
-	<string>2.2.0</string>
+	<string>2.3.0</string>
 </dict>
 </plist>
 ";
diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
index b8e871988..c0ad6b4a6 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
@@ -53,7 +53,7 @@ RSC=rc.exe
 BSC32=bscmake.exe
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_2_0.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_2.lib" /version:2.2.0
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /map /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_3_0.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_2.lib" /version:2.3.0
 # SUBTRACT LINK32 /pdb:none /incremental:yes
 
 !ELSEIF  "$(CFG)" == "XercesLib - Win32 Debug"
@@ -79,7 +79,7 @@ LINK32=link.exe
 BSC32=bscmake.exe
 LINK32=link.exe
 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_2_2_0D.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.2.0
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_2_3_0D.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.3.0
 # SUBTRACT LINK32 /pdb:none
 
 !ELSEIF  "$(CFG)" == "XercesLib - Win64 Debug"
@@ -105,9 +105,9 @@ LINK32=link.exe
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
 LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2_2_0D.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.2.0
+# ADD BASE LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2_3_0D.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.3.0
 # SUBTRACT BASE LINK32 /pdb:none
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2_2_0D.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.2.0 /machine:IA64
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /debug /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2_3_0D.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Debug/xerces-c_2D.lib" /pdbtype:sept /version:2.3.0 /machine:IA64
 # SUBTRACT LINK32 /pdb:none
 
 !ELSEIF  "$(CFG)" == "XercesLib - Win64 Release"
@@ -132,9 +132,9 @@ LINK32=link.exe
 # ADD RSC /l 0x409 /d "NDEBUG"
 BSC32=bscmake.exe
 LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /map /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Release\xerces-c_2_2_0.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Release/xerces-c_2.lib" /version:2.2.0
+# ADD BASE LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /map /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Release\xerces-c_2_3_0.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Release/xerces-c_2.lib" /version:2.3.0
 # SUBTRACT BASE LINK32 /pdb:none /incremental:yes
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /map /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Release\xerces-c_2_2_0.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Release/xerces-c_2.lib" /version:2.2.0 /machine:IA64
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /map /machine:IX86 /out:"..\..\..\..\..\Build\Win64\VC6\Release\xerces-c_2_3_0.dll" /implib:"..\..\..\..\..\Build\Win64\VC6\Release/xerces-c_2.lib" /version:2.3.0 /machine:IA64
 # SUBTRACT LINK32 /pdb:none
 
 !ENDIF 
diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
index c1cd1234a..26db98f03 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.mak
@@ -35,7 +35,7 @@ INTDIR=.\..\..\..\..\..\Build\Win32\VC6\Release\obj
 OutDir=.\..\..\..\..\..\Build\Win32\VC6\Release
 # End Custom Macros
 
-ALL : "$(OUTDIR)\xerces-c_2_2_0.dll"
+ALL : "$(OUTDIR)\xerces-c_2_3_0.dll"
 
 
 CLEAN :
@@ -334,10 +334,10 @@ CLEAN :
 	-@erase "$(INTDIR)\XUtil.obj"
 	-@erase "$(INTDIR)\YearDatatypeValidator.obj"
 	-@erase "$(INTDIR)\YearMonthDatatypeValidator.obj"
-	-@erase "$(OUTDIR)\obj\xerces-c_2_2_0.map"
+	-@erase "$(OUTDIR)\obj\xerces-c_2_3_0.map"
 	-@erase "$(OUTDIR)\xerces-c_2.exp"
 	-@erase "$(OUTDIR)\xerces-c_2.lib"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0.dll"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0.dll"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -387,7 +387,7 @@ BSC32_FLAGS=/o"$(OUTDIR)\XercesLib.bsc"
 BSC32_SBRS= \
 	
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\xerces-c_2_2_0.pdb" /map:"$(INTDIR)\xerces-c_2_2_0.map" /machine:I386 /out:"$(OUTDIR)\xerces-c_2_2_0.dll" /implib:"$(OUTDIR)\xerces-c_2.lib" /version:2.2.0 
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\xerces-c_2_3_0.pdb" /map:"$(INTDIR)\xerces-c_2_3_0.map" /machine:I386 /out:"$(OUTDIR)\xerces-c_2_3_0.dll" /implib:"$(OUTDIR)\xerces-c_2.lib" /version:2.3.0 
 LINK32_OBJS= \
 	"$(INTDIR)\Win32PlatformUtils.obj" \
 	"$(INTDIR)\Win32MsgLoader.obj" \
@@ -684,7 +684,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\DOMRangeException.obj" \
 	"$(INTDIR)\Version.res"
 
-"$(OUTDIR)\xerces-c_2_2_0.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\xerces-c_2_3_0.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
     $(LINK32) @<<
   $(LINK32_FLAGS) $(LINK32_OBJS)
 <<
@@ -697,7 +697,7 @@ INTDIR=.\..\..\..\..\..\Build\Win32\VC6\Debug\obj
 OutDir=.\..\..\..\..\..\Build\Win32\VC6\Debug
 # End Custom Macros
 
-ALL : "$(OUTDIR)\xerces-c_2_2_0D.dll"
+ALL : "$(OUTDIR)\xerces-c_2_3_0D.dll"
 
 
 CLEAN :
@@ -997,9 +997,9 @@ CLEAN :
 	-@erase "$(INTDIR)\XUtil.obj"
 	-@erase "$(INTDIR)\YearDatatypeValidator.obj"
 	-@erase "$(INTDIR)\YearMonthDatatypeValidator.obj"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.dll"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.ilk"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.pdb"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.dll"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.ilk"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.pdb"
 	-@erase "$(OUTDIR)\xerces-c_2D.exp"
 	-@erase "$(OUTDIR)\xerces-c_2D.lib"
 
@@ -1051,7 +1051,7 @@ BSC32_FLAGS=/o"$(OUTDIR)\XercesLib.bsc"
 BSC32_SBRS= \
 	
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_2_0D.pdb" /debug /machine:I386 /out:"$(OUTDIR)\xerces-c_2_2_0D.dll" /implib:"$(OUTDIR)\xerces-c_2D.lib" /pdbtype:sept /version:2.2.0 
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_3_0D.pdb" /debug /machine:I386 /out:"$(OUTDIR)\xerces-c_2_3_0D.dll" /implib:"$(OUTDIR)\xerces-c_2D.lib" /pdbtype:sept /version:2.3.0 
 LINK32_OBJS= \
 	"$(INTDIR)\Win32PlatformUtils.obj" \
 	"$(INTDIR)\Win32MsgLoader.obj" \
@@ -1348,7 +1348,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\DOMRangeException.obj" \
 	"$(INTDIR)\Version.res"
 
-"$(OUTDIR)\xerces-c_2_2_0D.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\xerces-c_2_3_0D.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
     $(LINK32) @<<
   $(LINK32_FLAGS) $(LINK32_OBJS)
 <<
@@ -1361,7 +1361,7 @@ INTDIR=.\..\..\..\..\..\Build\Win64\VC6\Debug\obj
 OutDir=.\..\..\..\..\..\Build\Win64\VC6\Debug
 # End Custom Macros
 
-ALL : "$(OUTDIR)\xerces-c_2_2_0D.dll"
+ALL : "$(OUTDIR)\xerces-c_2_3_0D.dll"
 
 
 CLEAN :
@@ -1661,9 +1661,9 @@ CLEAN :
 	-@erase "$(INTDIR)\XUtil.obj"
 	-@erase "$(INTDIR)\YearDatatypeValidator.obj"
 	-@erase "$(INTDIR)\YearMonthDatatypeValidator.obj"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.dll"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.ilk"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0D.pdb"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.dll"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.ilk"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0D.pdb"
 	-@erase "$(OUTDIR)\xerces-c_2D.exp"
 	-@erase "$(OUTDIR)\xerces-c_2D.lib"
 
@@ -1715,7 +1715,7 @@ BSC32_FLAGS=/o"$(OUTDIR)\XercesLib.bsc"
 BSC32_SBRS= \
 	
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_2_0D.pdb" /debug /machine:IX86 /out:"$(OUTDIR)\xerces-c_2_2_0D.dll" /implib:"$(OUTDIR)\xerces-c_2D.lib" /pdbtype:sept /version:2.2.0 /machine:IA64 
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_3_0D.pdb" /debug /machine:IX86 /out:"$(OUTDIR)\xerces-c_2_3_0D.dll" /implib:"$(OUTDIR)\xerces-c_2D.lib" /pdbtype:sept /version:2.3.0 /machine:IA64 
 LINK32_OBJS= \
 	"$(INTDIR)\Win32PlatformUtils.obj" \
 	"$(INTDIR)\Win32MsgLoader.obj" \
@@ -2012,7 +2012,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\DOMRangeException.obj" \
 	"$(INTDIR)\Version.res"
 
-"$(OUTDIR)\xerces-c_2_2_0D.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\xerces-c_2_3_0D.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
     $(LINK32) @<<
   $(LINK32_FLAGS) $(LINK32_OBJS)
 <<
@@ -2025,7 +2025,7 @@ INTDIR=.\..\..\..\..\..\Build\Win64\VC6\Release\obj
 OutDir=.\..\..\..\..\..\Build\Win64\VC6\Release
 # End Custom Macros
 
-ALL : "$(OUTDIR)\xerces-c_2_2_0.dll"
+ALL : "$(OUTDIR)\xerces-c_2_3_0.dll"
 
 
 CLEAN :
@@ -2324,11 +2324,11 @@ CLEAN :
 	-@erase "$(INTDIR)\XUtil.obj"
 	-@erase "$(INTDIR)\YearDatatypeValidator.obj"
 	-@erase "$(INTDIR)\YearMonthDatatypeValidator.obj"
-	-@erase "$(OUTDIR)\obj\xerces-c_2_2_0.map"
+	-@erase "$(OUTDIR)\obj\xerces-c_2_3_0.map"
 	-@erase "$(OUTDIR)\xerces-c_2.exp"
 	-@erase "$(OUTDIR)\xerces-c_2.lib"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0.dll"
-	-@erase "$(OUTDIR)\xerces-c_2_2_0.ilk"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0.dll"
+	-@erase "$(OUTDIR)\xerces-c_2_3_0.ilk"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -2378,7 +2378,7 @@ BSC32_FLAGS=/o"$(OUTDIR)\XercesLib.bsc"
 BSC32_SBRS= \
 	
 LINK32=link.exe
-LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_2_0.pdb" /map:"$(INTDIR)\xerces-c_2_2_0.map" /machine:IX86 /out:"$(OUTDIR)\xerces-c_2_2_0.dll" /implib:"$(OUTDIR)\xerces-c_2.lib" /version:2.2.0 /machine:IA64 
+LINK32_FLAGS=kernel32.lib user32.lib advapi32.lib ws2_32.lib /base:"0x12000000" /subsystem:windows /dll /incremental:yes /pdb:"$(OUTDIR)\xerces-c_2_3_0.pdb" /map:"$(INTDIR)\xerces-c_2_3_0.map" /machine:IX86 /out:"$(OUTDIR)\xerces-c_2_3_0.dll" /implib:"$(OUTDIR)\xerces-c_2.lib" /version:2.3.0 /machine:IA64 
 LINK32_OBJS= \
 	"$(INTDIR)\Win32PlatformUtils.obj" \
 	"$(INTDIR)\Win32MsgLoader.obj" \
@@ -2675,7 +2675,7 @@ LINK32_OBJS= \
 	"$(INTDIR)\DOMRangeException.obj" \
 	"$(INTDIR)\Version.res"
 
-"$(OUTDIR)\xerces-c_2_2_0.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
+"$(OUTDIR)\xerces-c_2_3_0.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
     $(LINK32) @<<
   $(LINK32_FLAGS) $(LINK32_OBJS)
 <<
diff --git a/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.dsp b/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.dsp
index 34583506d..44595fe0c 100644
--- a/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.dsp
+++ b/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.dsp
@@ -60,8 +60,8 @@ InputPath=.\..\..\..\..\..\Build\Win32\xml4com\Debug\xerces-com.dll
 SOURCE="$(InputPath)"
 
 "$(OutDir)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-	echo copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_2_0D.dll "$(TargetDir)"
-	copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_2_0D.dll "$(TargetDir)"
+	echo copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_3_0D.dll "$(TargetDir)"
+	copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_3_0D.dll "$(TargetDir)"
 	regsvr32 /s /c "$(TargetPath)"
 	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
 	
@@ -99,8 +99,8 @@ InputPath=.\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\xerces-com.d
 SOURCE="$(InputPath)"
 
 BuildCmds= \
-	echo copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_2_0.dll $(TargetDir) \
-	copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_2_0.dll $(TargetDir) \
+	echo copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_3_0.dll $(TargetDir) \
+	copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_3_0.dll $(TargetDir) \
 	regsvr32 /s /c "$(TargetPath)" \
 	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg" \
 	
diff --git a/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.mak b/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.mak
index 4ea8d6833..c1a5fe58d 100644
--- a/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.mak
+++ b/Projects/Win32/VC6/xerces-all/xerces-com/xerces-com.mak
@@ -162,8 +162,8 @@ SOURCE="$(InputPath)"
 "$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
 	<<tempfile.bat
 	@echo off
-	echo copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_2_0D.dll "$(TargetDir)"
-	copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_2_0D.dll "$(TargetDir)"
+	echo copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_3_0D.dll "$(TargetDir)"
+	copy ..\..\..\..\..\Build\Win32\VC6\Debug\xerces-c_2_3_0D.dll "$(TargetDir)"
 	regsvr32 /s /c "$(TargetPath)"
 	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
 <<
@@ -179,11 +179,11 @@ OutDir=.\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency
 
 !IF "$(RECURSE)" == "0"
 
-ALL : "$(OUTDIR)\xerces-com.dll" "..\..\..\..\..\Build\Win32\xml4com\xml4com.tlb" "..\..\..\..\..\src\xercesc\com\xml4com.h" "..\..\..\..\..\src\xercesc\com\xml4com_i.c" ".\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\regsvr32.trg" "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_2_0.dll"
+ALL : "$(OUTDIR)\xerces-com.dll" "..\..\..\..\..\Build\Win32\xml4com\xml4com.tlb" "..\..\..\..\..\src\xercesc\com\xml4com.h" "..\..\..\..\..\src\xercesc\com\xml4com_i.c" ".\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\regsvr32.trg" "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_3_0.dll"
 
 !ELSE
 
-ALL : "$(OUTDIR)\xerces-com.dll" "..\..\..\..\..\Build\Win32\xml4com\xml4com.tlb" "..\..\..\..\..\src\xercesc\com\xml4com.h" "..\..\..\..\..\src\xercesc\com\xml4com_i.c" ".\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\regsvr32.trg" "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_2_0.dll"
+ALL : "$(OUTDIR)\xerces-com.dll" "..\..\..\..\..\Build\Win32\xml4com\xml4com.tlb" "..\..\..\..\..\src\xercesc\com\xml4com.h" "..\..\..\..\..\src\xercesc\com\xml4com_i.c" ".\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\regsvr32.trg" "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_3_0.dll"
 
 !ENDIF
 
@@ -219,7 +219,7 @@ CLEAN :
 	-@erase "..\..\..\..\..\src\xercesc\com\xml4com.h"
 	-@erase "..\..\..\..\..\src\xercesc\com\xml4com_i.c"
 	-@erase ".\..\..\..\..\..\Build\Win32\xml4com\ReleaseMinDependency\regsvr32.trg"
-	-@erase "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_2_0.dll"
+	-@erase "\Xerces-Testing\Build\Win32\xml4com\ReleaseMinDependency\xerces-c_2_3_0.dll"
 
 "$(OUTDIR)" :
     if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
@@ -303,8 +303,8 @@ SOURCE="$(InputPath)"
 "$(OUTDIR)\xerces-c_2_2_0.dll"	"$(OUTDIR)\regsvr32.trg" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
 	<<tempfile.bat
 	@echo off
-	echo copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_2_0.dll $(TargetDir)
-	copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_2_0.dll $(TargetDir)
+	echo copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_3_0.dll $(TargetDir)
+	copy ..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_3_0.dll $(TargetDir)
 	regsvr32 /s /c "$(TargetPath)"
 	echo regsvr32 exec. time > "$(OutDir)\regsvr32.trg"
 <<
diff --git a/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj b/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj
index e40cd5523..cb6082a98 100644
--- a/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj
+++ b/Projects/Win32/VC7/xerces-all/XercesLib/XercesLib.vcproj
@@ -38,11 +38,11 @@
 				Name="VCLinkerTool"
 				AdditionalOptions="/MACHINE:I386"
 				AdditionalDependencies="ws2_32.lib"
-				OutputFile="..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_2_0.dll"
+				OutputFile="..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_3_0.dll"
 				AdditionalLibraryDirectories="..\..\..\..\..\Build\Win32\VC7\Release"
-				ProgramDatabaseFile=".\..\..\..\..\..\Build\Win32\VC7\Release/xerces-c_2_2_0.pdb"
+				ProgramDatabaseFile=".\..\..\..\..\..\Build\Win32\VC7\Release/xerces-c_2_3_0.pdb"
 				GenerateMapFile="TRUE"
-				MapFileName=".\..\..\..\..\..\Build\Win32\VC7\Release\obj/xerces-c_2_2_0.map"
+				MapFileName=".\..\..\..\..\..\Build\Win32\VC7\Release\obj/xerces-c_2_3_0.map"
 				SubSystem="2"
 				BaseAddress="0x12000000"
 				ImportLibrary="..\..\..\..\..\Build\Win32\VC7\Release/xerces-c_2.lib"/>
@@ -93,10 +93,10 @@
 				Name="VCLinkerTool"
 				AdditionalOptions="/MACHINE:I386"
 				AdditionalDependencies="ws2_32.lib"
-				OutputFile="..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2_2_0D.dll"
+				OutputFile="..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2_3_0D.dll"
 				AdditionalLibraryDirectories="..\..\..\..\..\Build\Win32\VC7\Debug"
 				GenerateDebugInformation="TRUE"
-				ProgramDatabaseFile=".\..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2_2_0D.pdb"
+				ProgramDatabaseFile=".\..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2_3_0D.pdb"
 				SubSystem="2"
 				BaseAddress="0x12000000"
 				ImportLibrary="..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2D.lib"/>
diff --git a/Projects/Win32/VC7/xerces-all/xerces-com/xerces-com.vcproj b/Projects/Win32/VC7/xerces-all/xerces-com/xerces-com.vcproj
index 84f0dd3f5..75d77bf0a 100644
--- a/Projects/Win32/VC7/xerces-all/xerces-com/xerces-com.vcproj
+++ b/Projects/Win32/VC7/xerces-all/xerces-com/xerces-com.vcproj
@@ -41,12 +41,12 @@
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Performing registration"
-				CommandLine="echo copy ..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_2_0.dll $(TargetDir)
-copy ..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_2_0.dll &quot;$(TargetDir)&quot;
+				CommandLine="echo copy ..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_3_0.dll $(TargetDir)
+copy ..\..\..\..\..\Build\Win32\VC7\Release\xerces-c_2_3_0.dll &quot;$(TargetDir)&quot;
 regsvr32 /s /c &quot;$(TargetPath)&quot;
 echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;
 "
-				Outputs="$(TargetDir)xerces-c_2_2_0.dll;$(OutDir)\regsvr32.trg"/>
+				Outputs="$(TargetDir)xerces-c_2_3_0.dll;$(OutDir)\regsvr32.trg"/>
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalOptions="/MACHINE:I386"
@@ -103,8 +103,8 @@ echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Performing registration"
-				CommandLine="echo copy ..\..\..\..\..\Build\Win32\VC7\Debug\xerces-c_2_2_0D.dll &quot;$(TargetDir)&quot;
-copy ..\..\..\..\..\Build\Win32\VC7\Debug\xerces-c_2_2_0D.dll &quot;$(TargetDir)&quot;
+				CommandLine="echo copy ..\..\..\..\..\Build\Win32\VC7\Debug\xerces-c_2_3_0D.dll &quot;$(TargetDir)&quot;
+copy ..\..\..\..\..\Build\Win32\VC7\Debug\xerces-c_2_3_0D.dll &quot;$(TargetDir)&quot;
 regsvr32 /s /c &quot;$(TargetPath)&quot;
 echo regsvr32 exec. time &gt; &quot;$(OutDir)\regsvr32.trg&quot;
 "
diff --git a/doc/Doxyfile b/doc/Doxyfile
index 524693a13..00177eb58 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -25,7 +25,7 @@ PROJECT_NAME         = Xerces-C++
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER       = v2.2.0
+PROJECT_NUMBER       = v2.3.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/doc/migration.xml b/doc/migration.xml
index c19a71b88..d4402200c 100644
--- a/doc/migration.xml
+++ b/doc/migration.xml
@@ -4,151 +4,58 @@
 <s1 title="Migration">
     <s2 title="Migration Archive">
 
-       <p>For migration information to &XercesCName; 2.1.0 or earlier,
+       <p>For migration information to &XercesCName; 2.2.0 or earlier,
           please refer to <jump href="migrate_archive.html">Migration Archive. </jump></p>
 
     </s2>
 
-    <s2 title="Migrating from &XercesCName; 2.1.0 to &XercesCName; &XercesCVersion;">
+    <s2 title="Migrating from &XercesCName; 2.2.0 to &XercesCName; &XercesCVersion;">
       <p>The following section is a discussion of the technical differences between
-      &XercesCName; 2.1.0 code base and the &XercesCName; &XercesCVersion;.</p>
+      &XercesCName; 2.2.0 code base and the &XercesCName; &XercesCVersion;.</p>
 
       <p>Topics discussed are:</p>
       <ul>
-        <li><link anchor="NewFeatures220">New features in &XercesCName; &XercesCVersion;</link></li>
-        <li><link anchor="CPPNamespace220">Using C++ Namespace</link></li>
-        <li><link anchor="API220">Public API Changes</link></li>
+        <li><link anchor="NewFeatures230">New features in &XercesCName; &XercesCVersion;</link></li>
+        <li><link anchor="API230">Public API Changes</link></li>
         <ul>
-            <li><link anchor="NewAPI220">New Public API</link></li>
-            <li><link anchor="ModifiedAPI220">Modified Public API</link></li>
-            <li><link anchor="DeprecatedAPI220">Deprecated/Removed Public API</link></li>
+            <li><link anchor="NewAPI230">New Public API</link></li>
+            <li><link anchor="ModifiedAPI230">Modified Public API</link></li>
+            <li><link anchor="DeprecatedAPI230">Deprecated/Removed Public API</link></li>
         </ul>
       </ul>
 
-    <anchor name="NewFeatures220"/>
+    <anchor name="NewFeatures230"/>
     <s3 title="New features in &XercesCName; &XercesCVersion;">
       <ul>
-        <li>C++ Namespace Support</li>
-        <li>Schema 1.0 Errata Implementation</li>
-        <li>Experimental Implementation of XML 1.1</li>
-        <li>More DOM L3 Core Support:</li>
-        <ul>
-            <li>DOMNode: baseURI</li>
-            <li>DOMAttr: isId, getTypeInfo</li>
-            <li>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</li>
-        </ul>
-        <li>DOM Message: make use of the non-standard extension DOMImplementation::loadDOMExceptionMsg
-        to load the default error text message for the correspond Exception Code.</li>
-        <li>New feature XMLPlatformUtils::Initialize(const char* const locale) to set
-        the locale for message loader.   See <jump href="program-others.html#SpecifylocaleforMessageLoader">
-        Specify locale for Message Loader</jump> for details</li>
-        <li>Support Build with ICU Message Loader, or Message Catalog Message Loader</li>
-        <li>RPM for Linux</li>
-        <li>390: Uniconv390 support</li>
-        <li>390: support record-oriented MVS datasets with the DOM Level 3 serialization APIs</li>
-        <li>Support for Linux/390</li>
-        <li>Performance: Break Scanner for different functionalities and many other performance improvement</li>
-        <li>New feature, "http://apache.org/xml/features/dom/byte-order-mark", allows user to enable
-            DOMWriter to write Byte-Order-Mark in the output XML stream, 
-            See <jump href="program-dom.html#Byte-Order-Mark">
-            Xercesc Feature: Byte Order Mark</jump> for details</li>        
+        <li></li>        
       </ul>
     </s3>
 
-    <anchor name="CPPNamespace220"/>
-    <s3 title="Using C++ Namespace">
-        <p>&XercesCName; &XercesCVersion; now supports C++ Namespace.  All &XercesCName;
-           classes/data/variables are defined in the <code>"namespace &XercesCNamespace;"</code>
-           if C++ Namespace support is ENABLED.</p>
-
-        <p>All the binary distributions of &XercesCName; &XercesCVersion; are now built with
-           C++ Namespace enabled.   Therefore users' applications that links with the distributed
-           binary packages must namespace qualified all the &XercesCName; classes/data/variables
-           with <code>"&XercesCNamespace;::"</code> or add the
-           <code>"using namespace &XercesCNamespace;"</code> clause.</p>
-
-        <p>See the Programming Guide <jump href="program-others.html#CPPNamespace">Using C++ Namespace</jump>
-           for more details.</p>
-
-    </s3>
-
-    <anchor name="API220"/>
+    <anchor name="API230"/>
     <s3 title="Public API Changes">
 
         <p>The following lists the public API changes between the &XercesCName;
-           2.1.0; and the &XercesCName; &XercesCVersion; releases
+           2.2.0; and the &XercesCName; &XercesCVersion; releases
            of the parser. </p>
 
-        <anchor name="NewAPI220"/>
+        <anchor name="NewAPI230"/>
         <s4 title="New Public API">
             <ul>
-              <li>To support additional DOM L3 functions, the following are added:</li>
-              <ul>
-                  <li>DOMAttr: isId, getTypeInfo</li>
-                  <li>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</li>
-                  <li>Added DOMTypeInfo class for getTypeInfo class in DOMElement and DOMAttr</li>
-                  <li>Added getDOMTypeInfoUri, getDOMTypeInfoName to XMLAttDef and XMLElementDecl for use in building DOMTypeInfo</li>
-              </ul>
-              <li>Added a non-standard extension DOMImplementation::loadDOMExceptionMsg to load the
-              default error message for the corresponding DOMException code.</li>
-              <li>XMLAttr: Added a constructor and a set method to allow creating/setting of
-              XMLAttr using a rawname.</li>
-              <li>Added XMLUri::getUriText to return the URI as a string specification.</li>
-              <li>Add XMLString::fixURI to transform an absolute path filename to standard URI form.</li>
-              <li>Added XMLString::equals for faster string comparison.</li>
-              <li>To allow users to tell the parser to force standard uri conformance,
-                  the following are added:</li>
-                <ul>
-                  <li>XercesDOMParser/DOMParser/SAXParser: get/setStandardUriConformant</li>
-                  <li>and DOMBuilder/SAX2XMLReader will recognize the feature
-                      http://apache.org/xml/features/standard-uri-conformant</li>
-                </ul>
-              <li>Add XMLURL::hasInvalidChar() to indicate if the URL has invalid char as per RFC standard</li>
-              <li>To allow users to enable/disable src offset calculation,
-                  the following are added:</li>
-                <ul>
-                  <li>XercesDOMParser/DOMParser/SAXParser: get/setCalculateSrcOfs</li>
-                  <li>and DOMBuilder/SAX2XMLReader will recognize the feature
-                      http://apache.org/xml/features/calculate-src-ofst</li>
-                </ul>
-              <li>To allow users to select the scanner when scanning XML documents,
-                  the following are added:</li>
-                <ul>
-                  <li>XercesDOMParser/DOMParser/SAXParser: useScanner</li>
-                  <li>and DOMBuilder/SAX2XMLReader will recognize the property
-                      http://apache.org/xml/properties/scannerName</li>
-                </ul>
-             <li>Added getSrcOffset to XercesDOMParser/DOMParser/SAXParser/DOMBuilder/SAX2XMLReader to
-                 allow users to get the current src offset within the input source.</li>
+              <li></li>
             </ul>
         </s4>
 
-        <anchor name="ModifiedAPI220"/>
+        <anchor name="ModifiedAPI230"/>
         <s4 title="Modified Public API">
             <ul>
-              <li>The following DOM functions are being added a const modifier.</li>
-              <ul>
-                  <li>DOMImplementation::hasFeature</li>
-                  <li>DOMNode: isSameNode, isEqualNode, compareTreePosition</li>
-              </ul>
-              <li>XMLPlatformUtils::Initialize() takes a parameter specifying locale
-              for message loader, with default value "en_US".</li>
-              <li>To fix [Bug 13641], the QName copy constructor is corrected to take
-              a reference as parameter, i.e. QName(const QName&amp; qname).</li>
-              <li>To fix [Bug 12232], the QName operator== has been added a const modified.</li>
-              <li>Move XMLUri copy constructor and operator = as public.</li>
-              <li>Move XMLUri::isURIString as public.</li>
-              <li>For validation purpose, added two more default parameters to
-              XMLValidator::validateAttrValue.</li>
-              <li>To fix [Bug 15802], the getURIText of DOMParser/XercesDOMParser/SAXParser/SAX2XMLReader
-              are being added a const modifier.</li>
+              <li></li>
             </ul>
         </s4>
 
-        <anchor name="DeprecatedAPI220"/>
+        <anchor name="DeprecatedAPI230"/>
         <s4 title="Deprecated/Removed Public API">
             <ul>
-              <li>No Deprecated Public API in this release.</li>
+              <li></li>
             </ul>
         </s4>
 
diff --git a/doc/migration_archive.xml b/doc/migration_archive.xml
index e8a877daf..20986356c 100644
--- a/doc/migration_archive.xml
+++ b/doc/migration_archive.xml
@@ -4,6 +4,7 @@
 <s1 title="Migration Archive">
     <s2 title="Migrating to earlier Releases">
       <ul>
+        <li><link anchor="Migrateto220">Migrating from &XercesCName; 2.1.0 to 2.2.0</link></li>      
         <li><link anchor="Migrateto210">Migrating from &XercesCName; 2.0.0 to 2.1.0</link></li>
         <li><link anchor="Migrateto200">Migrating from &XercesCName; 1.7.0 to 2.0.0</link></li>
         <li><link anchor="Migrateto170">Migrating from &XercesCName; 1.6.0 to 1.7.0</link></li>
@@ -13,6 +14,153 @@
       </ul>
     </s2>
 
+    <anchor name="Migrateto220"/>
+    <s2 title="Migrating from &XercesCName; 2.1.0 to &XercesCName; 2.2.0">
+      <p>The following section is a discussion of the technical differences between
+      &XercesCName; 2.1.0 code base and the &XercesCName; 2.2.0.</p>
+
+      <p>Topics discussed are:</p>
+      <ul>
+        <li><link anchor="NewFeatures220">New features in &XercesCName; 2.2.0</link></li>
+        <li><link anchor="CPPNamespace220">Using C++ Namespace</link></li>
+        <li><link anchor="API220">Public API Changes</link></li>
+        <ul>
+            <li><link anchor="NewAPI220">New Public API</link></li>
+            <li><link anchor="ModifiedAPI220">Modified Public API</link></li>
+            <li><link anchor="DeprecatedAPI220">Deprecated/Removed Public API</link></li>
+        </ul>
+      </ul>
+
+    <anchor name="NewFeatures220"/>
+    <s3 title="New features in &XercesCName; 2.2.0">
+      <ul>
+        <li>C++ Namespace Support</li>
+        <li>Schema 1.0 Errata Implementation</li>
+        <li>Experimental Implementation of XML 1.1</li>
+        <li>More DOM L3 Core Support:</li>
+        <ul>
+            <li>DOMNode: baseURI</li>
+            <li>DOMAttr: isId, getTypeInfo</li>
+            <li>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</li>
+        </ul>
+        <li>DOM Message: make use of the non-standard extension DOMImplementation::loadDOMExceptionMsg
+        to load the default error text message for the correspond Exception Code.</li>
+        <li>New feature XMLPlatformUtils::Initialize(const char* const locale) to set
+        the locale for message loader.   See <jump href="program-others.html#SpecifylocaleforMessageLoader">
+        Specify locale for Message Loader</jump> for details</li>
+        <li>Support Build with ICU Message Loader, or Message Catalog Message Loader</li>
+        <li>RPM for Linux</li>
+        <li>390: Uniconv390 support</li>
+        <li>390: support record-oriented MVS datasets with the DOM Level 3 serialization APIs</li>
+        <li>Support for Linux/390</li>
+        <li>Performance: Break Scanner for different functionalities and many other performance improvement</li>
+        <li>New feature, "http://apache.org/xml/features/dom/byte-order-mark", allows user to enable
+            DOMWriter to write Byte-Order-Mark in the output XML stream, 
+            See <jump href="program-dom.html#Byte-Order-Mark">
+            Xercesc Feature: Byte Order Mark</jump> for details</li>        
+      </ul>
+    </s3>
+
+    <anchor name="CPPNamespace220"/>
+    <s3 title="Using C++ Namespace">
+        <p>&XercesCName; 2.2.0 now supports C++ Namespace.  All &XercesCName;
+           classes/data/variables are defined in the <code>"namespace &XercesCNamespace;"</code>
+           if C++ Namespace support is ENABLED.</p>
+
+        <p>All the binary distributions of &XercesCName; 2.2.0 are now built with
+           C++ Namespace enabled.   Therefore users' applications that links with the distributed
+           binary packages must namespace qualified all the &XercesCName; classes/data/variables
+           with <code>"&XercesCNamespace;::"</code> or add the
+           <code>"using namespace &XercesCNamespace;"</code> clause.</p>
+
+        <p>See the Programming Guide <jump href="program-others.html#CPPNamespace">Using C++ Namespace</jump>
+           for more details.</p>
+
+    </s3>
+
+    <anchor name="API220"/>
+    <s3 title="Public API Changes">
+
+        <p>The following lists the public API changes between the &XercesCName;
+           2.1.0; and the &XercesCName; 2.2.0 releases
+           of the parser. </p>
+
+        <anchor name="NewAPI220"/>
+        <s4 title="New Public API">
+            <ul>
+              <li>To support additional DOM L3 functions, the following are added:</li>
+              <ul>
+                  <li>DOMAttr: isId, getTypeInfo</li>
+                  <li>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</li>
+                  <li>Added DOMTypeInfo class for getTypeInfo class in DOMElement and DOMAttr</li>
+                  <li>Added getDOMTypeInfoUri, getDOMTypeInfoName to XMLAttDef and XMLElementDecl for use in building DOMTypeInfo</li>
+              </ul>
+              <li>Added a non-standard extension DOMImplementation::loadDOMExceptionMsg to load the
+              default error message for the corresponding DOMException code.</li>
+              <li>XMLAttr: Added a constructor and a set method to allow creating/setting of
+              XMLAttr using a rawname.</li>
+              <li>Added XMLUri::getUriText to return the URI as a string specification.</li>
+              <li>Add XMLString::fixURI to transform an absolute path filename to standard URI form.</li>
+              <li>Added XMLString::equals for faster string comparison.</li>
+              <li>To allow users to tell the parser to force standard uri conformance,
+                  the following are added:</li>
+                <ul>
+                  <li>XercesDOMParser/DOMParser/SAXParser: get/setStandardUriConformant</li>
+                  <li>and DOMBuilder/SAX2XMLReader will recognize the feature
+                      http://apache.org/xml/features/standard-uri-conformant</li>
+                </ul>
+              <li>Add XMLURL::hasInvalidChar() to indicate if the URL has invalid char as per RFC standard</li>
+              <li>To allow users to enable/disable src offset calculation,
+                  the following are added:</li>
+                <ul>
+                  <li>XercesDOMParser/DOMParser/SAXParser: get/setCalculateSrcOfs</li>
+                  <li>and DOMBuilder/SAX2XMLReader will recognize the feature
+                      http://apache.org/xml/features/calculate-src-ofst</li>
+                </ul>
+              <li>To allow users to select the scanner when scanning XML documents,
+                  the following are added:</li>
+                <ul>
+                  <li>XercesDOMParser/DOMParser/SAXParser: useScanner</li>
+                  <li>and DOMBuilder/SAX2XMLReader will recognize the property
+                      http://apache.org/xml/properties/scannerName</li>
+                </ul>
+             <li>Added getSrcOffset to XercesDOMParser/DOMParser/SAXParser/DOMBuilder/SAX2XMLReader to
+                 allow users to get the current src offset within the input source.</li>
+            </ul>
+        </s4>
+
+        <anchor name="ModifiedAPI220"/>
+        <s4 title="Modified Public API">
+            <ul>
+              <li>The following DOM functions are being added a const modifier.</li>
+              <ul>
+                  <li>DOMImplementation::hasFeature</li>
+                  <li>DOMNode: isSameNode, isEqualNode, compareTreePosition</li>
+              </ul>
+              <li>XMLPlatformUtils::Initialize() takes a parameter specifying locale
+              for message loader, with default value "en_US".</li>
+              <li>To fix [Bug 13641], the QName copy constructor is corrected to take
+              a reference as parameter, i.e. QName(const QName&amp; qname).</li>
+              <li>To fix [Bug 12232], the QName operator== has been added a const modified.</li>
+              <li>Move XMLUri copy constructor and operator = as public.</li>
+              <li>Move XMLUri::isURIString as public.</li>
+              <li>For validation purpose, added two more default parameters to
+              XMLValidator::validateAttrValue.</li>
+              <li>To fix [Bug 15802], the getURIText of DOMParser/XercesDOMParser/SAXParser/SAX2XMLReader
+              are being added a const modifier.</li>
+            </ul>
+        </s4>
+
+        <anchor name="DeprecatedAPI220"/>
+        <s4 title="Deprecated/Removed Public API">
+            <ul>
+              <li>No Deprecated Public API in this release.</li>
+            </ul>
+        </s4>
+
+    </s3>
+    </s2>
+        
     <anchor name="Migrateto210"/>
     <s2 title="Migrating from &XercesCName; 2.0.0 to &XercesCName; 2.1.0">
       <p>The following section is a discussion of the technical differences between
diff --git a/doc/releases.xml b/doc/releases.xml
index f3f6c7861..6f820ff45 100644
--- a/doc/releases.xml
+++ b/doc/releases.xml
@@ -12,984 +12,317 @@
 
 <s2 title="Releases Archive">
 
-    <p> For release information about &XercesCName; 2.1.0 or earlier,
+    <p> For release information about &XercesCName; 2.2.0 or earlier,
         please refer to <jump href="releases_archive.html">Releases Archive</jump>.
     </p>
 </s2>
 
-<s2 title="Release Information of &XercesCName; &XercesCVersion;: February 7, 2003">
-<p> Here is the list of <jump href=
-"http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfield=resolution&amp;chfieldfrom=08%2F28%2F02&amp;chfieldto=02%2F07%2F03&amp;chfieldvalue=fixed&amp;product=Xerces-C%2B%2B&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;newqueryname=&amp;order=bugs.bug_id">
-fixed bugzilla bugs</jump> that are resolved in this release, &XercesCName; &XercesCVersion;.
-</p>
+<s2 title="Release Information of &XercesCName; &XercesCVersion;: xxxx, 2003">
 <table>
     <tr>
         <th>Date</th>
         <th>Contributor</th>
         <th>Description</th>
     </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>Khaled Noaman</td>
-        <td>Schema Errata:
-            <br/>1. E1-2
-            <br/>2. E1-10
-            <br/>3. E1-15
-            <br/>4. E1-16
-            <br/>5. E1-20
-            <br/>6. E1-21
-            <br/>7. E1-22
-            <br/>8. E1-23
-            <br/>9. E1-27
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>PeiYong Zhang</td>
-        <td>Schema Errata:
-            <br/>1. E2-9  Base64.
-            <br/>2. E2-12 gMonth.
-            <br/>3. E2-16 maxExclusive.
-            <br/>4. E2-23 seconds part shall have at least one digit after the dot if it appears.
-            <br/>5. E2-24 Duration 'T': allow SchemaDateTimeException be propogated to client.
-            <br/>6. E2-25 language.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>Khaled Noaman</td>
-        <td>Performance: Scanner Reorganization.  Create
-            XMLScannerResolver, WFXMLScanner, IGXMLScanner, DGXMLScanner, and SGXMLScanner.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>Khaled Noaman</td>
-        <td>Performance:
-            <br/> 1. [Bug 13695] Performance problem with large text nodes and XMLFormatter.cpp.
-            <br/> 2. Make getNextChar/peekNextChar inline.
-            <br/> 3. Reduce instruction counts in XMLReader.
-            <br/> 4. Do not call XMLString::stringLen in XMLString::indexOf.
-            <br/> 5. Use existing QName in XMLElementDecl instead of creating a new one everytime.
-            <br/> 6. Allow creating/setting of XMLAttr using a rawname (i.e. 'prefix:localpart').
-            <br/> 7. Enable/disable calculation of src offset.
-            <br/> 8. No need to use temporary buffer to hold namespace value in SAX2XMLReaderImpl.
-            <br/> 9. Eliminate unnecessary condition in compareNString.
-            <br/>10. Use global buffer to eliminate repetitive memory creation/deletion
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>Tinny Ng</td>
-        <td>Performance:
-            <br/>1. DOM: call fParent.fOwnerDocument directly instead of fNode.getOwnerDocument.
-            <br/>2. Check for null string directly isntead of calling XMLString::stringLen.
-            <br/>3. New inline function XMLString::equals that simply returns true or false,
-                    use it instead of XMLString::compareString wherever applicable.
-            <br/>4. XERCES_XMLCH should not be classified as XMLRecognizer::OtherEncodings.
-            <br/>5. Pre uppercase the encodingString before calling encodingForName to avoid calling compareIString.
-            <br/>6. Use XMLRecognizer::Encodings enum to make new transcode, faster than comparing the encoding string every time.
-            <br/>7. Reduce some instruction counts in XMLUTF8Transcoder.
-            <br/>8. [Bug 13447] Using LocalFileFormatTarget with DOMWriter is very slow.
-            <br/>9. Define fGlobalDeclarations as an array of ValueVectorOf to avoid string comparison.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>David Bertoni</td>
-        <td>[Bug 16826] RefVectorOf.c has errors in strict ANSI mode.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-06</td>
-        <td>Gareth Reakes</td>
-        <td>Schema Fix: bug with multiple attributes being validated by the same union type.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 7592] XMLURL::lookupByName() should be static.
-        </td>
-    </tr>
-
+    
     <tr>
-        <td>2003-02-05</td>
+        <td>2003-03-14</td>
         <td>Tinny Ng</td>
-        <td>[Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
+        <td>[Bug 17147] C++ namespace breaks build of XercesCOM DLL.
         </td>
-    </tr>
-
+    </tr>        
+  
     <tr>
-        <td>2003-02-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 16322] DOMDocumentImpl::replaceChild should honor fDocElement.
+        <td>2003-03-13</td>
+        <td>Chris McKillop</td>
+        <td>[Bug 17858] Support for QNX/Neutrino.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2003-02-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 11915] Utility for freeing memory.
+        <td>2003-03-13</td>
+        <td>Vitaly Prapirny</td>
+        <td>[Bug 11974] mak-files for bcc32 v.5.5.1 (free or from BCB5).
         </td>
-    </tr>
-
+    </tr>        
+    
     <tr>
-        <td>2003-02-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13437] Incorrect memory management in XXXPlatformUtils.cpp.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-05</td>
-        <td>Zeid Derhally</td>
-        <td>[Bug 14599] Metrowerks in support of CodeWarrior for Windows.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-05</td>
+        <td>2003-03-11</td>
         <td>PeiYong Zhang</td>
-        <td>[Bug 16796] Possible out of bounds memory read in XMLRecognizer::basicEncodingProbe.
+        <td>Build versioned dll for ICU message files.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2003-02-05</td>
+        <td>2003-03-11</td>
         <td>Khaled Noaman</td>
-        <td>[Bug 16747] Parser loses ValidationScheme setting between parse attempts.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-04</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 16784] Obsolete documentation on XMLTranscoder
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-02-04</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 16652] data from CDATA section is not passed for validation.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-30</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 3041] wrong PLATFORM_IMPORT in MVSCPPDefs.hpp.
+        <td>Schema Fix: Check that target namespace of global/local attribute declarations is not the xsi uri.
         </td>
-    </tr>
-
+    </tr>    
+       
     <tr>
-        <td>2003-01-29</td>
-        <td>Gareth Reakes</td>
-        <td>Partial PSVI Support.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-29</td>
-        <td>Gareth Reakes</td>
-        <td>DOM L3: DOMTypeInfo and an associated test case.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-29</td>
-        <td>Lenny Hoffman</td>
-        <td>[Bug 6271] Invalid Precondition Test.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-29</td>
+        <td>2003-03-11</td>
         <td>Khaled Noaman</td>
-        <td>[Bug 15787] Reduce array size to reduce memory footprint.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-28</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 13694]: Allow Xerces to write the BOM to XML files.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-23</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 16188] Consistent crashes with BCB6.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-23</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 16277] Readme should make note of threaded library problems in BCB6.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-16</td>
-        <td>David Bertoni</td>
-        <td>[Bug 16151] Memory leak in DTDScanner with ill-formed DTD declaration.
+        <td>Schema Fix for circular substitution group check.
         </td>
-    </tr>
-
+    </tr>                    
+    
     <tr>
-        <td>2003-01-13</td>
+        <td>2003-03-10</td>
         <td>Khaled Noaman</td>
-        <td>[Bug 16024] SchemaSymbols.hpp conflicts C++ Builder 6 dir.h.
+        <td>Schema Fix for complex type declarations with mixed content.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2003-01-13</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 14390] C++ Indentifier collision with Python.
+        <td>2003-03-10</td>
+        <td>PeiYong Zhang</td>
+        <td>Schema Errata E2-40 double/float.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2003-01-13</td>
+        <td>2003-03-10</td>
         <td>Khaled Noaman</td>
-        <td>[Bug 14469] Validator doesn't enforce xsd:key.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-10</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13909] Use of non standard mbstowcs feature.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-10</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 14545] samples/Makefile.incl has bad -L for linux.
+        <td>Schema Fix for types referred to without explicitly specifying its namespace.
         </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-10</td>
-        <td>Alberto Massari</td>
-        <td>[Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-10</td>
-        <td>Albert Strasheim</td>
-        <td>[Bug 5854] Patches and .spec file for rpm creation of 2.2.0.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-09</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 14955] error validating parser.
-        </td>
-    </tr>
+    </tr>                    
 
     <tr>
-        <td>2003-01-09</td>
+        <td>2003-03-10</td>
         <td>Tinny Ng</td>
-        <td>[Bug 15928] Output with LocalFileFormatTarget fails silently.
+        <td>XML1.0 Errata E38.
         </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-09</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 15371] Fix documentation.   The default of schema processing shoud be false.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-09</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 15372] DOMBuilder::parseFromURI ignores result of handleErrors.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2003-01-09</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 15802] Add "const" qualifier to getURIText.
-        </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2003-01-09</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 15427] DOMWriter dose not flush the output stream.
+        <td>2003-03-09</td>
+        <td>PeiYong Zhang</td>
+        <td>Pluggable PanicHandler.
         </td>
-    </tr>
-
+    </tr>        
+    
     <tr>
-        <td>2003-01-09</td>
-        <td>Colin Adams</td>
-        <td>[Bug 15796] surroundContents seg-faults.
+        <td>2003-03-07</td>
+        <td>Jacques Legare</td>
+        <td>[Bug 17589] Refactoring ....
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2003-01-03</td>
-        <td>Tinny Ng</td>
-        <td>New feature StandardUriConformant to force strict standard uri conformance.
+        <td>2003-03-07</td>
+        <td>Peter Crozier</td>
+        <td>[Bug 17774] Unixware platform utils not implemented.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-31</td>
+        <td>2003-03-07</td>
         <td>Tinny Ng</td>
-        <td>[Bug 15590] BeOSDefs.hpp has wrong case in CVS.
+        <td>[Bug 11692] Unimplement the hidden constructors and assignment operator to remove warnings from gcc.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-31</td>
+        <td>2003-03-07</td>
         <td>Tinny Ng</td>
-        <td>[Bug 15608] IconvLCPTranscoder::transcode() is wrong at wcstombs() usage.
+        <td>Return a reference instead of void for operator=.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-12-30</td>
-        <td>Gareth Reakes</td>
-        <td>Added isDocumentAdopted API and recognize feature fgXercesUserAdoptsDOMDocument in
-            DOMBuilder::getFeature/canSetFeature.
+        <td>2003-03-07</td>
+        <td>Bjoern A. Zeeb</td>
+        <td>[Bug 17571] fix building IconvFBSD (namespaces).
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-24</td>
-        <td>Tinny Ng</td>
-        <td>Build with ICU 2.4.
+        <td>2003-03-07</td>
+        <td>Bjoern A. Zeeb</td>
+        <td>[Bug 17570] IconvFBSD build on alpha,sparc.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-24</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 15160] TrueCoverage build fails in Window.
+        <td>2003-03-06</td>
+        <td>Alberto Massari</td>
+        <td>[Bug 17633] Empty complex type definition is always non-mixed even if declaration says otherwise.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-23</td>
+        <td>2003-03-04</td>
         <td>Khaled Noaman</td>
-        <td>New public api to various parsers to return the src offset within the input source.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-20</td>
-        <td>Tinny Ng</td>
-        <td>XML 1.1
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-19</td>
-        <td>Peter A. Volchek</td>
-        <td>Schema: get/set methods to see if the represented type is anonymous.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-18</td>
-        <td>Gareth Reakes</td>
-        <td>[Bug 13438] Mismatched new[]/delete in template vector class.  Added new abstract base class
-        BaseRefVectorOf from which both RefVectorOf and the new class RefArrayVectorOf inherit from it.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-18</td>
-        <td>Jennifer Schachter</td>
-        <td>New Regx functionality - tokenize and replace.
+        <td>[Bug 17516] Thread safety problems in ../util/ and ../util/regx.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-12-16</td>
-        <td>James Berry</td>
-        <td>[Bug 14805] Mac OS transcoder should return pointer to zero length string (rather than NULL) on receipt of zero length input.
+        <td>2003-03-04</td>
+        <td>Khaled Noaman</td>
+        <td>RegEx: fix for character category escape.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-12-10</td>
+        <td>2003-03-01</td>
         <td>PeiYong Zhang</td>
-        <td>Validating Schema Float/Double in value space. Converting out-of-bound value into special values.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-10</td>
-        <td>Tinny Ng</td>
-        <td>NLS: DOMWriter should use message loader to load message instead of using hardcoded static stirng.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-06</td>
-        <td>Kevin King</td>
-        <td>[Bug 13840] DOMWriter: more pretty-print format feature.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-06</td>
-        <td>Tinny Ng</td>
-        <td>Fix: for file protocol, need to manually replace any character reference %xx first.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-06</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 9083] Make some classes be exportable.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-06</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 9697] Make GrammarResolver to be exportable.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-02</td>
-        <td>Andrew Bachmann</td>
-        <td>[Bug 12490] Patches required to build Xerces-C++ on BeOS R5.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-02</td>
-        <td>Adam Zell</td>
-        <td>[Bug 14723] Memory leak in atomicOpsMutex.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-02</td>
-        <td>Abe Backus</td>
-        <td>[Bug 13804] Update build and installation docs for cygwin.
+        <td>Schema Fix: TotalDigits value must be a positiveInteger.
         </td>
-    </tr>
-
+    </tr>    
+            
     <tr>
-        <td>2002-12-02</td>
-        <td>Peter A. Volchek</td>
-        <td>[Bug 14960] Opened up interface to expose user defined and built in registries.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-02</td>
-        <td>Gareth Reakes and Peter A. Volchek</td>
-        <td>[Bug 12188] Create NMTOKEN, ID, IDREF, ENTITY, NAME, NCNAME with appropriate base types. Some reordering of creation was required where dependencies resulted.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-12-02</td>
-        <td>Peter A. Volchek</td>
-        <td>[Bug 12238] Attributes without type declarations should be validated using AnySimpleTypeValidator, not the string validator.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-26</td>
-        <td>Tinny Ng</td>
-        <td>Namespace Check:
-            <br/>1. xmlns:a="" where namespace URI is null is not valid.
-            <br/>2. xmlns:doc where xmlns is used as element prefix is not valid.
-            <br/>3. xmlns:xmlns where xmlns is used as prefix is not valid.
-            <br/>4. xmlns:xml="a" where xml is used as prefix but URI does not match the xml uri (http://www.w3.org/XML/1999/namespace) is not valid.
-            <br/>5. if validation is on, attribute values declared to be of types ID, IDREF(S), ENTITY(IES), and NOTATION are also Names, and thus should be colon-free.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-25</td>
-        <td>Tinny Ng</td>
-        <td>Thread-safe the static variable TransService::gMappings.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-22</td>
-        <td>Robert Buck</td>
-        <td>Add autodetection of MSVC++ version in packageBinaries.pl.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-22</td>
-        <td>Chris Larsson and Stephen Dulin</td>
-        <td>390: support record-oriented MVS datasets with the DOM Level 3 serialization APIs.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-22</td>
-        <td>Chris Larsson and Stephen Dulin</td>
-        <td>390: Uniconv390 support.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-21</td>
-        <td>Jennifer Schachter</td>
-        <td>Fixed bug in Token::analyzeFirstCharacter so that . matches new line with
-            head character optimisation enabled.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-21</td>
-        <td>Gareth Reakes and Jennifer Schachter</td>
-        <td>DOM L3: isId, setIdAttribute, setIdAttributeNS and setIdAttributeNode.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-21</td>
-        <td>PeiYong Zhang</td>
-        <td>Schema Fix: validate content as a whole against pattern.
+        <td>2003-02-26</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 17425] Schema using cyclic import fails validation.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-20</td>
+        <td>2003-02-26</td>
         <td>PeiYong Zhang</td>
-        <td>Update ThreadTest to use DOMWriter to dump DOM.
+        <td>Schema Errata E2-43: disallow trailing decimal point and a new pattern added
+  to the Integer definition.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-19</td>
+        <td>2003-02-25</td>
         <td>Tinny Ng</td>
-        <td>[Bug 13487] Linux runs on many non-i386 platforms.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-19</td>
-        <td>Cameron Dorrat</td>
-        <td>[Bug 14661] Caldera implemented openFileToWrite and writeBufferToFile.
+        <td>[Bug 12192] File named 'CVS' should be deleted.
         </td>
-    </tr>
-
+    </tr>    
+                
     <tr>
-        <td>2002-11-18</td>
-        <td>Steven White</td>
-        <td>Problems using make tarball under linux.
+        <td>2003-02-25</td>
+        <td>Steve Dulin</td>
+        <td>Modify UnixHTTPURLInputStream for it to work on ebcdic platform.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-18</td>
-        <td>Abe Backus</td>
-        <td>[Bug 14612] GCCDefs clashes with cygwin's string.h for stricmp and strnicmp.
+        <td>2003-02-25</td>
+        <td>James Berry</td>
+        <td>Fixes to runConfigure which was worrying overmuch if no C++ compiler was specified.
+            and fix the test for TRU64
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-15</td>
-        <td>Abe Backus</td>
-        <td>[Bug 13801] cygwin libxerces-c.dll symlinks misleading.
+        <td>2003-02-25</td>
+        <td>PeiYong Zhang</td>
+        <td>Schema Errata: E2-44 totalDigits/fractDigits.
         </td>
-    </tr>
+    </tr>            
 
     <tr>
-        <td>2002-11-15</td>
+        <td>2003-02-25</td>
         <td>Tinny Ng</td>
-        <td>[Bug 13751] Documentation for DOMNamedNodeMap incorrect.
+        <td>[Bug 13491] avoid deleting through void* in DOMDocumentImpl.cpp.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-15</td>
-        <td>Richard Balint</td>
-        <td>[Bug 14598] IRIX 6.5 / g++ 3.0.4 compilation bugs.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-14</td>
+        <td>2003-02-25</td>
         <td>Tinny Ng</td>
-        <td>[Bug 14265] Access violation with Null systemId/publicId in DTDScanner.
+        <td>[Bug 7072] Documentation for XMLString::transcode states invalid return value.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-11-14</td>
+        <td>2003-02-25</td>
         <td>Tinny Ng</td>
-        <td>[Bug 14479] XMLString::subString failure when len(source)==0.
+        <td>[Bug 13493] Use const on static data in DOMWriterImpl.cpp.
         </td>
-    </tr>
-
+    </tr>            
+    
     <tr>
-        <td>2002-11-14</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 14389] DOMPrint - gDoCreate - wrong default value.
+        <td>2003-02-25</td>
+        <td>Duncan Stodart</td>
+        <td>[Bug 12350] Xerces compilation problems on Tandem (HP Nonstop).
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-11-13</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 14528] Encounters of the end tag "]]&gt;" are ignored.
+        <td>2003-02-25</td>
+        <td>Dan Gohman</td>
+        <td>[Bug 13492] Unintended comma expression in DOMRangeImpl.cpp.
         </td>
-    </tr>
-
+    </tr>    
+                
     <tr>
-        <td>2002-11-13</td>
-        <td>James Berry</td>
-        <td>[Bug 14260] MacOSUnicodeConverter::upperCase() passes wrong arguments to Carbon function.
+        <td>2003-02-25</td>
+        <td>Michael Cahill</td>
+        <td>[Bug 17358] C++ namespace support in IconvFBSD doesn't compile.
         </td>
-    </tr>
-
+    </tr>    
+        
     <tr>
-        <td>2002-11-13</td>
+        <td>2003-02-22</td>
         <td>James Berry</td>
-        <td>Update Mac OS build for compatiblity with namespace additions.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-12</td>
-        <td>Tinny Ng</td>
-        <td>DOM Message: make use of the non-standard extension DOMImplementation::loadDOMExceptionMsg
-            to load the default error text message for the correspond Exception Code.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-11-12</td>
-        <td>Tinny Ng</td>
-        <td>DOM Message: introduce a new message domain, XMLDOMMsg, for DOM Messages.
+        <td>  Improvements to Mac OS port:
+   <br/>- Refactor Mac OS file handling into distinct files per file type.
+   <br/>- Add Posix file handling to use posix file apis directly where possible.
+   <br/>- Carbon file access is now used only where posix files aren't available.
+   <br/>- Tweaks to FSSpec/FSRef routines to handle directories better.    
         </td>
-    </tr>
+    </tr>        
 
     <tr>
-        <td>2002-11-04</td>
+        <td>2003-02-22</td>
         <td>PeiYong Zhang</td>
-        <td>New feature XMLPlatformUtils::Initialize(const char* const locale) to set the locale
-            for message loader.
+        <td>Schema Errata E2-35 Length, minLength and maxLength in different derivation steps.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-11-04</td>
-        <td>Tinny Ng</td>
-        <td>C++ Namespace Support
+        <td>2003-02-21</td>
+        <td>Neil Graham</td>
+        <td>Fix packageBinaries.pl so that it pays attention when you set the
+            compiler to gcc under cygwin.
         </td>
-    </tr>
+    </tr>    
 
     <tr>
-        <td>2002-10-30</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13641] compiler-generated copy-constructor for QName doesn't do the right thing.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-29</td>
-        <td>Chris Larsson</td>
-        <td>Modify DOMPrint to accept a file name as a parameter.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-29</td>
-        <td>Tinny Ng</td>
-        <td>Support for Linux/390 which is big endian.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-23</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 13213] DOMImplementation::hasFeature() should be const.
+        <td>2003-02-21</td>
+        <td>Neil Graham</td>
+        <td>[Bug 13429] Text in part of the Programming/Parsing FAQ is truncated/missing.
         </td>
-    </tr>
-
+    </tr>    
+    
     <tr>
-        <td>2002-10-17</td>
+        <td>2003-02-20</td>
         <td>PeiYong Zhang</td>
-        <td>[Bug 13640] Getter methods not public in DecimalDatatypeValidator.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-16</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13293] Schema ID validation can fail depending on declaration ordering.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-15</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13604] while loop never terminates.
+        <td>[Bug 7077] build error message shared library for ICUMsgLoader.
         </td>
     </tr>
 
     <tr>
-        <td>2002-10-15</td>
+        <td>2003-02-19</td>
         <td>Khaled Noaman</td>
-        <td>[Bug 13639] Failure to parse xsi:schemaLocation attribute value correctly.
+        <td>Schema errata E2-38.
         </td>
     </tr>
-
+    
     <tr>
-        <td>2002-10-15</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13494] use unsigned instead of signed in TraverseSchema.cpp.
+        <td>2003-02-17</td>
+        <td>Dan Egnor</td>
+        <td>[Bug 17131] File writing on Win32 very very very slow.
         </td>
     </tr>
 
     <tr>
-        <td>2002-10-15</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13490] new[]/delete mismatch in RangeToken.cpp.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-15</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13489] missing 'return' in Token.cpp.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-15</td>
-        <td>Khaled Noaman</td>
-        <td>[Bug 13485] incorrect return from getWSstring.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-04</td>
-        <td>Duncan Stodart</td>
-        <td>[Bug 12560] Use const in DOMWriter.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-10-01</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13139] Building Promblems on HP-UX.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-30</td>
-        <td>PeiYong Zhang</td>
-        <td>Support ICU Message Loader.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-30</td>
-        <td>PeiYong Zhang</td>
-        <td>Xlat: To generate icu resource file (in text) for error message.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-30</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13109] DOMRange::toString eventually cycles forever.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-27</td>
-        <td>Guillaume Morin</td>
-        <td>[Bug 12547] Xerces C++ 2.1 fails to build on Linux 64 bits arch with -tlinux.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-27</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 13073] GeneralAttributeCheck.cpp : compilation fails with Sun C++ 4.2 on Solaris2.7 system.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-27</td>
-        <td>Peter Volchek</td>
-        <td>[Bug 12740] Extra include.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-27</td>
-        <td>Gareth Reakes</td>
-        <td>[Bug 12847] bulid warning for non-virtual constuctor.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-27</td>
-        <td>Gareth Reakes</td>
-        <td>[Bug 12848] newline warning whist building.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-26</td>
-        <td>Gareth Reakes</td>
-        <td>[Bug 12849] comparison is always false warning.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-26</td>
-        <td>Erik Rydgren</td>
-        <td>[Bug 12914] Bug in AbstractDOMParser::resetPool().
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-26</td>
-        <td>Gareth Reakes</td>
-        <td>DOM L3: Add const to isSameNode, isEqualNode, compareTreePosition.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-23</td>
+        <td>2003/02/17</td>
         <td>PeiYong Zhang</td>
-        <td>Issue Panic_CantLoadMsgDomain if loadAMsgSet() fails.
+        <td>Allow set user specified error message file location in PlatformUtils::Initialize().
         </td>
     </tr>
-
+    
     <tr>
-        <td>2002-09-23</td>
+        <td>2003-02-10</td>
         <td>PeiYong Zhang</td>
-        <td>Support MsgCatalog Message Loader.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-23</td>
-        <td>Gareth Reakes, Thomas Ford and Tinny Ng</td>
-        <td>DOM L3: Support baseURI.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-18</td>
-        <td>Stephen Dulin</td>
-        <td>OS390 Performance Enhancement: instead of calling isPosixOn everytime, store the information
-            in a static flag during initialization.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-17</td>
-        <td>Thomas Woerner</td>
-        <td>RPM for Linux.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-16</td>
-        <td>Tinny Ng</td>
-        <td>Infinite loop for malformed xml (e.g. simple has "XXXX") w/ setexitonfirstfatal(false).
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-16</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12442] Fix typo: "Mode:" which should be "Model".
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-09</td>
-        <td>PeiYong Zhang</td>
-        <td>[Bug 12369] invalid output from DOMWriter using MemBufFormatTarget.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-05</td>
-        <td>James Berry</td>
-        <td>Add export directives for Mac OS path utility routines .
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12232] Make operator to be constant.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12290] example on webpage won't compile.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12279] Makefiles contain tabs causing "commands commence" error.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-05</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12275] DOMCount -n gives DOM Error.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-09-03</td>
-        <td>Tinny Ng</td>
-        <td>[Bug 12897] System ID is missing inside DOCTYPE.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002/08/27</td>
-        <td>Khaled Noaman</td>
-        <td>Identity Constraint: handle case of recursive elements.
-        </td>
-    </tr>
-
-    <tr>
-        <td>2002-08-27</td>
-        <td>Tom Ford</td>
-        <td>[Bug 12087] XMLString::patternMatch() is not accurate.
+        <td>Remove -weol from the command line option list of sample DOMPrint.
         </td>
     </tr>
 
diff --git a/doc/releases_archive.xml b/doc/releases_archive.xml
index 56a5166b1..5aa906bcf 100644
--- a/doc/releases_archive.xml
+++ b/doc/releases_archive.xml
@@ -4,6 +4,7 @@
 <s1 title="Releases Archive">
     <s2 title="Release Information of earlier releases">
       <ul>
+        <li><link anchor="Release220">Release Information of &XercesCName; 2.2.0</link></li>
         <li><link anchor="Release210">Release Information of &XercesCName; 2.1.0</link></li>
         <li><link anchor="Release200">Release Information of &XercesCName; 2.0.0</link></li>
         <li><link anchor="Release170">Release Information of &XercesCName; 1.7.0</link></li>
@@ -21,6 +22,986 @@
       </ul>
     </s2>
 
+    <anchor name="Release220"/>
+    <s2 title="Release Information of &XercesCName; 2.2.0: February 7, 2003">
+<p> Here is the list of <jump href=
+"http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfield=resolution&amp;chfieldfrom=08%2F28%2F02&amp;chfieldto=02%2F07%2F03&amp;chfieldvalue=fixed&amp;product=Xerces-C%2B%2B&amp;short_desc=&amp;short_desc_type=substring&amp;long_desc=&amp;long_desc_type=substring&amp;bug_file_loc=&amp;bug_file_loc_type=substring&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;newqueryname=&amp;order=bugs.bug_id">
+fixed bugzilla bugs</jump> that are resolved in this release, &XercesCName; 2.2.0.
+</p>
+<table>
+    <tr>
+        <th>Date</th>
+        <th>Contributor</th>
+        <th>Description</th>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>Khaled Noaman</td>
+        <td>Schema Errata:
+            <br/>1. E1-2
+            <br/>2. E1-10
+            <br/>3. E1-15
+            <br/>4. E1-16
+            <br/>5. E1-20
+            <br/>6. E1-21
+            <br/>7. E1-22
+            <br/>8. E1-23
+            <br/>9. E1-27
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>PeiYong Zhang</td>
+        <td>Schema Errata:
+            <br/>1. E2-9  Base64.
+            <br/>2. E2-12 gMonth.
+            <br/>3. E2-16 maxExclusive.
+            <br/>4. E2-23 seconds part shall have at least one digit after the dot if it appears.
+            <br/>5. E2-24 Duration 'T': allow SchemaDateTimeException be propogated to client.
+            <br/>6. E2-25 language.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>Khaled Noaman</td>
+        <td>Performance: Scanner Reorganization.  Create
+            XMLScannerResolver, WFXMLScanner, IGXMLScanner, DGXMLScanner, and SGXMLScanner.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>Khaled Noaman</td>
+        <td>Performance:
+            <br/> 1. [Bug 13695] Performance problem with large text nodes and XMLFormatter.cpp.
+            <br/> 2. Make getNextChar/peekNextChar inline.
+            <br/> 3. Reduce instruction counts in XMLReader.
+            <br/> 4. Do not call XMLString::stringLen in XMLString::indexOf.
+            <br/> 5. Use existing QName in XMLElementDecl instead of creating a new one everytime.
+            <br/> 6. Allow creating/setting of XMLAttr using a rawname (i.e. 'prefix:localpart').
+            <br/> 7. Enable/disable calculation of src offset.
+            <br/> 8. No need to use temporary buffer to hold namespace value in SAX2XMLReaderImpl.
+            <br/> 9. Eliminate unnecessary condition in compareNString.
+            <br/>10. Use global buffer to eliminate repetitive memory creation/deletion
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>Tinny Ng</td>
+        <td>Performance:
+            <br/>1. DOM: call fParent.fOwnerDocument directly instead of fNode.getOwnerDocument.
+            <br/>2. Check for null string directly isntead of calling XMLString::stringLen.
+            <br/>3. New inline function XMLString::equals that simply returns true or false,
+                    use it instead of XMLString::compareString wherever applicable.
+            <br/>4. XERCES_XMLCH should not be classified as XMLRecognizer::OtherEncodings.
+            <br/>5. Pre uppercase the encodingString before calling encodingForName to avoid calling compareIString.
+            <br/>6. Use XMLRecognizer::Encodings enum to make new transcode, faster than comparing the encoding string every time.
+            <br/>7. Reduce some instruction counts in XMLUTF8Transcoder.
+            <br/>8. [Bug 13447] Using LocalFileFormatTarget with DOMWriter is very slow.
+            <br/>9. Define fGlobalDeclarations as an array of ValueVectorOf to avoid string comparison.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>David Bertoni</td>
+        <td>[Bug 16826] RefVectorOf.c has errors in strict ANSI mode.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-06</td>
+        <td>Gareth Reakes</td>
+        <td>Schema Fix: bug with multiple attributes being validated by the same union type.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 7592] XMLURL::lookupByName() should be static.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 3111] Problem with LexicalHandler::startDTD() and LexicalHandler::endDTD().
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 16322] DOMDocumentImpl::replaceChild should honor fDocElement.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 11915] Utility for freeing memory.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13437] Incorrect memory management in XXXPlatformUtils.cpp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Zeid Derhally</td>
+        <td>[Bug 14599] Metrowerks in support of CodeWarrior for Windows.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 16796] Possible out of bounds memory read in XMLRecognizer::basicEncodingProbe.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-05</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 16747] Parser loses ValidationScheme setting between parse attempts.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-04</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 16784] Obsolete documentation on XMLTranscoder
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-02-04</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 16652] data from CDATA section is not passed for validation.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-30</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 3041] wrong PLATFORM_IMPORT in MVSCPPDefs.hpp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-29</td>
+        <td>Gareth Reakes</td>
+        <td>Partial PSVI Support.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-29</td>
+        <td>Gareth Reakes</td>
+        <td>DOM L3: DOMTypeInfo and an associated test case.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-29</td>
+        <td>Lenny Hoffman</td>
+        <td>[Bug 6271] Invalid Precondition Test.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-29</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 15787] Reduce array size to reduce memory footprint.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-28</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 13694]: Allow Xerces to write the BOM to XML files.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-23</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 16188] Consistent crashes with BCB6.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-23</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 16277] Readme should make note of threaded library problems in BCB6.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-16</td>
+        <td>David Bertoni</td>
+        <td>[Bug 16151] Memory leak in DTDScanner with ill-formed DTD declaration.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-13</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 16024] SchemaSymbols.hpp conflicts C++ Builder 6 dir.h.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-13</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 14390] C++ Indentifier collision with Python.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-13</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 14469] Validator doesn't enforce xsd:key.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-10</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13909] Use of non standard mbstowcs feature.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-10</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 14545] samples/Makefile.incl has bad -L for linux.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-10</td>
+        <td>Alberto Massari</td>
+        <td>[Bug 14912] crashes inside UnionDatatypeValidator::isSubstitutableBy.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-10</td>
+        <td>Albert Strasheim</td>
+        <td>[Bug 5854] Patches and .spec file for rpm creation of 2.2.0.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 14955] error validating parser.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15928] Output with LocalFileFormatTarget fails silently.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15371] Fix documentation.   The default of schema processing shoud be false.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15372] DOMBuilder::parseFromURI ignores result of handleErrors.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15802] Add "const" qualifier to getURIText.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15427] DOMWriter dose not flush the output stream.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-09</td>
+        <td>Colin Adams</td>
+        <td>[Bug 15796] surroundContents seg-faults.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2003-01-03</td>
+        <td>Tinny Ng</td>
+        <td>New feature StandardUriConformant to force strict standard uri conformance.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-31</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15590] BeOSDefs.hpp has wrong case in CVS.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-31</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15608] IconvLCPTranscoder::transcode() is wrong at wcstombs() usage.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-30</td>
+        <td>Gareth Reakes</td>
+        <td>Added isDocumentAdopted API and recognize feature fgXercesUserAdoptsDOMDocument in
+            DOMBuilder::getFeature/canSetFeature.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-24</td>
+        <td>Tinny Ng</td>
+        <td>Build with ICU 2.4.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-24</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 15160] TrueCoverage build fails in Window.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-23</td>
+        <td>Khaled Noaman</td>
+        <td>New public api to various parsers to return the src offset within the input source.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-20</td>
+        <td>Tinny Ng</td>
+        <td>XML 1.1
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-19</td>
+        <td>Peter A. Volchek</td>
+        <td>Schema: get/set methods to see if the represented type is anonymous.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-18</td>
+        <td>Gareth Reakes</td>
+        <td>[Bug 13438] Mismatched new[]/delete in template vector class.  Added new abstract base class
+        BaseRefVectorOf from which both RefVectorOf and the new class RefArrayVectorOf inherit from it.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-18</td>
+        <td>Jennifer Schachter</td>
+        <td>New Regx functionality - tokenize and replace.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-16</td>
+        <td>James Berry</td>
+        <td>[Bug 14805] Mac OS transcoder should return pointer to zero length string (rather than NULL) on receipt of zero length input.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-10</td>
+        <td>PeiYong Zhang</td>
+        <td>Validating Schema Float/Double in value space. Converting out-of-bound value into special values.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-10</td>
+        <td>Tinny Ng</td>
+        <td>NLS: DOMWriter should use message loader to load message instead of using hardcoded static stirng.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-06</td>
+        <td>Kevin King</td>
+        <td>[Bug 13840] DOMWriter: more pretty-print format feature.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-06</td>
+        <td>Tinny Ng</td>
+        <td>Fix: for file protocol, need to manually replace any character reference %xx first.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-06</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 9083] Make some classes be exportable.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-06</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 9697] Make GrammarResolver to be exportable.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Andrew Bachmann</td>
+        <td>[Bug 12490] Patches required to build Xerces-C++ on BeOS R5.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Adam Zell</td>
+        <td>[Bug 14723] Memory leak in atomicOpsMutex.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Abe Backus</td>
+        <td>[Bug 13804] Update build and installation docs for cygwin.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Peter A. Volchek</td>
+        <td>[Bug 14960] Opened up interface to expose user defined and built in registries.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Gareth Reakes and Peter A. Volchek</td>
+        <td>[Bug 12188] Create NMTOKEN, ID, IDREF, ENTITY, NAME, NCNAME with appropriate base types. Some reordering of creation was required where dependencies resulted.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-12-02</td>
+        <td>Peter A. Volchek</td>
+        <td>[Bug 12238] Attributes without type declarations should be validated using AnySimpleTypeValidator, not the string validator.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-26</td>
+        <td>Tinny Ng</td>
+        <td>Namespace Check:
+            <br/>1. xmlns:a="" where namespace URI is null is not valid.
+            <br/>2. xmlns:doc where xmlns is used as element prefix is not valid.
+            <br/>3. xmlns:xmlns where xmlns is used as prefix is not valid.
+            <br/>4. xmlns:xml="a" where xml is used as prefix but URI does not match the xml uri (http://www.w3.org/XML/1999/namespace) is not valid.
+            <br/>5. if validation is on, attribute values declared to be of types ID, IDREF(S), ENTITY(IES), and NOTATION are also Names, and thus should be colon-free.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-25</td>
+        <td>Tinny Ng</td>
+        <td>Thread-safe the static variable TransService::gMappings.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-22</td>
+        <td>Robert Buck</td>
+        <td>Add autodetection of MSVC++ version in packageBinaries.pl.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-22</td>
+        <td>Chris Larsson and Stephen Dulin</td>
+        <td>390: support record-oriented MVS datasets with the DOM Level 3 serialization APIs.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-22</td>
+        <td>Chris Larsson and Stephen Dulin</td>
+        <td>390: Uniconv390 support.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-21</td>
+        <td>Jennifer Schachter</td>
+        <td>Fixed bug in Token::analyzeFirstCharacter so that . matches new line with
+            head character optimisation enabled.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-21</td>
+        <td>Gareth Reakes and Jennifer Schachter</td>
+        <td>DOM L3: isId, setIdAttribute, setIdAttributeNS and setIdAttributeNode.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-21</td>
+        <td>PeiYong Zhang</td>
+        <td>Schema Fix: validate content as a whole against pattern.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-20</td>
+        <td>PeiYong Zhang</td>
+        <td>Update ThreadTest to use DOMWriter to dump DOM.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-19</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13487] Linux runs on many non-i386 platforms.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-19</td>
+        <td>Cameron Dorrat</td>
+        <td>[Bug 14661] Caldera implemented openFileToWrite and writeBufferToFile.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-18</td>
+        <td>Steven White</td>
+        <td>Problems using make tarball under linux.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-18</td>
+        <td>Abe Backus</td>
+        <td>[Bug 14612] GCCDefs clashes with cygwin's string.h for stricmp and strnicmp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-15</td>
+        <td>Abe Backus</td>
+        <td>[Bug 13801] cygwin libxerces-c.dll symlinks misleading.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-15</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13751] Documentation for DOMNamedNodeMap incorrect.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-15</td>
+        <td>Richard Balint</td>
+        <td>[Bug 14598] IRIX 6.5 / g++ 3.0.4 compilation bugs.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-14</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 14265] Access violation with Null systemId/publicId in DTDScanner.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-14</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 14479] XMLString::subString failure when len(source)==0.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-14</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 14389] DOMPrint - gDoCreate - wrong default value.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-13</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 14528] Encounters of the end tag "]]&gt;" are ignored.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-13</td>
+        <td>James Berry</td>
+        <td>[Bug 14260] MacOSUnicodeConverter::upperCase() passes wrong arguments to Carbon function.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-13</td>
+        <td>James Berry</td>
+        <td>Update Mac OS build for compatiblity with namespace additions.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-12</td>
+        <td>Tinny Ng</td>
+        <td>DOM Message: make use of the non-standard extension DOMImplementation::loadDOMExceptionMsg
+            to load the default error text message for the correspond Exception Code.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-12</td>
+        <td>Tinny Ng</td>
+        <td>DOM Message: introduce a new message domain, XMLDOMMsg, for DOM Messages.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-04</td>
+        <td>PeiYong Zhang</td>
+        <td>New feature XMLPlatformUtils::Initialize(const char* const locale) to set the locale
+            for message loader.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-11-04</td>
+        <td>Tinny Ng</td>
+        <td>C++ Namespace Support
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-30</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13641] compiler-generated copy-constructor for QName doesn't do the right thing.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-29</td>
+        <td>Chris Larsson</td>
+        <td>Modify DOMPrint to accept a file name as a parameter.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-29</td>
+        <td>Tinny Ng</td>
+        <td>Support for Linux/390 which is big endian.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-23</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 13213] DOMImplementation::hasFeature() should be const.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-17</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 13640] Getter methods not public in DecimalDatatypeValidator.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-16</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13293] Schema ID validation can fail depending on declaration ordering.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13604] while loop never terminates.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13639] Failure to parse xsi:schemaLocation attribute value correctly.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13494] use unsigned instead of signed in TraverseSchema.cpp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13490] new[]/delete mismatch in RangeToken.cpp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13489] missing 'return' in Token.cpp.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-15</td>
+        <td>Khaled Noaman</td>
+        <td>[Bug 13485] incorrect return from getWSstring.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-04</td>
+        <td>Duncan Stodart</td>
+        <td>[Bug 12560] Use const in DOMWriter.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-10-01</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13139] Building Promblems on HP-UX.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-30</td>
+        <td>PeiYong Zhang</td>
+        <td>Support ICU Message Loader.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-30</td>
+        <td>PeiYong Zhang</td>
+        <td>Xlat: To generate icu resource file (in text) for error message.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-30</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13109] DOMRange::toString eventually cycles forever.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-27</td>
+        <td>Guillaume Morin</td>
+        <td>[Bug 12547] Xerces C++ 2.1 fails to build on Linux 64 bits arch with -tlinux.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-27</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 13073] GeneralAttributeCheck.cpp : compilation fails with Sun C++ 4.2 on Solaris2.7 system.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-27</td>
+        <td>Peter Volchek</td>
+        <td>[Bug 12740] Extra include.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-27</td>
+        <td>Gareth Reakes</td>
+        <td>[Bug 12847] bulid warning for non-virtual constuctor.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-27</td>
+        <td>Gareth Reakes</td>
+        <td>[Bug 12848] newline warning whist building.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-26</td>
+        <td>Gareth Reakes</td>
+        <td>[Bug 12849] comparison is always false warning.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-26</td>
+        <td>Erik Rydgren</td>
+        <td>[Bug 12914] Bug in AbstractDOMParser::resetPool().
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-26</td>
+        <td>Gareth Reakes</td>
+        <td>DOM L3: Add const to isSameNode, isEqualNode, compareTreePosition.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-23</td>
+        <td>PeiYong Zhang</td>
+        <td>Issue Panic_CantLoadMsgDomain if loadAMsgSet() fails.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-23</td>
+        <td>PeiYong Zhang</td>
+        <td>Support MsgCatalog Message Loader.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-23</td>
+        <td>Gareth Reakes, Thomas Ford and Tinny Ng</td>
+        <td>DOM L3: Support baseURI.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-18</td>
+        <td>Stephen Dulin</td>
+        <td>OS390 Performance Enhancement: instead of calling isPosixOn everytime, store the information
+            in a static flag during initialization.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-17</td>
+        <td>Thomas Woerner</td>
+        <td>RPM for Linux.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-16</td>
+        <td>Tinny Ng</td>
+        <td>Infinite loop for malformed xml (e.g. simple has "XXXX") w/ setexitonfirstfatal(false).
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-16</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12442] Fix typo: "Mode:" which should be "Model".
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-09</td>
+        <td>PeiYong Zhang</td>
+        <td>[Bug 12369] invalid output from DOMWriter using MemBufFormatTarget.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-05</td>
+        <td>James Berry</td>
+        <td>Add export directives for Mac OS path utility routines .
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12232] Make operator to be constant.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12290] example on webpage won't compile.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12279] Makefiles contain tabs causing "commands commence" error.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-05</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12275] DOMCount -n gives DOM Error.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-09-03</td>
+        <td>Tinny Ng</td>
+        <td>[Bug 12897] System ID is missing inside DOCTYPE.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002/08/27</td>
+        <td>Khaled Noaman</td>
+        <td>Identity Constraint: handle case of recursive elements.
+        </td>
+    </tr>
+
+    <tr>
+        <td>2002-08-27</td>
+        <td>Tom Ford</td>
+        <td>[Bug 12087] XMLString::patternMatch() is not accurate.
+        </td>
+    </tr>
+
+</table>
+</s2>
+
     <anchor name="Release210"/>
     <s2 title="Release Information of &XercesCName; 2.1.0: August 26, 2002">
 <p> Here is the list of <jump href=
diff --git a/doc/style/dtd/entities.ent b/doc/style/dtd/entities.ent
index 49b4fee5a..ea66aca0f 100644
--- a/doc/style/dtd/entities.ent
+++ b/doc/style/dtd/entities.ent
@@ -2,17 +2,17 @@
 
 <!ENTITY XercesCFullName      "Xerces C++ Parser">            <!-- fullproductname -->
 <!ENTITY XercesCName          "Xerces-C++">                   <!-- productname -->
-<!ENTITY XercesCVersion       "2.2.0">                        <!-- versionnumber -->
+<!ENTITY XercesCVersion       "2.3.0">                        <!-- versionnumber -->
 <!ENTITY XercesCVersion152    "1.5.2">                        <!-- versionnumber -->
 <!ENTITY XercesCProjectName   "Xerces">                       <!-- projectname -->
-<!ENTITY XercesCInstallDir    "xerces-c2_2_0">                <!-- installdirname -->
-<!ENTITY XercesCSrcInstallDir "xerces-c-src2_2_0">            <!-- sourcedirectory -->
+<!ENTITY XercesCInstallDir    "xerces-c2_3_0">                <!-- installdirname -->
+<!ENTITY XercesCSrcInstallDir "xerces-c-src2_3_0">            <!-- sourcedirectory -->
 <!ENTITY XercesCWindowsLib    "xerces-c_2">                   <!-- windowslibname -->
-<!ENTITY XercesCWindowsDLL    "xerces-c_2_2_0">               <!-- windowsDLLname -->
-<!ENTITY XercesCUnixSoName    "22.0">                         <!-- unixlibname -->
-<!ENTITY XercesCUnixVersion   "22">                           <!-- unixlibname -->
+<!ENTITY XercesCWindowsDLL    "xerces-c_2_3_0">               <!-- windowsDLLname -->
+<!ENTITY XercesCUnixSoName    "23.0">                         <!-- unixlibname -->
+<!ENTITY XercesCUnixVersion   "23">                           <!-- unixlibname -->
 <!ENTITY XercesCUnixLib       "libxerces-c">                  <!-- unixlibname -->
 <!ENTITY XercesCNamespace     "xercesc">                      <!-- C++ namespace name -->
-<!ENTITY XercesCNSVersion     "xercesc_2_2">                  <!-- C++ namespace name with Version -->
+<!ENTITY XercesCNSVersion     "xercesc_2_3">                  <!-- C++ namespace name with Version -->
 <!ENTITY XercesCEmailAddress  "xerces-c-dev@xml.apache.org "> <!-- emailaddress -->
 <!ENTITY XercesDistDir        "xml.apache.org/dist/xerces-c"> <!-- download directory -->
diff --git a/scripts/packageBinaries.pl b/scripts/packageBinaries.pl
index d576bebad..54cb66508 100644
--- a/scripts/packageBinaries.pl
+++ b/scripts/packageBinaries.pl
@@ -29,11 +29,11 @@ if (!length($XERCESCROOT) || !length($targetdir) || (length($opt_h) > 0) ) {
     print ("    -j suppress building of ICU (speeds up builds when debugging)\n");
     print ("    -h to get help on these commands\n\n");
     print ("Example: Under unix's\n");
-    print ("    perl packageBinaries.pl -s \$HOME/xerces-c-src2_2_0");
-    print (" -o \$HOME/xerces-c2_2_0-linux -c gcc -x g++ -m inmem -n fileonly -t native\n\n");
+    print ("    perl packageBinaries.pl -s \$HOME/xerces-c-src2_3_0");
+    print (" -o \$HOME/xerces-c2_3_0-linux -c gcc -x g++ -m inmem -n fileonly -t native\n\n");
     print ("Example: Under Windows\n");
-    print ("    perl packageBinaries.pl -s \\xerces-c-src2_2_0");
-    print (" -o\\xerces-c2_2_0-win32 [-n fileonly] [-t icu]\n\n");
+    print ("    perl packageBinaries.pl -s \\xerces-c-src2_3_0");
+    print (" -o\\xerces-c2_3_0-win32 [-n fileonly] [-t icu]\n\n");
     print ("Note:\n");
     print ("    Under Windows, by default the XercesLib project files is\n");
     print ("    configured to use Win32 resource file based message loader,\n");
@@ -1122,7 +1122,7 @@ if ( ($platform =~ m/AIX/i)   || ($platform =~ m/HP-UX/i) || ($platform =~ m/BeO
 
         #
         # copy icudata dll
-        # For ICU 2.2:
+        # For ICU 2.4:
         # on AIX, it is called libicudata24.0.so
         # on Solaris/Linux, it is called libicudata.so.24.0
         # on HP, it is called libicudata.s1.24.0
@@ -1243,29 +1243,29 @@ if ( ($platform =~ m/AIX/i)   || ($platform =~ m/HP-UX/i) || ($platform =~ m/BeO
     pchdir ("$targetdir/lib");
     psystem("rm -f libxerces-c* ");
 
-    if ((-e "$XERCESCROOT/lib/libxerces-c.so.22.0" )) {
-        psystem("cp -f $XERCESCROOT/lib/libxerces-c.so.22.0 .");
-        psystem("ln -s libxerces-c.so.22.0 libxerces-c.so.22 ");
-        psystem("ln -s libxerces-c.so.22   libxerces-c.so    ");
+    if ((-e "$XERCESCROOT/lib/libxerces-c.so.23.0" )) {
+        psystem("cp -f $XERCESCROOT/lib/libxerces-c.so.23.0 .");
+        psystem("ln -s libxerces-c.so.23.0 libxerces-c.so.23 ");
+        psystem("ln -s libxerces-c.so.23   libxerces-c.so    ");
     }
 
-    if ((-e "$XERCESCROOT/lib/libxerces-c.sl.22.0" )) {
-        psystem("cp -f $XERCESCROOT/lib/libxerces-c.sl.22.0 .");
-        psystem("ln -s libxerces-c.sl.22.0 libxerces-c.sl.22 ");
-        psystem("ln -s libxerces-c.sl.22   libxerces-c.sl    ");
+    if ((-e "$XERCESCROOT/lib/libxerces-c.sl.23.0" )) {
+        psystem("cp -f $XERCESCROOT/lib/libxerces-c.sl.23.0 .");
+        psystem("ln -s libxerces-c.sl.23.0 libxerces-c.sl.23 ");
+        psystem("ln -s libxerces-c.sl.23   libxerces-c.sl    ");
     }
 
-    if ((-e "$XERCESCROOT/lib/libxerces-c22.0.so" )) {
-        psystem("cp -f $XERCESCROOT/lib/libxerces-c22.0.so .");
-        psystem("ln -s libxerces-c22.0.so libxerces-c22.so  ");
-        psystem("ln -s libxerces-c22.so   libxerces-c.so    ");
+    if ((-e "$XERCESCROOT/lib/libxerces-c23.0.so" )) {
+        psystem("cp -f $XERCESCROOT/lib/libxerces-c23.0.so .");
+        psystem("ln -s libxerces-c23.0.so libxerces-c23.so  ");
+        psystem("ln -s libxerces-c23.so   libxerces-c.so    ");
     }
 
 	# Mac OS X
-    if ((-e "$XERCESCROOT/lib/libxerces-c.22.0.dylib" )) {
-        psystem("cp -f $XERCESCROOT/lib/libxerces-c.22.0.dylib .");
-        psystem("ln -s libxerces-c.22.0.dylib libxerces-c.22.dylib ");
-        psystem("ln -s libxerces-c.22.dylib   libxerces-c.dylib    ");
+    if ((-e "$XERCESCROOT/lib/libxerces-c.23.0.dylib" )) {
+        psystem("cp -f $XERCESCROOT/lib/libxerces-c.23.0.dylib .");
+        psystem("ln -s libxerces-c.23.0.dylib libxerces-c.23.dylib ");
+        psystem("ln -s libxerces-c.23.dylib   libxerces-c.dylib    ");
     }
 
     # Populate the Message Catalog Files
@@ -1326,17 +1326,17 @@ if ( ($platform =~ m/AIX/i)   || ($platform =~ m/HP-UX/i) || ($platform =~ m/BeO
         if ( $opt_m =~ m/icu/i) {
             psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/XercesMessages*.res $targetdir/msg");
 
-            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages22.0.so $targetdir/lib");
-            psystem("find . -name 'libXercesMessages22.0.so' -exec ln -s {} libXercesMessages22.so \\;");
-            psystem("find . -name 'libXercesMessages22.so    -exec ln -s {} libXercesMessages.so \\;");
+            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages23.0.so $targetdir/lib");
+            psystem("find . -name 'libXercesMessages23.0.so' -exec ln -s {} libXercesMessages23.so \\;");
+            psystem("find . -name 'libXercesMessages23.so    -exec ln -s {} libXercesMessages.so \\;");
                     
-            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages.so.22.0 $targetdir/lib");
-            psystem("find . -name 'libXercesMessages.so.22.0' -exec ln -s {} libXercesMessages.so.22 \\;");
-            psystem("find . -name 'libXercesMessages.so.22'   -exec ln -s {} libXercesMessages.so \\;");
+            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages.so.23.0 $targetdir/lib");
+            psystem("find . -name 'libXercesMessages.so.23.0' -exec ln -s {} libXercesMessages.so.23 \\;");
+            psystem("find . -name 'libXercesMessages.so.23'   -exec ln -s {} libXercesMessages.so \\;");
             
-            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages.sl.22.0 $targetdir/lib");
-            psystem("find . -name 'libXercesMessages.sl.22.0' -exec ln -s {} libXercesMessages.sl.22 \\;");
-            psystem("find . -name 'libXercesMessages.sl.22'   -exec ln -s {} libXercesMessages.sl \\;");            
+            psystem("cp -f $XERCESCROOT/src/xercesc/util/MsgLoaders/ICU/resources/libXercesMessages.sl.23.0 $targetdir/lib");
+            psystem("find . -name 'libXercesMessages.sl.23.0' -exec ln -s {} libXercesMessages.sl.23 \\;");
+            psystem("find . -name 'libXercesMessages.sl.23'   -exec ln -s {} libXercesMessages.sl \\;");            
         }        	
 
     }
@@ -1456,7 +1456,7 @@ sub change_windows_project_for_ICU() {
         $line =~ s[/D "PROJ_XMLPARSER"][/I "$ICUROOT\\include" /D "PROJ_XMLPARSER"];
         $line =~ s[Debug/xerces-c_2D.lib"][Debug/xerces-c_2D.lib" /libpath:"$ICUROOT\\lib" /libpath:"$ICUROOT\\source\\data" /libpath:"$XERCESCROOT\\src\\xercesc\\util\\MsgLoaders\\ICU\\resources"];
         $line =~ s[Release/xerces-c_2.lib"][Release/xerces-c_2.lib" /libpath:"$ICUROOT\\lib" /libpath:"$ICUROOT\\source\\data" /libpath:"$XERCESCROOT\\src\\xercesc\\util\\MsgLoaders\\ICU\\resources"];       
-        $line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib XercesMessages2_2_0.lib/g;
+        $line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib XercesMessages2_3_0.lib/g;
         
         if ($transcoder)
         {
@@ -1497,7 +1497,7 @@ sub change_windows_makefile_for_ICU() {
 
         $line =~ s[/D "PROJ_XMLPARSER"][/I "$ICUROOT\\include" /D "PROJ_XMLPARSER"];
         $line =~ s[/machine:IA64][/libpath:"$ICUROOT\\lib" /libpath:"$ICUROOT\\source\\data" /libpath:"$XERCESCROOT\\src\\xercesc\\util\\MsgLoaders\\ICU\\resources" /machine:IA64];
-        $line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib XercesMessages2_2_0.lib/g;
+        $line =~ s/user32.lib/user32.lib $icuuc.lib icudata.lib XercesMessages2_3_0.lib/g;
             
         if ($transcoder) {
             $line =~ s/XML_USE_WIN32_TRANSCODER/XML_USE_ICU_TRANSCODER/g;
@@ -1536,7 +1536,7 @@ sub change_windows_project_for_ICU_VC7() {
             }
         $line =~ s/AdditionalIncludeDirectories=\"([^"]*)/AdditionalIncludeDirectories=\"$ICUROOT\\include;$1/;
         $line =~ s/AdditionalLibraryDirectories=\"([^"]*)/AdditionalLibraryDirectories=\"$ICUROOT\\lib;$ICUROOT\\source\\data;$XERCESCROOT\\src\\xercesc\\util\\MsgLoaders\\ICU\\resources;$1/;
-        $line =~ s/AdditionalDependencies=\"([^"]*)/AdditionalDependencies=\"$icuuc.lib icudata.lib XercesMessages2_2_0.lib $1/;
+        $line =~ s/AdditionalDependencies=\"([^"]*)/AdditionalDependencies=\"$icuuc.lib icudata.lib XercesMessages2_3_0.lib $1/;
 
         if ($transcoder) {
             $line =~ s/XML_USE_WIN32_TRANSCODER/XML_USE_ICU_TRANSCODER/g;
diff --git a/src/xercesc/com/xml4com.idl b/src/xercesc/com/xml4com.idl
index 5764451ad..15d26880d 100644
--- a/src/xercesc/com/xml4com.idl
+++ b/src/xercesc/com/xml4com.idl
@@ -1,7 +1,7 @@
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 1999-2000 The Apache Software Foundation.  All rights
+ * Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -69,8 +69,8 @@ import "oaidl.idl";
 	//  Format for version is major.minor
 	//  no support for additional parts (like 1.5.2)
 	//  Use 1.60 for subsequent release
-	version(2.20),
-	helpstring("Xerces XML Parser 2.2.0")
+	version(2.30),
+	helpstring("Xerces XML Parser 2.3.0")
 ]
 library Xerces
 {
diff --git a/src/xercesc/configure.in b/src/xercesc/configure.in
index af8a9fdd9..ffdf43173 100644
--- a/src/xercesc/configure.in
+++ b/src/xercesc/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script
 AC_INIT(util/XercesDefs.hpp)
 dnl AC_CONFIG_HEADER(common/icucfg.h)
 
-dnl AM_INIT_AUTOMAKE(xerces-c,2.2.0)
+dnl AM_INIT_AUTOMAKE(xerces-c,2.3.0)
 dnl Checks for programs
 AC_PROG_CC
 AC_PROG_CXX
diff --git a/src/xercesc/util/Platforms/Win32/Version.rc b/src/xercesc/util/Platforms/Win32/Version.rc
index e136754aa..522bf203f 100644
--- a/src/xercesc/util/Platforms/Win32/Version.rc
+++ b/src/xercesc/util/Platforms/Win32/Version.rc
@@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,2,0,0
- PRODUCTVERSION 2,2,0,0
+ FILEVERSION 2,3,0,0
+ PRODUCTVERSION 2,3,0,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,15 +47,15 @@ BEGIN
         BEGIN
             VALUE "Comments", "Dynamic linked library for Xerces-C\0"
             VALUE "CompanyName", "Apache Software Foundation\0"
-            VALUE "FileDescription", "Shared Library for Xerces-C Version 2.2.0\0"
-            VALUE "FileVersion", "2, 2, 0\0"
-            VALUE "InternalName", "xerces-c_2_2_0.dll\0"
+            VALUE "FileDescription", "Shared Library for Xerces-C Version 2.3.0\0"
+            VALUE "FileVersion", "2, 3, 0\0"
+            VALUE "InternalName", "xerces-c_2_3_0.dll\0"
             VALUE "LegalCopyright", "Copyright © Apache Software Foundation 2000 subject to licensing terms\0"
             VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "xerces-c_2_2_0.dll\0"
+            VALUE "OriginalFilename", "xerces-c_2_3_0.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Xerces-C Version 2.2.0\0"
-            VALUE "ProductVersion", "2, 2, 0\0"
+            VALUE "ProductName", "Xerces-C Version 2.3.0\0"
+            VALUE "ProductVersion", "2, 3, 0\0"
             VALUE "SpecialBuild", "\0"
         END
     END
diff --git a/src/xercesc/util/XercesVersion.hpp b/src/xercesc/util/XercesVersion.hpp
index e91de0341..f97b82345 100644
--- a/src/xercesc/util/XercesVersion.hpp
+++ b/src/xercesc/util/XercesVersion.hpp
@@ -1,7 +1,7 @@
 /*
  * The Apache Software License, Version 1.1
  *
- * Copyright (c) 2002 The Apache Software Foundation.  All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation.  All rights
  * reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -157,7 +157,7 @@
  */
 
 #define XERCES_VERSION_MAJOR 2
-#define XERCES_VERSION_MINOR 2
+#define XERCES_VERSION_MINOR 3
 #define XERCES_VERSION_REVISION 0
 
 
diff --git a/version.incl b/version.incl
index 4504ed5f6..f733d0153 100644
--- a/version.incl
+++ b/version.incl
@@ -1,7 +1,7 @@
 #
 # The Apache Software License, Version 1.1
 #
-# Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+# Copyright (c) 1999-2003 The Apache Software Foundation.  All rights
 # reserved.
 #
 # Redistribution and use in source and binary forms, with or without
@@ -56,6 +56,6 @@
 #
 # $Id$
 #
-VER=2_2_0
-SO_TARGET_VERSION=22
+VER=2_3_0
+SO_TARGET_VERSION=23
 SO_TARGET_VERSION_MAJOR=0
diff --git a/xerces-c.spec b/xerces-c.spec
index 0daf77242..15ebb5509 100644
--- a/xerces-c.spec
+++ b/xerces-c.spec
@@ -1,4 +1,4 @@
-%define tarversion 2_2_0
+%define tarversion 2_3_0
 
 # threads
 # values: pthreads, none
@@ -6,8 +6,8 @@
 
 Summary:	Xerces-C++ validating XML parser
 Name:		xerces-c
-Version:	2.2.0
-Release:	2
+Version:	2.3.0
+Release:	3
 URL:		http://xml.apache.org/xerces-c/
 Source0:	%{name}-src%{tarversion}.tar.gz
 Copyright:	Apache
@@ -67,7 +67,7 @@ make
 export XERCESCROOT=$RPM_BUILD_DIR/%{name}-src%{tarversion}
 cd $XERCESCROOT/src/xercesc
 make PREFIX=$RPM_BUILD_ROOT%{prefix} install
-ln -sf %{prefix}/lib/libxerces-c.so.22 $RPM_BUILD_ROOT%{prefix}/lib/libxerces-c.so
+ln -sf %{prefix}/lib/libxerces-c.so.23 $RPM_BUILD_ROOT%{prefix}/lib/libxerces-c.so
 mkdir -p $RPM_BUILD_ROOT%{prefix}/bin
 #we don't want obj directory
 install `find $XERCESCROOT/bin -type f -maxdepth 1` $RPM_BUILD_ROOT%{prefix}/bin
@@ -96,6 +96,9 @@ rm -rf $RPM_BUILD_ROOT
 %doc LICENSE.txt STATUS credits.txt Readme.html doc/
 
 %changelog
+* Fri March 14 2003 Tinny Ng <tng@ca.ibm.com>
+- changed to 2.3
+
 * Wed Dec 18 2002 Albert Strasheim <albert@stonethree.com>
 - added symlink to libxerces-c.so in lib directory
 
-- 
GitLab