2014-12-03 2 views
0

Есть ли другой способ управления префиксами пользовательского пространства имен, используя аннотации, отличные от аннотаций уровня пакета @Xmlns.Задача префикса пользовательского пространства имен JAXB

Можно ли это сделать на уровне элемента? Также возможно иметь одно пространство имен с несколькими префиксами?

+0

Я ценю английский экзамен trylimits, но какой-то ответ будет лучше оценен – rpfujiw

ответ

1

Что вы хотите сделать, на самом деле? Почему префиксы пространства имен важны для вас?

Не существует стандартных аннотаций на уровне элементов для префиксов пространства имен.

опции для управления префиксами пространства имен я знаю, являются:

  • @XmlNS вы уже упоминали.
  • Предоставление пользовательских NamespacePrefixMapper.
  • Обработка на нижнем уровне XML (например, на уровне StAX, SAX или DOM).

Что я могу себе представить:

  • @XmlElementRef/@XmlElementRefs обычно используют JAXBElements, которые имеют QNames, которые имеют префиксы. Возможно, этот префикс будет использоваться.
  • У вас может быть свойство QName (xs:QName в XSD), оно также может использоваться для добавления сопоставления пространства имен.
  • Возможно, что-то в направлении @XmlAnyElement (содержащий элемент DOM).
  • Думаю, что я видел что-то в направлении XmlAdapter - Я думаю, что там был вариант где-то для него NamespacePrefixMapper -aware. (Фактически необходимо для типов, поддерживающих пространство имен, таких как QName).
Смежные вопросы