diff -r 000000000000 -r 6474c204b198 parser/xml/public/nsISAXErrorHandler.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/parser/xml/public/nsISAXErrorHandler.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsISupports.idl" + +interface nsISAXLocator; + +/** + * Basic interface for SAX error handlers. + * + * If a SAX application needs to implement customized error + * handling, it must implement this interface and then register an + * instance with the XML reader. The parser will then report all + * errors and warnings through this interface. + * + * WARNING: If an application does not register an ErrorHandler, + * XML parsing errors will go unreported. In order to detect validity + * errors, an ErrorHandler that does something with error() calls must + * be registered. + * + */ +[scriptable, uuid(e02b6693-6cca-11da-be43-001422106990)] +interface nsISAXErrorHandler: nsISupports { + + /** + * Receive notification of a recoverable error. + * + * This corresponds to the definition of "error" in section 1.2 + * of the W3C XML 1.0 Recommendation. For example, a validating + * parser would use this callback to report the violation of a + * validity constraint. The default behaviour is to take no + * action. + * + * The SAX parser must continue to provide normal parsing events + * after invoking this method: it should still be possible for the + * application to process the document through to the end. If the + * application cannot do so, then the parser should report a fatal + * error even if the XML recommendation does not require it to do + * so. + * + * Filters may use this method to report other, non-XML errors as + * well. + * + * @param locator The locator object for the error (may be null). + * @param error The error message. + */ + void error(in nsISAXLocator locator, in AString error); + + /** + * Receive notification of a non-recoverable error. + * + * There is an apparent contradiction between the documentation + * for this method and the documentation for + * ContentHandler.endDocument(). Until this ambiguity is resolved in + * a future major release, clients should make no assumptions about + * whether endDocument() will or will not be invoked when the parser + * has reported a fatalError() or thrown an exception. + * + * This corresponds to the definition of "fatal error" in section + * 1.2 of the W3C XML 1.0 Recommendation. For example, a parser + * would use this callback to report the violation of a + * well-formedness constraint. + * + * The application must assume that the document is unusable + * after the parser has invoked this method, and should continue (if + * at all) only for the sake of collecting additional error + * messages: in fact, SAX parsers are free to stop reporting any + * other events once this method has been invoked. + * + * @param locator The locator object for the error (may be null). + * @param error The error message. + */ + void fatalError(in nsISAXLocator locator, in AString error); + + /** + * Receive notification of a warning. + * + * SAX parsers will use this method to report conditions that are + * not errors or fatal errors as defined by the XML + * recommendation. The default behaviour is to take no action. + * + * The SAX parser must continue to provide normal parsing events + * after invoking this method: it should still be possible for the + * application to process the document through to the end. + * + * Filters may use this method to report other, non-XML warnings + * as well. + * + * @param locator The locator object for the warning (may be null). + * @param error The warning message. + */ + void ignorableWarning(in nsISAXLocator locator, in AString error); +};