1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
package nokogiri.internals;
import static nokogiri.internals.NokogiriHelpers.getNokogiriClass;
import nokogiri.NokogiriService;
import nokogiri.XmlSyntaxError;
import org.jruby.Ruby;
import org.jruby.RubyArray;
import org.xml.sax.ErrorHandler;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
/**
* Error handler for Relax and W3C XML Schema.
*
* @author sergio
* @author Yoko Harada <yokolet@gmail.com>
*/
public class SchemaErrorHandler implements ErrorHandler
{
private final Ruby runtime;
final RubyArray errors;
public
SchemaErrorHandler(Ruby ruby, RubyArray array)
{
this.runtime = ruby;
this.errors = array;
}
public void
warning(SAXParseException ex) throws SAXException
{
errors.append(XmlSyntaxError.createWarning(runtime, ex));
}
public void
error(SAXParseException ex) throws SAXException
{
errors.append(XmlSyntaxError.createError(runtime, ex));
}
public void
fatalError(SAXParseException ex) throws SAXException
{
throw ex;
}
}
|