APIdia Launch Partner
Top Description Methods
org.xml.sax

public Interface AttributeList

Known Direct Implementers
org.xml.sax.helpers.AttributeListImpl, org.xml.sax.helpers.XMLReaderAdapter.AttributesAdapter, com.sun.org.apache.xalan.internal.xsltc.runtime.Attributes, com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.AttributesProxy, com.sun.org.apache.xerces.internal.util.AttributesProxy
Annotations
@Deprecated
since:1.5

Deprecated

since 1.5.

This interface has been replaced by the SAX2 Attributes interface, which includes Namespace support.

Interface for an element's attribute specifications.

This is the original SAX1 interface for reporting an element's attributes. Unlike the new Attributes interface, it does not support Namespace-related information.

When an attribute list is supplied as part of a 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 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");
  [...]
}
Author
David Megginson
Since
1.4, SAX 1.0
See Also
startElement, AttributeListImpl

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

The number of attributes in the list.
getLength
()

Return the number of attributes in this list.

public String

Returns:

The name of the indexed attribute, or null if the index is out of range.
getName
(int
The index of the attribute in the list (starting at 0).
i
)

Return the name of an attribute in this list (by position).

public String

Returns:

The attribute type as a string, or null if the index is out of range.
getType
(int
The index of the attribute in the list (starting at 0).
i
)

Return the type of an attribute in the list (by position).

public String

Returns:

The attribute type as a string, or null if no such attribute exists.
getType
(String
The name of the attribute.
name
)

Return the type of an attribute in the list (by name).

public String

Returns:

The attribute value as a string, or null if the index is out of range.
getValue
(int
The index of the attribute in the list (starting at 0).
i
)

Return the value of an attribute in the list (by position).

public String

Returns:

The attribute value as a string, or null if no such attribute exists.
getValue
(String
the name of the attribute to return
name
)

Return the value of an attribute in the list (by name).

Method Detail

getLengthback to summary
public 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.

Returns:int

The number of attributes in the list.

getNameback to summary
public 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.

Parameters
i:int

The index of the attribute in the list (starting at 0).

Returns:String

The name of the indexed attribute, or null if the index is out of range.

See Also
getLength
getTypeback to summary
public 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".

Parameters
i:int

The index of the attribute in the list (starting at 0).

Returns:String

The attribute type as a string, or null if the index is out of range.

See Also
getLength, getType(java.lang.String)
getTypeback to summary
public String getType(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.

Parameters
name:String

The name of the attribute.

Returns:String

The attribute type as a string, or null if no such attribute exists.

See Also
getType(int)
getValueback to summary
public 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.

Parameters
i:int

The index of the attribute in the list (starting at 0).

Returns:String

The attribute value as a string, or null if the index is out of range.

See Also
getLength, getValue(java.lang.String)
getValueback to summary
public String getValue(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.

Parameters
name:String

the name of the attribute to return

Returns:String

The attribute value as a string, or null if no such attribute exists.

See Also
getValue(int)