Author: berndf
Date: Wed Apr 28 11:24:22 2010
New Revision: 938927

URL: http://svn.apache.org/viewvc?rev=938927&view=rev
Log:
fix rendering: do not print empty namespaces, e.g. xmlns='', because that 
causes major irritations with clients

Modified:
    
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/fragment/Renderer.java
    
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/fragment/RendererTestCase.java

Modified: 
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/fragment/Renderer.java
URL: 
http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/fragment/Renderer.java?rev=938927&r1=938926&r2=938927&view=diff
==============================================================================
--- 
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/fragment/Renderer.java
 (original)
+++ 
mina/vysper/trunk/nbxml/src/main/java/org/apache/vysper/xml/fragment/Renderer.java
 Wed Apr 28 11:24:22 2010
@@ -70,12 +70,15 @@ public class Renderer {
         for(Entry<String, String> nsAttr : nsAttrs.entrySet()) {
                openElementBuffer.append(" ");
                String name;
-               if(nsAttr.getKey().length() == 0) {
+            String value = nsAttr.getValue();
+               if(value == null || value.length() == 0) {
+                continue; // don't issue "xmlns=''", this will only confuse 
clients
+            } else if(nsAttr.getKey().length() == 0) {
                        name = "xmlns";
                } else {
                        name = "xmlns:" + nsAttr.getKey();
                }
-               renderAttribute(openElementBuffer, name, nsAttr.getValue());
+            renderAttribute(openElementBuffer, name, value);
         }
         
         for (Attribute attribute : element.getAttributes()) {

Modified: 
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/fragment/RendererTestCase.java
URL: 
http://svn.apache.org/viewvc/mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/fragment/RendererTestCase.java?rev=938927&r1=938926&r2=938927&view=diff
==============================================================================
--- 
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/fragment/RendererTestCase.java
 (original)
+++ 
mina/vysper/trunk/nbxml/src/test/java/org/apache/vysper/xml/fragment/RendererTestCase.java
 Wed Apr 28 11:24:22 2010
@@ -153,7 +153,7 @@ public class RendererTestCase extends Te
        public void testRenderInnerNoNamespaceElement() {
                XMLElementBuilder builder = new XMLElementBuilder("foo", 
"http://example.com";);
                builder.startInnerElement("bar");
-               assertRendering("<foo xmlns=\"http://example.com\";><bar 
xmlns=\"\"></bar></foo>", builder.build());
+               assertRendering("<foo xmlns=\"http://example.com\";><bar 
></bar></foo>", builder.build());
        }
        
        public void testRenderSimpleText() {


Reply via email to