Interface for associating a SAX event with a document location.

Introduced classes

interface SAXLocator

sax :: SAXLocator

Interface for associating a SAX event with a document location.

All class definitions

interface SAXLocator

sax $ SAXLocator

Interface for associating a SAX event with a document location.
package_diagram sax::sax_locator sax_locator core core sax::sax_locator->core sax::content_handler content_handler sax::content_handler->sax::sax_locator sax::sax_parse_exception sax_parse_exception sax::sax_parse_exception->sax::sax_locator sax::sax_locator_impl sax_locator_impl sax::sax_locator_impl->sax::sax_locator sax::xml_reader xml_reader sax::xml_reader->sax::content_handler sax::xml_reader... ... sax::xml_reader...->sax::xml_reader sax::error_handler error_handler sax::error_handler->sax::sax_parse_exception sax::error_handler... ... sax::error_handler...->sax::error_handler sax::helpers helpers sax::helpers->sax::sax_locator_impl saxophonit::reader_model reader_model saxophonit::reader_model->sax::sax_locator_impl sax::helpers... ... sax::helpers...->sax::helpers saxophonit::reader_model... ... saxophonit::reader_model...->saxophonit::reader_model

Ancestors

module abstract_collection

core :: abstract_collection

Abstract collection classes and services.
module abstract_text

core :: abstract_text

Abstract class for manipulation of sequences of characters
module array

core :: array

This module introduces the standard array structure.
module bitset

core :: bitset

Services to handle BitSet
module bytes

core :: bytes

Services for byte streams and arrays
module circular_array

core :: circular_array

Efficient data structure to access both end of the sequence.
module codec_base

core :: codec_base

Base for codecs to use with streams
module codecs

core :: codecs

Group module for all codec-related manipulations
module collection

core :: collection

This module define several collection classes.
module environ

core :: environ

Access to the environment variables of the process
module error

core :: error

Standard error-management infrastructure.
module exec

core :: exec

Invocation and management of operating system sub-processes.
module file

core :: file

File manipulations (create, read, write, etc.)
module fixed_ints

core :: fixed_ints

Basic integers of fixed-precision
module fixed_ints_text

core :: fixed_ints_text

Text services to complement fixed_ints
module flat

core :: flat

All the array-based text representations
module gc

core :: gc

Access to the Nit internal garbage collection mechanism
module hash_collection

core :: hash_collection

Introduce HashMap and HashSet.
module iso8859_1

core :: iso8859_1

Codec for ISO8859-1 I/O
module kernel

core :: kernel

Most basic classes and methods.
module list

core :: list

This module handle double linked lists
module math

core :: math

Mathematical operations
module native

core :: native

Native structures for text and bytes
module numeric

core :: numeric

Advanced services for Numeric types
module protocol

core :: protocol

module queue

core :: queue

Queuing data structures and wrappers
module range

core :: range

Module for range of discrete objects.
module re

core :: re

Regular expression support for all services based on Pattern
module ropes

core :: ropes

Tree-based representation of a String.
module sorter

core :: sorter

This module contains classes used to compare things and sorts arrays.
module stream

core :: stream

Input and output streams of characters
module text

core :: text

All the classes and methods related to the manipulation of text entities
module time

core :: time

Management of time and dates
module union_find

core :: union_find

union–find algorithm using an efficient disjoint-set data structure
module utf8

core :: utf8

Codec for UTF-8 I/O

Parents

module core

core :: core

Standard classes and methods used by default by Nit programs and libraries.

Children

module content_handler

sax :: content_handler

Receives notification of the logical content of a document.
module sax_locator_impl

sax :: sax_locator_impl

Provides an optional convenience implementation of Locator.
module sax_parse_exception

sax :: sax_parse_exception

Encapsulates an XML parse error or warning.

Descendants

module a_star-m

a_star-m

module error_handler

sax :: error_handler

Basic interface for SAX error handlers.
module ext

sax :: ext

Interfaces to optional SAX2 handlers.
module helpers

sax :: helpers

Contains "helper" classes, including support for bootstrapping SAX-based applications.
module lexer

saxophonit :: lexer

SAXophoNit’s lexer
module reader_model

saxophonit :: reader_model

Reader’s model.
module sax

sax :: sax

Core SAX APIs.
module saxophonit

saxophonit :: saxophonit

A SAX 2 parser in Nit.
module testing

saxophonit :: testing

Various utilities to help testing SAXophoNit (and SAX parsers in general).
module xml_filter

sax :: xml_filter

Interface for an XML filter.
module xml_filter_impl

sax :: xml_filter_impl

Base class for deriving an XML filter.
module xml_reader

sax :: xml_reader

Interface for reading an XML document using callbacks.
# Interface for associating a SAX event with a document location.
module sax::sax_locator

# 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:11,1--107,3