partir generate generar from example create clases java xml xsd jaxb

generate - xsd to java



Validación de esquema JAXB al desmarcar elemento no raíz (1)

¿Has intentado pasar al método unmarshal la clase del frijol encuadernado? Como se explica en el Ejemplo 65. Desasignación a un tipo conocido

Cuando deshace el XML completo con JAXB, puede establecer el esquema XML para habilitar la validación durante el análisis:

//javax.xml.validation.Schema schema = ... jaxbUnmarshaller = JAXBContext.newInstance(SomeRootType.class).createUnmarshaller(); jaxbUnmarshaller.setSchema(schema);

Por otro lado, cuando deshace la lista de NestedObjest s de XML, uno por uno (por ejemplo, para disminuir el uso de la memoria), este método falla (ya que Schema solo acepta la raíz) con una excepción:

org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 22; cvc-elt.1: Cannot find the declaration of element ''NestedObject''

Falla incluso si NestedObjectType está bien definido en el XSD. ¿Hay alguna opción para habilitar la validación de objetos anidados? Tenga en cuenta que la definición de un nuevo esquema es una opción miserable ya que el XSD es externo para otra aplicación mantenida por otra persona.