code: public int getAttributeNode(int nodeHandle, String namespaceURI, String name) {
                  int nsIndex = m_nsNames.stringToIndex(namespaceURI),
                                                                          nameIndex = m_localNames.stringToIndex(name);
                  nodeHandle &= NODEHANDLE_MASK;
                  nodes.readSlot(nodeHandle, gotslot);
                  short type = (short) (gotslot[0] & 0xFFFF);
                  // If nodeHandle points to element next slot would be first attribute
                  if (type == ELEMENT_NODE)
                          nodeHandle++;
                  // Iterate through Attribute Nodes
                  while (type == ATTRIBUTE_NODE) {
                          if ((nsIndex == (gotslot[0] << 16)) && (gotslot[3] == nameIndex))
                                  return nodeHandle | m_docHandle;
                          // Goto next sibling
                          nodeHandle = gotslot[2];
                          nodes.readSlot(nodeHandle, gotslot);
                  }
                  return NULL;
          }
docs: Retrieves an attribute node by by qualified name and namespace URI.
  
  @param nodeHandle int Handle of the node upon which to look up this attribute.
  @param namespaceURI The namespace URI of the attribute to
  retrieve, or null.
  @param name The local name of the attribute to
  retrieve.
  @return The attribute node handle with the specified name (
  <code>nodeName</code>) or <code>DTM.NULL</code> if there is no such
  attribute.