public class SAXAttrList extends java.lang.Object implements AttributeList
AttributeList
interface and also provides Namespace support. Applications that require Namespace support can explicitly cast any attribute list returned by an Oracle parser class to SAXAttrList
and use the methods described here. It also implements Attributes (SAX 2.0) interface
This interface allows access to a list of attributes in three different ways:
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).
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 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.
Constructor and Description |
---|
SAXAttrList(int elems) |
Modifier and Type | Method and Description |
---|---|
void |
addAttr(java.lang.String pfx, java.lang.String lname, java.lang.String tag, java.lang.String value, boolean spec, int type)
Add an attribute to the parent element node.
|
void |
addAttr(java.lang.String pfx, java.lang.String lname, java.lang.String tag, java.lang.String value, boolean spec, int type, java.lang.String nmsp)
Add an attribute to the parent element node.
|
java.lang.String |
getExpandedName(int i)
Get the expanded name for an attribute in the list (by position)
|
int |
getIndex(java.lang.String qName)
Look up the index of an attribute by XML 1.0 qualified name.
|
int |
getIndex(java.lang.String uri, java.lang.String localPart)
Look up the index of an attribute by Namespace name.
|
int |
getLength()
Return the number of attributes in this list.
|
java.lang.String |
getLocalName(int index)
Look up an attribute's local name by index.
|
java.lang.String |
getName(int i)
Deprecated.
as of SAX2 - Replaced by getLocalName(int i)
|
java.lang.String |
getNamespace(int i)
Deprecated.
as of SAX2 - Replaced by getURI(int i)
|
java.lang.String |
getPrefix(int i)
Get the namespace prefix for an attribute in the list (by position)
|
java.lang.String |
getQName(int index)
Look up an attribute's XML 1.0 qualified name by index.
|
java.lang.String |
getQualifiedName(int i)
Deprecated.
as of SAX2 - Replaced by getQName(int i)
|
java.lang.String |
getType(int index)
Look up an attribute's type by index.
|
java.lang.String |
getType(java.lang.String qName)
Look up an attribute's type by XML 1.0 qualified name.
|
java.lang.String |
getType(java.lang.String uri, java.lang.String localName)
Look up an attribute's type by Namespace name.
|
java.lang.String |
getURI(int index)
Look up an attribute's Namespace URI by index.
|
java.lang.String |
getValue(int index)
Look up an attribute's value by index.
|
java.lang.String |
getValue(java.lang.String qName)
Look up an attribute's value by XML 1.0 qualified name.
|
java.lang.String |
getValue(java.lang.String uri, java.lang.String localName)
Look up an attribute's value by Namespace name.
|
boolean |
isSpecified(int index)
Look up if an attribute is specified by index.
|
void |
reset()
Resets the SAXAttrList
|
public void reset()
public void addAttr(java.lang.String pfx, java.lang.String lname, java.lang.String tag, java.lang.String value, boolean spec, int type)
pfx
- the prefix of the attributelname
- the local name of the attributetag
- the qname of the attributevalue
- the attribute valuespec
- the specified flagtype
- the attribute typepublic void addAttr(java.lang.String pfx, java.lang.String lname, java.lang.String tag, java.lang.String value, boolean spec, int type, java.lang.String nmsp)
pfx
- the prefix of the attributelname
- the local name of the attributetag
- the qname of the attributevalue
- the attribute valuespec
- the specified flagtype
- the attribute type #param nmsp the namespace of the attributepublic 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.
getLength
in interface AttributeList
public java.lang.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.
getName
in interface AttributeList
i
- The index of the attribute in the list (starting at 0).getLength()
public java.lang.String getPrefix(int i)
i
- The index of the attribute in the list.public java.lang.String getQualifiedName(int i)
i
- The index of the attribute in the list.public java.lang.String getNamespace(int i)
i
- The index of the attribute in the list.public java.lang.String getExpandedName(int i)
i
- The index of the attribute in the list.public java.lang.String getURI(int index)
index
- The attribute index (zero-based).getLength()
public java.lang.String getLocalName(int index)
index
- The attribute index (zero-based).getLength()
public java.lang.String getQName(int index)
index
- The attribute index (zero-based).getLength()
public java.lang.String getType(int index)
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".
getType
in interface AttributeList
index
- The attribute index (zero-based).getLength()
public boolean isSpecified(int index)
index
- The attribute index (zero-based).getLength()
public java.lang.String getValue(int index)
If the attribute value is a list of tokens (IDREFS, ENTITIES, or NMTOKENS), the tokens will be concatenated into a single string with each token separated by a single space.
getValue
in interface AttributeList
index
- The attribute index (zero-based).getLength()
public int getIndex(java.lang.String uri, java.lang.String localPart)
uri
- The Namespace URI, or the empty string if the name has no Namespace URI.localName
- The attribute's local name.public int getIndex(java.lang.String qName)
qName
- The qualified (prefixed) name.public java.lang.String getType(java.lang.String uri, java.lang.String localName)
See getType(int)
for a description of the possible types.
uri
- The Namespace URI, or the empty String if the name has no Namespace URI.localName
- The local name of the attribute.public java.lang.String getType(java.lang.String qName)
See getType(int)
for a description of the possible types.
getType
in interface AttributeList
qName
- The XML 1.0 qualified name.AttributeList.getType(int)
public java.lang.String getValue(java.lang.String uri, java.lang.String localName)
See getValue(int)
for a description of the possible values.
uri
- The Namespace URI, or the empty String if the name has no Namespace URI.localName
- The local name of the attribute.public java.lang.String getValue(java.lang.String qName)
See getValue(int)
for a description of the possible values.
getValue
in interface AttributeList
qName
- The XML 1.0 qualified name.AttributeList.getValue(int)