use of javax.xml.validation.Validator in project OpenClinica by OpenClinica.
the class XmlSchemaValidationHelper method validateAgainstSchema.
public void validateAgainstSchema(File xmlFile, File xsdFile) {
try {
// parse an XML document into a DOM tree
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
builderFactory.setNamespaceAware(true);
DocumentBuilder parser = builderFactory.newDocumentBuilder();
Document document = parser.parse(xmlFile);
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(xsdFile);
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an
// instance document
Validator validator = schema.newValidator();
// validate the DOM tree
validator.validate(new DOMSource(document));
} catch (FileNotFoundException ex) {
throw new OpenClinicaSystemException("File was not found", ex.getCause());
} catch (IOException ioe) {
throw new OpenClinicaSystemException("IO Exception", ioe.getCause());
} catch (SAXParseException spe) {
//spe.printStackTrace();
throw new OpenClinicaSystemException("Line : " + spe.getLineNumber() + " - " + spe.getMessage(), spe.getCause());
} catch (SAXException e) {
throw new OpenClinicaSystemException(e.getMessage(), e.getCause());
} catch (ParserConfigurationException pce) {
throw new OpenClinicaSystemException(pce.getMessage(), pce.getCause());
}
}
use of javax.xml.validation.Validator in project Activiti by Activiti.
the class BpmnXMLConverter method validateModel.
public void validateModel(InputStreamProvider inputStreamProvider) throws Exception {
Schema schema = createSchema();
Validator validator = schema.newValidator();
validator.validate(new StreamSource(inputStreamProvider.getInputStream()));
}
use of javax.xml.validation.Validator in project ats-framework by Axway.
the class ConfigurationParser method inititalizeParser.
/**
* Initializer method of the parser. Initializes the document instance.
* @param inputStream - configuration file input stream to be parsed
* @param systemId Provide a base for resolving relative URIs.
* @throws IOException - if the streamed object is not found
*/
private void inititalizeParser(InputStream inputStream, String systemId) throws IOException, SAXException, ParserConfigurationException {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
documentBuilderFactory.setIgnoringElementContentWhitespace(true);
documentBuilderFactory.setNamespaceAware(true);
documentBuilderFactory.setValidating(false);
documentBuilderFactory.setIgnoringComments(true);
try {
// skip DTD validation
documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
documentBuilderFactory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
mDocument = documentBuilder.parse(inputStream, systemId);
/* NOTE:
* XSD Validation process is performed after the XML parsing (not during),
* because when we do it during the parsing, the XML Document element adds attributes which has a default values in the XSD.
* In our case for example, it adds lock="true" for all 'table' elements and when the database is oracle
* we log WARN messages. It's wrong. That's why we do the validation after parsing the XML.
*/
ConfigurationParser.class.getClassLoader().getResource("agent_descriptor.xsd");
// XSD Validation
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = schemaFactory.newSchema(this.getClass().getClassLoader().getResource("agent_descriptor.xsd"));
Validator validator = schema.newValidator();
validator.validate(new DOMSource(mDocument));
} catch (ParserConfigurationException pce) {
log.error(pce.getMessage());
throw pce;
} catch (IOException ioe) {
log.error(ioe.getMessage());
throw ioe;
} catch (SAXException saxe) {
log.error(saxe.getMessage());
throw saxe;
}
}
use of javax.xml.validation.Validator in project claw-compiler by C2SM-RCM.
the class Configuration method validate.
/**
* Validate the configuration file with the XSD schema.
*
* @param xsdPath Path to the XSD schema.
* @throws Exception If configuration file is not valid.
*/
private void validate(String xsdPath) throws Exception {
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new File(xsdPath));
Schema schema = factory.newSchema(schemaFile);
Validator validator = schema.newValidator();
validator.validate(new DOMSource(_document));
}
use of javax.xml.validation.Validator in project logging-log4j2 by apache.
the class XmlCompactFileAsyncAppenderValidationTest method validateXmlSchema.
private void validateXmlSchema(final File file) throws SAXException, IOException {
final URL schemaFile = this.getClass().getClassLoader().getResource("Log4j-events.xsd");
final Source xmlFile = new StreamSource(file);
final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
final Schema schema = schemaFactory.newSchema(schemaFile);
final Validator validator = schema.newValidator();
validator.validate(xmlFile);
}
Aggregations