Handler for saxon:function and exslt:function elements in stylesheet.
Attributes:
name gives the name of the function
getFunctionFingerprint
public int getFunctionFingerprint()
getNthParameter
public int getNthParameter(int n)
Get the name fingerprint of the n'th parameter (starting from 0).
Return -1 if there is none such.
getProcedure
public Procedure getProcedure()
Get associated Procedure (for details of stack frame)
mayContainTemplateBody
public boolean mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-body
- mayContainTemplateBody in interface StyleElement
- true: yes, it may contain a template-body
prepareAttributes
public void prepareAttributes()
throws TransformerConfigurationException
Set the attribute list for the element. This is called to process the attributes (note
the distinction from processAttributes in the superclass).
Must be supplied in a subclass
- prepareAttributes in interface StyleElement
preprocess
public void preprocess()
throws TransformerConfigurationException
Default preprocessing method does nothing. It is implemented for those top-level elements
that can be evaluated before the source document is available, for example xsl:key,
xsl:attribute-set, xsl:template, xsl:locale
- preprocess in interface StyleElement
process
public void process(Context context)
Process: called to do the real work of this stylesheet element. This method
must be implemented in each subclass.
- process in interface StyleElement
context
- The context in the source XML document, giving access to the current node,
the current variables, etc.
processExtensionElementAttribute
protected void processExtensionElementAttribute(int nc)
throws TransformerConfigurationException
Process the [xsl:]extension-element-prefixes attribute.
This overrides the standard method because saxon:function and exslt:function
implicitly declare saxon/exslt (respectively) as an extension namespace.
- processExtensionElementAttribute in interface StyleElement
nc
- the name code of the attribute required (ignored)
validate
public void validate()
throws TransformerConfigurationException
Check that the element is valid. This is called once for each element, after
the entire tree has been built. As well as validation, it can perform first-time
initialisation. The default implementation does nothing; it is normally overriden
in subclasses.
- validate in interface StyleElement