Android
org.xml.sax.ext
public class

org.xml.sax.ext.Attributes2Impl

java.lang.Object
org.xml.sax.helpers.AttributesImpl Attributes
org.xml.sax.ext.Attributes2Impl Attributes2

SAX2 extension helper for additional Attributes information, implementing the Attributes2 interface.

This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

This is not part of core-only SAX2 distributions.

The specified flag for each attribute will always be true, unless it has been set to false in the copy constructor or using setSpecified(int, boolean). Similarly, the declared flag for each attribute will always be false, except for defaulted attributes (specified is false), non-CDATA attributes, or when it is set to true using setDeclared(int, boolean). If you change an attribute's type by hand, you may need to modify its declared flag to match.

Summary

Public Constructors

            Attributes2Impl()
Construct a new, empty Attributes2Impl object.
            Attributes2Impl(Attributes atts)
Copy an existing Attributes or Attributes2 object.

Public Methods

          void  addAttribute(String uri, String localName, String qName, String type, String value)
Add an attribute to the end of the list, setting its "specified" flag to true.
          boolean  isDeclared(int index)
Returns false unless the attribute was declared in the DTD.
          boolean  isDeclared(String qName)
Returns false unless the attribute was declared in the DTD.
          boolean  isDeclared(String uri, String localName)
Returns false unless the attribute was declared in the DTD.
          boolean  isSpecified(String qName)
Returns the current value of an attribute's "specified" flag.
          boolean  isSpecified(int index)
Returns the current value of an attribute's "specified" flag.
          boolean  isSpecified(String uri, String localName)
Returns the current value of an attribute's "specified" flag.
          void  removeAttribute(int index)
Remove an attribute from the list.
          void  setAttributes(Attributes atts)
Copy an entire Attributes object.
          void  setDeclared(int index, boolean value)
Assign a value to the "declared" flag of a specific attribute.
          void  setSpecified(int index, boolean value)
Assign a value to the "specified" flag of a specific attribute.
Methods inherited from class org.xml.sax.helpers.AttributesImpl
Methods inherited from class java.lang.Object
Methods inherited from interface org.xml.sax.Attributes
Methods inherited from interface org.xml.sax.ext.Attributes2

Details

Public Constructors

public Attributes2Impl()

Construct a new, empty Attributes2Impl object.

public Attributes2Impl(Attributes atts)

Copy an existing Attributes or Attributes2 object. If the object implements Attributes2, values of the specified and declared flags for each attribute are copied. Otherwise the flag values are defaulted to assume no DTD was used, unless there is evidence to the contrary (such as attributes with type other than CDATA, which must have been declared).

This constructor is especially useful inside a startElement event.

Parameters

atts The existing Attributes object.

Public Methods

public void addAttribute(String uri, String localName, String qName, String type, String value)

Add an attribute to the end of the list, setting its "specified" flag to true. To set that flag's value to false, use setSpecified(int, boolean).

Unless the attribute type is CDATA, this attribute is marked as being declared in the DTD. To set that flag's value to true for CDATA attributes, use setDeclared(int, boolean).

Parameters

uri The Namespace URI, or the empty string if none is available or Namespace processing is not being performed.
localName The local name, or the empty string if Namespace processing is not being performed.
qName The qualified (prefixed) name, or the empty string if qualified names are not available.
type The attribute type as a string.
value The attribute value.

public boolean isDeclared(int index)

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).

public boolean isDeclared(String qName)

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).

public boolean isDeclared(String uri, String localName)

Returns false unless the attribute was declared in the DTD. This helps distinguish two kinds of attributes that SAX reports as CDATA: ones that were declared (and hence are usually valid), and those that were not (and which are never valid).

Remember that since DTDs do not "understand" namespaces, the namespace URI associated with an attribute may not have come from the DTD. The declaration will have applied to the attribute's qName.

public boolean isSpecified(String qName)

Returns the current value of an attribute's "specified" flag.

Parameters

qName The XML qualified (prefixed) name.

Returns

  • current flag value

Throws

IllegalArgumentException When the supplied name does not identify an attribute.

public boolean isSpecified(int index)

Returns the current value of an attribute's "specified" flag.

Parameters

index The attribute index (zero-based).

Returns

  • current flag value

Throws

ArrayIndexOutOfBoundsException When the supplied index does not identify an attribute.

public boolean isSpecified(String uri, String localName)

Returns the current value of an attribute's "specified" flag.

Parameters

uri The Namespace URI, or the empty string if the name has no Namespace URI.
localName The attribute's local name.

Returns

  • current flag value

Throws

IllegalArgumentException When the supplied names do not identify an attribute.

public void removeAttribute(int index)

Remove an attribute from the list.

Parameters

index The index of the attribute (zero-based).

public void setAttributes(Attributes atts)

Copy an entire Attributes object. The "specified" flags are assigned as true, and "declared" flags as false (except when an attribute's type is not CDATA), unless the object is an Attributes2 object. In that case those flag values are all copied.

Parameters

atts The attributes to copy.

public void setDeclared(int index, boolean value)

Assign a value to the "declared" flag of a specific attribute. This is normally needed only for attributes of type CDATA, including attributes whose type is changed to or from CDATA.

Parameters

index The index of the attribute (zero-based).
value The desired flag value.

Throws

ArrayIndexOutOfBoundsException When the supplied index does not identify an attribute.

public void setSpecified(int index, boolean value)

Assign a value to the "specified" flag of a specific attribute. This is the only way this flag can be cleared, except clearing by initialization with the copy constructor.

Parameters

index The index of the attribute (zero-based).
value The desired flag value.

Throws

ArrayIndexOutOfBoundsException When the supplied index does not identify an attribute.
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48