unmarshal parse online marshal jaxbunmarshaller jaxbcontext example bean java parsing jaxb xml-parsing marshalling

java - parse - ¿JAXB siempre requiere XSD?



xml to java object jaxb online (3)

http://www.oracle.com/technetwork/articles/javase/index-140168.html#binsch - Este artículo dice " JAXB requiere que el documento XML al que desea acceder tenga un esquema "

Aquí hay un ejemplo de Hello World, usa hello.xsd

http://jaxb.java.net/tutorial/section_1_3-Hello-World.html#Hello%20World -

Y aquí hay un ejemplo de Hello World sin usar ningún xsd.

http://www.mkyong.com/java/jaxb-hello-world-example/

La especificación dice que JAXB también funciona sin xsd, si eso es cierto, entonces qué tan lejos el término "Binding" justifica. Creo que el enlace ocurre al vincular el esquema.

La carificación será útil. Gracias


la clase Cliente en el tutorial no es más que un objeto vinculante que se generará desde XSD utilizando JAXB. El tipo se escapó de eso en su tutorial.


xsd es solo una representación formal de xml, análoga a ''Clase'' para un ''Objeto''. Puede tener un xml compatible sin un xsd (en cuyo caso el xsd está oculto). Si bien es cierto que comenzamos con xsd y generamos objetos Java en su mayor parte, también puedes hacer las cosas al revés. ''schemagen'' en realidad te permite crear un xsd para una clase java determinada. Esto es solo para decir que hay múltiples puntos de partida.


Las implementaciones JAXB 2 (JSR-222) no requieren un esquema XML. Puede comenzar desde un modelo de objetos. Solo necesita agregar anotaciones donde desea anular el comportamiento de mapeo predeterminado.

Nota: El enlace que citó ( http://www.oracle.com/technetwork/articles/javase/index-140168.html#binsch ) era para JAXB 1 (JSR-31) que requería un esquema XML. JAXB 2, que es a lo que la mayoría de la gente hace referencia cuando dicen que JAXB no requiere un esquema XML.