Validar XML

jujulas
05 de Febrero del 2004
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

jdr
05 de Febrero del 2004
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.

quiquegh
05 de Febrero del 2004
A mi me sucede lo mismo. Solo que debo utilizar xerces segun me comentan. Si alguien sabe algo de esto por favor un ejemplo me arreglaría bastante la vida. Graciasss!!