Provides an API for validation of XML documents. Validation is the process of verifying that an XML document is an instance of a specified XML schema. An XML schema defines the content model (also called a grammar or vocabulary) that its instance documents will represent.
There are a number of popular technologies available for creating an XML schema. Some of the most popular ones include:
While JAXP supports validation as a feature of an XML parser, represented by
either a javax. or javax.
instance, the Validation API is preferred.
The JAXP validation API decouples the validation of an instance document from the parsing of an XML document. This is advantageous for several reasons, some of which are:
Usage example. The following example demonstrates validating an XML document with the Validation API (for readability, some exception handling is not shown):
// parse an XML document into a DOM tree
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File("instance.xml"));
// 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(new File("mySchema.xsd"));
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
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}
The JAXP parsing API has been integrated with the Validation API. Applications
may create a javax. with the validation API
and associate it with a javax. or
a javax. instance by using the
javax. and
javax. methods.
You should not both set a schema and call setValidating(true)
on a parser factory. The former technique will cause parsers to use the new
validation API; the latter will cause parsers to use their own internal validation
facilities. Turning on both of these options simultaneously will cause
either redundant behavior or error conditions.
| Modifier and Type | Class and Description |
|---|---|
| public abstract class | Schema
Immutable in-memory representation of grammar. |
| public abstract class | SchemaFactory
Factory that creates |
| public class | SchemaFactoryConfigurationError
Thrown when a problem with configuration with the Schema Factories exists. |
| pack-priv class | SchemaFactoryFinder
Implementation of |
| public abstract class | SchemaFactoryLoader
Factory that creates |
| public abstract class | TypeInfoProvider
This class provides access to the type information determined
by |
| public abstract class | |
| public abstract class | ValidatorHandler
Streaming validator that works on SAX stream. |