AttributeListpublic interface AttributeList Interface for an element's attribute specifications.
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 is the original SAX1 interface for reporting an element's
attributes. Unlike the new {@link org.xml.sax.Attributes Attributes}
interface, it does not support Namespace-related information.
When an attribute list is supplied as part of a
{@link org.xml.sax.DocumentHandler#startElement startElement}
event, the list will return valid results only during the
scope of the event; once the event handler returns control
to the parser, the attribute list is invalid. To save a
persistent copy of the attribute list, use the SAX1
{@link org.xml.sax.helpers.AttributeListImpl AttributeListImpl}
helper class.
An attribute list includes only attributes that have been
specified or defaulted: #IMPLIED attributes will not be included.
There are two ways for the SAX application to obtain information
from the AttributeList. First, it can iterate through the entire
list:
public void startElement (String name, AttributeList atts) {
for (int i = 0; i < atts.getLength(); i++) {
String name = atts.getName(i);
String type = atts.getType(i);
String value = atts.getValue(i);
[...]
}
}
(Note that the result of getLength() will be zero if there
are no attributes.)
As an alternative, the application can request the value or
type of specific attributes:
public void startElement (String name, AttributeList atts) {
String identifier = atts.getValue("id");
String label = atts.getValue("label");
[...]
}
|
Methods Summary |
---|
public abstract int | getLength()Return the number of attributes in this list.
The SAX parser may provide attributes in any
arbitrary order, regardless of the order in which they were
declared or specified. The number of attributes may be
zero.
| public abstract java.lang.String | getName(int i)Return the name of an attribute in this list (by position).
The names must be unique: the SAX parser shall not include the
same attribute twice. Attributes without values (those declared
#IMPLIED without a value specified in the start tag) will be
omitted from the list.
If the attribute name has a namespace prefix, the prefix
will still be attached.
| public abstract java.lang.String | getType(int i)Return the type of an attribute in the list (by position).
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".
| public abstract java.lang.String | getType(java.lang.String name)Return the type of an attribute in the list (by name).
The return value is the same as the return value for
getType(int).
If the attribute name has a namespace prefix in the document,
the application must include the prefix here.
| public abstract java.lang.String | getValue(int i)Return the value of an attribute in the list (by position).
If the attribute value is a list of tokens (IDREFS,
ENTITIES, or NMTOKENS), the tokens will be concatenated
into a single string separated by whitespace.
| public abstract java.lang.String | getValue(java.lang.String name)Return the value of an attribute in the list (by name).
The return value is the same as the return value for
getValue(int).
If the attribute name has a namespace prefix in the document,
the application must include the prefix here.
|
|