http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
deleted file mode 100755
index 36b619f..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java
+++ /dev/null
@@ -1,435 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.utils.*;
-import org.apache.juneau.xml.annotation.*;
-import org.junit.*;
-
-@SuppressWarnings({"serial","javadoc"})
-public class XmlCollapsedTest {
-
-       
//====================================================================================================
-       // testBasic - @Xml.format=COLLAPSED
-       
//====================================================================================================
-       @Test
-       public void testBasic() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               A t = new A();
-
-               t.f1 = new AList<String>().append("f1a").append("f1b");
-               t.f2 = new String[]{"f2a","f2b"};
-               t.f3 = new AList<String>().append("f3a").append("f3b");
-               t.f4 = new String[]{"f4a","f4b"};
-
-               String xml = s.serialize(t);
-               
assertEquals("<object><f1>f1a</f1><f1>f1b</f1><f2>f2a</f2><f2>f2b</f2><xf3>f3a</xf3><xf3>f3b</xf3><xf4>f4a</xf4><xf4>f4b</xf4></object>",
 xml);
-               t = p.parse(xml, A.class);
-               assertEquals("f1a", t.f1.get(0));
-               assertEquals("f2a", t.f2[0]);
-               assertEquals("f3a", t.f3.get(0));
-               assertEquals("f4a", t.f4[0]);
-
-               validateXml(t, s);
-       }
-
-       public static class A {
-
-               @Xml(format=COLLAPSED)
-               public List<String> f1 = new LinkedList<String>();
-
-               @Xml(format=COLLAPSED)
-               public String[] f2 = new String[0];
-
-               @Xml(format=COLLAPSED,childName="xf3")
-               public List<String> f3 = new LinkedList<String>();
-
-               @Xml(format=COLLAPSED,childName="xf4")
-               public String[] f4 =  new String[0];
-       }
-
-       
//====================================================================================================
-       // testUninitializedFields - @Xml.format=COLLAPSED, uninitialized 
fields.
-       
//====================================================================================================
-       @Test
-       public void testUninitializedFields() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               B t = new B();
-
-               t.f1 = new AList<String>().append("f1a").append("f1b");
-               t.f2 = new String[]{"f2a","f2b"};
-               t.f3 = new AList<String>().append("f3a").append("f3b");
-               t.f4 = new String[]{"f4a","f4b"};
-
-               String xml = s.serialize(t);
-               
assertEquals("<object><f1>f1a</f1><f1>f1b</f1><f2>f2a</f2><f2>f2b</f2><xf3>f3a</xf3><xf3>f3b</xf3><xf4>f4a</xf4><xf4>f4b</xf4></object>",
 xml);
-               t = p.parse(xml, B.class);
-               assertEquals("f1a", t.f1.get(0));
-               assertEquals("f2a", t.f2[0]);
-               assertEquals("f3a", t.f3.get(0));
-               assertEquals("f4a", t.f4[0]);
-
-               validateXml(t, s);
-       }
-
-       public static class B {
-
-               @Xml(format=COLLAPSED)
-               public List<String> f1;
-
-               @Xml(format=COLLAPSED)
-               public String[] f2;
-
-               @Xml(format=COLLAPSED,childName="xf3")
-               public List<String> f3;
-
-               @Xml(format=COLLAPSED,childName="xf4")
-               public String[] f4;
-       }
-
-       
//====================================================================================================
-       // testInitializedFields - @Xml.format=COLLAPSED, initialized fields.
-       
//====================================================================================================
-       @Test
-       public void testInitializedFields() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               C t = new C();
-
-               t.f1 = new AList<String>().append("f1b");
-               t.f2 = new String[]{"f2b"};
-               t.f3 = new AList<String>().append("f3b");
-               t.f4 = new String[]{"f4b"};
-
-               String xml = s.serialize(t);
-               
assertEquals("<object><f1>f1b</f1><f2>f2b</f2><xf3>f3b</xf3><xf4>f4b</xf4></object>",
 xml);
-
-               // Note that existing fields should be reused and appended to.
-               t = p.parse(xml, C.class);
-               assertEquals("f1a", t.f1.get(0));
-               assertEquals("f1b", t.f1.get(1));
-               assertEquals("f2a", t.f2[0]);
-               assertEquals("f2b", t.f2[1]);
-               assertEquals("f3a", t.f3.get(0));
-               assertEquals("f3b", t.f3.get(1));
-               assertEquals("f4a", t.f4[0]);
-               assertEquals("f4b", t.f4[1]);
-
-               validateXml(t, s);
-       }
-
-       public static class C {
-
-               @Xml(format=COLLAPSED)
-               public List<String> f1 = new AList<String>().append("f1a");
-
-               @Xml(format=COLLAPSED)
-               public String[] f2 = {"f2a"};
-
-               @Xml(format=COLLAPSED,childName="xf3")
-               public List<String> f3 = new AList<String>().append("f3a");
-
-               @Xml(format=COLLAPSED,childName="xf4")
-               public String[] f4 = {"f4a"};
-       }
-
-       
//====================================================================================================
-       // testGetters - @Xml.format=COLLAPSED, getters.
-       
//====================================================================================================
-       @Test
-       @SuppressWarnings("synthetic-access")
-       public void testGetters() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               D t = new D();
-
-               t.f1 = new AList<String>().append("f1a");
-               t.f2 = new String[]{"f2a"};
-               t.f3 = new AList<String>().append("f3a");
-               t.f4 = new String[]{"f4a"};
-
-               String xml = s.serialize(t);
-               
assertEquals("<object><f1>f1a</f1><f2>f2a</f2><xf3>f3a</xf3><xf4>f4a</xf4></object>",
 xml);
