import java.io.*;
import javax.xml.validation.*;
import org.xml.sax.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.*;
import javax.xml.parsers.*;
import java.lang.*;
import org.w3c.dom.*;
public class ValidationExample{
public static void main (String args[]){
//parse the XML document in to XML
try {
// DOMParser parser = new DOMParser();
// parser.parse("DEMMODTD.xml"));
// Document doc = parser.getDocument();
File docfile = new File("DEMODTD.XML");
Document doc = null;
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(docfile);
dbf.setValidating(true);
// set the Schema Factory
SchemaFactory factory =
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(new
File("DEMODTD.xsd"));
Schema schema = factory.newSchema(schemaFile);
Validator valid = schema.newValidator();
//validate the DOm tree
valid.Validate(doc);
}catch (SAXException e) {
System.out.println("error"+e.getMessage());
}catch (IOException e){
System.out.println("error"+e.getMessage());
}catch (ParserConfigurationException e) {
System.out.println("error"+e.getMessage());
}catch (FactoryConfigurationError e) {
System.out.println("error"+e.getMessage());
}
}
}
> ValidationExample.java:33: cannot resolve symbol
> symbol : method Validate (org.w3c.dom.Document)
> location: class javax.xml.validation.Validator
> valid.Validate(doc);
do you mean valid.validate(doc)?
> ^
> ValidationExample.java:33: cannot resolve symbol
> symbol : method Validate (org.w3c.dom.Document)
> location: class javax.xml.validation.Validator
> valid.Validate(doc);
> ^
what if you try
Validator validator = schema.newValidator();
//validate the DOM tree
///valid.validate(doc);
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
// your code to handel this here
}