Description
Validate the contents of a file against an XML Schema.
License
BSD License
Parameter
Parameter | Description |
---|
filename | file with XML content to be validated |
schemaFile | XML Schema file |
Exception
Parameter | Description |
---|
ParserConfigurationException | an exception |
SAXException | an exception |
IOException | an exception |
Declaration
public static void validateXMLFile(String filename, String schemaFile)
throws ParserConfigurationException, SAXException, IOException
Method Source Code
//package com.java2s;
/****************************************************************************\
* *
* SNEE (Sensor NEtwork Engine) *
* http://code.google.com/p/snee *
* Release 1.0, 24 May 2009, under New BSD License. *
* *
* Copyright (c) 2009, University of Manchester *
* All rights reserved. *
* *
* Redistribution and use in source and binary forms, with or without *
* modification, are permitted provided that the following conditions are *
* met: Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* Redistributions in binary form must reproduce the above copyright notice, *
* this list of conditions and the following disclaimer in the documentation *
* and/or other materials provided with the distribution. *
* Neither the name of the University of Manchester nor the names of its *
* contributors may be used to endorse or promote products derived from this *
* software without specific prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS *
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, *
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR *
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR *
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
* *
\****************************************************************************/
import java.io.File;
import java.io.IOException;
import javax.xml.XMLConstants;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
public class Main {
/**// ww w . j a v a 2s. c om
* Validate the contents of a file against an XML Schema.
* @param filename file with XML content to be validated
* @param schemaFile XML Schema file
* @throws ParserConfigurationException
* @throws SAXException
* @throws IOException
*/
//TODO: make this throw a UtilsException
public static void validateXMLFile(String filename, String schemaFile)
throws ParserConfigurationException, SAXException, IOException {
//First validate the XML file according to XML schema file
// Parse an XML document into a DOM tree.
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File(filename));
// Create a SchemaFactory capable of understanding WXS schemas.
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(new File(schemaFile));
// Create a Validator object, which can be used to validate
// an instance document.
Validator validator = schema.newValidator();
// Validate the DOM tree.
validator.validate(new DOMSource(document));
}
}
Related
- validateXml(final Schema schema, final byte[] xmlBytes)
- validateXml(InputStream xml, InputStream xsd)
- validateXML(String schemaPath, String xmlPath)
- validateXML(String xml, String schemaURI, DefaultHandler handler)
- validateXmlOnSchema(File xmlSchema, Source sourceXml)