Class XSLKey

All Implemented Interfaces:
Serializable, Source, SourceLocator, LocationProvider, SaxonLocator, PullEvent, Container, FingerprintedNode, Item<NodeInfo>, MutableNodeInfo, NamespaceResolver, NodeInfo, ValueRepresentation<NodeInfo>, StylesheetProcedure, InstructionInfo, SiblingCountingNode, Locator

public class XSLKey extends StyleElement implements StylesheetProcedure
Handler for xsl:key elements in stylesheet.
See Also:
  • Field Details

  • Constructor Details

    • XSLKey

      public XSLKey()
  • Method Details

    • isDeclaration

      public boolean isDeclaration()
      Description copied from class: StyleElement
      Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet (including xsl:include and xsl:import). The default implementation returns false
      Overrides:
      isDeclaration in class StyleElement
      Returns:
      true if the element is a permitted child of xsl:stylesheet or xsl:transform
    • mayContainSequenceConstructor

      public boolean mayContainSequenceConstructor()
      Determine whether this type of element is allowed to contain a sequence constructor
      Overrides:
      mayContainSequenceConstructor in class StyleElement
      Returns:
      true: yes, it may contain a sequence constructor
    • getSlotManager

      public SlotManager getSlotManager()
      Get the Procedure object that looks after any local variables declared in the content constructor
      Specified by:
      getSlotManager in interface StylesheetProcedure
      Returns:
      the associated SlotManager object
    • prepareAttributes

      public void prepareAttributes() throws XPathException
      Description copied from class: StyleElement
      Set the attribute list for the element. This is called to process the attributes (note the distinction from processAttributes in the superclass). Must be supplied in a subclass
      Specified by:
      prepareAttributes in class StyleElement
      Throws:
      XPathException - if a static error is detected
    • getKeyName

      public StructuredQName getKeyName()
    • validate

      public void validate(Declaration decl) throws XPathException
      Description copied from class: StyleElement
      Check that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.
      Overrides:
      validate in class StyleElement
      Parameters:
      decl - the declaration to be validated
      Throws:
      XPathException - if any error is found during validation
    • index

      protected void index(Declaration decl, PrincipalStylesheetModule top) throws XPathException
      Description copied from class: StyleElement
      Method supplied by declaration elements to add themselves to a stylesheet-level index
      Overrides:
      index in class StyleElement
      Parameters:
      decl - the Declaration being indexed. (This corresponds to the StyleElement object except in cases where one module is imported several times with different precedence.)
      top - the outermost XSLStylesheet element
      Throws:
      XPathException - if any error is encountered
    • compileDeclaration

      public void compileDeclaration(Executable exec, Declaration decl) throws XPathException
      Description copied from class: StyleElement
      Compile a declaration in the stylesheet tree for use at run-time.
      Overrides:
      compileDeclaration in class StyleElement
      Parameters:
      exec - the Executable
      decl - the containing top-level declaration, for example xsl:function or xsl:template
      Throws:
      XPathException - if compilation fails
    • optimize

      public void optimize(Declaration declaration) throws XPathException
      Optimize the stylesheet construct
      Specified by:
      optimize in interface StylesheetProcedure
      Parameters:
      declaration - this xsl:key declaration
      Throws:
      XPathException