Определите другое пространство имен схемы и имя префикса в дочернем элементе с помощью JAXB - PullRequest
0 голосов
/ 22 апреля 2020

Мне интересно, есть ли способ определить префиксное имя и расположение схемы с помощью 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, но не может добавить префикс

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...