com.saxonica.expr
Class XPath30Parser.TemporaryXSLTVariableBinding

java.lang.Object
  extended by com.saxonica.expr.XPath30Parser.TemporaryXSLTVariableBinding
All Implemented Interfaces:
Binding
Enclosing class:
XPath30Parser

public static class XPath30Parser.TemporaryXSLTVariableBinding
extends Object
implements Binding


Constructor Summary
XPath30Parser.TemporaryXSLTVariableBinding(XSLVariableDeclaration decl)
           
 
Method Summary
 void addReference(boolean isLoopingReference)
          Register a variable reference that refers to the variable bound in this expression
 ValueRepresentation evaluateVariable(XPathContext context)
          Evaluate the variable
 IntegerValue[] getIntegerBoundsForVariable()
          If the variable is bound to an integer, get the minimum and maximum possible values.
 int getLocalSlotNumber()
          If this is a local variable held on the local stack frame, return the corresponding slot number.
 SequenceType getRequiredType()
          Get the declared type of the variable
 StructuredQName getVariableQName()
          Get the name of the variable
 boolean isAssignable()
          Test whether it is permitted to assign to the variable using the saxon:assign extension element.
 boolean isGlobal()
          Indicate whether the binding is local or global.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XPath30Parser.TemporaryXSLTVariableBinding

public XPath30Parser.TemporaryXSLTVariableBinding(XSLVariableDeclaration decl)
Method Detail

getRequiredType

public SequenceType getRequiredType()
Description copied from interface: Binding
Get the declared type of the variable

Specified by:
getRequiredType in interface Binding
Returns:
the declared type

evaluateVariable

public ValueRepresentation evaluateVariable(XPathContext context)
                                     throws XPathException
Description copied from interface: Binding
Evaluate the variable

Specified by:
evaluateVariable in interface Binding
Parameters:
context - the XPath dynamic evaluation context
Returns:
the result of evaluating the variable
Throws:
XPathException - if an error occurs while evaluating the variable

isGlobal

public boolean isGlobal()
Description copied from interface: Binding
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

isAssignable

public boolean isAssignable()
Description copied from interface: Binding
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

getLocalSlotNumber

public int getLocalSlotNumber()
Description copied from interface: Binding
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

getVariableQName

public StructuredQName getVariableQName()
Description copied from interface: Binding
Get the name of the variable

Specified by:
getVariableQName in interface Binding
Returns:
the name of the variable, as a structured QName

addReference

public void addReference(boolean isLoopingReference)
Description copied from interface: Binding
Register a variable reference that refers to the variable bound in this expression

Specified by:
addReference in interface Binding
Parameters:
isLoopingReference - - true if the reference occurs within a loop, such as the predicate of a filter expression

getIntegerBoundsForVariable

public IntegerValue[] getIntegerBoundsForVariable()
Description copied from interface: Binding
If the variable is bound to an integer, get the minimum and maximum possible values. Return null if unknown or not applicable

Specified by:
getIntegerBoundsForVariable in interface Binding
Returns:
a pair of integers containing the minimum and maximum values for the integer value; or null if the value is not an integer or the range is unknown


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.