use of javax.xml.validation.Schema in project Activiti by Activiti.
the class BpmnXMLConverter method createSchema.
protected Schema createSchema() throws SAXException {
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = null;
if (classloader != null) {
schema = factory.newSchema(classloader.getResource(BPMN_XSD));
}
if (schema == null) {
schema = factory.newSchema(BpmnXMLConverter.class.getClassLoader().getResource(BPMN_XSD));
}
if (schema == null) {
throw new XMLException("BPMN XSD could not be found");
}
return schema;
}
use of javax.xml.validation.Schema 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.Schema 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.Schema in project aries by apache.
the class NamespaceHandlerRegistryImpl method cacheSchema.
private void cacheSchema(Map<URI, NamespaceHandler> handlers, Schema schema) {
synchronized (schemas) {
// Remove schemas that are fully included
for (Iterator<Map<URI, NamespaceHandler>> iterator = schemas.keySet().iterator(); iterator.hasNext(); ) {
Map<URI, NamespaceHandler> key = iterator.next();
boolean found = true;
for (URI uri : key.keySet()) {
if (!key.get(uri).equals(handlers.get(uri))) {
found = false;
break;
}
}
if (found) {
iterator.remove();
break;
}
}
// Add our new schema
schemas.put(handlers, new SoftReference<Schema>(schema));
}
}
use of javax.xml.validation.Schema 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