2015-01-06 7 views
2

У меня есть иерархия классов, которая преобразуется в XML с помощью JAXB. Я хочу, чтобы созданный XML имел атрибуты xsi: noNamespaceSchemaLocation и xmls: xsi в элементе head (xsi: noNamespaceSchemaLocation = "Something.xsd" xmls: xsi = "http://www.w3.org/2001/XMLSchema- пример"). Я не хочу, чтобы JAXB действительно использовал схему в любом случае - просто сохраните эти атрибуты и значения.Как сообщить JAXB о добавлении атрибута noNameSpaceSchemaLocation

есть конкретная аннотация для этого? я мог бы создать только постоянную XmlAttribute но это кажется неправильным ...

благодаря

ответ

2

Вы можете установить JAXB_NO_NAMESPACE_SCHEMA_LOCATION на Marshaller как следующее:

marshaller.setProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION, "address.xsd"); 
+0

Спасибо! добавит ли атрибут xmls: xsi также значение XMLSchema-instance? – ABR

+0

@ABR - Да, будет. –

+0

Спасибо. Вы знаете, как указать это как часть фазы генерации кода 'cxf-xjc-plugin' в maven (где« Marhsaller »напрямую не обращается)? – vikingsteve

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