Package net.sf.saxon.functions
Class IsIdRef
- java.lang.Object
-
- net.sf.saxon.lib.ExtensionFunctionDefinition
-
- net.sf.saxon.functions.IsIdRef
-
public class IsIdRef extends ExtensionFunctionDefinition
This class implements the saxon:is-idref() extension function, which is specially-recognized by the system because calls are generated by the optimizer.The function signature is
saxon:is-idref() as booleanThe result is true if the context item is a node having the idref property.
-
-
Constructor Summary
Constructors Constructor Description IsIdRef()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceType[]getArgumentTypes()Get the required types for the arguments of this function, counting from zeroStructuredQNamegetFunctionQName()Get the function name, as a QNameintgetMaximumNumberOfArguments()Get the maximum number of arguments allowed by the functionintgetMinimumNumberOfArguments()Get the minimum number of arguments required by the functionSequenceTypegetResultType(SequenceType[] suppliedArgumentTypes)Get the type of the result of the functionExtensionFunctionCallmakeCallExpression()Create a call on this function.-
Methods inherited from class net.sf.saxon.lib.ExtensionFunctionDefinition
asFunction, dependsOnFocus, hasSideEffects, trustResultType
-
-
-
-
Method Detail
-
getFunctionQName
public StructuredQName getFunctionQName()
Get the function name, as a QName- Specified by:
getFunctionQNamein classExtensionFunctionDefinition- Returns:
- the QName of the function
-
getMinimumNumberOfArguments
public int getMinimumNumberOfArguments()
Get the minimum number of arguments required by the function- Overrides:
getMinimumNumberOfArgumentsin classExtensionFunctionDefinition- Returns:
- the minimum number of arguments that must be supplied in a call to this function
-
getMaximumNumberOfArguments
public int getMaximumNumberOfArguments()
Get the maximum number of arguments allowed by the function- Overrides:
getMaximumNumberOfArgumentsin classExtensionFunctionDefinition- Returns:
- the maximum number of arguments that may be supplied in a call to this function
-
getArgumentTypes
public SequenceType[] getArgumentTypes()
Get the required types for the arguments of this function, counting from zero- Specified by:
getArgumentTypesin classExtensionFunctionDefinition- Returns:
- the required types of the argument, as defined by the function signature. Normally
this should be an array of size
getMaximumNumberOfArguments(); however for functions that allow a variable number of arguments, the array can be smaller than this, with the last entry in the array providing the required type for all the remaining arguments.
-
getResultType
public SequenceType getResultType(SequenceType[] suppliedArgumentTypes)
Get the type of the result of the function- Specified by:
getResultTypein classExtensionFunctionDefinition- Parameters:
suppliedArgumentTypes- the static types of the arguments to the function. This is provided so that a more precise result type can be returned in the common case where the type of the result depends on the type of the first argument. The value will be null if the function call has no arguments.- Returns:
- the return type of the function, as defined by its function signature
-
makeCallExpression
public ExtensionFunctionCall makeCallExpression()
Create a call on this function. This method is called by the compiler when it identifies a function call that calls this function.- Specified by:
makeCallExpressionin classExtensionFunctionDefinition- Returns:
- an expression representing a call of this extension function
-
-