Class Bindery

java.lang.Object
net.sf.saxon.instruct.Bindery

public final class Bindery extends Object
The Bindery class holds information about variables and their values. From Saxon 8.1, it is used only for global variables: local variables are now held in the XPathContext object. Variables are identified by a Binding object. Values will always be of class Value.
  • Constructor Details

    • Bindery

      public Bindery()
  • Method Details

    • allocateGlobals

      public void allocateGlobals(SlotManager map)
      Define how many slots are needed for global variables
    • defineGlobalParameters

      public void defineGlobalParameters(GlobalParameterSet params)
      Define global parameters
      Parameters:
      params - The ParameterSet passed in by the user, eg. from the command line
    • useGlobalParameter

      public boolean useGlobalParameter(int fingerprint, GlobalParam binding, XPathContext context) throws XPathException
      Use global parameter. This is called when a global xsl:param element is processed. If a parameter of the relevant name was supplied, it is bound to the xsl:param element. Otherwise the method returns false, so the xsl:param default will be evaluated.
      Parameters:
      fingerprint - The fingerprint of the parameter
      binding - The XSLParam element to bind its value to
      Returns:
      true if a parameter of this name was supplied, false if not
      Throws:
      XPathException
    • defineGlobalVariable

      public void defineGlobalVariable(GlobalVariable binding, ValueRepresentation value)
      Provide a value for a global variable
      Parameters:
      binding - identifies the variable
      value - the value of the variable
    • setExecuting

      public void setExecuting(GlobalVariable binding, boolean executing) throws XPathException
      Set/Unset a flag to indicate that a particular global variable is currently being evaluated.
      Throws:
      XPathException - If an attempt is made to set the flag when it is already set, this means the definition of the variable is circular.
    • getGlobalVariableValue

      public ValueRepresentation getGlobalVariableValue(GlobalVariable binding)
      Get the value of a global variable
      Parameters:
      binding - the Binding that establishes the unique instance of the variable
      Returns:
      the Value of the variable if defined, null otherwise.
    • getGlobalVariable

      public ValueRepresentation getGlobalVariable(int slot)
      Get the value of a global variable whose slot number is known
      Parameters:
      slot - the slot number of the required variable
      Returns:
      the Value of the variable if defined, null otherwise.
    • assignGlobalVariable

      public void assignGlobalVariable(GlobalVariable binding, ValueRepresentation value)
      Assign a new value to a global variable. Supports saxon:assign.
      Parameters:
      binding - identifies the local or global variable or parameter
    • getGlobalVariableMap

      public SlotManager getGlobalVariableMap()
      Get the Global Variable Map, containing the mapping of variable names (fingerprints) to slot numbers. This is provided for use by debuggers.
    • getGlobalVariables

      public ValueRepresentation[] getGlobalVariables()
      Get all the global variables, as an array. This is provided for use by debuggers that know the layout of the global variables within the array.