validate validar online example con against java xml xsd

validar - validate xsd java example



¿Cuál es mejor para el esquema para la generación de código, XMLBeans o JAXB? (5)

Desea usar una biblioteca para el esquema XML para generar código y quería saber si las personas tienen preferencia entre XMLBeans y JAXB. Rendimiento, capacidad de validación de esquema, uso de memoria ... Cualquier indicador ayudará ...


+1 para la respuesta de Joachim, y para agregar una de mis características favoritas, JAXB 2.0 crea enums Java a partir de tipos simples restringidos.


Mi preferencia personal sería JAXB. Tiene un enfoque más moderno utilizando anotaciones y muchas características de Java 5. Por otro lado, XMLBeans sigue siendo compatible con Java 1.4, si esto es necesario para usted. Algunos otros pensamientos en ningún momento particular son:

  • Desde Java 6 en JAXB se incluye el JDK, por lo que está disponible de fábrica.
  • JAXB funciona con clases anotadas de Java (tipo POJO): interfaces generadas con XMLBeans y sin clases
  • JAXB permite anotar las clases de Java para usarlas para ordenar y desasignar, o puede comenzar con un Esquema XML, generar las clases de Java y luego ingresar a un / marshalling
  • XMLBeans solo permite comenzar con un Esquema XML, genera interfaces y luego usa esto para unificar / ordenar

Otro beneficio de JAXB es que, dado que trabaja con POJO, puede sentirse cómodo al usarlos como objetos de dominio de primera clase y usarlos en toda la pila de aplicaciones.

¿Desea usarlos como sus objetos de valor para su capa DAO? ¿Qué tal su modelo en la capa UI? Ve a por ello.

De esta manera, tiene menos capas de asignación y DTO, lo que significa menos código para escribir, probar y mantener.


Prefiero XMLBeans, ya que viene con una práctica herramienta llamada "inst2xsd" que te permite generar un esquema a partir de un documento XML. JAXB solo puede compilar esquemas, no generarlos.


Los XmlObjects también son objetos de dominio y DTO de primera clase, así como objetos de visualización con fácil acceso al infoset xml para un análisis eficiente. Por lo general, los objetos comerciales son de grano demasiado grueso, por lo que habrá que implementar algunos mapas tanto para XmlBeans como para JAXB utilizando ensambladores de DTO o marcos de mapeo. JAXB ofrece validación del tiempo de clasificación y está mejor integrado con la infraestructura, pero creo que las ventajas de XmlBeans son más fuertes que las ventajas de JAXB