Validar XML
Estoy un poco perdido en esto del XML ya que soy un poco novato. Tengo un XML que tengo que validar contra un XSD, me han recomendado JDOM pero estoy perdidÃsimo. Hay alguien que me pueda mandar un ejemplo? Muchas gracias
En primer lugar, el que useis JDOM o DOM4J es indiferente ya que ambos API's proporcionan un interface y rendimiento similar.
En segundo lugar, como parseador SAX, debeis usar Xerces. Os lo podeis bajar de http://xml.apache.org
El problema de validar con esquemas en vez de con DTD, es que por defecto en los parseadores no está activada esta opción por defecto (por lo menos en Xerces no). Asà que ahà va un código que podrá ser de utilidad:
....
// Se crea el SAXParser de Xerces y se obtiene el XMLReader
SAXParserImpl saxParser = (SAXParserImpl)saxParserFact.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setFeature("http://apache.org/xml/features/validation/schema", true);
xmlReader.setFeature("http://xml.org/sax/features/validation", true);
...
Esto anterior es para el API DOM4J, pero serÃa muy similar para JDOM.
Teneis que miraros en la documentación de Xerces las propiedades que se pueden activar.
Un saludo.
En segundo lugar, como parseador SAX, debeis usar Xerces. Os lo podeis bajar de http://xml.apache.org
El problema de validar con esquemas en vez de con DTD, es que por defecto en los parseadores no está activada esta opción por defecto (por lo menos en Xerces no). Asà que ahà va un código que podrá ser de utilidad:
....
// Se crea el SAXParser de Xerces y se obtiene el XMLReader
SAXParserImpl saxParser = (SAXParserImpl)saxParserFact.newSAXParser();
XMLReader xmlReader = saxParser.getXMLReader();
xmlReader.setFeature("http://apache.org/xml/features/validation/schema", true);
xmlReader.setFeature("http://xml.org/sax/features/validation", true);
...
Esto anterior es para el API DOM4J, pero serÃa muy similar para JDOM.
Teneis que miraros en la documentación de Xerces las propiedades que se pueden activar.
Un saludo.
