net.sf.saxon.query
Class XQueryFunction

java.lang.Object
  |
  +--net.sf.saxon.query.XQueryFunction
All Implemented Interfaces:
InstructionInfo, LocationProvider, org.xml.sax.Locator, SaxonLocator, javax.xml.transform.SourceLocator

public class XQueryFunction
extends java.lang.Object
implements InstructionInfo


Constructor Summary
XQueryFunction()
           
 
Method Summary
 UserFunction compile(StaticQueryContext env)
           
 void explain(NamePool pool)
          Produce diagnostic output showing the compiled and optimized expression tree for a function
 void fixupReferences(StaticContext env)
          Fix up references to this function
 SequenceType[] getArgumentTypes()
           
 int getColumnNumber()
          Return the column number
 int getConstructType()
          Get the type of construct.
 Executable getExecutable()
           
 java.lang.String getFunctionDisplayName(NamePool pool)
           
 int getFunctionFingerprint()
           
 int getInstructionFingerprint()
          Get the name of the instruction.
 int getLineNumber()
          Get the line number of the instruction in the source stylesheet module.
 int getLineNumber(int locationId)
           
 int getNameCode()
           
 NamespaceResolver getNamespaceResolver()
          Get the namespace context of the instruction.
 int getNumberOfArguments()
           
 int getObjectNameCode()
          Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.
 java.util.Iterator getProperties()
          Get an iterator over all the properties available.
 java.lang.Object getProperty(java.lang.String name)
          Get the value of a particular property of the instruction.
 java.lang.String getPublicId()
          Return the public identifier for the current document event.
 SequenceType getResultType()
           
 StaticContext getStaticContext()
           
 java.lang.String getSystemId()
          Get the system identifier (URI) of the source module containing the instruction.
 java.lang.String getSystemId(int locationId)
           
 UserFunction getUserFunction()
          Get the callable compiled function contained within this XQueryFunction definition.
 void registerReference(UserFunctionCall ufc)
           
 void setExecutable(Executable exec)
           
 void setNameCode(int nameCode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XQueryFunction

public XQueryFunction()
Method Detail

setNameCode

public void setNameCode(int nameCode)

getNameCode

public int getNameCode()

getFunctionDisplayName

public java.lang.String getFunctionDisplayName(NamePool pool)

getFunctionFingerprint

public int getFunctionFingerprint()

getResultType

public SequenceType getResultType()

setExecutable

public void setExecutable(Executable exec)

getExecutable

public Executable getExecutable()

getStaticContext

public StaticContext getStaticContext()

getArgumentTypes

public SequenceType[] getArgumentTypes()

getNumberOfArguments

public int getNumberOfArguments()

registerReference

public void registerReference(UserFunctionCall ufc)

compile

public UserFunction compile(StaticQueryContext env)
                     throws StaticError
StaticError

fixupReferences

public void fixupReferences(StaticContext env)
                     throws XPathException
Fix up references to this function

XPathException

explain

public void explain(NamePool pool)
Produce diagnostic output showing the compiled and optimized expression tree for a function

Parameters:
pool - the namepool to be used

getUserFunction

public UserFunction getUserFunction()
Get the callable compiled function contained within this XQueryFunction definition.


getConstructType

public int getConstructType()
Get the type of construct. This will be a constant in class Location.

Specified by:
getConstructType in interface InstructionInfo

getInstructionFingerprint

public int getInstructionFingerprint()
Get the name of the instruction. This is applicable only when the construct type is Location.INSTRUCTION.

Specified by:
getInstructionFingerprint in interface InstructionInfo

getObjectNameCode

public int getObjectNameCode()
Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically.

Specified by:
getObjectNameCode in interface InstructionInfo

getSystemId

public java.lang.String getSystemId()
Get the system identifier (URI) of the source module containing the instruction. This will generally be an absolute URI. If the system identifier is not known, the method may return null. In some cases, for example where XML external entities are used, the correct system identifier is not always retained.

Specified by:
getSystemId in interface InstructionInfo

getLineNumber

public int getLineNumber()
Get the line number of the instruction in the source stylesheet module. If this is not known, or if the instruction is an artificial one that does not relate to anything in the source code, the value returned may be -1.

Specified by:
getLineNumber in interface InstructionInfo

getPublicId

public java.lang.String getPublicId()
Return the public identifier for the current document event.

Specified by:
getPublicId in interface org.xml.sax.Locator
Returns:
A string containing the public identifier, or null if none is available.
See Also:
getSystemId()

getColumnNumber

public int getColumnNumber()
Return the column number

Specified by:
getColumnNumber in interface org.xml.sax.Locator
Returns:
The column number, or -1 if none is available.
See Also:
getLineNumber()

getSystemId

public java.lang.String getSystemId(int locationId)
Specified by:
getSystemId in interface LocationProvider

getLineNumber

public int getLineNumber(int locationId)
Specified by:
getLineNumber in interface LocationProvider

getNamespaceResolver

public NamespaceResolver getNamespaceResolver()
Get the namespace context of the instruction. This will not always be available, in which case the method returns null.

Specified by:
getNamespaceResolver in interface InstructionInfo

getProperty

public java.lang.Object getProperty(java.lang.String name)
Get the value of a particular property of the instruction. Properties of XSLT instructions are generally known by the name of the stylesheet attribute that defines them.

Specified by:
getProperty in interface InstructionInfo
Parameters:
name - The name of the required property
Returns:
The value of the requested property, or null if the property is not available

getProperties

public java.util.Iterator getProperties()
Get an iterator over all the properties available. The values returned by the iterator will be of type String, and each string can be supplied as input to the getProperty() method to retrieve the value of the property.

Specified by:
getProperties in interface InstructionInfo