## org.apache.xalan.templates
Class KeyDeclaration

    java.lang.Object
      org.apache.xml.utils.UnImplNode
          org.apache.xalan.templates.ElemTemplateElement
              org.apache.xalan.templates.KeyDeclaration

All Implemented Interfaces:
  java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList

    public class KeyDeclaration

extends ElemTemplateElement

Holds the attribute declarations for the xsl:keys element. A stylesheet declares a set of keys for each document using the xsl:key element. When this set of keys contains a member with node x, name y and value z, we say that node x has a key with name y and value z.

See Also:
  key in XSLT Specification, Serialized Form
Usage:
  **For internal use only**

Field Summary

Fields inherited from interface org.w3c.dom.Node

`ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE`

Constructor Summary
`KeyDeclaration(Stylesheet parentNode, int docOrderNumber)` Constructs a new element representing the xsl:key.

Method Summary
`void` `compose(StylesheetRoot sroot)` This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.
`XPath` `getMatch()` Get the "match" attribute.
`QName` `getName()` Get the "name" attribute.
`java.lang.String` `getNodeName()` Return the node name.
`XPath` `getUse()` Get the "use" attribute.
`int` `getXSLToken()` Get an int constant identifying the type of element.
`void` `recompose(StylesheetRoot root)` This function is called during recomposition to control how this element is composed.
`void` `setMatch(XPath v)` Set the "match" attribute.
`void` `setName(QName name)` Set the "name" attribute.
`void` `setUse(XPath v)` Set the "use" attribute.

Methods inherited from class org.apache.xalan.templates.ElemTemplateElement

`appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, containsExcludeResultPrefix, endCompose, error, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getNodeType, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getStylesheet, getStylesheetComposed, getStylesheetRoot, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace`

Methods inherited from class org.apache.xml.utils.UnImplNode

`adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData`

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

Constructor Detail

### KeyDeclaration

    public KeyDeclaration(Stylesheet parentNode,
                          int docOrderNumber)

  Constructs a new element representing the xsl:key. The parameters are needed to prioritize this key element as part of the recomposing process. For this element, they are not automatically created because the element is never added on to the stylesheet parent.

Method Detail

### setName

    public void setName(QName name)

  Set the "name" attribute. The name attribute specifies the name of the key. The value of the name attribute is a QName, which is expanded as described in [2.4 Qualified Names].

  Parameters:
    `name` - Value to set for the "name" attribute.

### getName

    public QName getName()

  Get the "name" attribute. The name attribute specifies the name of the key. The value of the name attribute is a QName, which is expanded as described in [2.4 Qualified Names].

  Returns:
    Value of the "name" attribute.

### getNodeName

    public java.lang.String getNodeName()

  Return the node name.

  Specified by:
    `getNodeName` in interface `org.w3c.dom.Node`
  Overrides:
    `getNodeName` in class `ElemTemplateElement`
  Returns:
    the element's name

### setMatch

    public void setMatch(XPath v)

  Set the "match" attribute. The match attribute is a Pattern; an xsl:key element gives information about the keys of any node that matches the pattern specified in the match attribute.

  Parameters:
    `v` - Value to set for the "match" attribute.
  See Also:
    patterns in XSLT Specification

### getMatch

    public XPath getMatch()

  Get the "match" attribute. The match attribute is a Pattern; an xsl:key element gives information about the keys of any node that matches the pattern specified in the match attribute.

  Returns:
    Value of the "match" attribute.
  See Also:
    patterns in XSLT Specification

### setUse

    public void setUse(XPath v)

  Set the "use" attribute. The use attribute is an expression specifying the values of the key; the expression is evaluated once for each node that matches the pattern.

  Parameters:
    `v` - Value to set for the "use" attribute.

### getUse

    public XPath getUse()

  Get the "use" attribute. The use attribute is an expression specifying the values of the key; the expression is evaluated once for each node that matches the pattern.

  Returns:
    Value of the "use" attribute.

### getXSLToken

    public int getXSLToken()

  Get an int constant identifying the type of element.

  Overrides:
    `getXSLToken` in class `ElemTemplateElement`
  Returns:
    The token ID for this element
  See Also:
    `Constants`

### compose

    public void compose(StylesheetRoot sroot)
                 throws javax.xml.transform.TransformerException

  This function is called after everything else has been recomposed, and allows the template to set remaining values that may be based on some other property that depends on recomposition.

  Overrides:
    `compose` in class `ElemTemplateElement`
  Throws:
    `javax.xml.transform.TransformerException`

### recompose

    public void recompose(StylesheetRoot root)

  This function is called during recomposition to control how this element is composed.

  Overrides:
    `recompose` in class `ElemTemplateElement`
  Parameters:
    `root` - The root stylesheet for this transformation.

Copyright © 2005 Apache XML Project. All Rights Reserved.