-
-               // Note that existing fields should be reused and appended to.
-               t = p.parse(xml, D.class);
-               assertEquals("f1a", t.f1.get(0));
-               assertEquals("f2a", t.f2[0]);
-               assertEquals("f3a", t.f3.get(0));
-               assertEquals("f4a", t.f4[0]);
-
-               validateXml(t, s);
-       }
-
-       @Bean(properties="f1,f2,f3,f4")
-       public static class D {
-
-               private List<String> f1 = new LinkedList<String>(), f3 = new 
LinkedList<String>();
-               private String[] f2, f4;
-
-               @Xml(format=COLLAPSED)
-               public List<String> getF1() {
-                       return f1;
-               }
-
-               @Xml(format=COLLAPSED)
-               public String[] getF2() {
-                       return f2;
-               }
-               public void setF2(String[] f2) {
-                       this.f2 = f2;
-               }
-
-               @Xml(format=COLLAPSED,childName="xf3")
-               public List<String> getF3() {
-                       return f3;
-               }
-
-               @Xml(format=COLLAPSED,childName="xf4")
-               public String[] getF4() {
-                       return f4;
-               }
-               public void setF4(String[] f4) {
-                       this.f4 = f4;
-               }
-       }
-
-       
//====================================================================================================
-       // testNullConstructibleCollectionFields - @Xml.format=COLLAPSED, null 
constructible collection fields.
-       
//====================================================================================================
-       @Test
-       @SuppressWarnings("synthetic-access")
-       public void testNullConstructibleCollectionFields() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               E t = new E();
-
-               t.f1 = new AList<String>().append("f1a");
-               t.f2 = new AList<String>().append("f2a");
-
-               String xml = s.serialize(t);
-               assertEquals("<object><f1>f1a</f1><xf2>f2a</xf2></object>", 
xml);
-
-               // Note that existing fields should be reused and appended to.
-               t = p.parse(xml, E.class);
-               assertEquals("f1a", t.f1.get(0));
-               assertEquals("f2a", t.f2.get(0));
-
-               validateXml(t, s);
-       }
-
-       @Bean(properties="f1,f2")
-       public static class E {
-
-               private LinkedList<String> f1, f2;
-
-               @Xml(format=COLLAPSED)
-               public LinkedList<String> getF1() {
-                       return f1;
-               }
-               public void setF1(LinkedList<String> f1) {
-                       this.f1 = f1;
-               }
-
-               @Xml(format=COLLAPSED,childName="xf2")
-               public LinkedList<String> getF2() {
-                       return f2;
-               }
-               public void setF2(LinkedList<String> f2) {
-                       this.f2 = f2;
-               }
-       }
-
-
-       
//====================================================================================================
-       // testElementNameOnElementClass - @Xml.format=COLLAPSED, element name 
defined on element class.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnElementClass() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               Object t1 = FA.newInstance(), t2;
-               String r;
-
-               r = s.serialize(t1);
-               assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", r);
-               t2 = p.parse(r, FA.class);
-               assertEqualObjects(t1, t2);
-               validateXml(t1, s);
-
-               t1 = FB.newInstance();
-               r = s.serialize(t1);
-               assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", r);
-               t2 = p.parse(r, FB.class);
-               assertEqualObjects(t1, t2);
-               validateXml(t1, s);
-       }
-
-       public static class FA {
-
-               @Xml(format=COLLAPSED)
-               public List<F1> f1;
-
-               public static FA newInstance() {
-                       FA t = new FA();
-                       t.f1 = new LinkedList<F1>();
-                       t.f1.add(F1.newInstance("x1"));
-                       t.f1.add(F1.newInstance("x2"));
-                       return t;
-               }
-       }
-
-       public static class FB {
-               @Xml(format=COLLAPSED)
-               public F1[] f1;
-
-               public static FB newInstance() {
-                       FB t = new FB();
-                       t.f1 = new F1[]{
-                               F1.newInstance("x1"),
-                               F1.newInstance("x2")
-                       };
-                       return t;
-               }
-       }
-
-       @Bean(typeName="xf1")
-       public static class F1 {
-
-               @Xml(format=TEXT)
-               public String text;
-
-               public static F1 newInstance(String text) {
-                       F1 t = new F1();
-                       t.text = text;
-                       return t;
-               }
-       }
-
-
-       
//====================================================================================================
-       // testElementNameOnElementClassOverridden - @Xml.format=COLLAPSED, 
element name defined on element class,
-       //      but overridden by @Xml.childName on property.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnElementClassOverridden() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               G t = G.newInstance(), t2;
-
-               String xml = s.serialize(t);
-               assertEquals("<object><yf1>x1</yf1><yf1>x2</yf1></object>", 
xml);
-
-               // Note that existing fields should be reused and appended to.
-               t2 = p.parse(xml, G.class);
-               assertEqualObjects(t, t2);
-
-               validateXml(t, s);
-       }
-
-       public static class G {
-
-               @Xml(format=COLLAPSED, childName="yf1")
-               public List<F1> f1;
-
-               public static G newInstance() {
-                       G t = new G();
-                       t.f1 = new LinkedList<F1>();
-                       t.f1.add(F1.newInstance("x1"));
-                       t.f1.add(F1.newInstance("x2"));
-                       return t;
-               }
-       }
-
-
-       
//====================================================================================================
-       // testElementNameOnCollectionClass - @Xml.format=COLLAPSED, element 
name defined on bean class.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnCollectionClass() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               H t = H.newInstance(), t2;
-
-               String xml = s.serialize(t);
-               assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", 
xml);
-
-               // Note that existing fields should be reused and appended to.
-               t2 = p.parse(xml, H.class);
-               assertEqualObjects(t, t2);
-
-               validateXml(t, s);
-       }
-
-       public static class H {
-
-               @Xml(format=COLLAPSED)
-               public H1 f1;
-
-               public static H newInstance() {
-                       H t = new H();
-                       t.f1 = new H1();
-                       t.f1.add("x1");
-                       t.f1.add("x2");
-                       return t;
-               }
-       }
-
-       @Xml(childName="xf1")
-       public static class H1 extends LinkedList<String> {
-       }
-
-
-       
//====================================================================================================
-       // testElementNameOnCollectionClassOverridden - @Xml.format=COLLAPSED, 
element name defined on element class,
-       //      but overridden by @Xml.childName on property.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnCollectionClassOverridden() throws 
Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               G t = G.newInstance(), t2;
-
-               String xml = s.serialize(t);
-               assertEquals("<object><yf1>x1</yf1><yf1>x2</yf1></object>", 
xml);
-
-               // Note that existing fields should be reused and appended to.
-               t2 = p.parse(xml, G.class);
-               assertEqualObjects(t, t2);
-
-               validateXml(t, s);
-       }
-
-       public static class I {
-
-               @Xml(format=COLLAPSED, childName="yf1")
-               public H1 f1;
-
-               public static I newInstance() {
-                       I t = new I();
-                       t.f1 = new H1();
-                       t.f1.add("x1");
-                       t.f1.add("x2");
-                       return t;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
deleted file mode 100755
index 21f778a..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java
+++ /dev/null
@@ -1,261 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.apache.juneau.serializer.SerializerContext.*;
-import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import static org.junit.Assert.*;
-
-import java.io.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.serializer.*;
-import org.apache.juneau.xml.annotation.*;
-import org.junit.*;
-
-@SuppressWarnings("javadoc")
-public class XmlContentTest {
-
-       
//--------------------------------------------------------------------------------
-       // Test beans with @Xml(format=CONTENT)
-       
//--------------------------------------------------------------------------------
-       @Test
-       public void testContentFormat() throws Exception {
-               A t = A.newInstance(), t2;
-               XmlSerializer s1 = XmlSerializer.DEFAULT_SQ,
-                       s2 = new 
XmlSerializerBuilder().sq().ws().enableNamespaces(false).build();
-               XmlParser p = XmlParser.DEFAULT;
-               WriterSerializerSession session;
-               String r;
-               StringWriter sw;
-
-               
//----------------------------------------------------------------
-               // Null
-               
//----------------------------------------------------------------
-               t.f2 = null;
-
-               sw = new StringWriter();
-               session = s1.createSession(new SerializerSessionArgs(new 
ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, 
null));
-               session.serialize(sw, t);
-               r = sw.toString();
-               assertEquals("<A f1='f1'>_x0000_</A>", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               sw = new StringWriter();
-               session = s2.createSession(new SerializerSessionArgs(new 
ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, 
null));
-               session.serialize(sw, t);
-               r = sw.toString();
-               assertEquals("<A f1='f1'>_x0000_</A>\n", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Normal text
-               
//----------------------------------------------------------------
-               t.f2 = "foobar";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>foobar</A>", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>foobar</A>\n", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Special characters
-               
//----------------------------------------------------------------
-               t.f2 = "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.\n\r\t\b";
-
-               r = s1.serialize(t);
-               assertEquals("<A 
f1='f1'>~!@#$%^&amp;*()_+`-={}|[]\\:\";'&lt;&gt;?,.&#x000a;&#x000d;&#x0009;_x0008_</A>",
 r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A 
f1='f1'>~!@#$%^&amp;*()_+`-={}|[]\\:\";'&lt;&gt;?,.&#x000a;&#x000d;&#x0009;_x0008_</A>\n",
 r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Leading spaces
-               
//----------------------------------------------------------------
-               t.f2 = "  foobar";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>_x0020_ foobar</A>", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>_x0020_ foobar</A>\n", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Trailing spaces
-               
//----------------------------------------------------------------
-               t.f2 = "foobar  ";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>foobar _x0020_</A>", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>foobar _x0020_</A>\n", r);
-               t2 = p.parse(r, A.class);
-               assertEqualObjects(t, t2);
-       }
-
-       @Bean(typeName="A")
-       public static class A {
-               @Xml(format=ATTR) public String f1;
-               @Xml(format=TEXT) public String f2;
-
-               public static A newInstance() {
-                       A t = new A();
-                       t.f1 = "f1";
-                       t.f2 = null;
-                       return t;
-               }
-       }
-
-       
//--------------------------------------------------------------------------------
-       // Test beans with @Xml(format=MIXED)
-       
//--------------------------------------------------------------------------------
-       @Test
-       public void testXmlMixed() throws Exception {
-               B t = B.newInstance(), t2;
-               XmlSerializer s1 = XmlSerializer.DEFAULT_SQ,
-                       s2 = new 
XmlSerializerBuilder().sq().ws().enableNamespaces(false).build();
-               XmlParser p = XmlParser.DEFAULT;
-               WriterSerializerSession session;
-               String r;
-               StringWriter sw;
-
-               
//----------------------------------------------------------------
-               // Null
-               
//----------------------------------------------------------------
-               t.f2 = null;
-
-               sw = new StringWriter();
-               session = s1.createSession(new SerializerSessionArgs(new 
ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, 
null));
-               session.serialize(sw, t);
-               r = sw.toString();
-               assertEquals("<A f1='f1'>_x0000_</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               sw = new StringWriter();
-               session = s2.createSession(new SerializerSessionArgs(new 
ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, 
null));
-               session.serialize(sw, t);
-               r = sw.toString();
-               assertEquals("<A f1='f1'>_x0000_</A>\n", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Normal text
-               
//----------------------------------------------------------------
-               t.f2 = "foobar";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>foobar</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>foobar</A>\n", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Normal XML
-               
//----------------------------------------------------------------
-               t.f2 = "<xxx>foobar<yyy>baz</yyy>foobar</xxx>";
-
-               r = s1.serialize(t);
-               assertEquals("<A 
f1='f1'>&lt;xxx&gt;foobar&lt;yyy&gt;baz&lt;/yyy&gt;foobar&lt;/xxx&gt;</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A 
f1='f1'>&lt;xxx&gt;foobar&lt;yyy&gt;baz&lt;/yyy&gt;foobar&lt;/xxx&gt;</A>\n", 
r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // Normal XML with leading and trailing space
-               
//----------------------------------------------------------------
-               t.f2 = "  <xxx>foobar<yyy>baz</yyy>foobar</xxx>  ";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>_x0020_ 
&lt;xxx&gt;foobar&lt;yyy&gt;baz&lt;/yyy&gt;foobar&lt;/xxx&gt; _x0020_</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>_x0020_ 
&lt;xxx&gt;foobar&lt;yyy&gt;baz&lt;/yyy&gt;foobar&lt;/xxx&gt; _x0020_</A>\n", 
r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // XML with attributes
-               
//----------------------------------------------------------------
-               t.f2 = "<xxx x=\"x\">foobar</xxx>";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>&lt;xxx 
x=\"x\"&gt;foobar&lt;/xxx&gt;</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>&lt;xxx 
x=\"x\"&gt;foobar&lt;/xxx&gt;</A>\n", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               
//----------------------------------------------------------------
-               // XML with embedded entities
-               
//----------------------------------------------------------------
-               t.f2 = "<xxx x=\"x\">foo&lt;&gt;bar</xxx>";
-
-               r = s1.serialize(t);
-               assertEquals("<A f1='f1'>&lt;xxx 
x=\"x\"&gt;foo&amp;lt;&amp;gt;bar&lt;/xxx&gt;</A>", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-
-               r = s2.serialize(t);
-               assertEquals("<A f1='f1'>&lt;xxx 
x=\"x\"&gt;foo&amp;lt;&amp;gt;bar&lt;/xxx&gt;</A>\n", r);
-               t2 = p.parse(r, B.class);
-               assertEqualObjects(t, t2);
-       }
-
-       @Bean(typeName="A")
-       public static class B {
-               @Xml(format=ATTR) public String f1;
-               @Xml(format=TEXT) public String f2;
-
-               public static B newInstance() {
-                       B t = new B();
-                       t.f1 = "f1";
-                       t.f2 = null;
-                       return t;
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
deleted file mode 100755
index 9e1f571..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml;
-
-import static org.junit.Assert.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.parser.*;
-import org.junit.*;
-
-@SuppressWarnings("javadoc")
-public class XmlParserTest {
-
-       @Test
-       public void testGenericAttributes() throws Exception {
-               String xml = "<A b='1'><c>2</c></A>";
-               ObjectMap m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{b:'1',c:'2'}", m.toString());
-       }
-
-       @Test
-       public void testGenericWithChildElements() throws Exception {
-               String xml;
-               ObjectMap m;
-
-               xml = "<A><B><C>c</C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{C:'c'}}", m.toString());
-
-               xml = "<A><B><C1>c1</C1><C2>c2</C2></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{C1:'c1',C2:'c2'}}", m.toString());
-
-               xml = "<A><B><C><D1>d1</D1><D2>d2</D2></C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{C:{D1:'d1',D2:'d2'}}}", m.toString());
-
-               xml = "<A><B><C><D1 d1a='d1av'><E1>e1</E1></D1><D2 
d2a='d2av'><E2>e2</E2></D2></C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               
assertEquals("{B:{C:{D1:{d1a:'d1av',E1:'e1'},D2:{d2a:'d2av',E2:'e2'}}}}", 
m.toString());
-
-               xml = "<A><B b='b'><C>c</C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{b:'b',C:'c'}}", m.toString());
-
-               xml = "<A><B b='b'>c</B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{b:'b',contents:'c'}}", m.toString());
-
-               xml = "<A><B>b1</B><B>b2</B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:['b1','b2']}", m.toString());
-
-               xml = "<A><B><C>c1</C><C>c2</C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{C:['c1','c2']}}", m.toString());
-
-               xml = "<A><B v='v1'>b1</B><B v='v2'>b2</B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               
assertEquals("{B:[{v:'v1',contents:'b1'},{v:'v2',contents:'b2'}]}", 
m.toString());
-
-               xml = "<A><B><C v='v1'>c1</C><C v='v2'>c2</C></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               
assertEquals("{B:{C:[{v:'v1',contents:'c1'},{v:'v2',contents:'c2'}]}}", 
m.toString());
-
-               xml = "<A><B c='c1'><c>c2</c></B></A>";
-               m = XmlParser.DEFAULT.parse(xml, ObjectMap.class);
-               assertEquals("{B:{c:['c1','c2']}}", m.toString());
-       }
-
-       @Test
-       public void testPreserveRootElement() throws Exception {
-               String xml;
-               ObjectMap m;
-               ReaderParser p = new 
XmlParserBuilder().preserveRootElement(true).build();
-
-               xml = "<A><B><C>c</C></B></A>";
-               m = p.parse(xml, ObjectMap.class);
-               assertEquals("{A:{B:{C:'c'}}}", m.toString());
-
-               xml = "<A></A>";
-               m = p.parse(xml, ObjectMap.class);
-               assertEquals("{A:{}}", m.toString());
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
deleted file mode 100755
index ffcca5a..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java
+++ /dev/null
@@ -1,1032 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.apache.juneau.xml.annotation.XmlFormat.*;
-import static org.junit.Assert.*;
-
-import java.net.*;
-import java.util.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.jena.annotation.*;
-import org.apache.juneau.json.*;
-import org.apache.juneau.utils.*;
-import org.apache.juneau.xml.annotation.*;
-import org.apache.juneau.xml.xml1a.*;
-import org.apache.juneau.xml.xml1b.*;
-import org.apache.juneau.xml.xml1c.*;
-import org.junit.*;
-
-@SuppressWarnings({"serial","javadoc"})
-public class XmlTest {
-
-       
//====================================================================================================
-       // Simple comparison test with JSON serializer
-       
//====================================================================================================
-       @Test
-       public void testComparisonWithJson() throws Exception {
-
-               String json1 =
-                       "{\n"
-                       +"      name: \"John Smith\",\n"
-                       +"      address: {\n"
-                       +"              streetAddress: \"21 2nd Street\",\n"
-                       +"              city: \"New York\",\n"
-                       +"              state: \"NY\",\n"
-                       +"              postalCode: 10021\n"
-                       +"      },\n"
-                       +"      phoneNumbers: [\n"
-                       +"              \"212 555-1111\",\n"
-                       +"              \"212 555-2222\"\n"
-                       +"      ],\n"
-                       +"      additionalInfo: null,\n"
-                       +"      remote: false,\n"
-                       +"      height: 62.4,\n"
-                       +"      \"fico score\": \" > 640\"\n"
-                       +"}";
-
-               String xml1 =
-                       "<object>\n"
-                       +"      <name>John Smith</name>\n"
-                       +"      <address _type='object'>\n"
-                       +"              <streetAddress>21 2nd 
Street</streetAddress>\n"
-                       +"              <city>New York</city>\n"
-                       +"              <state>NY</state>\n"
-                       +"              <postalCode 
_type='number'>10021</postalCode>\n"
-                       +"      </address>\n"
-                       +"      <phoneNumbers _type='array'>\n"
-                       +"              <string>212 555-1111</string>\n"
-                       +"              <string>212 555-2222</string>\n"
-                       +"      </phoneNumbers>\n"
-                       +"      <additionalInfo _type='null'/>\n"
-                       +"      <remote _type='boolean'>false</remote>\n"
-                       +"      <height _type='number'>62.4</height>\n"
-                       +"      <fico_x0020_score>_x0020_&gt; 
640</fico_x0020_score>\n"
-                       +"</object>\n";
-
-               ObjectMap m = (ObjectMap) XmlParser.DEFAULT.parse(xml1, 
Object.class);
-               String json2 = new 
JsonSerializerBuilder().simple().ws().quoteChar('"').trimNullProperties(false).build().serialize(m);
-               assertEquals(json1, json2);
-
-               m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class);
-               String xml2 = new XmlSerializerBuilder().sq().ws()
-                       .trimNullProperties(false)
-                       .build()
-                       .serialize(m);
-               assertEquals(xml1, xml2);
-       }
-
-       
//====================================================================================================
-       // Test namespacing
-       
//====================================================================================================
-       @Test
-       public void testNamespaces() throws Exception {
-
-               String json1 =
-                       "{\n"
-                       +"      name: \"John Smith\", \n"
-                       +"      address: {\n"
-                       +"              streetAddress: \"21 2nd Street\", \n"
-                       +"              city: \"New York\", \n"
-                       +"              state: \"NY\", \n"
-                       +"              postalCode: 10021\n"
-                       +"      }, \n"
-                       +"      phoneNumbers: [\n"
-                       +"              \"212 555-1111\", \n"
-                       +"              \"212 555-2222\"\n"
-                       +"      ], \n"
-                       +"      additionalInfo: null, \n"
-                       +"      remote: false, \n"
-                       +"      height: 62.4, \n"
-                       +"      \"fico score\": \" > 640\"\n"
-                       +"}";
-
-               String xml1 =
-                       "<object xmlns='http://www.apache.org'>\n"
-                       +"      <name>John Smith</name>\n"
-                       +"      <address _type='object'>\n"
-                       +"              <streetAddress>21 2nd 
Street</streetAddress>\n"
-                       +"              <city>New York</city>\n"
-                       +"              <state>NY</state>\n"
-                       +"              <postalCode 
_type='number'>10021</postalCode>\n"
-                       +"      </address>\n"
-                       +"      <phoneNumbers _type='array'>\n"
-                       +"              <string>212 555-1111</string>\n"
-                       +"              <string>212 555-2222</string>\n"
-                       +"      </phoneNumbers>\n"
-                       +"      <additionalInfo _type='null'/>\n"
-                       +"      <remote _type='boolean'>false</remote>\n"
-                       +"      <height _type='number'>62.4</height>\n"
-                       +"      <fico_x0020_score>_x0020_&gt; 
640</fico_x0020_score>\n"
-                       +"</object>\n";
-
-               ObjectMap m = (ObjectMap) JsonParser.DEFAULT.parse(json1, 
Object.class);
-               String r = new XmlSerializerBuilder().ns().sq().ws()
-                       .addNamespaceUrisToRoot(true)
-                       .defaultNamespace("http://www.apache.org";)
-                       .trimNullProperties(false)
-                       .build()
-                       .serialize(m);
-               assertEquals(xml1, r);
-       }
-
-       
//====================================================================================================
-       // Test bean name annotation
-       
//====================================================================================================
-       @Test
-       public void testBeanNameAnnotation() throws Exception {
-               String e =
-                       "<Person1>\n"
-                       + "     <name>John Smith</name>\n"
-                       + "     <age>123</age>\n"
-                       + "</Person1>\n";
-               String r = XmlSerializer.DEFAULT_SQ_READABLE.serialize(new 
Person1("John Smith", 123));
-               assertEquals(e, r);
-       }
-
-       /** Class with explicitly specified properties */
-       @Bean(typeName="Person1", properties="name,age")
-       public static class Person1 {
-               public int age;
-               private String name;
-               protected Person1(String name, int age) {
-                       this.name = name;
-                       this.age = age;
-               }
-               public String getName() {
-                       return name;
-               }
-               public void setName(String name) {
-                       this.name = name;
-               }
-       }
-
-       
//====================================================================================================
-       // Test trimNulls property.
-       
//====================================================================================================
-       @Test
-       public void testTrimNulls() throws Exception {
-               String e =
-                       "<Person1>\n"
-                       + "     <age>123</age>\n"
-                       + "</Person1>\n";
-               String r = XmlSerializer.DEFAULT_SQ_READABLE.serialize(new 
Person1(null, 123));
-               assertEquals(e, r);
-       }
-
-       
//====================================================================================================
-       // Element name.
-       
//====================================================================================================
-       @Test
-       public void testElementName() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               A t = new A();
-               String r = s.serialize(t);
-               assertEquals("<foo><f1>1</f1></foo>", r);
-               validateXml(t);
-       }
-
-       @Bean(typeName="foo")
-       public static class A {
-               public int f1 = 1;
-       }
-
-       
//====================================================================================================
-       // Element name on superclass.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnSuperclass() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               B2 t = new B2();
-               String r = s.serialize(t);
-               assertEquals("<foo><f1>1</f1></foo>", r);
-               validateXml(t);
-       }
-
-       public static class B1 extends A {}
-       public static class B2 extends B1 {}
-
-       
//====================================================================================================
-       // Element name on interface.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnInterface() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               C3 t = new C3();
-               String r = s.serialize(t);
-               assertEquals("<foo><f1>1</f1></foo>", r);
-               validateXml(t);
-       }
-
-       @Bean(typeName="foo")
-       public static interface C1 {}
-       public static class C2 implements C1 {}
-       public static class C3 extends C2 {
-               public int f1 = 1;
-       }
-
-       
//====================================================================================================
-       // Element name with invalid XML characters.
-       
//====================================================================================================
-       @Test
-       public void testElementNameWithInvalidChars() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               D t = new D();
-               String r = s.serialize(t);
-               
assertEquals("<_x007E__x0021__x0040__x0023__x0024__x0025__x005E__x0026__x002A__x0028__x0029___x002B__x0060_-_x003D__x007B__x007D__x007C__x005B__x005D__x005C__x003A__x0022__x003B__x0027__x003C__x003E__x003F__x002C_._x000A__x000D__x0009__x0008_><f1>1</f1></_x007E__x0021__x0040__x0023__x0024__x0025__x005E__x0026__x002A__x0028__x0029___x002B__x0060_-_x003D__x007B__x007D__x007C__x005B__x005D__x005C__x003A__x0022__x003B__x0027__x003C__x003E__x003F__x002C_._x000A__x000D__x0009__x0008_>",
 r);
-               t = p.parse(r, D.class);
-               validateXml(t);
-       }
-
-       @Bean(typeName="~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.\n\r\t\b")
-       public static class D {
-               public int f1 = 1;
-       }
-
-       
//====================================================================================================
-       // Field of type collection with element name.
-       // Element name should be ignored.
-       
//====================================================================================================
-       @Test
-       public void testIgnoreCollectionFieldWithElementName() throws Exception 
{
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               G t = new G();
-               t.f1.add("bar");
-               String r = s.serialize(t);
-               assertEquals("<bar><f1><string>bar</string></f1></bar>", r);
-               t = p.parse(r, G.class);
-               validateXml(t);
-       }
-
-       @Bean(typeName="foo")
-       public static class F extends LinkedList<String>{}
-
-       @Bean(typeName="bar")
-       public static class G {
-               public F f1 = new F();
-       }
-
-       
//====================================================================================================
-       // Element name on beans of a collection.
-       
//====================================================================================================
-       @Test
-       public void testElementNameOnBeansOfCollection() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               Object o = new J1();
-               String r = s.serialize(o);
-               assertEquals("<foo><f1><bar><f2>2</f2></bar></f1></foo>", r);
-       }
-
-       @Bean(typeName="foo")
-       public static class J1 {
-               @BeanProperty(properties="f2") public List<J2> f1 = new 
AList<J2>().append(new J2());
-       }
-
-       @Bean(typeName="bar")
-       public static class J2 {
-               public int f2 = 2;
-               public int f3 = 3;
-       }
-
-       
//====================================================================================================
-       // @Xml.ns without matching nsUri.
-       
//====================================================================================================
-       @Test
-       public void testXmlNsWithoutMatchingNsUri() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               K t = new K();
-               try {
-                       s.serialize(t);
-                       fail("Exception not thrown");
-               } catch (Exception e) {
-                       assertEquals("Found @Xml.prefix annotation with no 
matching URI.  prefix='foo'", e.getLocalizedMessage());
-               }
-       }
-
-       @Xml(prefix="foo")
-       public static class K {
-               public int f1;
-       }
-
-       
//====================================================================================================
-       // @Xml.format=ATTR.
-       
//====================================================================================================
-       @Test
-       public void testXmlFormatAttr() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               L t = new L();
-               String r = s.serialize(t);
-               assertEquals("<object f2='2'><f1>1</f1><f3>3</f3></object>", r);
-               t.f1 = 4; t.f2 = 5; t.f3 = 6;
-               t = p.parse(s.serialize(t), L.class);
-               assertEquals(4, t.f1);
-               assertEquals(5, t.f2);
-               assertEquals(6, t.f3);
-               validateXml(t);
-       }
-
-       public static class L {
-               public int f1 = 1;
-               @Xml(format=ATTR)
-               public int f2 = 2;
-               public int f3 = 3;
-       }
-
-       
//====================================================================================================
-       // @Xml.format=ATTR with namespaces.
-       
//====================================================================================================
-       @Test
-       public void testXmlFormatAttrWithNs() throws Exception {
-               XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
-               XmlParser p = XmlParser.DEFAULT;
-               M t = new M();
-               String r = null;
-               r = s.build().serialize(t);
-               assertEquals("<object f1='1' f2='2' f3='3'/>", r);
-               
s.enableNamespaces(true).addNamespaceUrisToRoot(true).autoDetectNamespaces(true).trimNullProperties(false);
-               t.f1 = 4; t.f2 = 5; t.f3 = 6;
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:bar='http://bar' xmlns:foo='http://foo' xmlns:baz='http://baz' bar:f1='4' 
foo:f2='5' baz:f3='6'/>", r);
-               t = p.parse(r, M.class);
-               assertEquals(4, t.f1);
-               assertEquals(5, t.f2);
-               assertEquals(6, t.f3);
-               validateXml(t, s.build());
-       }
-
-       @Xml(prefix="bar", namespace="http://bar";)
-       public static class M {
-               @Xml(format=ATTR)
-               public int f1 = 1;
-               @Xml(prefix="foo", format=ATTR, namespace="http://foo";)
-               public int f2 = 2;
-               @Xml(prefix="baz", namespace="http://baz";, format=ATTR)
-               public int f3 = 3;
-       }
-
-       
//====================================================================================================
-       // _xXXXX_ notation.
-       
//====================================================================================================
-       @Test
-       public void testXXXXNotation() throws Exception {
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-               XmlParser p = XmlParser.DEFAULT;
-               String in, r;
-
-               in = "\u0001";
-               r = s.serialize(in);
-               assertEquals("<string>_x0001_</string>", r);
-               in = p.parse(r, String.class);
-               assertEquals("\u0001", in);
-
-               in = "_x0001_";
-               r = s.serialize(in);
-               assertEquals("<string>_x005F_x0001_</string>", r);
-               in = p.parse(r, String.class);
-               assertEquals("_x0001_", in);
-
-               in = "_x001_";
-               r = s.serialize(in);
-               assertEquals("<string>_x001_</string>", r);
-               in = p.parse(r, String.class);
-               assertEquals("_x001_", in);
-
-               in = "_x00001_";
-               r = s.serialize(in);
-               assertEquals("<string>_x00001_</string>", r);
-               in = p.parse(r, String.class);
-               assertEquals("_x00001_", in);
-
-               in = "_xx001_";
-               r = s.serialize(in);
-               assertEquals("<string>_xx001_</string>", r);
-               in = p.parse(r, String.class);
-               assertEquals("_xx001_", in);
-       }
-
-       
//====================================================================================================
-       // @Bean.uri annotation formatted as element
-       
//====================================================================================================
-       @Test
-       public void testBeanUriAnnotationFormattedAsElement() throws Exception {
-               XmlParser p = XmlParser.DEFAULT;
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-
-               N t = new N("http://foo",123, "bar");
-               String r = s.serialize(t);
-               
assertEquals("<object><url>http://foo</url><id>123</id><name>bar</name></object>",
 r);
-
-               t = p.parse(r, N.class);
-               assertEquals("http://foo";, t.url.toString());
-               assertEquals(123, t.id);
-               assertEquals("bar", t.name);
-
-               validateXml(t, s);
-       }
-
-       public static class N {
-               @Rdf(beanUri=true) @Xml(format=ELEMENT) public URL url;
-               public int id;
-               public String name;
-               public N() {}
-               public N(String url, int id, String name) throws Exception {
-                       this.url = new URL(url);
-                       this.id = id;
-                       this.name = name;
-               }
-       }
-
-       
//====================================================================================================
-       // @Bean.uri as elements, overridden element names
-       
//====================================================================================================
-       @Test
-       public void testOverriddenBeanUriAsElementNames() throws Exception {
-               XmlParser p = XmlParser.DEFAULT;
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-
-               O t = new O("http://foo";, 123, "bar");
-               String r = s.serialize(t);
-               
assertEquals("<object><url2>http://foo</url2><id2>123</id2><name>bar</name></object>",
 r);
-
-               t = p.parse(r, O.class);
-               assertEquals("http://foo";, t.url.toString());
-               assertEquals(123, t.id);
-               assertEquals("bar", t.name);
-
-               validateXml(t, s);
-       }
-
-       public static class O {
-               @BeanProperty(name="url2") @Xml(format=ELEMENT) public URL url;
-               @BeanProperty(name="id2") public int id;
-               public String name;
-               public O() {}
-               public O(String url, int id, String name) throws Exception {
-                       this.url = new URL(url);
-                       this.id = id;
-                       this.name = name;
-               }
-       }
-
-       
//====================================================================================================
-       // @Bean.uri and @Bean.id annotations, overridden attribute names
-       
//====================================================================================================
-       @Test
-       public void testOverriddenBeanUriAndIdAnnotations() throws Exception {
-               XmlParser p = XmlParser.DEFAULT;
-               XmlSerializer s = XmlSerializer.DEFAULT_SQ;
-
-               P t = new P("http://foo";, 123, "bar");
-               String r = s.serialize(t);
-               assertEquals("<object url2='http://foo' 
id2='123'><name>bar</name></object>", r);
-
-               t = p.parse(r, P.class);
-               assertEquals("http://foo";, t.url.toString());
-               assertEquals(123, t.id);
-               assertEquals("bar", t.name);
-
-               validateXml(t, s);
-       }
-
-       public static class P {
-               @BeanProperty(name="url2") @Xml(format=ATTR) public URL url;
-               @BeanProperty(name="id2") @Xml(format=ATTR) public int id;
-               public String name;
-               public P() {}
-               public P(String url, int id, String name) throws Exception {
-                       this.url = new URL(url);
-                       this.id = id;
-                       this.name = name;
-               }
-       }
-
-       
//====================================================================================================
-       // Namespace on class
-       
//====================================================================================================
-       @Test
-       public void testNsOnClass() throws Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T1 t = new T1();
-               String r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T1.class)));
-
-               s.enableNamespaces(true).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T1.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T1.class)));
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T1.class)));
-
-               s.enableNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T1.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // Namespace on class with element name.
-       
//====================================================================================================
-       @Test
-       public void testNsOnClassWithElementName() throws Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T2 t = new T2();
-               String r = s.build().serialize(t);
-               
assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
-               assertTrue(t.equals(p.parse(r, T2.class)));
-
-               s.enableNamespaces(true).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<foo:T2><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<foo:T2 
xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>",
 r);
