Listing 5 SchemaValidator.java

import oracle.xml.schemavalidator.XSDValidator;
import oracle.xml.parser.schema.XSDException;
import oracle.xml.parser.schema.XMLSchema;
import oracle.xml.parser.schema.XSDBuilder;
import oracle.xml.parser.v2.XMLError;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
import java.net.URL;

public class SchemaValidator{

  public void validateSchema(String SchemaUrl, String XmlDocumentUrl)
      {

        try {
             XSDValidator xsdValidator=new XSDValidator();

             
             XSDBuilder builder = new XSDBuilder();
             URL    url =  new URL(SchemaUrl);       

      
             XMLSchema schemadoc = (XMLSchema)builder.build(url);


             xsdValidator.setSchema(schemadoc);

             Validator handler=new Validator();
             XMLError xmlError=new XMLError();
             xmlError.setErrorHandler(handler);	
             xsdValidator.setError(xmlError);
             xsdValidator.validate(new URL(XmlDocumentUrl));


            
             if(handler.validationError==true)
               System.out.println("XML Document has             

Error:"+handler.validationError+""+handler.saxParseException.getMessage());
             else
               System.out.println("XML Document is valid");

         } catch(java.io.IOException ioe)
         {
             System.out.println("IOException "+ioe.getMessage());
         }catch (SAXException e) {
             System.out.println("SAXException "+e.getMessage());
         }
         catch (XSDException e) {
             System.out.println("SAXException "+e.getMessage());
         }
       }
 
  private class Validator 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		
       {		
       }	
   }


  public static void main(String[] argv){
       String SchemaUrl=argv[0];
       String XmlDocumentUrl=argv[1];
       SchemaValidator validator=new SchemaValidator();
       validator.validateSchema(SchemaUrl, XmlDocumentUrl);

  }
}