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 using the `sax::XMLReader.error_handler property. 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 and bizarre behaviour may result.

For XML processing errors, a SAX driver must use this interface instead of throwing an exception: it is up to the application to decide whether to throw an exception for different types of errors and warnings. Note, however, that there is no requirement that the parser continue to provide useful information after a call to fatal_error (in other words, a SAX driver class could catch an exception and report a fatal_error).

Note: The original documentation comes from SAX 2.0.

SEE: sax::XMLReader.error_handler

Introduced properties

fun error(exception: SAXParseException)

sax :: ErrorHandler :: error

Receive notification of a recoverable error.
fun fatal_error(exception: SAXParseException)

sax :: ErrorHandler :: fatal_error

Receive notification of a non-recoverable error.
fun warning(exception: SAXParseException)

sax :: ErrorHandler :: warning

Receive notification of a warning.

Redefined properties

redef type SELF: ErrorHandler

sax $ ErrorHandler :: SELF

Type of this instance, automatically specialized in every class

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
fun error(exception: SAXParseException)

sax :: ErrorHandler :: error

Receive notification of a recoverable error.
fun fatal_error(exception: SAXParseException)

sax :: ErrorHandler :: fatal_error

Receive notification of a non-recoverable error.
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
fun warning(exception: SAXParseException)

sax :: ErrorHandler :: warning

Receive notification of a warning.
package_diagram sax::ErrorHandler ErrorHandler core::Object Object sax::ErrorHandler->core::Object sax::XMLFilterImpl XMLFilterImpl sax::XMLFilterImpl->sax::ErrorHandler saxophonit::SAXEventLogger SAXEventLogger saxophonit::SAXEventLogger->sax::XMLFilterImpl saxophonit::SAXEventLogger... ... saxophonit::SAXEventLogger...->saxophonit::SAXEventLogger

Parents

interface Object

core :: Object

The root of the class hierarchy.

Children

class XMLFilterImpl

sax :: XMLFilterImpl

Base class for deriving an XML filter.

Descendants

class SAXEventLogger

saxophonit :: SAXEventLogger

A filter that internally log events it recieves.

Class definitions

sax $ ErrorHandler
# 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 using the `sax::XMLReader.error_handler
# property. 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 and bizarre behaviour may result.
#
# For XML processing errors, a SAX driver must use this interface
# instead of throwing an exception: it is up to the application
# to decide whether to throw an exception for different types of
# errors and warnings. Note, however, that there is no requirement that
# the parser continue to provide useful information after a call to
# `fatal_error` (in other words, a SAX driver class
# could catch an exception and report a `fatal_error`).
#
# Note: The original documentation comes from [SAX 2.0](http://www.saxproject.org).
#
# SEE: `sax::XMLReader.error_handler`
abstract class ErrorHandler

	# 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 1.0
	# 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.
	#
	# Parameter:
	#
	# * `exception`: warning information encapsulated in a SAX parse
	# exception.
	fun warning(exception: SAXParseException) do end

	# 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 1.0 recommendation does not require it to
	# do so.
	#
	# Filters may use this method to report other, non-XML errors
	# as well.
	#
	# Parameter:
	#
	# * `exception`: error information encapsulated in a SAX parse
	# exception.
	fun error(exception: SAXParseException) do end

	# Receive notification of a non-recoverable error.
	#
	# 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.
	#
	# Parameter:
	#
	# * `exception`: error information encapsulated in a SAX parse
	# exception.
	fun fatal_error(exception: SAXParseException) do
		exception.throw
	end
end
lib/sax/error_handler.nit:16,1--103,3