## net.sf.saxon.tinytree
Class TinyAttributeCollection

    java.lang.Object
      net.sf.saxon.tinytree.TinyAttributeCollection

All Implemented Interfaces:
  AttributeCollection

    public class TinyAttributeCollection

extends java.lang.Object
implements AttributeCollection

An implementation of the AttributeCollection interface based directly on the TinyTree data structure.

Constructor Summary
`TinyAttributeCollection(TinyTree tree, int element)`

Method Summary
`int` `getIndex(java.lang.String uri, java.lang.String localname)` Get the index of an attribute (by name).
`int` `getIndexByFingerprint(int fingerprint)` Get the index, given the fingerprint
`int` `getLength()` Return the number of attributes in the list.
`int` `getLineNumber(int index)` Get the line number part of the location of an attribute, at a given index.
`java.lang.String` `getLocalName(int index)` Get the local name of an attribute (by position).
`int` `getLocationId(int index)` Get the locationID of an attribute (by position)
`int` `getNameCode(int index)` Get the namecode of an attribute (by position).
`java.lang.String` `getPrefix(int index)` Get the prefix of the name of an attribute (by position).
`int` `getProperties(int index)` Get the properties of an attribute (by position)
`java.lang.String` `getQName(int index)` Get the lexical QName of an attribute (by position).
`java.lang.String` `getSystemId(int index)` Get the systemId part of the location of an attribute, at a given index.
`int` `getTypeAnnotation(int index)` Get the type annotation of an attribute (by position).
`java.lang.String` `getURI(int index)` Get the namespace URI of an attribute (by position).
`java.lang.String` `getValue(int index)` Get the value of an attribute (by position).
`java.lang.String` `getValue(java.lang.String uri, java.lang.String localname)` Get the value of an attribute (by name).
`java.lang.String` `getValueByFingerprint(int fingerprint)` Get the attribute value using its fingerprint
`boolean` `isId(int index)` Determine whether a given attribute has the is-ID property set
`boolean` `isIdref(int index)` Determine whether a given attribute has the is-idref property set
`void` `setLocationProvider(LocationProvider provider)` Set the location provider.

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

Constructor Detail

### TinyAttributeCollection

    public TinyAttributeCollection(TinyTree tree,
                                   int element)

Method Detail

### setLocationProvider

    public void setLocationProvider(LocationProvider provider)

  Set the location provider. This must be set if the methods getSystemId() and getLineNumber() are to be used to get location information for an attribute.

### getLength

    public int getLength()

  Return the number of attributes in the list.

  Specified by:
    `getLength` in interface `AttributeCollection`
  Returns:
    The number of attributes in the list.

### getNameCode

    public int getNameCode(int index)

  Get the namecode of an attribute (by position).

  Specified by:
    `getNameCode` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The display name of the attribute as a string, or null if there is no attribute at that position.

### getTypeAnnotation

    public int getTypeAnnotation(int index)

  Get the type annotation of an attribute (by position).

  Specified by:
    `getTypeAnnotation` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The type annotation of the attribute as the fingerprint of the type name. The bit `NodeInfo.IS_DTD_TYPE` represents a DTD-derived type.

### getLocationId

    public int getLocationId(int index)

  Get the locationID of an attribute (by position)

  Specified by:
    `getLocationId` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The location identifier of the attribute. This can be supplied to a `LocationProvider` in order to obtain the actual system identifier and line number of the relevant location

### getSystemId

    public java.lang.String getSystemId(int index)

  Get the systemId part of the location of an attribute, at a given index.

  Attribute location information is not available from a SAX parser, so this method is not useful for getting the location of an attribute in a source document. However, in a Saxon result document, the location information represents the location in the stylesheet of the instruction used to generate this attribute, which is useful for debugging.

  Specified by:
    `getSystemId` in interface `AttributeCollection`
  Parameters:
    `index` - the required attribute
  Returns:
    the systemId of the location of the attribute

### getLineNumber

    public int getLineNumber(int index)

  Get the line number part of the location of an attribute, at a given index.

  Attribute location information is not available from a SAX parser, so this method is not useful for getting the location of an attribute in a source document. However, in a Saxon result document, the location information represents the location in the stylesheet of the instruction used to generate this attribute, which is useful for debugging.

  Specified by:
    `getLineNumber` in interface `AttributeCollection`
  Parameters:
    `index` - the required attribute
  Returns:
    the line number of the location of the attribute

### getProperties

    public int getProperties(int index)

  Get the properties of an attribute (by position)

  Specified by:
    `getProperties` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The properties of the attribute. This is a set of bit-settings defined in class `ReceiverOptions`. The most interesting of these is {`ReceiverOptions.DEFAULTED_ATTRIBUTE`, which indicates an attribute that was added to an element as a result of schema validation.

### getPrefix

    public java.lang.String getPrefix(int index)

  Get the prefix of the name of an attribute (by position).

  Specified by:
    `getPrefix` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The prefix of the attribute name as a string, or null if there is no attribute at that position. Returns "" for an attribute that has no prefix.

### getQName

    public java.lang.String getQName(int index)

  Get the lexical QName of an attribute (by position).

  Specified by:
    `getQName` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The lexical QName of the attribute as a string, or null if there is no attribute at that position.

### getLocalName

    public java.lang.String getLocalName(int index)

  Get the local name of an attribute (by position).

  Specified by:
    `getLocalName` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The local name of the attribute as a string, or null if there is no attribute at that position.

### getURI

    public java.lang.String getURI(int index)

  Get the namespace URI of an attribute (by position).

  Specified by:
    `getURI` in interface `AttributeCollection`
  Parameters:
    `index` - The position of the attribute in the list.
  Returns:
    The local name of the attribute as a string, or null if there is no attribute at that position.

### getIndex

    public int getIndex(java.lang.String uri,
                        java.lang.String localname)

  Get the index of an attribute (by name).

  Specified by:
    `getIndex` in interface `AttributeCollection`
  Parameters:
    `uri` - The namespace uri of the attribute.
    `localname` - The local name of the attribute.
  Returns:
    The index position of the attribute, or -1 if there is no attribute with this name

### getIndexByFingerprint

    public int getIndexByFingerprint(int fingerprint)

  Get the index, given the fingerprint

  Specified by:
    `getIndexByFingerprint` in interface `AttributeCollection`
  Parameters:
    `fingerprint` - the NamePool fingerprint of the required attribute name
  Returns:
    The index position of the attribute, or -1 if there is no attribute with this name

### getValueByFingerprint

    public java.lang.String getValueByFingerprint(int fingerprint)

  Get the attribute value using its fingerprint

  Specified by:
    `getValueByFingerprint` in interface `AttributeCollection`

### getValue

    public java.lang.String getValue(java.lang.String uri,
                                     java.lang.String localname)

  Get the value of an attribute (by name).

  Specified by:
    `getValue` in interface `AttributeCollection`
  Parameters:
    `uri` - The namespace uri of the attribute.
    `localname` - The local name of the attribute.
  Returns:
    The index position of the attribute

### getValue

    public java.lang.String getValue(int index)

  Get the value of an attribute (by position).

  Specified by:
    `getValue` in interface `AttributeCollection`
  Parameters:
    `index` - 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.

### isId

    public boolean isId(int index)

  Determine whether a given attribute has the is-ID property set

  Specified by:
    `isId` in interface `AttributeCollection`

### isIdref

    public boolean isIdref(int index)

  Determine whether a given attribute has the is-idref property set

  Specified by:
    `isIdref` in interface `AttributeCollection`

Copyright (c) Saxonica Limited. All rights reserved.