Java - problema XML-XSD

 
Vista:

problema XML-XSD

Publicado por snakejrh (1 intervención) el 28/11/2011 16:57:44
Buenas tardes,

Tengo un problema intentando validar un XML con un XSD, he probado de varias maneras, con JDOM, con SAX y nada, casi siempre se pega un chasque en el paso del builder, os dejo el código pegado aquí:

private String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
private String W3C_XML_SCHEMA ="http://www.w3.org/2001/XMLSchema";
private String JAXP_SCHEMA_SOURCE ="http://java.sun.com/xml/jaxp/properties/schemaSource";

private Logger log = null;

public static String validarXSD(String xsd, String datosXML, Logger logIN){

try {

//En esta variable se almacena, con el método que se considere adecuado, el nombre del fichero de validación XSD

String xsd1 = "entradaNPFSWMOD";
XSDBuilder builder =new XSDBuilder();

//String ruta = ("proyecto/xsd/"+xsd1+".xsd");
String ruta = (xsd1+".xsd");

InputSource inso = new InputSource();

// Creación del objeto XML Schema

XMLSchema schemadoc1= (XMLSchema) builder.build("proyecto/xsd/"+xsd+".xsd");
XMLSchema schemadoc2= (XMLSchema) builder.build(inso.toString());
DOMParser dp= new DOMParser();

// Configuracion del objeto validador

InputStream in = new ByteArrayInputStream(datosXML.getBytes("ISO-8859-1"));

dp.setXMLSchema(schemadoc1);
dp.setValidationMode(XMLParser.SCHEMA_VALIDATION);
dp.setPreserveWhitespace(true);
dp.setErrorStream(System.out);

//logIN.info("Parseando "+xsd);
System.out.println("Parseando "+xsd);
dp.parse(in);
System.out.println("El fichero introducido ('"+xsd+"') se ha parseado sin errores");

return null;

} catch (XSDException e) {
System.out.println("XSDException: " + e.getMessage());
return e.getMessage();
} catch (MalformedURLException e){
System.out.println("MalformedURLException: " + e.getMessage());
return e.getMessage();
} catch (XMLParseException e) {
System.out.println("Parser Exception: " + e.getMessage());
return e.getMessage();
}catch (Exception e) {
System.out.println("NonParserException: " + e.getMessage());
return e.getMessage();
}

}//Fin validarXSD

Casi siempre me da este error al llegar a la linea que he marcado:

: XML-0220: (Fatal Error) Invalid InputSource.

¿Alguien me puede echar un cable?

MUCHAS GRACIAS!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder