2013-10-07 2 views
1

Мне нужно создать документ XML, который начинается, как:JAXB XmlSchema.xmlns (в package-info.java) игнорируется маршаллер

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance">

Как таковой я модифицировал package-info.java к быть как следует:

@javax.xml.bind.annotation.XmlSchema(namespace = "urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" 
           , xmlns = { @javax.xml.bind.annotation.XmlNs(prefix="xsi" 
                      , namespaceURI="http://www.w3.org/2001/XMLSchema-instance") 
              } 
           , elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED 
           ) 
package mypackage; 

Но выход:

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02"> 

Я не уверен, порога e, чтобы начать выглядеть как все, что все, что я нахожу, говорит, что я делаю именно то, что я делаю ...

ОБНОВЛЕНИЕ: Я решил это, используя MOXy как реализацию JAXB; код был ОК, кажется, проблема с реализацией, которую я использовал: \

ответ

0

У меня есть пример ниже и работает правильно. Попробуйте, и если у вас возникнут вопросы, я попытаюсь помочь.

elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = { 
    @XmlNs(prefix = "xsi", namespaceURI = "http://www.w3.org/2001/XMLSchema-instance") 
}) 

С уважением

+0

Попробуйте добавить некоторое описание, как скажем __ «у вас есть эта вещь неправильно, это должно быть, что» __ Это сделать ответ более полезным даже для вас, когда вы вновь его в будущем – mtk

Смежные вопросы