Есть ли способ использовать JAXB для того, чтобы получить пространство имен программно из элемента, отличного от root?JAXB Получает пространство имен из элемента, отличного от root?
я могу использовать следующий на корневой элемент (где Detailedreport является корневой элемент объекта):
QName qname = jaxb.getJaxbContext().createJAXBIntrospector().getElementName(new Detailedreport());
final String namespace = qname.getNamespaceURI();
Однако, если я попробовать использовать тип из того же пакета, но не корневого элемента, qname равно null.
Согласно javadocs for JAXBIntrospector:
Объект Параметр является элементом JAXB для следующих случаев:
Это является экземпляром javax.xml.bind.JAXBElement. Класс объекта аннотируется с помощью @XmlRootElement.
Учитывая, что мой элемент без полномочий root, очевидно, не имеет @XmlRootElement, есть ли способ получить для него пространство имен/имен?
В качестве альтернативы, есть ли способ определить программно, какой класс представляет корневой элемент в пакете (без необходимости сканировать все классы для аннотации)? Я вижу пространство имен в файле package-info.java, но не знаю, как это сделать.