Attributes
interface, which includes Namespace support.public interface AttributeList
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 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"); [...] }
startElement
,
AttributeListImpl
Modifier and Type | Method and Description |
---|---|
int |
getLength()
Deprecated.
Return the number of attributes in this list.
|
String |
getName(int i)
Deprecated.
Return the name of an attribute in this list (by position).
|
String |
getType(int i)
Deprecated.
Return the type of an attribute in the list (by position).
|
String |
getType(String name)
Deprecated.
Return the type of an attribute in the list (by name).
|
String |
getValue(int i)
Deprecated.
Return the value of an attribute in the list (by position).
|
String |
getValue(String name)
Deprecated.
Return the value of an attribute in the list (by name).
|
int getLength()
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.
String getName(int i)
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.
i
- The index of the attribute in the list (starting at 0).getLength()
String getType(int i)
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".
i
- The index of the attribute in the list (starting at 0).getLength()
,
getType(java.lang.String)
String getValue(int i)
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.
i
- The index of the attribute in the list (starting at 0).getLength()
,
getValue(java.lang.String)
String getType(String 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.
name
- The name of the attribute.getType(int)
String getValue(String 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.
name
- the name of the attribute to returngetValue(int)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2019, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.