package org.simpleframework.xml.stream; import java.io.StringReader; import junit.framework.TestCase; public class NamespaceAttributeTest extends TestCase { private static final String SOURCE = "<root xmlns='default' xmlns:a='A' xmlns:b='B'>" + " <child a:attributeA='valueA' b:attributeB='valueB'>"+ " <leaf b:attributeC='c'/>"+ " </child>+" + " <a:entry b:attributeD='valueD'/>"+ "</root>"; public void testAttributes() throws Exception { InputNode root = NodeBuilder.read(new StringReader(SOURCE)); InputNode child = root.getNext(); NodeMap<InputNode> map = child.getAttributes(); assertEquals(root.getReference(), "default"); assertEquals(child.getReference(), "default"); assertEquals(map.get("attributeA").getValue(), "valueA"); assertEquals(map.get("attributeA").getPrefix(), "a"); assertEquals(map.get("attributeA").getReference(), "A"); assertEquals(map.get("attributeB").getValue(), "valueB"); assertEquals(map.get("attributeB").getPrefix(), "b"); assertEquals(map.get("attributeB").getReference(), "B"); InputNode leaf = child.getNext(); assertEquals(leaf.getReference(), "default"); assertEquals(leaf.getAttribute("attributeC").getValue(), "c"); assertEquals(leaf.getAttribute("attributeC").getPrefix(), "b"); assertEquals(leaf.getAttribute("attributeC").getReference(), "B"); InputNode entry = root.getNext(); assertEquals(entry.getReference(), "A"); assertEquals(entry.getAttribute("attributeD").getValue(), "valueD"); assertEquals(entry.getAttribute("attributeD").getPrefix(), "b"); assertEquals(entry.getAttribute("attributeD").getReference(), "B"); } }