Class PositionVariable

  • All Implemented Interfaces:
    Binding

    public class PositionVariable
    extends java.lang.Object
    implements Binding
    Represents the defining occurrence of the position variable in a for expression within an expression, for example the $p in "for $x at $p in ...".
    • Constructor Detail

      • PositionVariable

        public PositionVariable()
        Create a RangeVariable
    • Method Detail

      • getVariableQName

        public StructuredQName getVariableQName()
        Get the name of the variable, as a namepool name code
        Specified by:
        getVariableQName in interface Binding
        Returns:
        the nameCode
      • getRequiredType

        public SequenceType getRequiredType()
        Get the required type (declared type) of the variable
        Specified by:
        getRequiredType in interface Binding
        Returns:
        the required type
      • setVariableQName

        public void setVariableQName​(StructuredQName variableName)
        Set the name of the variable
        Parameters:
        variableName - the name of the variable
      • setSlotNumber

        public void setSlotNumber​(int nr)
        Set the slot number for the range variable
        Parameters:
        nr - the slot number to be used
      • getLocalSlotNumber

        public int getLocalSlotNumber()
        If this is a local variable held on the local stack frame, return the corresponding slot number. In other cases, return -1.
        Specified by:
        getLocalSlotNumber in interface Binding
        Returns:
        the slot number on the local stack frame
      • isAssignable

        public boolean isAssignable()
        Test whether it is permitted to assign to the variable using the saxon:assign extension element. This will only be for an XSLT global variable where the extra attribute saxon:assignable="yes" is present.
        Specified by:
        isAssignable in interface Binding
        Returns:
        true if the binding is assignable
      • isGlobal

        public boolean isGlobal()
        Indicate whether the binding is local or global. A global binding is one that has a fixed value for the life of a query or transformation; any other binding is local.
        Specified by:
        isGlobal in interface Binding
        Returns:
        true if the binding is global