com.icl.saxon.style
Class XSLTemplate
java.lang.Object
|
+--com.icl.saxon.om.AbstractNode
|
+--com.icl.saxon.tree.NodeImpl
|
+--com.icl.saxon.tree.ParentNodeImpl
|
+--com.icl.saxon.tree.ElementImpl
|
+--com.icl.saxon.tree.ElementWithAttributes
|
+--com.icl.saxon.style.StyleElement
|
+--com.icl.saxon.style.XSLTemplate
- All Implemented Interfaces:
- javax.xml.transform.dom.DOMLocator, org.w3c.dom.Element, org.xml.sax.Locator, org.w3c.dom.NamedNodeMap, org.w3c.dom.Node, NodeHandler, NodeInfo, javax.xml.transform.Source, javax.xml.transform.SourceLocator
- Direct Known Subclasses:
- SAXONHandler
- public class XSLTemplate
- extends StyleElement
- implements NodeHandler
An xsl:template element in the style sheet.
Fields inherited from interface org.w3c.dom.Node |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
Methods inherited from class com.icl.saxon.style.StyleElement |
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, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, 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 |
addChild, compact, copy, copyStringValue, dropChildren, enumerateChildren, generateId, getBaseURI, getChildNodes, getDocumentRoot, getFirstChild, getLastChild, getLineNumber, getNameCode, getNodeType, getNodeValue, getNthChild, getSequenceNumber, getStringValue, getSystemId, hasChildNodes, makeNameCode, removeChild, renumberChildren, setLineNumber, setNameCode, setSystemId, 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, isSameNode, removeNode |
Methods inherited from class com.icl.saxon.om.AbstractNode |
appendChild, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSpecified, getTagName, getValue, importNode, insertBefore, insertData, isSupported, normalize, removeChild, replaceChild, replaceData, setData, setNodeValue, setPrefix, 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.xml.sax.Locator |
getColumnNumber, getLineNumber, getPublicId, getSystemId |
Methods inherited from interface org.w3c.dom.Element |
getElementsByTagName, getElementsByTagNameNS, getTagName |
Methods inherited from interface org.w3c.dom.Node |
appendChild, cloneNode, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix |
modeNameCode
protected int modeNameCode
templateFingerprint
protected int templateFingerprint
match
protected Pattern match
prioritySpecified
protected boolean prioritySpecified
priority
protected double priority
procedure
protected Procedure procedure
needsStackFrame
protected boolean needsStackFrame
XSLTemplate
public XSLTemplate()
mayContainTemplateBody
public boolean mayContainTemplateBody()
- Determine whether this type of element is allowed to contain a template-body
- Overrides:
mayContainTemplateBody
in class StyleElement
- Returns:
- true: yes, it may contain a template-body
getTemplateFingerprint
public int getTemplateFingerprint()
- Return the fingerprint for the name of this template
getMinImportPrecedence
public int getMinImportPrecedence()
needsStackFrame
public boolean needsStackFrame()
- Description copied from interface:
NodeHandler
- Optimization hint to allow a handler to declare that it needs no stack space
for local variables and parameters
- Specified by:
needsStackFrame
in interface NodeHandler
prepareAttributes
public void prepareAttributes()
throws javax.xml.transform.TransformerConfigurationException
- 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
- Overrides:
prepareAttributes
in class StyleElement
validate
public void validate()
throws javax.xml.transform.TransformerConfigurationException
- 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 class StyleElement
preprocess
public void preprocess()
throws javax.xml.transform.TransformerConfigurationException
- Preprocess: this registers the template with the rule manager, and ensures
space is available for local variables
- Overrides:
preprocess
in class StyleElement
process
public void process(Context context)
throws javax.xml.transform.TransformerException
- Process template. This is called while all the top-level nodes are being processed in order,
so it does nothing.
- Overrides:
process
in class StyleElement
- Following copied from class:
com.icl.saxon.style.StyleElement
- Parameters:
context
- The context in the source XML document, giving access to the current node,
the current variables, etc.
start
public void start(NodeInfo e,
Context context)
throws javax.xml.transform.TransformerException
- Process a node in the source document. This is called when the template
is invoked using xsl:apply-templates.
- Specified by:
start
in interface NodeHandler
- Following copied from interface:
com.icl.saxon.NodeHandler
- Parameters:
node
- The NodeInfo object for the current node.- Throws:
SAXException
- Aborts the parse- See Also:
NodeInfo
traceExpand
protected void traceExpand(Context context)
throws javax.xml.transform.TransformerException
- Expand the template, with tracing. Called when the template is invoked either
by xsl:apply-templates or from xsl:call-template
expand
protected void expand(Context context)
throws javax.xml.transform.TransformerException
- Expand the template. Called when the template is invoked either
by xsl:apply-templates or from xsl:call-template
bindVariable
public Binding bindVariable(int fingerprint)
throws XPathException
- Disallow variable references in the match pattern
- Overrides:
bindVariable
in class StyleElement
- Following copied from class:
com.icl.saxon.style.StyleElement
- Parameters:
fingerprint
- The fingerprint of the name of the variable- Returns:
- a Binding for the variable
getProcedure
public Procedure getProcedure()
- Get associated Procedure (for details of stack frame)