diff --git a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
index 9bafaf86d1ff4d44e5833f3c512faae674c26182..0a70380a4b786660cb8e91d8a192b7a93caba815 100644
--- a/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
+++ b/Projects/Win32/VC6/xerces-all/XercesLib/XercesLib.dsp
@@ -1172,6 +1172,14 @@ SOURCE=..\..\..\..\..\src\xercesc\parsers\AbstractDOMParser.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\xercesc\parsers\DOMBuilderImpl.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\xercesc\parsers\DOMBuilderImpl.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\xercesc\parsers\SAX2XMLReaderImpl.cpp
 # End Source File
 # Begin Source File
@@ -2708,6 +2716,14 @@ SOURCE=..\..\..\..\..\src\xercesc\dom\DOMAttr.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\xercesc\dom\DOMBuilder.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\xercesc\dom\DOMBuilderFilter.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\xercesc\dom\DOMCDATASection.hpp
 # End Source File
 # Begin Source File
@@ -2752,6 +2768,10 @@ SOURCE=..\..\..\..\..\src\xercesc\dom\DOMEntityReference.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\xercesc\dom\DOMEntityResolver.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\xercesc\dom\DOMError.hpp
 # End Source File
 # Begin Source File
@@ -2772,6 +2792,14 @@ SOURCE=..\..\..\..\..\src\xercesc\dom\DOMImplementation.hpp
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\..\..\src\xercesc\dom\DOMImplementationLS.hpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\..\..\..\..\src\xercesc\dom\DOMInputSource.hpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\..\..\src\xercesc\dom\DOMLocator.hpp
 # End Source File
 # Begin Source File
