code: public void startElement(
            StylesheetHandler handler, String uri, String localName, String rawName, Attributes attributes)
              throws org.xml.sax.SAXException
    {
  
      KeyDeclaration kd = new KeyDeclaration(handler.getStylesheet(), handler.nextUid());
  
      kd.setDOMBackPointer(handler.getOriginatingNode());
      kd.setLocaterInfo(handler.getLocator());
      setPropertiesFromAttributes(handler, rawName, attributes, kd);
      handler.getStylesheet().setKey(kd);
    }
docs: Receive notification of the start of an xsl:key element.
  
  @param handler The calling StylesheetHandler/TemplatesBuilder.
  @param uri The Namespace URI, or the empty string if the
  element has no Namespace URI or if Namespace
  processing is not being performed.
  @param localName The local name (without prefix), or the
  empty string if Namespace processing is not being
  performed.
  @param rawName The raw XML 1.0 name (with prefix), or the
  empty string if raw names are not available.
  @param attributes The attributes attached to the element.  If
  there are no attributes, it shall be an empty
  Attributes object.