2010-03-05 4 views
0

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

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

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

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

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

+0

Прошу не спрашивать одно и то же дважды. http://stackoverflow.com/questions/2385405/jaxb-lists-namespaces-in-root-element-each-element – skaffman

+0

Извините, этот пост был отправлен без примера – Anton

ответ

0

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

0

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