|
To validate with JDK 6.0 javax.xml.validation API.
1. Create a SchemaFactory instance.
SchemaFactory factory=SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
2. Create a Schema object from SchemaFactory.
Schema schema=factory.newSchema(schemaDocument);
3. Create a Validator object from Schema object.
Validator validator=schema.newValidator();
4. Create a class that implements the DefaultHandler.
private class ErrorHandlerImpl extends DefaultHandler
{
public boolean validationError = false;
public SAXParseException saxParseException=null;
public void error(SAXParseException exception) throws SAXException
{
validationError = true;
saxParseException=exception;
}
public void fatalError(SAXParseException exception) throws SAXException
{
validationError = true;
saxParseException=exception;
}
public void warning(SAXParseException exception) throws SAXException
{
}
}
5. Create a ErrorHandler object and set the ErrorHandler on the Validator object.
ErrorHandlerImpl errorHandler=new ErrorHandlerImpl();
validator.setErrorHandler(errorHandler);
6. Create a Document object either by parsing an XML document. Create a DOMSource object from the Document object.
DOMSource source = new DOMSource(document);
7. Validate the DOMSource object with Validator object.
validator.validate(source););
8. If XML document has validation errror, the validation error is output by the ErrorHandler.
if(errorHandler.validationError==true)
System.out.println("XML Document has Error:"+errorHandler.validationError+" "+errorHandler.saxParseException.getMessage());
else
System.out.println("XML Document is valid");}
|
6. Create a Document object either by parsing an XML document. Create a DOMSource object from the Document object.
7. Validate the DOMSource object with Validator object.