net.sf.saxon.instruct
Class UserFunctionParameter
java.lang.Object
net.sf.saxon.instruct.UserFunctionParameter
- Binding, Serializable
public class UserFunctionParameter
extends java.lang.Object
Run-time object representing a formal argument to a user-defined function
UserFunctionParameter
public UserFunctionParameter()
Create a UserFunctionParameter
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.
- getLocalSlotNumber in interface Binding
- the slot number, indicating the position of the parameter on the local stack frame
getReferenceCount
public int getReferenceCount()
Get the (nominal) number of references within the function body to this parameter, where a reference
inside a loop is counted as multiple references
- the nominal number of references
getRequiredType
public SequenceType getRequiredType()
Get the required type of this function parameter
- getRequiredType in interface Binding
- the declared type of the parameter
isAssignable
public final 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.
- isAssignable in interface Binding
isGlobal
public final 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.
- isGlobal in interface Binding
isIndexedVariable
public boolean isIndexedVariable()
Ask whether this parameter requires support for indexing
- true if support for indexing is required. This will be set if the parameter
is used in a filter expression such as $param[@a = 17]
setIndexedVariable
public void setIndexedVariable(boolean indexed)
Indicate that this parameter requires (or does not require) support for indexing
indexed
- true if support for indexing is required. This will be set if the parameter
is used in a filter expression such as $param[@a = 17]
setReferenceCount
public void setReferenceCount(int count)
Set the (nominal) number of references within the function body to this parameter, where a reference
inside a loop is counted as multiple references
count
- the nominal number of references
setRequiredType
public void setRequiredType(SequenceType type)
Set the required type of this function parameter
type
- the declared type of the parameter
setSlotNumber
public void setSlotNumber(int slot)
Set the slot number to be used by this parameter
slot
- the slot number, that is, the position of the parameter value within the local stack frame
setVariableQName
public void setVariableQName(StructuredQName name)
Set the name of this parameter
name
- the name of the parameter