class AttributeList

Interface for an element's attribute specifications

Inheritance:


Public

Constructors and Destructor
AttributeList ()
Default constructor
virtual ~AttributeList ()
Destructor
private Constructors and operators
AttributeList (const AttributeList&)
Copy constructor
void operator= (const AttributeList&)
Assignment operator
The virtual attribute list interface
virtual unsigned int getLength () const
Return the number of attributes in this list
virtual const XMLCh* getName (const unsigned int index) const
Return the name of an attribute in this list (by position)
virtual const XMLCh* getType (const unsigned int index) const
Return the type of an attribute in the list (by position)
virtual const XMLCh* getValue (const unsigned int index) const
Return the value of an attribute in the list (by position)
virtual const XMLCh* getType (const XMLCh* const name) const
Return the type of an attribute in the list (by name)
virtual const XMLCh* getValue (const XMLCh* const name) const
Return the value of an attribute in the list (by name)

Documentation

Interface for an element's attribute specifications. The SAX parser implements this interface and passes an instance to the SAX application as the second argument of each startElement event. The instance provided will return valid results only during the scope of the startElement invocation (to save it for future use, the application must make a copy: the AttributeListImpl helper class provides a convenient constructor for doing so). An AttributeList 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");
[...]
}
The AttributeListImpl helper class provides a convenience implementation for use by parser or application writers. $Log: AttributeList.hpp,v $ Revision 1.1.1.1 1999/11/09 01:07:43 twl Initial checkin Revision 1.2 1999/11/08 20:44:54 rahul Swat for adding in Product name and CVS comment log variable.
Constructors and Destructor

AttributeList()
Default constructor

virtual ~AttributeList()
Destructor

The virtual attribute list interface

virtual unsigned int getLength() const
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:
The number of attributes in the list.

virtual const XMLCh* getName(const unsigned int index) const
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.
Returns:
The name of the indexed attribute, or null if the index is out of range.
Parameters:
index - The index of the attribute in the list (starting at 0).
See Also:
getLength

virtual const XMLCh* getType(const unsigned int index) const
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".
Returns:
The attribute type as a string, or null if the index is out of range.
Parameters:
index - The index of the attribute in the list (starting at 0).
See Also:
getLength
getType(String)

virtual const XMLCh* getValue(const unsigned int index) const
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.
Returns:
The attribute value as a string, or null if the index is out of range.
Parameters:
index - The index of the attribute in the list (starting at 0).
See Also:
getLength
getValue(String)

virtual const XMLCh* getType(const XMLCh* const name) const
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.
Returns:
The attribute type as a string, or null if no such attribute exists.
Parameters:
name - The name of the attribute.
See Also:
getType(int)

virtual const XMLCh* getValue(const XMLCh* const name) const
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.
Returns:
The attribute value as a string, or null if no such attribute exists.
Parameters:
name - The name of the attribute in the list.
See Also:
getValue(int)

private Constructors and operators

AttributeList(const AttributeList&)
Copy constructor

void operator=(const AttributeList&)
Assignment operator


This class has no child classes.
See Also:
startElement
AttributeListImpl

alphabetic index hierarchy of classes


XML Parser for C++ 2.0
Copyright © IBM Corp, 1999
Center for Java Technology
10275 N. De Anza Blvd.
Cupertino CA 95014 USA
Email: xml4c@us.ibm.com

IBM Logo