? System.XML.diff
Index: System.Xml/XmlElement.cs
===================================================================
RCS file: /mono/mcs/class/System.XML/System.Xml/XmlElement.cs,v
retrieving revision 1.41
diff -u -r1.41 XmlElement.cs
--- System.Xml/XmlElement.cs	4 Dec 2002 18:58:48 -0000	1.41
+++ System.Xml/XmlElement.cs	18 Dec 2002 04:06:52 -0000
@@ -358,14 +358,14 @@
 			w.WriteStartElement(Prefix, LocalName, NamespaceURI);
 
 			// write namespace declarations(if not exist)
-			if(Prefix != null && w.LookupPrefix(Prefix) != NamespaceURI)
+			if(Prefix != null && Prefix != String.Empty && w.LookupPrefix(Prefix) != NamespaceURI)
 				w.WriteAttributeString("xmlns", Prefix, "http://www.w3.org/2000/xmlns/", NamespaceURI);
 
 			foreach(XmlNode attributeNode in Attributes)
 			{
 				attributeNode.WriteTo(w);
 				// write namespace declarations(if not exist)
-				if(attributeNode.Prefix != null && attributeNode.Prefix != "" &&
+				if(attributeNode.Prefix != null && attributeNode.Prefix != String.Empty &&
 				   w.LookupPrefix(attributeNode.Prefix) != attributeNode.NamespaceURI &&
 				   attributeNode.Prefix != "xmlns")
 					w.WriteAttributeString("xmlns", attributeNode.Prefix, "http://www.w3.org/2000/xmlns/", attributeNode.NamespaceURI);
Index: System.Xml/XmlTextWriter.cs
===================================================================
RCS file: /mono/mcs/class/System.XML/System.Xml/XmlTextWriter.cs,v
retrieving revision 1.26
diff -u -r1.26 XmlTextWriter.cs
--- System.Xml/XmlTextWriter.cs	2 Dec 2002 17:57:45 -0000	1.26
+++ System.Xml/XmlTextWriter.cs	18 Dec 2002 04:06:52 -0000
@@ -561,6 +561,7 @@
 						namespaceManager.AddNamespace (prefix, ns);
 						addDefaultNamespace = true;
 					}
+
 					if (prefix == String.Empty)
 						prefix = existingPrefix;
 
Index: System.Xml/XmlWriter.cs
===================================================================
RCS file: /mono/mcs/class/System.XML/System.Xml/XmlWriter.cs,v
retrieving revision 1.13
diff -u -r1.13 XmlWriter.cs
--- System.Xml/XmlWriter.cs	23 Oct 2002 16:44:47 -0000	1.13
+++ System.Xml/XmlWriter.cs	18 Dec 2002 04:06:52 -0000
@@ -93,10 +93,14 @@
 			if ((prefix == "xmlns") || (localName == "xmlns"))
 			  {
 				ns = value;
+				
 				if (prefix == "xmlns" && namespaceManager.HasNamespace (localName))
 				  	return;
+				
+				/* Users need to be able to re-declare the default namespace for subnodes
 				else if (localName == "xmlns" && namespaceManager.HasNamespace (String.Empty))
 				  	return;
+				*/
 			  }
 			
 			WriteStartAttribute (prefix, localName, ns);
@@ -110,6 +114,7 @@
 				else
 					namespaceManager.AddNamespace ("", ns);
 			}
+			
 		}
 
 		public abstract void WriteBase64 (byte[] buffer, int index, int count);
