Package net.sf.saxon.instruct
Class Procedure
- java.lang.Object
-
- net.sf.saxon.instruct.Procedure
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.SourceLocator
,LocationProvider
,Container
- Direct Known Subclasses:
AttributeSet
,KeyDefinition
,Template
,UserFunction
public abstract class Procedure extends java.lang.Object implements java.io.Serializable, Container, LocationProvider
This object represents the compiled form of a user-written function, template, attribute-set, etc (the source can be either an XSLT stylesheet function or an XQuery function).It is assumed that type-checking, of both the arguments and the results, has been handled at compile time. That is, the expression supplied as the body of the function must be wrapped in code to check or convert the result to the required type, and calls on the function must be wrapped at compile time to check or convert the supplied arguments.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Expression
body
-
Constructor Summary
Constructors Constructor Description Procedure()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
getBody()
int
getColumnNumber()
Executable
getExecutable()
Get the Executable (representing a complete stylesheet or query) of which this Container forms partint
getHostLanguage()
Get the host language (XSLT, XQuery, XPath) used to implement the code in this containerint
getLineNumber()
int
getLineNumber(int locationId)
Get the line number within the document or module containing a particular locationLocationProvider
getLocationProvider()
Get the LocationProvider allowing location identifiers to be resolved.java.lang.String
getPublicId()
SlotManager
getStackFrameMap()
java.lang.String
getSystemId()
java.lang.String
getSystemId(int locationId)
Get the URI of the document or module containing a particular locationboolean
replaceSubExpression(Expression original, Expression replacement)
Replace one subexpression by a replacement subexpressionvoid
setBody(Expression body)
void
setExecutable(Executable executable)
void
setHostLanguage(int language)
void
setLineNumber(int lineNumber)
void
setStackFrameMap(SlotManager map)
void
setSystemId(java.lang.String systemId)
-
-
-
Field Detail
-
body
protected Expression body
-
-
Method Detail
-
setBody
public void setBody(Expression body)
-
setHostLanguage
public void setHostLanguage(int language)
-
getHostLanguage
public int getHostLanguage()
Description copied from interface:Container
Get the host language (XSLT, XQuery, XPath) used to implement the code in this container- Specified by:
getHostLanguage
in interfaceContainer
- Returns:
- typically
Configuration.XSLT
orConfiguration.XQUERY
-
getBody
public final Expression getBody()
-
replaceSubExpression
public boolean replaceSubExpression(Expression original, Expression replacement)
Replace one subexpression by a replacement subexpression- Specified by:
replaceSubExpression
in interfaceContainer
- Parameters:
original
- the original subexpressionreplacement
- the replacement subexpression- Returns:
- true if the original subexpression is found
-
setStackFrameMap
public void setStackFrameMap(SlotManager map)
-
getStackFrameMap
public SlotManager getStackFrameMap()
-
getExecutable
public final Executable getExecutable()
Description copied from interface:Container
Get the Executable (representing a complete stylesheet or query) of which this Container forms part- Specified by:
getExecutable
in interfaceContainer
-
setExecutable
public void setExecutable(Executable executable)
-
getLocationProvider
public LocationProvider getLocationProvider()
Get the LocationProvider allowing location identifiers to be resolved.- Specified by:
getLocationProvider
in interfaceContainer
-
setLineNumber
public void setLineNumber(int lineNumber)
-
setSystemId
public void setSystemId(java.lang.String systemId)
-
getLineNumber
public int getLineNumber()
- Specified by:
getLineNumber
in interfacejavax.xml.transform.SourceLocator
-
getSystemId
public java.lang.String getSystemId()
- Specified by:
getSystemId
in interfacejavax.xml.transform.SourceLocator
-
getColumnNumber
public int getColumnNumber()
- Specified by:
getColumnNumber
in interfacejavax.xml.transform.SourceLocator
-
getPublicId
public java.lang.String getPublicId()
- Specified by:
getPublicId
in interfacejavax.xml.transform.SourceLocator
-
getSystemId
public java.lang.String getSystemId(int locationId)
Description copied from interface:LocationProvider
Get the URI of the document or module containing a particular location- Specified by:
getSystemId
in interfaceLocationProvider
- Parameters:
locationId
- identifier of the location in question (as passed down the Receiver pipeline)- Returns:
- the URI of the document or module.
-
getLineNumber
public int getLineNumber(int locationId)
Description copied from interface:LocationProvider
Get the line number within the document or module containing a particular location- Specified by:
getLineNumber
in interfaceLocationProvider
- Parameters:
locationId
- identifier of the location in question (as passed down the Receiver pipeline)- Returns:
- the line number within the document or module.
-
-