Validar .xml contra .dtd
Publicado por charlie (1 intervención) el 10/10/2003 15:33:13
hola me podeis decir como validar desde java, un fichero .xml contra otro .dtd, concretamente yo estoy utilizando un SAXparse.
Valora esta pregunta


0



import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
public class XMLValidator {public static void main(String[] args) {
try { // Obtén una instancia de SAXParserFactorySAXParserFactory factory = SAXParserFactory.newInstance();
// Habilita la validaciónfactory.setValidating(true);
// Crea una instancia de SAXParserSAXParser parser = factory.newSAXParser();
// Especifica el archivo DTD para la validaciónString dtdFilePath = "ruta/al/archivo.dtd";
parser.setProperty("http://java.sun.com/xml/jaxp/properties/schemaSource", dtdFilePath);
// Crea una instancia de XMLValidationErrorHandler para manejar los errores de validaciónXMLValidationErrorHandler errorHandler = new XMLValidationErrorHandler();
// Configura el ErrorHandler en el parserparser.setErrorHandler(errorHandler);
// Parsea el archivo XMLString xmlFilePath = "ruta/al/archivo.xml";
parser.parse(new InputSource(xmlFilePath));
System.out.println("El archivo XML ha sido validado con éxito contra el archivo DTD.");
} catch (Exception e) {
System.out.println("Ocurrió un error durante la validación: " + e.getMessage());
} }}
