1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | public static boolean validerFichierXML(final String xsdFile, final String xmlFile, final ErrorChecker errors) {
        boolean resultatValidation = false;
        try {
            // Parse an XML document into a DOM tree.
            final DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
            final Document document = parser.parse(new File(xmlFile));
 
            // Create a SchemaFactory capable of understanding WXS schemas.
            final SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
 
            // Load a WXS schema, represented by a Schema instance.
            final URL schemaFile = new URL(xsdFile);
            // StreamSource schemaFile = new StreamSource(new File(xsdFile));
            final Schema schema = factory.newSchema(schemaFile);
 
            // Create a Validator object, which can be used to validate an instance document.
            final Validator validator = schema.newValidator();
            validator.setErrorHandler(errors);
            validator.validate(new DOMSource(document));
 
            if (errors.isOK()) {
                resultatValidation = true;
            }
 
        } catch (final ParserConfigurationException e) {
            LOGGER.error("Erreur parser : " + e.getMessage(), e);
        } catch (final SAXException e) {
            LOGGER.error("Erreur SAX : " + e.getMessage(), e);
        } catch (final IOException e) {
            LOGGER.error("Erreur IO : " + e.getMessage(), e);
        }
        return resultatValidation;
 
    } | 
Partager