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

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, 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 © 2023 Apache XML Project. All Rights Reserved.