Jaxb пространства имен в каждом элементе вместо корневого элемента во время сортировки - PullRequest
0 голосов
/ 05 марта 2010

По умолчанию jaxb 2 перечисляет все (все возможные обязательные) пространства имен в корневом элементе во время сортировки:

<rootElement xmlns="default_ns" xmlns:ns1="ns1" xmlns:ns2="ns2"> <ns1:element/> </rootElement>

Есть ли способ описать пространство имен в каждом элементе вместо корневого элемента?:

<rootElement xmlns="default_ns"> <element xmlns="ns1"/> </rootElement>

Это также решает проблему "ненужных пространств имен", что также важно в моем случае. Любые предложения приветствуются.

Ответы [ 2 ]

0 голосов
/ 04 мая 2012

Кроме того, я склонен согласиться с @Anton в ответе, который он предложил в другой ветке. Я действительно не должен иметь значение. И если вы должны принудительно использовать тот или иной путь, вы всегда должны предпочитать контекст верхнего уровня, особенно если у вас есть потенциально повторяющиеся элементы. Повторение объявления пространства имен в элементах одного уровня является пустой тратой, а также неоптимальным для синтаксического анализатора на принимающей стороне.

0 голосов
/ 29 марта 2010

Ответ отрицательный, JAXB не поддерживает такую ​​низкоуровневую настройку. Рассмотрите возможность использования XSLT для пост-обработки маршализованного XML.

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