-               assertTrue(t.equals(p.parse(r, T2.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r);
-
-               s.enableNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>",
 r);
-               assertTrue(t.equals(p.parse(r, T2.class)));
-               validateXml(t, s.build());
-       }
-
-
-       
//====================================================================================================
-       // Namespace on package, no namespace on class.
-       
//====================================================================================================
-       @Test
-       public void testNsOnPackageNoNsOnClass() throws Exception {
-               XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
-               XmlParser p = XmlParser.DEFAULT;
-
-               T3 t = new T3();
-               String r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T3.class)));
-               validateXml(t, s.build());
-
-               s.enableNamespaces(true).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Manually set namespaces
-               s.autoDetectNamespaces(false);
-               s.namespaces(
-                       NamespaceFactory.get("p1","http://p1";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p1='http://p1' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T3.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-
-               s.enableNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p1='http://p1' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T3.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // Namespace on package, no namespace on class, element name on class.
-       
//====================================================================================================
-       @Test
-       public void testNsOnPackageNoNsOnClassElementNameOnClass() throws 
Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T4 t = new T4();
-               String r = s.build().serialize(t);
-               
assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
-               assertTrue(t.equals(p.parse(r, T4.class)));
-
-               s.enableNamespaces(true).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<p1:T4><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<p1:T4 
xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";),
-                       NamespaceFactory.get("p1","http://p1";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz' 
xmlns:p1='http://p1'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>",
 r);
-               assertTrue(t.equals(p.parse(r, T4.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r);
-
-               s.enableNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p1='http://p1' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>",
 r);
-               assertTrue(t.equals(p.parse(r, T4.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // Namespace on package, namespace on class, element name on class.
-       
//====================================================================================================
-       @Test
-       public void testNsOnPackageNsOnClassElementNameOnClass() throws 
Exception {
-               XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
-               XmlParser p = XmlParser.DEFAULT;
-
-               T5 t = new T5();
-               String r = s.build().serialize(t);
-               
assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
-               assertTrue(t.equals(p.parse(r, T5.class)));
-               validateXml(t, s.build());
-
-               
s.ns().addNamespaceUrisToRoot(false).autoDetectNamespaces(false);
-               r = s.build().serialize(t);
-               
assertEquals("<foo:T5><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<foo:T5 
xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>",
 r);
-               assertTrue(t.equals(p.parse(r, T5.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
-               validateXml(t, s.build());
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r);
-               validateXml(t, s.build());
-
-               s.ns();
-               r = s.build().serialize(t);
-               assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>",
 r);
-               assertTrue(t.equals(p.parse(r, T5.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // Namespace on package, namespace on class, no element name on class.
-       
//====================================================================================================
-       @Test
-       public void testNsOnPackageNsOnClassNoElementNameOnClass() throws 
Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T6 t = new T6();
-               String r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T6.class)));
-
-               s.ns().addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T6.class)));
-               validateXml(t, s.build());
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               validateXml(t, s.build());
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               validateXml(t, s.build());
-
-               s.ns();
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T6.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // Combination of namespaces and overridden bean property names.
-       
//====================================================================================================
-       @Test
-       public void testComboOfNsAndOverriddenBeanPropertyNames() throws 
Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T7 t = new T7();
-               String r = s.build().serialize(t);
-               
assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r);
-               assertTrue(t.equals(p.parse(r, T7.class)));
-
-               s.enableNamespaces(true).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";),
-                       NamespaceFactory.get("p1","http://p1";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz' 
xmlns:p1='http://p1'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T7.class)));
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r);
-
-               s.enableNamespaces(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r);
-
-               s.ns().addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p1='http://p1' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T7.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // @XmlNs annotation
-       
//====================================================================================================
-       @Test
-       public void testXmlNsAnnotation() throws Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T8 t = new T8();
-               String r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T8.class)));
-
-               
s.ns().addNamespaceUrisToRoot(false).autoDetectNamespaces(false);
-               r = s.build().serialize(t);
-               
assertEquals("<object><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>",
 r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>",
 r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>",
 r);
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               assertTrue(t.equals(p.parse(r, T8.class)));
-               validateXml(t, s.build());
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               
assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r);
-               validateXml(t, s.build());
-
-               s.ns();
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p2='http://p2' xmlns:p1='http://p1' xmlns:c1='http://c1' 
xmlns:f1='http://f1'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>",
 r);
