Index: WriteDOMSessionTransformer.java
===================================================================
RCS file: /home/cvspublic/xml-cocoon2/src/org/apache/cocoon/transformation/WriteDOMSessionTransformer.java,v
retrieving revision 1.2.2.2
diff -u -r1.2.2.2 WriteDOMSessionTransformer.java
--- WriteDOMSessionTransformer.java	2001/08/20 14:07:34	1.2.2.2
+++ WriteDOMSessionTransformer.java	2001/09/25 18:38:41
@@ -26,6 +26,8 @@
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
 
 
 /**
@@ -63,6 +65,7 @@
 
     private String DOMName;
     private String rootElement;
+  	private Map storedPrefixMap;
 
     /** BEGIN SitemapComponent methods **/
 
@@ -81,6 +84,7 @@
                             DOMName + "; " + WriteDOMSessionTransformer.DOM_ROOT_ELEMENT + "=" +
                             rootElement);
           sessionAvailable = true;
+					storedPrefixMap = new HashMap();  
         } else  {
           getLogger().error("WriteSessionTransformer: need " + WriteDOMSessionTransformer.DOM_NAME +
                             " and " + WriteDOMSessionTransformer.DOM_ROOT_ELEMENT + " parameters");
@@ -116,7 +120,9 @@
       super.startPrefixMapping(prefix,uri);
       if (buildDom)  {
         builder.startPrefixMapping(prefix,uri);
-      }
+      } else {
+				storePrefixMapping(prefix,uri);
+			}
     }
 
     public void startElement(String uri, String name, String raw, Attributes attributes)
@@ -127,6 +133,7 @@
           buildDom = true;
           builder = new DOMBuilder(parser);
           builder.startDocument();
+					launchStoredMappings();
           builder.startElement(uri,name,raw,attributes);
         } else if (buildDom)  {
           builder.startElement(uri,name,raw,attributes);
@@ -176,6 +183,21 @@
 
     /** END SAX ContentHandler handlers **/
 
+ 	  protected void storePrefixMapping(String prefix, String uri) {  
+		   storedPrefixMap.put(prefix,uri);  
+   	}  
+	
+	  protected void launchStoredMappings() 
+		throws SAXException {  
+		    Iterator it = storedPrefixMap.keySet().iterator();
+				while(it.hasNext()) {  
+					String pre = (String)it.next();
+					String uri = (String)storedPrefixMap.get(pre);
+					getLogger().debug("WriteSessionTransformer: launching prefix mapping[ pre: "+pre+" uri: "+uri+" ]");
+					builder.startPrefixMapping(pre,uri);
+				} 
+		} 
+
 
 
-}
\ No newline at end of file
+}

