Tengo dos archivos xsd para validar un xml. Pero el problema es que mi código solo toma una xsd. ¿Cómo usar otras xsd en el siguiente código? No tengo idea sobre dónde debo colocar/llamar al segundo archivo xsd.Validación de XML - Usar múltiples xsd's
private void validate(File xmlF,File xsd1,File xsd2) {
try {
url = new URL(xsd.toURI().toString());// xsd1
} catch (MalformedURLException e) {
e.printStackTrace();
}
source = new StreamSource(xml); // xml
try {
System.out.println(url);
schema = schemaFactory.newSchema(url);
} catch (SAXException e) {
e.printStackTrace();
}
validator = schema.newValidator();
System.out.println(xml);
try {
validator.validate(source);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
¿Ya intentó ['newSchema (Source [])'] (http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/validation/SchemaFactory.html#newSchema (javax.xml) .transform.Source []))? –
Sí. Lo intenté de esa manera. No funciona, probablemente porque Source [] se usa para xml. No podemos convertir xsd a la fuente. – freepublicview
Al igual que con la pregunta anterior sobre este proyecto de validación XML, me gustaría dirigirlo a [SSCCE] (http://sscce.org/). Su fragmento de código está lejos de estar completo al definir variables fuera de este método, etc. Prestar atención a la forma en que hace su pregunta, nos ayuda a ayudarlo. – Wivani