-               assertTrue(t.equals(p.parse(r, T8.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // @Xml.ns on package, @Xml.nsUri not on package but in @XmlNs.
-       
//====================================================================================================
-       @Test
-       public void testXmlNsOnPackageNsUriInXmlNs() throws Exception {
-               XmlSerializerBuilder s = new 
XmlSerializerBuilder().sq().autoDetectNamespaces(false);
-               XmlParser p = XmlParser.DEFAULT;
-
-               T9 t = new T9();
-               String r = s.build().serialize(t);
-               assertEquals("<object><f1>1</f1></object>", r);
-               assertTrue(t.equals(p.parse(r, T9.class)));
-
-               
s.ns().autoDetectNamespaces(false).addNamespaceUrisToRoot(false);
-               r = s.build().serialize(t);
-               assertEquals("<object><p1:f1>1</p1:f1></object>", r);
-
-               // Add namespace URIs to root, but don't auto-detect.
-               // Only xsi should be added to root.
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<object 
xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1></object>", r);
-
-               // Manually set namespaces
-               s.namespaces(
-                       NamespaceFactory.get("foo","http://foo";),
-                       NamespaceFactory.get("bar","http://bar";),
-                       NamespaceFactory.get("baz","http://baz";)
-               );
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:foo='http://foo' xmlns:bar='http://bar' 
xmlns:baz='http://baz'><p1:f1>1</p1:f1></object>", r);
-
-               // Auto-detect namespaces.
-               s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<object><f1>1</f1></object>", r);
-               assertTrue(t.equals(p.parse(r, T9.class)));
-               validateXml(t, s.build());
-
-               s.addNamespaceUrisToRoot(true);
-               r = s.build().serialize(t);
-               assertEquals("<object><f1>1</f1></object>", r);
-               validateXml(t, s.build());
-
-               s.ns();
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:p1='http://p1'><p1:f1>1</p1:f1></object>", r);
-               assertTrue(t.equals(p.parse(r, T9.class)));
-               validateXml(t, s.build());
-       }
-
-       
//====================================================================================================
-       // @Xml.format=ATTR
-       
//====================================================================================================
-       @Test
-       public void testXmlAttrs() throws Exception {
-               XmlSerializerBuilder s = new XmlSerializerBuilder().sq();
-               XmlParser p = XmlParser.DEFAULT;
-               String r;
-
-               Q t = new Q();
-               t.f1 = new URL("http://xf1";);
-               t.f2 = "xf2";
-               t.f3 = "xf3";
-               r = s.build().serialize(t);
-               assertEquals("<object f1='http://xf1' f2='xf2' x3='xf3'/>", r);
-               t = p.parse(r, Q.class);
-               assertEquals("http://xf1";, t.f1.toString());
-               assertEquals("xf2", t.f2);
-               assertEquals("xf3", t.f3);
-
-               s.ns().addNamespaceUrisToRoot(true).autoDetectNamespaces(true);
-               r = s.build().serialize(t);
-               assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' 
xmlns:ns='http://ns' xmlns:nsf1='http://nsf1' xmlns:nsf3='http://nsf3' 
nsf1:f1='http://xf1' ns:f2='xf2' nsf3:x3='xf3'/>", r);
-               validateXml(t, s.build());
-
-               t = p.parse(r, Q.class);
-               assertEquals("http://xf1";, t.f1.toString());
-               assertEquals("xf2", t.f2);
-               assertEquals("xf3", t.f3);
-       }
-
-       @Xml(prefix="ns", namespace="http://ns";)
-       public static class Q {
-
-               @Xml(format=ATTR, prefix="nsf1", namespace="http://nsf1";)
-               public URL f1;
-
-               @Xml(format=ATTR)
-               public String f2;
-
-               @BeanProperty(name="x3")
-               @Xml(format=ATTR, prefix="nsf3", namespace="http://nsf3";)
-               public String f3;
-
-               public Q() throws Exception {
-                       f1 = new URL("http://f1";);
-                       f2 = "f2";
-                       f3 = "f3";
-               }
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java
deleted file mode 100755
index 9831372..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml.xml1a;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.xml.annotation.*;
-
-@Xml(prefix="foo",namespace="http://foo";)
-@Bean(sort=true)
-@SuppressWarnings("javadoc")
-public class T1 {
-
-       public int f1 = 1;
-
-       @Xml(prefix="bar",namespace="http://bar";) public int f2 = 2;
-
-       private int f3 = 3;
-       public int getF3() { return f3;}
-       public void setF3(int f3) { this.f3 = f3;}
-
-       private int f4 = 4;
-       @Xml(prefix="baz",namespace="http://baz";) public int getF4() { return 
f4; }
-       public void setF4(int f4) { this.f4 = f4;}
-
-       public boolean equals(T1 x) {
-               return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java
deleted file mode 100755
index 5c43344..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml.xml1a;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.xml.annotation.*;
-
-@Xml(prefix="foo",namespace="http://foo";)
-@Bean(typeName="T2", sort=true)
-@SuppressWarnings("javadoc")
-public class T2 {
-
-       public int f1 = 1;
-
-       @Xml(prefix="bar",namespace="http://bar";) public int f2 = 2;
-
-       private int f3 = 3;
-       public int getF3() { return f3;}
-       public void setF3(int f3) { this.f3 = f3;}
-
-       private int f4 = 4;
-       @Xml(prefix="baz",namespace="http://baz";) public int getF4() { return 
f4; }
-       public void setF4(int f4) { this.f4 = f4;}
-
-       public boolean equals(T2 x) {
-               return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java
deleted file mode 100755
index 96e7cce..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java
+++ /dev/null
@@ -1,37 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml.xml1b;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.xml.annotation.*;
-
-@Bean(sort=true)
-@SuppressWarnings("javadoc")
-public class T3 {
-
-       public int f1 = 1;
-
-       @Xml(prefix="bar",namespace="http://bar";) public int f2 = 2;
-
-       private int f3 = 3;
-       public int getF3() { return f3; }
-       public void setF3(int f3) { this.f3 = f3; }
-
-       private int f4 = 4;
-       @Xml(prefix="baz",namespace="http://baz";) public int getF4() { return 
f4; }
-       public void setF4(int f4) { this.f4 = f4; }
-
-       public boolean equals(T3 x) {
-               return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;
-       }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java
deleted file mode 100755
index b1acc8a..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java
+++ /dev/null
@@ -1,37 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml.xml1b;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.xml.annotation.*;
-
-@Bean(typeName="T4", sort=true)
-@SuppressWarnings("javadoc")
-public class T4 {
-
-       public int f1 = 1;
-
-       @Xml(prefix="bar",namespace="http://bar";) public int f2 = 2;
-
-       private int f3 = 3;
-       public int getF3() { return f3; }
-       public void setF3(int f3) { this.f3 = f3; }
-
-       private int f4 = 4;
-       @Xml(prefix="baz",namespace="http://baz";) public int getF4() { return 
f4;}
-       public void setF4(int f4) { this.f4 = f4; }
-
-       public boolean equals(T4 x) {
-               return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java 
b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java
deleted file mode 100755
index 9aefbff..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.xml.xml1b;
-
-import org.apache.juneau.annotation.*;
-import org.apache.juneau.xml.annotation.*;
-
-@Xml(prefix="foo",namespace="http://foo";)
-@Bean(typeName="T5", sort=true)
-@SuppressWarnings("javadoc")
-public class T5 {
-
-       public int f1 = 1;
-
-       @Xml(prefix="bar",namespace="http://bar";) public int f2 = 2;
-
-       private int f3 = 3;
-       public int getF3() { return f3; }
-       public void setF3(int f3) { this.f3 = f3; }
-
-       private int f4 = 4;
-       @Xml(prefix="baz",namespace="http://baz";) public int getF4() { return 
f4; }
-       public void setF4(int f4) { this.f4 = f4; }
-
-       public boolean equals(T5 x) {
-               return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4;
-       }
-}

Reply via email to