This module, both source code and documentation, is in the
Public Domain, and comes with NO WARRANTY.
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
feature is set to true (it is false by
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
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.
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 Recommendation
(clause 3.3.3, "Attribute-Value Normalization").
For an enumerated attribute that is not a notation, the
parser will report the type as "NMTOKEN".
index - The attribute index (zero-based).
The attribute's type as a string, or null if the
index is out of range.