Interface for associating a SAX event with a document location.

If a SAX parser provides location information to the SAX application, it does so by implementing this interface and then passing an instance to the application using the ContentHandler.document_locator= method. The application can use the object to obtain the location of any other SAX event in the XML source document.

Note that the results returned by the object will be valid only during the scope of each callback method: the application will receive unpredictable results if it attempts to use the locator at any other time, or after parsing completes.

SAX parsers are not required to supply a locator, but they are very strongly encouraged to do so. If the parser supplies a locator, it must do so before reporting any other document events. If no locator has been set by the time the application receives the ContentHandler.start_document event, the application should assume that a locator is not available.

Note: The original documentation comes from SAX 2.0.

SEE: sax::ContentHandler.document_locator

Introduced properties

abstract fun column_number: Int

sax :: SAXLocator :: column_number

Return the column number where the current document event ends.
abstract fun line_number: Int

sax :: SAXLocator :: line_number

Return the line number where the current document event ends.
abstract fun public_id: nullable String

sax :: SAXLocator :: public_id

Return the public identifier for the current document event.
abstract fun system_id: nullable String

sax :: SAXLocator :: system_id

Return the system identifier for the current document event.

Redefined properties

redef type SELF: SAXLocator

sax $ SAXLocator :: 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.
abstract fun column_number: Int

sax :: SAXLocator :: column_number

Return the column number where the current document event ends.
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.
abstract fun line_number: Int

sax :: SAXLocator :: line_number

Return the line number where the current document event ends.
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).
abstract fun public_id: nullable String

sax :: SAXLocator :: public_id

Return the public identifier for the current document event.
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 system_id: nullable String

sax :: SAXLocator :: system_id

Return the system identifier for the current document event.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram sax::SAXLocator SAXLocator core::Object Object sax::SAXLocator->core::Object sax::SAXLocatorImpl SAXLocatorImpl sax::SAXLocatorImpl->sax::SAXLocator

Parents

interface Object

core :: Object

The root of the class hierarchy.

Children

class SAXLocatorImpl

sax :: SAXLocatorImpl

Provides an optional convenience implementation of Locator.

Class definitions

sax $ SAXLocator
# Interface for associating a SAX event with a document location.
#
# If a SAX parser provides location information to the SAX
# application, it does so by implementing this interface and then
# passing an instance to the application using the
# `ContentHandler.document_locator=` method. The application can use
# the object to obtain the location of any other SAX event
# in the XML source document.
#
# Note that the results returned by the object will be valid only
# during the scope of each callback method: the application
# will receive unpredictable results if it attempts to use the
# locator at any other time, or after parsing completes.
#
# SAX parsers are not required to supply a locator, but they are
# very strongly encouraged to do so. If the parser supplies a
# locator, it must do so before reporting any other document events.
# If no locator has been set by the time the application receives
# the `ContentHandler.start_document` event, the application should
# assume that a locator is not available.
#
# Note: The original documentation comes from [SAX 2.0](http://www.saxproject.org).
#
# SEE: `sax::ContentHandler.document_locator`
public interface SAXLocator

	# Return the public identifier for the current document event.
	#
	# Return the public identifier of the document
	# entity or of the external parsed entity in which the markup
	# triggering the event appears.
	# Return `null` if no public identifier is available.
	fun public_id: nullable String is abstract

	# Return the system identifier for the current document event.
	#
	# Return the system identifier of the document
	# entity or of the external parsed entity in which the markup
	# triggering the event appears.
	# Return `null` if no system identifier is available.
	#
	# If the system identifier is a URL, the parser must resolve it
	# fully before passing it to the application. For example, a file
	# name must always be provided as a `file:` URL, and other
	# kinds of relative URI are also resolved against their bases.
	fun system_id: nullable String is abstract

	# Return the line number where the current document event ends.
	#
	# Lines are delimited by line ends, which are defined in
	# the XML specification.
	#
	# **Warning:** The return value from this method
	# is intended only as an approximation for the sake of diagnostics;
	# it is not intended to provide sufficient information
	# to edit the character content of the original XML document.
	# In some cases, these "line" numbers match what would be displayed
	# as columns, and in others they may not match the source text
	# due to internal entity expansion.
	#
	# Return an approximation of the line number
	# in the document entity or external parsed entity where the
	# markup triggering the event appears.
	#
	# If possible, the SAX driver should provide the line position
	# of the first character after the text associated with the document
	# event. The first line is line 1.
	#
	# Return -1 in absence of line number.
	fun line_number: Int is abstract

	# Return the column number where the current document event ends.
	#
	# The number is one-based.
	#
	# **Warning:** The return value from this method
	# is intended only as an approximation for the sake of diagnostics;
	# it is not intended to provide sufficient information
	# to edit the character content of the original XML document.
	# For example, when lines contain combining character sequences, wide
	# characters, surrogate pairs, or bi-directional text, the value may
	# not correspond to the column in a text editor's display.
	#
	# The return value is an approximation of the column number
	# in the document entity or external parsed entity where the
	# markup triggering the event appears.
	#
	# If possible, the SAX driver should provide the line position
	# of the first character after the text associated with the document
	# event. The first column in each line is column 1.
	#
	# Return -1 in absence of column number.
	fun column_number: Int is abstract
end
lib/sax/sax_locator.nit:14,1--107,3