JsonXMLRootProvider { public QName getName(Class<?> type) { if (type.getAnnotation(XmlRootElement.class) != null) { return getXmlRootElementName(type); } else if (type.getAnnotation(XmlType.class) != null) { return getXmlTypeName(type); } else { return null; } }  QName getName(Class<?> type); JAXBElement<?> createElement(Class<?> type, Object value);  }
@Test public void testGetName() { JsonXMLRootProvider provider = new JsonXMLRootProvider(); Assert.assertEquals(new QName("sampleRootElement"), provider.getName(SampleRootElement.class)); Assert.assertEquals(new QName("sampleType"), provider.getName(SampleType.class)); Assert.assertEquals(new QName("urn:staxon:jaxb:test", "sampleTypeWithNamespace"), provider.getName(SampleTypeWithNamespace.class)); Assert.assertNull(provider.getName(EmptyType.class)); }