diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
index f833a0d7f354c116061f392676633a0846f6ee31..5325d95240cb05a78eff3eb1c19af36c476431de 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
@@ -53,7 +53,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 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 /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /base:"0x12000000" /version:1.3 /subsystem:windows /dll /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_1_3.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_1.lib"
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /base:"0x12000000" /version:1.4 /subsystem:windows /dll /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_1_4.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_1.lib"
 # SUBTRACT LINK32 /pdb:none /incremental:yes
 
 !ELSEIF  "$(CFG)" == "XercesLib - Win32 Debug"
@@ -81,7 +81,7 @@ BSC32=bscmake.exe
 # ADD BSC32 /nologo
 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 /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /base:"0x12000000" /version:1.3 /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1_3D.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1D.lib" /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /base:"0x12000000" /version:1.4 /subsystem:windows /dll /debug /machine:I386 /out:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1_4D.dll" /implib:"..\..\..\..\..\Build\Win32\VC6\Debug/xerces-c_1D.lib" /pdbtype:sept
 # SUBTRACT LINK32 /pdb:none
 
 !ENDIF 
diff --git a/samples/Projects/OS2/VACPP40/basedir.icc b/samples/Projects/OS2/VACPP40/basedir.icc
index d48f844ef7a49da67d18b297480c710637e799a2..262ff31a08e46a9cef1a8d5fcf2fbe530e916008 100644
--- a/samples/Projects/OS2/VACPP40/basedir.icc
+++ b/samples/Projects/OS2/VACPP40/basedir.icc
@@ -1,6 +1,6 @@
 SRC_DIR = "I:\\Xerces\\source\\xml-xerces\\c"
 SAMPLES = SRC_DIR "\\samples"
-BASE_DIR = "I:\\Xerces\\1.3.0"
+BASE_DIR = "I:\\Xerces\\1.4.0"
 LIB_DIR = BASE_DIR "\\lib"
 BIN_DIR = BASE_DIR "\\bin"
 
