Package com.icl.saxon.style
Class SAXONFunction
- java.lang.Object
-
- All Implemented Interfaces:
NodeInfo,javax.xml.transform.dom.DOMLocator,javax.xml.transform.Source,javax.xml.transform.SourceLocator,org.w3c.dom.Element,org.w3c.dom.NamedNodeMap,org.w3c.dom.Node,org.xml.sax.Locator
public class SAXONFunction extends StyleElement
Handler for saxon:function and exslt:function elements in stylesheet.
Attributes:
name gives the name of the function
-
-
Field Summary
Fields Modifier and Type Field Description (package private) intfunctionFingerprint(package private) Procedureprocedure-
Fields inherited from class com.icl.saxon.style.StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version
-
Fields inherited from class com.icl.saxon.tree.ElementWithAttributes
attributeList, namespaceList
-
Fields inherited from class com.icl.saxon.tree.ElementImpl
nameCode, root
-
Fields inherited from class com.icl.saxon.tree.ParentNodeImpl
sequence
-
Fields inherited from class com.icl.saxon.tree.NodeImpl
emptyArray, index, parent
-
Fields inherited from class com.icl.saxon.om.AbstractNode
NODE_LETTER
-
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
-
Constructor Summary
Constructors Constructor Description SAXONFunction()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Valuecall(ParameterSet params, Context context)Call this functionintgetFunctionFingerprint()intgetNthParameter(int n)Get the name fingerprint of the n'th parameter (starting from 0).ProceduregetProcedure()Get associated Procedure (for details of stack frame)booleanmayContainTemplateBody()Determine whether this type of element is allowed to contain a template-bodyvoidprepareAttributes()Set the attribute list for the element.voidpreprocess()Default preprocessing method does nothing.voidprocess(Context context)Process: called to do the real work of this stylesheet element.protected voidprocessExtensionElementAttribute(int nc)Process the [xsl:]extension-element-prefixes attribute.voidvalidate()Check that the element is valid.-
Methods inherited from class com.icl.saxon.style.StyleElement
bindVariable, checkEmpty, checkNotTopLevel, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, definesExcludedNamespace, definesExtensionElement, doesPostProcessing, fallbackProcessing, findAttributeSets, forwardsCompatibleModeIsEnabled, getContainingStyleSheet, getPrecedence, getPreparedStyleSheet, getPrincipalStyleSheet, getStandardNames, getStyleSheetFunction, getVariableBinding, getVariableNames, getVersion, handleSortKeys, isExcludedNamespace, isExtensionNamespace, isInstruction, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, processAllAttributes, processAttributes, processAttributeSets, processChildren, processExcludedNamespaces, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, validateChildren, validateSubtree
-
Methods inherited from class com.icl.saxon.tree.ElementWithAttributes
addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributeValue, getAttributeValue, getAttributeValue, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations
-
Methods inherited from class com.icl.saxon.tree.ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemId
-
Methods inherited from class com.icl.saxon.tree.ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArray
-
Methods inherited from class com.icl.saxon.tree.NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNode
-
Methods inherited from class com.icl.saxon.om.AbstractNode
appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getUserData, getValue, getWholeText, importNode, insertBefore, insertData, isDefaultNamespace, isElementContentWhitespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, replaceData, replaceWholeText, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setUserData, setValue, splitText, substringData, supports
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
-
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
-
-
-
-
Field Detail
-
functionFingerprint
int functionFingerprint
-
procedure
Procedure procedure
-
-
Method Detail
-
processExtensionElementAttribute
protected void processExtensionElementAttribute(int nc) throws javax.xml.transform.TransformerConfigurationExceptionProcess 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.- Overrides:
processExtensionElementAttributein classStyleElement- Parameters:
nc- the name code of the attribute required (ignored)- Throws:
javax.xml.transform.TransformerConfigurationException
-
prepareAttributes
public void prepareAttributes() throws javax.xml.transform.TransformerConfigurationExceptionDescription copied from class:StyleElementSet 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- Specified by:
prepareAttributesin classStyleElement- Throws:
javax.xml.transform.TransformerConfigurationException
-
mayContainTemplateBody
public boolean mayContainTemplateBody()
Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainTemplateBodyin classStyleElement- Returns:
- true: yes, it may contain a template-body
-
validate
public void validate() throws javax.xml.transform.TransformerConfigurationExceptionDescription copied from class:StyleElementCheck 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.- Overrides:
validatein classStyleElement- Throws:
javax.xml.transform.TransformerConfigurationException
-
preprocess
public void preprocess() throws javax.xml.transform.TransformerConfigurationExceptionDescription copied from class:StyleElementDefault 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- Overrides:
preprocessin classStyleElement- Throws:
javax.xml.transform.TransformerConfigurationException
-
process
public void process(Context context)
Description copied from class:StyleElementProcess: called to do the real work of this stylesheet element. This method must be implemented in each subclass.- Specified by:
processin classStyleElement- Parameters:
context- The context in the source XML document, giving access to the current node, the current variables, etc.
-
getProcedure
public Procedure getProcedure()
Get associated Procedure (for details of stack frame)
-
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.
-
call
public Value call(ParameterSet params, Context context) throws javax.xml.transform.TransformerException
Call this function- Throws:
javax.xml.transform.TransformerException
-
-