Мне интересно, есть ли способ определить префиксное имя и расположение схемы с помощью JAXB в дочернем элементе. на самом деле я использую JAXB NaNamespacePrefixMapper, чтобы сделать работу, и я получаю что-то вроде этого:
<soap:Envelope xmlns:soap="http://demo.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance http://www.test.com/childnamespace" xmlns:xsd="http://www.w3.org/2001/XMLSchema http://www.test.com/childschema.xsd" xmlns:child="http://childnamespacehere"> <soap:Body> <child:element2> <att1>test</att1> <att2>test</att2> </child:element2 > </soap:Body> </soap:Envelope>
И мне нужно добиться чего-то вроде этого, где схема, пространство имен и префикс объявлены как атрибуты дочернего элемента element
<soap:Envelope xmlns:soap="http://demo.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <child:element2 xmlns:child="http://www.tests.com/childnamespace" "xsi:schemaLocation="http://www.test.com/chilenamespace http://www.test.com/childschema.xsd" > <att1>test</att1> <att2>test</att2> </child:element2 > </soap:Body> </soap:Envelope>
Поиск в StackOverflow Я обнаружил, что кто-то предлагает сделать это:
class child @XmlAttribute(name="xmlns:child") String xmlns = "http://childnamespacehere"; public void setXmlns(String namespace){}; public String getXmlns(){};
, но это позволяет мне только добавить в качестве атрибута xmlns, но не может добавить префикс
Любой совет?