Package com.icl.saxon.style
Class SAXONFunction
- All Implemented Interfaces:
NodeInfo
,DOMLocator
,Source
,SourceLocator
,Element
,NamedNodeMap
,Node
,Locator
Handler for saxon:function and exslt:function elements in stylesheet.
Attributes:
name gives the name of the function
Attributes:
name gives the name of the function
-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptioncall
(ParameterSet params, Context context) Call this functionint
int
getNthParameter
(int n) Get the name fingerprint of the n'th parameter (starting from 0).Get associated Procedure (for details of stack frame)boolean
Determine whether this type of element is allowed to contain a template-bodyvoid
Set the attribute list for the element.void
Default preprocessing method does nothing.void
Process: called to do the real work of this stylesheet element.protected void
processExtensionElementAttribute
(int nc) Process the [xsl:]extension-element-prefixes attribute.void
validate()
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 Details
-
functionFingerprint
int functionFingerprint -
procedure
Procedure procedure
-
-
Constructor Details
-
SAXONFunction
public SAXONFunction()
-
-
Method Details
-
processExtensionElementAttribute
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.- Overrides:
processExtensionElementAttribute
in classStyleElement
- Parameters:
nc
- the name code of the attribute required (ignored)- Throws:
TransformerConfigurationException
-
prepareAttributes
Description copied from class:StyleElement
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- Specified by:
prepareAttributes
in classStyleElement
- Throws:
TransformerConfigurationException
-
mayContainTemplateBody
public boolean mayContainTemplateBody()Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainTemplateBody
in classStyleElement
- Returns:
- true: yes, it may contain a template-body
-
validate
Description copied from class:StyleElement
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.- Overrides:
validate
in classStyleElement
- Throws:
TransformerConfigurationException
-
preprocess
Description copied from class:StyleElement
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- Overrides:
preprocess
in classStyleElement
- Throws:
TransformerConfigurationException
-
process
Description copied from class:StyleElement
Process: called to do the real work of this stylesheet element. This method must be implemented in each subclass.- Specified by:
process
in classStyleElement
- Parameters:
context
- The context in the source XML document, giving access to the current node, the current variables, etc.
-
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
Call this function- Throws:
TransformerException
-