2013-08-02 6 views
0

Я использую CXF для создания классов Java из WSDL/XSD, а затем обратно в XML (для JMS).Удалить пространство имен xsi в элементе

В одном из созданных классов, он говорит:

@XmlElement(namespace = "http://www.example.com/", nillable = true) 
protected Datum datum; 

Все хорошо, но когда я ставлю нулевое значение:

test.setDatum(null); 

Я получаю следующий XML генерируется:

<datum xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" /> 

xsi: nil = "true" - это то, что я хочу, но я не хочу, чтобы namespace xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance", поскольку это пространство имен уже указано в корневом элементе. Кроме того, проверка не выполняется на тестовой платформе, которую мы должны использовать.

Как избавиться от дополнительного пространства имен в элементе?

ответ

0

Я сделал это наоборот. Я написал перехватчик, который проверяет определенные атрибуты. Если найдено, я добавляю xsi: nil = "true" атрибут в xml.