Java con XML (Parseo de XSD)
Publicado por llermo (13 intervenciones) el 02/09/2005 09:32:25
Saludos a todos!
Tengo un documento XML que hace referencia a una XSD y no consigo parsearla desde Java.
Aqui os pongo parte del codigo que estoy utilizando:
//INICIO CODIGO
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
factory.setAttribute("http://xml.org/sax/features/namespaces", Boolean.TRUE);
factory.setAttribute("http://xml.org/sax/features/validation", validaSchema);
factory.setAttribute("http://apache.org/xml/features/validation/schema", validaSchema);
factory.setAttribute("http://apache.org/xml/features/validation/schema-full-checking", validaSchema);
}
catch (Exception e) {
System.out.println(e);
}
StringWriter res = new StringWriter();
try {
StringBufferInputStream rdrXML = new StringBufferInputStream(XML);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(this);
document = builder.parse(rdrXML);
}
catch (Exception e) {
System.out.println(e);
}
//FIN DEL CODIGO
Hay que decir tambien que hago una implementacion de la clase ErrorHandler.
Pues bien cuando le envio el documento XML para que lo parsee, se me devuelve lo siguiente:
org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: 'D:\basura\Order.xsd' is not a valid 'anyURI' value.
La cabecera del XML se compone de:
<ORDR xmlns="http://..." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://... D:\basura\Order.xsd">
Si alguien puede indicarme donde esta el error o que estoy haciendo mal, seria de mucha ayuda.
Muchas gracias!
Tengo un documento XML que hace referencia a una XSD y no consigo parsearla desde Java.
Aqui os pongo parte del codigo que estoy utilizando:
//INICIO CODIGO
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
factory.setAttribute("http://xml.org/sax/features/namespaces", Boolean.TRUE);
factory.setAttribute("http://xml.org/sax/features/validation", validaSchema);
factory.setAttribute("http://apache.org/xml/features/validation/schema", validaSchema);
factory.setAttribute("http://apache.org/xml/features/validation/schema-full-checking", validaSchema);
}
catch (Exception e) {
System.out.println(e);
}
StringWriter res = new StringWriter();
try {
StringBufferInputStream rdrXML = new StringBufferInputStream(XML);
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(this);
document = builder.parse(rdrXML);
}
catch (Exception e) {
System.out.println(e);
}
//FIN DEL CODIGO
Hay que decir tambien que hago una implementacion de la clase ErrorHandler.
Pues bien cuando le envio el documento XML para que lo parsee, se me devuelve lo siguiente:
org.xml.sax.SAXParseException: cvc-datatype-valid.1.2.1: 'D:\basura\Order.xsd' is not a valid 'anyURI' value.
La cabecera del XML se compone de:
<ORDR xmlns="http://..." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://... D:\basura\Order.xsd">
Si alguien puede indicarme donde esta el error o que estoy haciendo mal, seria de mucha ayuda.
Muchas gracias!
Valora esta pregunta


0