Ошибки в XML-схеме от MOXy

Я пытаюсь создать схему XML, используя JAXBContext.generateSchema(..).

Мой класс выглядит примерно так:

@XmlRootElement
@XmlAccessorType( XmlAccessType.FIELD )
class Person {
  @XmlAttribute
  public String name;

  @XmlAnyAttribute
  public Map<QName, String> otherAttributes = new HashMap<QName, String>();
}

И когда я генерирую схему с помощью RI, она работает нормально.

<xsd:attribute name="name" type="xsd:string" />
<xsd:anyAttribute processContents="skip" namespace="##other" />

А вот при использовании генератора от MOXy меняет порядок:

<xsd:anyAttribute processContents="skip" namespace="##other" />
<xsd:attribute name="name" type="xsd:string" />

(это не разрешено в схеме XML)

Это можно как-то исправить? Я использую MOXy 2.4.1.


person mortenoh    schedule 22.12.2012    source источник


Ответы (1)


Примечание. Я EclipseLink JAXB (MOXy) руководитель и член JAXB (JSR-222) группа экспертов.

Я ввел следующую ошибку для этой проблемы, которую вы можете использовать, чтобы отслеживать наш прогресс в этой проблеме.

У нас должно быть исправление в начале нового года, когда все вернутся из отпуска.

ОБНОВЛЕНИЕ

Эта проблема устранена в потоках EclipseLink 2.4.2 и 2.5.0. Любая из ночных сборок для этих ярлыков, начиная с 28 декабря 2012 г., будет содержать это исправление и доступна по следующей ссылке:

person bdoughan    schedule 23.12.2012
comment
Спасибо, не был на 100% уверен, баг это или нет. Просто спросите, нужен ли вам полный код (его немного). - person mortenoh; 23.12.2012