Me gustaría controlar el orden de los atributos en los archivos .java generados por el compilador JAXB.JAXB Compilador y orden de atributo
Soy consciente de que el orden de los atributos no es importante para la validación de xml. El orden es importante para la comparación textual de xml marshalled en un entorno de prueba de regresión. El orden de los atributos en un archivo afecta directamente el orden de los atributos en las etiquetas xml compiladas.
Cada vez que se ejecuta el compilador JAXB, los grupos de atributos aparecen en un orden diferente, incluso sin cambios en el esquema. No hay una opción aparente disponible en el compilador para evitar este comportamiento.
Me gustaría evitar ejecutar un script de compilación posterior para reordenar alfabéticamente los atributos en los archivos .java generados, ya que esto desglosa los grupos de atributos, pero no estoy seguro de que haya otra opción.
Cualquier sugerencia es muy apreciada.
Gracias, de Dave
La comparación es parte de una prueba de regresión guión impulsado fiesta grande y que actualmente no están parseando cualquiera de las respuestas XML. Podría usar una herramienta XML diff pero no tengo ninguna experiencia con ellos. Estoy trabajando en un entorno Solaris: ¿puede sugerir una herramienta xml diff que se pueda invocar desde la línea de comandos para este fin? También es posible que los archivos que se comparen no validen en relación con el esquema porque ciertas diferencias conocidas se sustituyen por valores constantes. – daveg
Además, estaba considerando reordenar los atributos en el archivo .java, no la respuesta xml. Supongo que el Marshaller utiliza la reflexión porque el orden en el archivo .java parece controlar directamente el orden de los atributos en las respuestas ordenadas. – daveg
Edité mi respuesta para abordar sus dos puntos. –