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

Можно ли указать JAXB игнорировать порядок элементов? Чтобы генерировать XSD будет содержать all -элементы вместо sequence -элементов?

Ответы

Ответ 1

Добавьте XmlType аннотацию к классу с пустым propOrder, например:

@XmlType(propOrder={})
public class MyClass{
    String username;
    String street;
    String address;
}

Затем он будет генерировать xs:all (который является неупорядоченным) вместо последовательности.

<xs:complexType name="MyClass">
  <xs:all>
    <xs:element name="username" type="xs:string" minOccurs="0"/>
    <xs:element name="street" type="xs:string" minOccurs="0"/>
    <xs:element name="address" type="xs:string" minOccurs="0"/>
  </xs:all>
</xs:complexType>