Interface for a list of XML attributes.

Introduced classes

interface Attributes

sax :: Attributes

Interface for a list of XML attributes.

All class definitions

interface Attributes

sax $ Attributes

Interface for a list of XML attributes.
package_diagram sax::attributes attributes core core sax::attributes->core sax::content_handler content_handler sax::content_handler->sax::attributes sax::attributes_impl attributes_impl sax::attributes_impl->sax::attributes sax::xml_reader xml_reader sax::xml_reader->sax::content_handler sax::xml_reader... ... sax::xml_reader...->sax::xml_reader sax::helpers helpers sax::helpers->sax::attributes_impl saxophonit::reader_model reader_model saxophonit::reader_model->sax::attributes_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 attributes_impl

sax :: attributes_impl

Default implementation of the Attributes interface.
module content_handler

sax :: content_handler

Receives notification of the logical content of a document.

Descendants

module a_star-m

a_star-m

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 a list of XML attributes.
module sax::attributes

# Interface for a list of XML attributes.
#
# This interface allows access to a list of attributes in
# three different ways:
#
# * by attribute index;
# * by Namespace-qualified name; or
# * by qualified (prefixed) name.
#
# The list will not contain attributes that were declared
# `#IMPLIED` but not specified in the start tag. It will also not
# contain attributes used as Namespace declarations (`xmlns*`) unless
# the `http://xml.org/sax/features/namespace-prefixes`
# feature is set to `true` (it is `false` by default).
# Because SAX2 conforms to the "Namespaces in XML" specification,
# it does not give namespace declaration attributes a namespace URI.
# Some other W3C specifications are in conflict with that, expecting
# these declarations to be in a namespace.
# Handler code may need to resolve that conflict.
#
# If the namespace-prefixes feature (see above) is `false`,
# access by qualified name may not be available; if the
# `http://xml.org/sax/features/namespaces`
# feature is `false`, access by Namespace-qualified names
# may not be available.
#
# The order of attributes in the list is unspecified, and will
# vary from implementation to implementation.
#
# Note: The original documentation comes from [SAX 2.0](http://www.saxproject.org).
#
# SEE: `sax::helpers::AttributesImpl`
#
# SEE: `sax::ext::DeclHandler.attribute_decl`
interface Attributes

	# Return the number of attributes in the list.
	fun length: Int is abstract

	# Look up an attribute's Namespace URI by index.
	#
	# Parameters:
	#
	# * `index`: attribute index.
	#
	# Returns:
	#
	# The Namespace URI, or the empty string if none
	# is available, or `null` if the index is out of
	# range.
	#
	# SEE: `length`
	fun uri(index: Int): nullable String is abstract

	# Look up an attribute's local name by index.
	#
	# Parameters:
	#
	# * `index`: attribute index.
	#
	# Returns:
	#
	# The local name, or the empty string if Namespace
	# processing is not being performed, or `null`
	# if the index is out of range.
	#
	# SEE: `length`
	fun local_name(index: Int): nullable String is abstract

	# Look up an attribute's XML 1.0 qualified name by index.
	#
	# Parameters:
	#
	# * `index`: attribute index.
	#
	# Returns:
	#
	# The XML 1.0 qualified name, or the empty string
	# if none is available, or `null` if the index
	# is out of range.
	#
	# SEE: `length`
	fun qname(index: Int): nullable String is abstract

	# Look up an attribute's type by index.
	#
	# The attribute type is one of the strings `CDATA`, `ID`,
	# `IDREF`, `IDREFS`, `NMTOKEN`, `NMTOKENS`, `ENTITY`, `ENTITIES`,
	# or `NOTATION` (always in upper case).
	#
	# If the parser has not read a declaration for the attribute,
	# or if the parser does not report attribute types, then it must
	# return the value `CDATA` as stated in the XML 1.0 Recommentation
	# (clause 3.3.3, "Attribute-Value Normalization").
	#
	# For an enumerated attribute that is not a notation, the
	# parser will report the type as `NMTOKEN`.
	#
	# Parameters:
	#
	# * `index: Int`: attribute index.
	# * `index: String`: XML 1.0 qualified (prefixed) name.
	#
	# Returns:
	#
	# The attribute's type as a string, or `null` if the specified
	# attribute is not in the list or if qualified names
	# are not available.
	#
	# SEE: `length`
	fun type_of(index: Object): nullable String is abstract

	# Look up an attribute's value by index.
	#
	# If the attribute value is a list of tokens (`IDREFS`,
	# `ENTITIES`, or `NMTOKENS`), the tokens will be concatenated
	# into a single string with each token separated by a
	# single space.
	#
	# Parameters:
	#
	# * `index: Int`: attribute index.
	# * `index: String`: XML 1.0 qualified (prefixed) name.
	#
	# Returns:
	#
	# The attribute's value as a string, or `null` if the specified
	# attribute is not in the list or if qualified names
	# are not available.
	#
	# SEE: `length`
	fun value_of(index: Object): nullable String is abstract

	# Look up the index of an attribute by Namespace name.
	#
	# Parameters:
	#
	# * `uri`: Namespace URI, or the empty string if
	# the name has no Namespace URI.
	# * `local_name`: attribute's local name.
	#
	# Returns:
	#
	# The index of the attribute, or -1 if it does not
	# appear in the list.
	fun index_ns(uri: String, local_name: String): Int is abstract

	# Look up the index of an attribute by XML 1.0 qualified name.
	#
	# Parameters:
	#
	# * `qname`: XML 1.0 qualified (prefixed) name.
	#
	# Returns:
	#
	# The index of the attribute, or -1 if it does not
	# appear in the list.
	fun index_of(qname: String): Int is abstract

	# Look up an attribute's type by Namespace name.
	#
	# See `type_of` for a description
	# of the possible types.
	#
	# Parameters:
	#
	# * `uri`: Namespace URI, or the empty string if
	# the name has no Namespace URI.
	#
	# * `local_name`: attribute's local name.
	#
	# Returns:
	#
	# The attribute type as a string, or `null` if the
	# attribute is not in the list or if Namespace
	# processing is not being performed.
	fun type_ns(uri: String, local_name: String): nullable String is abstract

	# Look up an attribute's value by Namespace name.
	#
	# See `value_of` for a description
	# of the possible values.
	#
	# Parameters:
	#
	# * `uri`: Namespace URI, or the empty string if
	# the name has no Namespace URI.
	#
	# * `local_name`: attribute's local name.
	#
	# Returns:
	#
	# The attribute value as a string, or `null` if the
	# attribute is not in the list or if Namespace
	# processing is not being performed.
	fun value_ns(uri: String, local_name: String): nullable String is abstract
end
lib/sax/attributes.nit:11,1--210,3