Locator
.This class is available mainly for application writers, who can use it to make a persistent snapshot of a locator at any point during a document parse:
import sax::helpers::sax_locator_impl
import sax::content_handler
class Example super ContentHandler
private var locator: SAXLocator
private var start_loc: nullable SAXLocator = null
redef fun start_document do
# save the location of the start of the document
# for future use.
start_loc = new SAXLocatorImpl.from(locator)
end
end
Normally, parser writers will not use this class, since it
is more efficient to provide location information only when
requested, rather than constantly updating a Locator
object.
Note: The original source code and documentation of this class comes, in part, from SAX 2.0.
sax :: SAXLocatorImpl :: column_number=
sax :: SAXLocatorImpl :: defaultinit
sax :: SAXLocatorImpl :: line_number=
sax :: SAXLocatorImpl :: public_id=
sax :: SAXLocatorImpl :: system_id=
sax $ SAXLocatorImpl :: SELF
Type of this instance, automatically specialized in every classsax $ SAXLocatorImpl :: column_number
Return the column number where the current document event ends.sax $ SAXLocatorImpl :: line_number
Return the line number where the current document event ends.sax $ SAXLocatorImpl :: public_id
Return the public identifier for the current document event.sax $ SAXLocatorImpl :: system_id
Return the system identifier for the current document event.core :: Object :: class_factory
Implementation used byget_class
to create the specific class.
sax :: SAXLocator :: column_number
Return the column number where the current document event ends.sax :: SAXLocatorImpl :: column_number=
core :: Object :: defaultinit
sax :: SAXLocatorImpl :: defaultinit
sax :: SAXLocator :: defaultinit
core :: Object :: is_same_instance
Return true ifself
and other
are the same instance (i.e. same identity).
core :: Object :: is_same_serialized
Isself
the same as other
in a serialization context?
core :: Object :: is_same_type
Return true ifself
and other
have the same dynamic type.
sax :: SAXLocator :: line_number
Return the line number where the current document event ends.sax :: SAXLocatorImpl :: line_number=
core :: Object :: output_class_name
Display class name on stdout (debug only).sax :: SAXLocator :: public_id
Return the public identifier for the current document event.sax :: SAXLocatorImpl :: public_id=
sax :: SAXLocator :: system_id
Return the system identifier for the current document event.sax :: SAXLocatorImpl :: system_id=
sax :: SAXLocator
Interface for associating a SAX event with a document location.
# Provides an optional convenience implementation of `Locator`.
#
# This class is available mainly for application writers, who
# can use it to make a persistent snapshot of a locator at any
# point during a document parse:
#
# ~~~nitish
# import sax::helpers::sax_locator_impl
# import sax::content_handler
#
# class Example super ContentHandler
# private var locator: SAXLocator
# private var start_loc: nullable SAXLocator = null
#
# redef fun start_document do
# # save the location of the start of the document
# # for future use.
# start_loc = new SAXLocatorImpl.from(locator)
# end
# end
# ~~~
#
# Normally, parser writers will not use this class, since it
# is more efficient to provide location information only when
# requested, rather than constantly updating a `Locator` object.
#
# Note: The original source code and documentation of this class comes, in part,
# from [SAX 2.0](http://www.saxproject.org).
class SAXLocatorImpl super SAXLocator
redef var public_id = null is writable
redef var system_id = null is writable
redef var line_number = -1 is writable
redef var column_number = -1 is writable
# Zero-argument constructor.
#
# This will not normally be useful, since the main purpose
# of this class is to make a snapshot of an existing Locator.
init do
end
# Copy constructor.
#
# Create a persistent copy of the current state of a locator.
# When the original locator changes, this copy will still keep
# the original values (and it can be used outside the scope of
# `ContentHandler` methods).
#
# Parameters:
#
# * `locator`: locator to copy.
init from(locator: SAXLocator) do
public_id = locator.public_id
system_id = locator.system_id
line_number = locator.line_number
column_number = locator.column_number
end
end
lib/sax/helpers/sax_locator_impl.nit:16,1--73,3