Interface for a list of XML attributes.
This module, both source code and documentation, is in the
Public Domain, and comes with NO WARRANTY.
See http://www.saxproject.org
for further information.
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 original "Namespaces in XML"
recommendation, it normally does not
give namespace declaration attributes a namespace URI.
Some SAX2 parsers may support using an optional feature flag
(http://xml.org/sax/features/xmlns-uris
) to request
that those attributes be given URIs, conforming to a later
backwards-incompatible revision of that recommendation. (The
attribute's "local name" will be the prefix, or "xmlns" when
defining a default element namespace.) For portability, handler
code should always resolve that conflict, rather than requiring
parsers that can change the setting of that feature flag.
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.
This interface replaces the now-deprecated SAX1 AttributeList
interface, which does not
contain Namespace support. In addition to Namespace support, it
adds the getIndex methods (below).
The order of attributes in the list is unspecified, and will
vary from implementation to implementation.