Class XSLAccumulator

All Implemented Interfaces:
Source, SourceLocator, ActiveSource, GroundedValue, Item, MutableNodeInfo, NamespaceResolver, NodeInfo, Sequence, Location, StylesheetComponent, SteppingNode, SiblingCountingNode, Locator

public class XSLAccumulator extends StyleElement implements StylesheetComponent
Handler for xsl:accumulator elements in a stylesheet (XSLT 3.0).
  • Constructor Details

    • XSLAccumulator

      public XSLAccumulator()
  • Method Details

    • getActor

      public Actor getActor()
      Get the corresponding Procedure object that results from the compilation of this StylesheetProcedure
      Specified by:
      getActor in interface StylesheetComponent
      Returns:
      the compiled ComponentCode
    • getSymbolicName

      public SymbolicName getSymbolicName()
      Description copied from interface: StylesheetComponent
      Get the symbolic name of the component, that is, the combination of the component kind and the qualified name
      Specified by:
      getSymbolicName in interface StylesheetComponent
      Returns:
      the component's symbolic name
    • checkCompatibility

      public void checkCompatibility(Component component)
      Description copied from interface: StylesheetComponent
      Check the compatibility of this component with another component that it is overriding
      Specified by:
      checkCompatibility in interface StylesheetComponent
      Parameters:
      component - the overridden component
    • isDeclaration

      public boolean isDeclaration()
      Ask whether this node is a declaration, that is, a permitted child of xsl:stylesheet (including xsl:include and xsl:import).
      Overrides:
      isDeclaration in class StyleElement
      Returns:
      true for this element
    • prepareAttributes

      protected void prepareAttributes()
      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
    • compileDeclaration

      public void compileDeclaration(Compilation compilation, ComponentDeclaration 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:
      compilation - the compilation episode
      decl - the containing top-level declaration, for example xsl:function or xsl:template
      Throws:
      XPathException - if compilation fails
    • getObjectName

      public StructuredQName getObjectName()
      Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically. If there is no name, the value will be -1.
      Overrides:
      getObjectName in class StyleElement
      Returns:
      the name of the object declared in this element, if any
    • index

      public void index(ComponentDeclaration decl, PrincipalStylesheetModule top)
      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 - represents the outermost XSLStylesheet or XSLPackage element
    • validate

      public void validate(ComponentDeclaration 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
    • getSlotManager

      public SlotManager getSlotManager()
      Description copied from interface: StylesheetComponent
      Get the SlotManager associated with this stylesheet construct. The SlotManager contains the information needed to manage the local stack frames used by run-time instances of the code.
      Specified by:
      getSlotManager in interface StylesheetComponent
      Returns:
      the associated SlotManager object
    • optimize

      public void optimize(ComponentDeclaration declaration) throws XPathException
      Description copied from interface: StylesheetComponent
      Optimize the stylesheet construct
      Specified by:
      optimize in interface StylesheetComponent
      Parameters:
      declaration - the combination of the source XSLT element defining the component, and the module in which it appears
      Throws:
      XPathException - if an error is found at this stage (which shouldn't really happen)
    • getResultType

      public SequenceType getResultType()
      Get the type of value returned by this function
      Returns:
      the declared result type, or the inferred result type if this is more precise