diff --git a/src/xercesc/framework/XMLEntityHandler.hpp b/src/xercesc/framework/XMLEntityHandler.hpp
index 21cb66cdf1a54e6bdc29571cf5eb732b1f8ec7e2..94f057e89dd7751a8b283513b21147fc3b079920 100644
--- a/src/xercesc/framework/XMLEntityHandler.hpp
+++ b/src/xercesc/framework/XMLEntityHandler.hpp
@@ -56,8 +56,11 @@
 
  /*
   * $Log$
-  * Revision 1.1  2002/02/01 22:21:51  peiyongz
-  * Initial revision
+  * Revision 1.2  2002/05/29 21:47:08  knoaman
+  * DOM L3 LS: DOMInputSource, DOMEntityResolver, DOMImplementationLS and DOMBuilder
+  *
+  * Revision 1.1.1.1  2002/02/01 22:21:51  peiyongz
+  * sane_include
   *
   * Revision 1.7  2000/03/02 19:54:25  roddey
   * This checkin includes many changes done while waiting for the
@@ -177,6 +180,7 @@ public:
     (
         const   XMLCh* const    publicId
         , const XMLCh* const    systemId
+        , const XMLCh* const    baseURI = 0
     ) = 0;
 
     /**
diff --git a/src/xercesc/parsers/Makefile.in b/src/xercesc/parsers/Makefile.in
index 2db370d70bbc884f79917894f0edd4abfb294002..3520de8568acaaa7b29915df5ede7c646a577df9 100644
--- a/src/xercesc/parsers/Makefile.in
+++ b/src/xercesc/parsers/Makefile.in
@@ -78,6 +78,7 @@ MODULE = parsers
 
 PARSERS_CPP_PUBHEADERS = \
 	AbstractDOMParser.hpp \
+	DOMBuilderImpl.hpp \
 	XercesDOMParser.hpp \
 	SAXParser.hpp \
 	SAX2XMLReaderImpl.hpp
@@ -88,6 +89,7 @@ PARSERS_C_FILES =
 
 PARSERS_CPP_OBJECTS = \
 	AbstractDOMParser.$(TO) \
+	DOMBuilderImpl.$(TO) \
 	XercesDOMParser.$(TO) \
 	SAXParser.$(TO) \
 	SAX2XMLReaderImpl.$(TO)
diff --git a/src/xercesc/util/Makefile.in b/src/xercesc/util/Makefile.in
index 056eb39327e3bac73bcae92da0af1cc0f0da0d72..729eafce90c8b4855c66f4508178015d363dc8cc 100644
--- a/src/xercesc/util/Makefile.in
+++ b/src/xercesc/util/Makefile.in
@@ -55,6 +55,9 @@
 #
 #
 # $Log$
+# Revision 1.6  2002/05/29 21:47:08  knoaman
+# DOM L3 LS: DOMInputSource, DOMEntityResolver, DOMImplementationLS and DOMBuilder
+#
 # Revision 1.5  2002/05/24 16:42:20  knoaman
 # Performance fixes: eliminate mulitple calls to addRange and sort.
 #
@@ -348,6 +351,7 @@ UTIL_CPP_PUBHEADERS = \
     BitOps.hpp \
     BitSet.hpp \
     CountedPointer.hpp \
+    DOMInputSourceWrapper.hpp \
     EmptyStackException.hpp \
     FlagJanitor.hpp \
     HashBase.hpp \
@@ -449,6 +453,7 @@ UTIL_CPP_OBJECTS = \
     BinInputStream.$(TO) \
     BinMemInputStream.$(TO) \
     BitSet.$(TO) \
+    DOMInputSourceWrapper.$(TO) \
     HashXMLCh.$(TO) \
     HashPtr.$(TO) \
     HeaderDummy.$(TO) \
diff --git a/src/xercesc/util/XMLUni.cpp b/src/xercesc/util/XMLUni.cpp
index f98404015518f869ab6127fd33b207506cb72cf6..799a667c53f8c387a152cea8646e7d36ffeafa94 100644
--- a/src/xercesc/util/XMLUni.cpp
+++ b/src/xercesc/util/XMLUni.cpp
@@ -965,3 +965,93 @@ const XMLCh XMLUni::fgSAX2XercesSchemaExternalNoNameSpaceSchemaLocation[] =
     ,   chLatin_t, chLatin_i, chLatin_o, chLatin_n, chNull
 };
 
+const XMLCh XMLUni::fgDOMCanonicalForm[] =
+{
+        chLatin_c, chLatin_a, chLatin_n, chLatin_o, chLatin_n, chLatin_i, chLatin_c
+    ,   chLatin_a, chLatin_l, chDash, chLatin_f, chLatin_o, chLatin_r, chLatin_m, chNull
+};
+
+const XMLCh XMLUni::fgDOMCDATASections[] =
+{
+        chLatin_c, chLatin_d, chLatin_a, chLatin_t, chLatin_a, chDash, chLatin_s
+    ,   chLatin_e, chLatin_c, chLatin_t, chLatin_i, chLatin_o, chLatin_n, chLatin_s, chNull
+};
+
+const XMLCh XMLUni::fgDOMComments[] = 
+{
+        chLatin_c, chLatin_o, chLatin_m, chLatin_m, chLatin_e, chLatin_n, chLatin_t
+    ,   chLatin_s, chNull
+};
+
+const XMLCh XMLUni::fgDOMCharsetOverridesXMLEncoding[] =
+{
+        chLatin_c, chLatin_h, chLatin_a, chLatin_r, chLatin_s, chLatin_e, chLatin_t
+    ,   chDash, chLatin_o, chLatin_v, chLatin_e, chLatin_r, chLatin_r, chLatin_i
+    ,   chLatin_d, chLatin_e, chLatin_s, chDash, chLatin_x, chLatin_m, chLatin_l
+    ,   chDash, chLatin_e, chLatin_n, chLatin_c, chLatin_o, chLatin_d, chLatin_i
+    ,   chLatin_n, chLatin_g, chNull
+};
+
+const XMLCh XMLUni::fgDOMDatatypeNormalization[] =
+{
+        chLatin_d, chLatin_a, chLatin_t, chLatin_a, chLatin_t, chLatin_y, chLatin_p
+    ,   chLatin_e, chDash, chLatin_n, chLatin_o, chLatin_r, chLatin_m, chLatin_a
+    ,   chLatin_l, chLatin_i, chLatin_z, chLatin_a, chLatin_t, chLatin_i, chLatin_o
+    ,   chLatin_n, chNull
+};
+
+const XMLCh XMLUni::fgDOMEntities[] =
+{
+        chLatin_e, chLatin_n, chLatin_t, chLatin_i, chLatin_t, chLatin_i, chLatin_e
+    ,   chLatin_s, chNull
+};
+
+const XMLCh XMLUni::fgDOMInfoset[] =
+{
+        chLatin_i, chLatin_n, chLatin_f, chLatin_o, chLatin_s, chLatin_e, chLatin_t, chNull
+};
+
+const XMLCh XMLUni::fgDOMNamespaces[] =
+{
+        chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chLatin_p, chLatin_a
+    ,   chLatin_c, chLatin_e, chLatin_s, chNull
+};
+
+const XMLCh XMLUni::fgDOMNamespaceDeclarations[] =
+{
+        chLatin_n, chLatin_a, chLatin_m, chLatin_e, chLatin_s, chLatin_p, chLatin_a
+    ,   chLatin_c, chLatin_e, chDash, chLatin_d, chLatin_e, chLatin_c, chLatin_l
+    ,   chLatin_a, chLatin_r, chLatin_a, chLatin_t, chLatin_i, chLatin_o, chLatin_n
+    ,   chLatin_s, chNull
+};
+
+const XMLCh XMLUni::fgDOMSupportedMediatypesOnly[] =
+{
+        chLatin_s, chLatin_u, chLatin_p, chLatin_p, chLatin_o, chLatin_r, chLatin_t
+    ,   chLatin_e, chLatin_d, chDash, chLatin_m, chLatin_e, chLatin_d, chLatin_i
+    ,   chLatin_a, chLatin_t, chLatin_y, chLatin_p, chLatin_e, chLatin_s, chDash
+    ,   chLatin_o, chLatin_n, chLatin_l, chLatin_y, chNull
+};
+
+const XMLCh XMLUni::fgDOMValidateIfSchema[] =
+{
+        chLatin_v, chLatin_a, chLatin_l, chLatin_i, chLatin_d, chLatin_a, chLatin_t
+    ,   chLatin_e, chDash, chLatin_i, chLatin_f, chDash, chLatin_s, chLatin_c
+    ,   chLatin_h, chLatin_e, chLatin_m, chLatin_a, chNull
+};
+
+const XMLCh XMLUni::fgDOMValidation[] =
+{
+        chLatin_v, chLatin_a, chLatin_l, chLatin_i, chLatin_d, chLatin_a, chLatin_t
+    ,   chLatin_i, chLatin_o, chLatin_n, chNull
+};
+
+const XMLCh XMLUni::fgDOMWhitespaceInElementContent[] =
+{
+        chLatin_w, chLatin_h, chLatin_i, chLatin_t, chLatin_e, chLatin_s, chLatin_p
+    ,   chLatin_a, chLatin_c, chLatin_e, chDash, chLatin_i, chLatin_n, chDash
+    ,   chLatin_e, chLatin_l, chLatin_e, chLatin_m, chLatin_e, chLatin_n, chLatin_t
+    ,   chDash, chLatin_c, chLatin_o, chLatin_n, chLatin_t, chLatin_e, chLatin_n
+    ,   chLatin_t, chNull
+};
+
diff --git a/src/xercesc/util/XMLUni.hpp b/src/xercesc/util/XMLUni.hpp
index 34928cef017d1ad6eff0e2bafc551e240b3224d1..04fa7e224f7a39e7b786aab0b40c437d3110aaf3 100644
--- a/src/xercesc/util/XMLUni.hpp
+++ b/src/xercesc/util/XMLUni.hpp
@@ -228,6 +228,21 @@ public :
     static const XMLCh fgSAX2XercesSchemaExternalSchemaLocation[];
     static const XMLCh fgSAX2XercesSchemaExternalNoNameSpaceSchemaLocation[];
 
+    // DOMBuilder features
+    static const XMLCh fgDOMCanonicalForm[];
+    static const XMLCh fgDOMCDATASections[];
+    static const XMLCh fgDOMComments[];
+    static const XMLCh fgDOMCharsetOverridesXMLEncoding[];
+    static const XMLCh fgDOMDatatypeNormalization[];
+    static const XMLCh fgDOMEntities[];
+    static const XMLCh fgDOMInfoset[];
+    static const XMLCh fgDOMNamespaces[];
+    static const XMLCh fgDOMNamespaceDeclarations[];
+    static const XMLCh fgDOMSupportedMediatypesOnly[];
+    static const XMLCh fgDOMValidateIfSchema[];
+    static const XMLCh fgDOMValidation[];
+    static const XMLCh fgDOMWhitespaceInElementContent[];
+
 };
 
 #endif