## org.apache.xalan.xpath.xml
Class MutableAttrListImpl

    java.lang.Object
      |
      +--org.apache.xalan.xpath.xml.StringVector
            |
            +--org.apache.xalan.xpath.xml.MutableAttrListImpl

public class MutableAttrListImpl
extends StringVector
implements org.xml.sax.AttributeList, java.io.Serializable

**For advanced use only** Implement the SAX AttributeList interface, using a single array.

See Also:
  Serialized Form

Constructor Summary
`MutableAttrListImpl()` **For advanced use only** Create an empty attribute list.
`MutableAttrListImpl(org.xml.sax.AttributeList atts)` **For advanced use only** Construct a persistent copy of an existing attribute list.

Method Summary
`void` `addAttribute(java.lang.String name, java.lang.String type, java.lang.String value)` **For advanced use only** Add an attribute to an attribute list.
`void` `clear()` **For advanced use only** Clear the attribute list.
`int` `getLength()` **For advanced use only** Return the number of attributes in the list.
`java.lang.String` `getName(int i)` **For advanced use only** Get the name of an attribute (by position).
`java.lang.String` `getType(int i)` **For advanced use only** Get the type of an attribute (by position).
`java.lang.String` `getType(java.lang.String name)` **For advanced use only** Get the type of an attribute (by name).
`java.lang.String` `getValue(int i)` **For advanced use only** Get the value of an attribute (by position).
`java.lang.String` `getValue(java.lang.String name)` **For advanced use only** Get the value of an attribute (by name).
`void` `removeAttribute(java.lang.String name)` **For advanced use only** Remove an attribute from the list.
`void` `setAttributeList(org.xml.sax.AttributeList atts)` **For advanced use only** Set the attribute list, discarding previous contents.

Methods inherited from class org.apache.xalan.xpath.xml.StringVector
`addElement, contains, containsIgnoreCase, elementAt, peek, pop, push, size`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MutableAttrListImpl

    public MutableAttrListImpl()

  **For advanced use only** Create an empty attribute list.

  This constructor is most useful for parser writers, who will use it to create a single, reusable attribute list that can be reset with the clear method between elements.

  See Also:
    `addAttribute(java.lang.String, java.lang.String, java.lang.String)`, `clear()`

### MutableAttrListImpl

    public MutableAttrListImpl(org.xml.sax.AttributeList atts)

  **For advanced use only** Construct a persistent copy of an existing attribute list.

  This constructor is most useful for application writers, who will use it to create a persistent copy of an existing attribute list.

  Parameters:
    `atts` - The attribute list to copy
  See Also:
    `DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)`

Method Detail

### setAttributeList

    public void setAttributeList(org.xml.sax.AttributeList atts)

  **For advanced use only** Set the attribute list, discarding previous contents.

  This method allows an application writer to reuse an attribute list easily.

  Parameters:
    `atts` - The attribute list to copy.

### addAttribute

    public void addAttribute(java.lang.String name,
                             java.lang.String type,
                             java.lang.String value)

  **For advanced use only** Add an attribute to an attribute list.

  This method is provided for SAX parser writers, to allow them to build up an attribute list incrementally before delivering it to the application.

  Parameters:
    `name` - The attribute name.
    `type` - The attribute type ("NMTOKEN" for an enumeration).
    `value` - The attribute value (must not be null).
  See Also:
    `removeAttribute(java.lang.String)`, `DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)`

### removeAttribute

    public void removeAttribute(java.lang.String name)

  **For advanced use only** Remove an attribute from the list.

  SAX application writers can use this method to filter an attribute out of an AttributeList. Note that invoking this method will change the length of the attribute list and some of the attribute's indices.

  If the requested attribute is not in the list, this is a no-op.

  Parameters:
    `name` - The attribute name.
  See Also:
    `addAttribute(java.lang.String, java.lang.String, java.lang.String)`

### clear

    public void clear()

  **For advanced use only** Clear the attribute list.

  SAX parser writers can use this method to reset the attribute list between DocumentHandler.startElement events. Normally, it will make sense to reuse the same MutableAttrListImpl object rather than allocating a new one each time.

  See Also:
    `DocumentHandler.startElement(java.lang.String, org.xml.sax.AttributeList)`

### getLength

    public int getLength()

  **For advanced use only** Return the number of attributes in the list.
  Specified by:
    getLength in interface org.xml.sax.AttributeList
  Returns:
    The number of attributes in the list.
  Overrides:
    getLength in class StringVector
  See Also:
    `AttributeList.getLength()`

### getName

    public java.lang.String getName(int i)

  **For advanced use only** Get the name of an attribute (by position).
  Specified by:
    getName in interface org.xml.sax.AttributeList
  Parameters:
    `i` - The position of the attribute in the list.
  Returns:
    The attribute name as a string, or null if there is no attribute at that position.
  See Also:
    `AttributeList.getName(int)`

### getType

    public java.lang.String getType(int i)

  **For advanced use only** Get the type of an attribute (by position).
  Specified by:
    getType in interface org.xml.sax.AttributeList
  Parameters:
    `i` - The position of the attribute in the list.
  Returns:
    The attribute type as a string ("NMTOKEN" for an enumeration, and "CDATA" if no declaration was read), or null if there is no attribute at that position.
  See Also:
    `AttributeList.getType(int)`

### getValue

    public java.lang.String getValue(int i)

  **For advanced use only** Get the value of an attribute (by position).
  Specified by:
    getValue in interface org.xml.sax.AttributeList
  Parameters:
    `i` - The position of the attribute in the list.
  Returns:
    The attribute value as a string, or null if there is no attribute at that position.
  See Also:
    `AttributeList.getValue(int)`

### getType

    public java.lang.String getType(java.lang.String name)

  **For advanced use only** Get the type of an attribute (by name).
  Specified by:
    getType in interface org.xml.sax.AttributeList
  Parameters:
    `name` - The attribute name.
  Returns:
    The attribute type as a string ("NMTOKEN" for an enumeration, and "CDATA" if no declaration was read).
  See Also:
    `AttributeList.getType(java.lang.String)`

### getValue

    public java.lang.String getValue(java.lang.String name)

  **For advanced use only** Get the value of an attribute (by name).
  Specified by:
    getValue in interface org.xml.sax.AttributeList
  Parameters:
    `name` - The attribute name.
  See Also:
    `AttributeList.getValue(java.lang.String)`

Copyright © 2000 Apache XML Project. All Rights Reserved.