package org.codehaus.stax2;
import javax.xml.stream.
XMLReporter;
import javax.xml.stream.
XMLStreamException;
import org.codehaus.stax2.validation.
XMLValidationProblem;
/**
* Extension of {@link XMLReporter} to allow for better access to
* information about the actual problem.
*<p>
* Note on type of problems reported: although type is
* {@link XMLValidationProblem}, it is not strictly related to (optional)
* validation process. That is, non-fatal problems related to well-formedness
* (mostly in areas of DTD definition, or in some cases problems that would
* be fatal normally but have been suppressed by the calling app) will
* also be reported through this interface if registered.
*<p>
* Stax2 implementations are encouraged to always try to call the improved
* <code>report</code> method, and only call the base interface version if
* registered report is not of type {@link XMLReporter2}.
*
* @since 3.0
*/
public interface
XMLReporter2
extends
XMLReporter
{
// From base interface:
//public void report(String message, String errorType, Object relatedInformation, Location location)
/**
* Reporting method called with reference to object that defines
* exact problem being encountered. Implementor is free to
* quietly handle the problem, or to throw an exception
* to cause abnormal termination of xml processing.
*/
public void
report(
XMLValidationProblem problem) throws
XMLStreamException;
}