You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by da...@apache.org on 2007/09/02 18:10:33 UTC

svn commit: r572013 - /webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java

Author: danj
Date: Sun Sep  2 09:10:32 2007
New Revision: 572013

URL: http://svn.apache.org/viewvc?rev=572013&view=rev
Log:
Applying patch for MUSE-232 - thanks Oliver!

Modified:
    webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java

Modified: webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java?rev=572013&r1=572012&r2=572013&view=diff
==============================================================================
--- webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java (original)
+++ webservices/muse/trunk/modules/muse-util-xml/src/org/apache/muse/util/xml/XmlUtils.java Sun Sep  2 09:10:32 2007
@@ -486,6 +486,7 @@
                     Node attr = attributes.item(n);
                     String nameString = attr.getNodeName();
                     String valueString = attr.getNodeValue();
+                    String namespaceString = attr.getNamespaceURI();
                     
                     //
                     // HACK: workaround for a bug in Xerces
@@ -494,7 +495,30 @@
                     // attributes from appearing
                     //
                     if (!nameString.equals(namespaceAttr))
-                        root.setAttribute(nameString, valueString);
+                    {
+                        if (namespaceString == null)
+                            root.setAttribute(nameString, valueString);  
+
+                        //
+                        // if the attribute is namespace qualified, we need to add the 
+                        // namespace to the resulting element
+                        //
+                        else
+                        {
+                            //
+                            // if the namespace equals the namespace defined 
+                            // in the root element, we can include its prefix
+                            //
+                            if (!namespaceString.equals(qname.getNamespaceURI())) 
+                                root.setAttributeNS(namespaceString, nameString, valueString);
+                            
+                            else
+                            {
+                                nameString = nameString.indexOf(':') == -1 ? qname.getPrefix() + ":" + nameString : namespaceString;
+                                root.setAttributeNS(namespaceString, nameString, valueString);
+                            }                           
+                        }            
+                    }
                 }
             }
             



---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org