Pregunta

Tengo dos esquemas XML. Primero (A.xsd) se encuentra en un archivo jar de la biblioteca (mylib.jar) y el segundo (B.xsd) está en mi proyecto.

Quiero importar A.xsd en el B.xsd y validar XML entrante a través de Jaxb2Marshaller Validador incrustado.

Sin embargo, no puedo hacer que funcione correctamente: parece que el validador interno de XML de Jaxb2Marshaller no entiende las referencias a archivos en JAR-Files (solo quiero escribir algo como <xs:import namespace="http://my/schema.xsd" schemaLocation="classpath:schema.xsd">).

¿Cómo se podría solucionar? ¿Cómo se podría hacer referencia a los esquemas de la biblioteca de un esquema de proyecto?

¿Fue útil?

Solución

Consulte mi respuesta a una pregunta anterior sobre cómo se puede usar un resumen de recursos para resolver este problema:

Su implementación de Lsresourceresolver manejará la carga del esquema del classpath y la convertirá con el resultado apropiado.

Otros consejos

Deberá configurar su propio resolución. Nada en Jaxb usará classpath:.

Hay una muestra de Jaxb que muestra este tipo de cosas.

ClassPath: no es una URL válida para la ubicación del esquema. Tendrás que usar Catálogos XML Para cargar esquemas de frascos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top