Changeset 3061


Ignore:
Timestamp:
08/09/07 10:52:04 (13 years ago)
Author:
curtis
Message:

Output all XML validation errors, not just the first.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loci/formats/ConsoleTools.java

    r3052 r3061  
    3131import java.util.Arrays; 
    3232import java.util.Hashtable; 
     33import org.xml.sax.ErrorHandler; 
     34import org.xml.sax.SAXParseException; 
    3335 
    3436/** 
     
    565567          try { 
    566568            // look up a factory for the W3C XML Schema language 
     569            r.setVar("schemaPath", "http://www.w3.org/2001/XMLSchema"); 
    567570            r.exec("import javax.xml.validation.SchemaFactory"); 
    568             r.setVar("schemaPath", "http://www.w3.org/2001/XMLSchema"); 
    569571            r.exec("factory = SchemaFactory.newInstance(schemaPath)"); 
    570572 
     
    584586 
    585587            // prepare the XML source 
    586             r.exec("import java.io.StringReader"); 
    587             r.exec("import javax.xml.transform.stream.StreamSource"); 
    588588            r.setVar("ms", ms); 
    589589            r.exec("root = ms.getRoot()"); 
     590            r.exec("import java.io.StringReader"); 
    590591            r.setVar("xml", xml); 
    591592            r.exec("reader = new StringReader(xml)"); 
    592             r.exec("source = new StreamSource(reader)"); 
     593            r.exec("import org.xml.sax.InputSource"); 
     594            r.exec("is = new InputSource(reader)"); 
     595            r.exec("import javax.xml.transform.sax.SAXSource"); 
     596            r.exec("source = new SAXSource(is)"); 
    593597 
    594598            // validate the OME-XML 
    595599            try { 
     600              r.setVar("handler", new ValidationHandler()); 
     601              r.exec("validator.setErrorHandler(handler)"); 
    596602              r.exec("validator.validate(source)"); 
    597603              LogTools.println("No validation errors found."); 
     
    716722  } 
    717723 
     724  /** Used by testRead to handle XML validation errors. */ 
     725  private static class ValidationHandler implements ErrorHandler { 
     726    public void error(SAXParseException e) { 
     727      LogTools.println("error: " + e.getMessage()); 
     728    } 
     729    public void fatalError(SAXParseException e) { 
     730      LogTools.println("fatal error: " + e.getMessage()); 
     731    } 
     732    public void warning(SAXParseException e) { 
     733      LogTools.println("warning: " + e.getMessage()); 
     734    } 
     735  } 
     736 
    718737} 
Note: See TracChangeset for help on using the changeset viewer.