2003-01-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
[mono.git] / mcs / class / System.XML / System.Xml / XmlTextWriter.cs
index dd5897c2315cf0769a7445fea14dfad03cb8fb1f..dba8ed19f329fe4b6284c58b07050214f9e19a6f 100644 (file)
@@ -555,15 +555,19 @@ namespace System.Xml
                                if (ns != String.Empty) 
                                {
                                        string existingPrefix = namespaceManager.LookupPrefix (ns);
+                                       bool addDefaultNamespace = false;
 
-                                       if (existingPrefix == String.Empty && !namespaceManager.HasNamespace (prefix))
+                                       if (existingPrefix == String.Empty && !namespaceManager.HasNamespace (prefix)) {
                                                namespaceManager.AddNamespace (prefix, ns);
+                                               addDefaultNamespace = true;
+                                       }
+
                                        if (prefix == String.Empty)
                                                prefix = existingPrefix;
 
                                        if (prefix != existingPrefix)
                                                formatXmlns = String.Format (" xmlns:{0}={1}{2}{1}", prefix, quoteChar, ns);
-                                       else if (existingPrefix == String.Empty)
+                                       else if (addDefaultNamespace)
                                                formatXmlns = String.Format (" xmlns={0}{1}{0}", quoteChar, ns);
                                }
                                else if ((prefix == String.Empty) && (namespaceManager.LookupNamespace(prefix) != String.Empty)) {