Class XSLGeneralVariable

All Implemented Interfaces:
Source, SourceLocator, LocationProvider, SaxonLocator, Container, FingerprintedNode, Item, NodeInfo, ValueRepresentation, InstructionInfo, Locator
Direct Known Subclasses:
SaxonAssign, SQLColumn, XSLVariableDeclaration, XSLWithParam

public abstract class XSLGeneralVariable extends StyleElement
This class defines common behaviour across xsl:variable, xsl:param, and xsl:with-param
  • Field Details

    • select

      protected Expression select
    • requiredType

      protected SequenceType requiredType
    • constantText

      protected String constantText
    • global

      protected boolean global
    • slotManager

      protected SlotManager slotManager
    • assignable

      protected boolean assignable
    • redundant

      protected boolean redundant
    • requiredParam

      protected boolean requiredParam
    • implicitlyRequiredParam

      protected boolean implicitlyRequiredParam
    • tunnel

      protected boolean tunnel
  • Constructor Details

    • XSLGeneralVariable

      public XSLGeneralVariable()
  • Method Details

    • getReturnedItemType

      protected ItemType getReturnedItemType()
      Determine the type of item returned by this instruction (only relevant if it is an instruction).
      Overrides:
      getReturnedItemType in class StyleElement
      Returns:
      the item type returned. This is null for a variable: we are not interested in the type of the variable, but in what the xsl:variable constributes to the result of the sequence constructor it is part of.
    • mayContainSequenceConstructor

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

      protected boolean allowsAsAttribute()
    • allowsTunnelAttribute

      protected boolean allowsTunnelAttribute()
    • allowsValue

      protected boolean allowsValue()
    • allowsRequired

      protected boolean allowsRequired()
    • isAssignable

      public boolean isAssignable()
      Test whether it is permitted to assign to the variable using the saxon:assign extension element. This will only be true if the extra attribute saxon:assignable="yes" is present.
    • isTunnelParam

      public boolean isTunnelParam()
    • isRequiredParam

      public boolean isRequiredParam()
    • isGlobal

      public boolean isGlobal()
    • getVariableName

      public String getVariableName()
      Get the display name of the variable.
    • setRedundant

      public void setRedundant()
      Mark this global variable as redundant. This is done before prepareAttributes is called.
    • getVariableFingerprint

      public int getVariableFingerprint()
      Get the fingerprint of the variable name
    • 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
    • validate

      public void validate() 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
      Throws:
      XPathException
    • checkAgainstRequiredType

      protected void checkAgainstRequiredType(SequenceType required) throws XPathException
      Check the supplied select expression against the required type.
      Parameters:
      required - The type required by the variable declaration, or in the case of xsl:with-param, the signature of the called template
      Throws:
      XPathException
    • initializeInstruction

      protected void initializeInstruction(Executable exec, GeneralVariable var) throws XPathException
      Initialize - common code called from the compile() method of all subclasses
      Throws:
      XPathException
    • setReferenceCount

      protected void setReferenceCount(GeneralVariable var)
    • getConstructType

      public int getConstructType()
      Get the type of construct. This will be a constant in class Location. This method is part of the InstructionInfo interface
      Specified by:
      getConstructType in interface InstructionInfo
      Overrides:
      getConstructType in class StyleElement