23 lines
750 B
Text
23 lines
750 B
Text
|
|
||
|
SchemaFactory factory = SchemaFactory.newInstance(
|
||
|
XMLConstants.W3C_XML_SCHEMA_NS_URI);
|
||
|
|
||
|
// This enables restrictions on the schema and document
|
||
|
// complexity.
|
||
|
factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
||
|
|
||
|
// This prevents resource resolution by the schema itself.
|
||
|
// If the schema is trusted and references additional files,
|
||
|
// this line must be omitted, otherwise loading these files
|
||
|
// will fail.
|
||
|
factory.setResourceResolver(new NoResourceResolver());
|
||
|
|
||
|
Schema schema = factory.newSchema(schemaFile);
|
||
|
Validator validator = schema.newValidator();
|
||
|
|
||
|
// This prevents external resource resolution.
|
||
|
validator.setResourceResolver(new NoResourceResolver());
|
||
|
|
||
|
validator.validate(new SAXSource(new InputSource(inputStream)));
|
||
|
|