/**
  * Notify an attribute. Attributes are notified after the startElement event, and before any
  * children.
  */
 public void attribute(
     int nameCode, int typeCode, CharSequence value, int locationId, int properties)
     throws XPathException {
   int index = pendingAttributes.getIndexByFingerprint(nameCode & 0xfffff);
   if (index < 0) {
     pendingAttributes.addAttribute(nameCode, typeCode, value.toString(), locationId, properties);
   } else {
     pendingAttributes.setAttribute(
         index, nameCode, typeCode, value.toString(), locationId, properties);
   }
 }