diff --git a/src/xercesc/dom/impl/DOMWriterImpl.cpp b/src/xercesc/dom/impl/DOMWriterImpl.cpp
index ff00d208d3e8950155fb58752656034dd665deb0..85b40a4189ea473dcf1f84bed8eab7dd2f9b5ed8 100644
--- a/src/xercesc/dom/impl/DOMWriterImpl.cpp
+++ b/src/xercesc/dom/impl/DOMWriterImpl.cpp
@@ -57,6 +57,9 @@
 /*
  * $Id$
  * $Log$
+ * Revision 1.32  2003/04/02 03:14:42  peiyongz
+ * Bug#18594: DOMWriter does not recognize Document Fragment
+ *
  * Revision 1.31  2003/03/16 05:42:04  peiyongz
  * Bug#17983 Formatter does not escape control characters
  *
@@ -843,6 +846,21 @@ void DOMWriterImpl::processNode(const DOMNode* const nodeToWrite, int level)
             break;
         }
 
+    case DOMNode::DOCUMENT_FRAGMENT_NODE:
+        {
+           
+            setURCharRef();
+
+            DOMNode *child = nodeToWrite->getFirstChild();
+            while( child != 0)
+            {
+                processNode(child, level);
+                child = child->getNextSibling();
+            }
+            printNewLine();
+            break;
+        }
+
     case DOMNode::ELEMENT_NODE:
         {
             DOMNodeFilter::FilterAction filterAction = checkFilter(nodeToWrite);