diff --git a/scripts/packageBinaries.pl b/scripts/packageBinaries.pl
index a115dc4349926d5d8cb6bff515c5af16a32a65d0..9a8dd56794ddfbb92cc8d00839943b0e4b4f2f47 100644
--- a/scripts/packageBinaries.pl
+++ b/scripts/packageBinaries.pl
@@ -28,11 +28,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-src_1_3_0");
-    print (" -o \$HOME/xerces-c_1_3_0-linux -c gcc -x g++ -m inmem -n fileonly -t native\n\n");
+    print ("    perl packageBinaries.pl -s \$HOME/xerces-c-src_1_4_0");
+    print (" -o \$HOME/xerces-c_1_4_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-src_1_3_0");
-    print (" -o\\xerces-c_1_3_0-win32 [-n fileonly] [-t icu]\n\n");
+    print ("    perl packageBinaries.pl -s \\xerces-c-src_1_4_0");
+    print (" -o\\xerces-c_1_4_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");
@@ -45,6 +45,7 @@ if (!length($XERCESCROOT) || !length($targetdir) || (length($opt_h) > 0) ) {
 # Set up the environment variables for ICU
 # As of Version 3, ICU is not a required component of XERCES-C
 $ICUROOT = $ENV{'ICUROOT'};
+$ICU_DATA = $ENV{'ICU_DATA'};
 if (!length($ICUROOT)) {
     print "You have not defined your ICU install directory.\n";
     print "To build with ICU, you must set an environment variable called ICUROOT\n";
@@ -251,12 +252,18 @@ if ($platform =~ m/Windows/  || $platform =~ m/CYGWIN/) {
     psystem("cp -fv $BUILDDIR/*.exe $targetdir/bin");
     
     if ($opt_t =~ m/icu/i && length($ICUROOT) > 0) {
-        # Copy the ICU dlls
+        # Copy the ICU dlls and libs
         psystem("cp -fv $ICUROOT/bin/$buildmode/icuuc.dll $targetdir/bin");
+        if (length($ICU_DATA) > 0) {
+            psystem("cp -fv $ICUROOT/data/icudata.dll $targetdir/bin");
+            psystem("cp -fv $ICUROOT/data/icudata.lib $targetdir/lib");
+        }
+        else {
         psystem("cp -fv $ICUROOT/bin/$buildmode/icudata.dll $targetdir/bin");
-        # Copy the ICU libs
+            psystem("cp -fv $ICUROOT/bin/$buildmode/icudata.lib $targetdir/lib");
+        }
+
         psystem("cp -fv $ICUROOT/lib/$buildmode/icuuc.lib $targetdir/lib");
-        psystem("cp -fv $ICUROOT/data/icudata.lib $targetdir/lib");
     }
     psystem("cp -fv $BUILDDIR/xerces-c_*.lib $targetdir/lib");
     if ($buildmode ne "Debug") {
@@ -731,8 +738,8 @@ sub change_windows_project_for_ICU() {
     open (FIZZLEOUT, ">$thefile");
     while ($line = <FIZZLE>) {
         $line =~ s/\/D "PROJ_XMLPARSER"/\/I \"$ICUROOT\\include" \/D "PROJ_XMLPARSER"/g;
-        $line =~ s/Debug\/xerces-c_1D.lib"/Debug\/xerces-c_1D.lib" \/libpath:"$ICUROOT\\lib\\Debug" \/libpath:"$ICUROOT\\bin\\Debug"/g;
-        $line =~ s/Release\/xerces-c_1.lib"/Release\/xerces-c_1.lib" \/libpath:"$ICUROOT\\lib\\Release" \/libpath:"$ICUROOT\\bin\\Release"/g;
+        $line =~ s/Debug\/xerces-c_1D.lib"/Debug\/xerces-c_1D.lib" \/libpath:"$ICUROOT\\lib\\Debug" \/libpath:"$ICUROOT\\bin\\Debug" \/libpath:"$ICUROOT\\data"/g;
+        $line =~ s/Release\/xerces-c_1.lib"/Release\/xerces-c_1.lib" \/libpath:"$ICUROOT\\lib\\Release" \/libpath:"$ICUROOT\\bin\\Release" \/libpath:"$ICUROOT\\data"/g;
         $line =~ s/XML_USE_WIN32_TRANSCODER/XML_USE_ICU_TRANSCODER/g;
         $line =~ s/user32\.lib/user32\.lib icuuc\.lib icudata\.lib/g;
         $line =~ s/Transcoders\\Win32\\Win32TransService\.cpp/Transcoders\\ICU\\ICUTransService\.cpp/g;
diff --git a/scripts/packageSources.pl b/scripts/packageSources.pl
index b0a504a1c141f923af71c0bdb60b813f38d9a390..f8af22e2198a8b179a3a7adeb4e2a45d96981ae7 100644
--- a/scripts/packageSources.pl
+++ b/scripts/packageSources.pl
@@ -96,18 +96,21 @@ sub package_sources {
    print ("Targetdir is : " . $srctargetdir . "\n");
    system("cp -Rf $XERCESCROOT/* $srctargetdir");
 
-   chdir ("$srctargetdir/doc");
-   system ("doxygen");
-
-   # Now create the User documentation from the XML sources
-   
-   # Select APache style or IBM Alphaworks style docs.
+   # Select APache style or IBM Alphaworks style docs
    $styleFile = "style-apachexml.jar";
    if (length($ICUROOT) > 0) {
    	change_documentation_entities("$srctargetdir/doc/dtd/entities.ent");
+   	change_doxygen("$srctargetdir/doc/Doxyfile");
+   	change_createdocs_bat("$srctargetdir/createdocs.bat");
    	$styleFile = "style-ibm.zip";
    }
 
+   # Now create the API documentation from the XML sources
+   chdir ("$srctargetdir/doc");
+   system ("doxygen");
+
+   # Now create the User documentation from the XML sources
+
    if ($platform =~ m/Windows/ || $platform =~ m/CYGWIN_NT/) {
       $RM = "rm";
       system("$RM -rf *.obj");
@@ -285,12 +288,50 @@ sub change_documentation_entities()
         while ($line = <FIZZLE>) {
                 $line =~ s/"Xerces C\+\+ Parser"/"XML for C\+\+ Parser"/g;
                 $line =~ s/"Xerces-C"/"XML4C"/g;
-                $line =~ s/"1\.3\.0"/"3\.3\.0"/g;
+                $line =~ s/"1\.4\.0"/"3\.4\.0"/g;
                 $line =~ s/"Xerces"/"XML4C"/g;
-                $line =~ s/"xerces-c-1_3_0"/"xml4c-3_3_0"/g;
-                $line =~ s/"xerces-c-src-1_3_0"/"xml4c-src-3_3_0"/g;
+                $line =~ s/"xerces-c1_4_0"/"xml4c-3_4_0"/g;
+                $line =~ s/"xerces-c-src1_4_0"/"xml4c-src-3_4_0"/g;
                 $line =~ s/xerces-c-dev\@xml\.apache\.org/xml4c\@us\.ibm\.com/g;
-                $line =~ s/xml\.apache\.org\/dist/www\.alphaworks\.ibm\.com\/tech\/xml4c/g;
+                $line =~ s/xml\.apache\.org\/dist\/xerces-c/www\.alphaworks\.ibm\.com\/tech\/xml4c/g;
+                print FIZZLEOUT $line;
+        }
+        close (FIZZLEOUT);
+        close (FIZZLE);
+        unlink ($thefiledotbak);
+}
+
+sub change_doxygen()
+{
+        my ($thefile) = @_;
+        print "\nConverting Doxygen ($thefile) for ICU usage...";
+        my $thefiledotbak = $thefile . ".bak";
+        rename ($thefile, $thefiledotbak);
+
+        open (FIZZLE, $thefiledotbak);
+        open (FIZZLEOUT, ">$thefile");
+        while ($line = <FIZZLE>) {
+                $line =~ s/Xerces-C/XML4C/g;
+                $line =~ s/1\.3\.0/3\.3\.1/g;
+                $line =~ s/header.html/header_ibm.html/g;
+                print FIZZLEOUT $line;
+        }
+        close (FIZZLEOUT);
+        close (FIZZLE);
+        unlink ($thefiledotbak);
+}
+
+sub change_createdocs_bat()
+{
+        my ($thefile) = @_;
+        print "\nConverting createdocs.bat ($thefile) for ICU usage...";
+        my $thefiledotbak = $thefile . ".bak";
+        rename ($thefile, $thefiledotbak);
+
+        open (FIZZLE, $thefiledotbak);
+        open (FIZZLEOUT, ">$thefile");
+        while ($line = <FIZZLE>) {
+                $line =~ s/style-apachexml.jar/style-ibm.zip/g;
                 print FIZZLEOUT $line;
         }
         close (FIZZLEOUT);
diff --git a/src/util/Platforms/Win32/Version.rc b/src/util/Platforms/Win32/Version.rc
index 0d7753e1ce2fb3f751809662fbd099f7cd1789d0..630bb3064144c810c04a06dc3e3c16d63a7ff4e5 100644
--- a/src/util/Platforms/Win32/Version.rc
+++ b/src/util/Platforms/Win32/Version.rc
@@ -29,8 +29,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,3,0,0
- PRODUCTVERSION 1,3,0,0
+ FILEVERSION 1,4,0,0
+ PRODUCTVERSION 1,4,0,0
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
  FILEFLAGS 0x1L
@@ -47,14 +47,14 @@ 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 1.3.0\0"
-            VALUE "FileVersion", "1, 3, 0\0"
-            VALUE "InternalName", "xerces-c_1_3_0.dll\0"
+            VALUE "FileDescription", "Shared Library for Xerces-C Version 1.4.0\0"
+            VALUE "FileVersion", "1, 4, 0\0"
+            VALUE "InternalName", "xerces-c_1_4_0.dll\0"
             VALUE "LegalCopyright", "Copyright © Apache Software Foundation 2000 subject to licensing terms\0"
             VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "xerces-c_1_3.dll\0"
+            VALUE "OriginalFilename", "xerces-c_1_4.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "Xerces-C Version 1.3.0\0"
+            VALUE "ProductName", "Xerces-C Version 1.4.0\0"
             VALUE "ProductVersion", "1, 3, 0\0"
             VALUE "SpecialBuild", "\0"
         END
diff --git a/src/util/XercesDefs.hpp b/src/util/XercesDefs.hpp
index d3553ce5eaaf14f91e7d402e15b0669161fea490..93d9bb5767fd2b80e907766cae9a237bbf3b9283 100644
--- a/src/util/XercesDefs.hpp
+++ b/src/util/XercesDefs.hpp
@@ -56,6 +56,9 @@
 
 /*
  * $Log$
+ * Revision 1.10  2001/01/12 22:09:07  tng
+ * Various update for Xerces 1.4
+ *
  * Revision 1.9  2000/11/07 18:14:39  andyh
  * Fix incorrect version number in gXercesMinVersion.
  * From Pieter Van-Dyck
@@ -144,11 +147,11 @@
 //  These are updated for every build. They must be at the top because they
 //  can be used by various per-compiler headers below.
 // ---------------------------------------------------------------------------
-#define Xerces_DLLVersionStr "1_3"
-static const char* const    gXercesVersionStr = "1_3";
-static const char* const    gXercesFullVersionStr = "1_3_0";
+#define Xerces_DLLVersionStr "1_4"
+static const char* const    gXercesVersionStr = "1_4";
+static const char* const    gXercesFullVersionStr = "1_4_0";
 static const unsigned int   gXercesMajVersion = 1;
-static const unsigned int   gXercesMinVersion = 3;
+static const unsigned int   gXercesMinVersion = 4;
 static const unsigned int   gXercesRevision   = 0;
 
 
diff --git a/version.incl b/version.incl
index 27cabc222960342999d6b5517908d8edce29f1e1..231c92a0abfc0e82b755219ca1176ce8ee3c7fab 100644
--- a/version.incl
+++ b/version.incl
@@ -56,4 +56,4 @@
 #
 # $Id$
 #
-VER=1_3
+VER=1_4