com.icl.saxon.style

Class SAXONHandler

Implemented Interfaces:
DOMLocator, Element, Locator, NamedNodeMap, Node, NodeHandler, NodeInfo, Source, SourceLocator

public class SAXONHandler
extends XSLTemplate

A saxon:handler element in the style sheet: defines a Java nodehandler that can be used to process a node in place of an XSLT template

Nested Class Summary

Field Summary

Fields inherited from class com.icl.saxon.style.XSLTemplate

match, modeNameCode, needsStackFrame, priority, prioritySpecified, procedure, templateFingerprint

Fields inherited from class com.icl.saxon.style.StyleElement

REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, attributeSets, extensionNamespaces, 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 com.icl.saxon.om.NodeInfo

ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT

Method Summary

void
checkUnknownAttribute(int nc)
Check whether an unknown attribute is permitted.
void
expand(Context context)
Invoke the node handler.
protected NodeHandler
makeHandler(String className)
Load a named node handler and check it is OK.
void
preprocess()
Preprocess: this registers the node handler with the controller
void
process(Context context)
Process saxon:handler element.
void
validate()
Check that the element is valid.

Methods inherited from class com.icl.saxon.style.XSLTemplate

bindVariable, expand, getMinImportPrecedence, getProcedure, getTemplateFingerprint, mayContainTemplateBody, needsStackFrame, prepareAttributes, preprocess, process, start, traceExpand, validate

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, mayContainTemplateBody, prepareAttributes, preprocess, process, processAllAttributes, processAttributeSets, processAttributes, processChildren, processExcludedNamespaces, processExtensionElementAttribute, processVersionAttribute, reportAbsence, setValidationError, styleError, styleError, substituteFor, validate, validateChildren, validateSubtree

Methods inherited from class com.icl.saxon.tree.ElementWithAttributes

addNamespaceNodes, copy, getAttribute, getAttributeList, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributeValue, getAttributeValue, getAttributeValue, getAttributes, getLength, getNamedItem, getNamedItemNS, getNamespaceCodes, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, outputNamespaceNodes, removeAttribute, removeAttributeNS, removeAttributeNode, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNS, setAttributeNode, setAttributeNodeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations

Methods inherited from class com.icl.saxon.tree.ElementImpl

addNamespaceNodes, copy, copy, generateId, getAttributeList, getAttributeValue, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getPrefixForURI, getSystemId, getURICodeForPrefix, initialise, makeNameCode, outputNamespaceNodes, setAttribute, 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, generateId, getAttributeValue, getAttributeValue, getAttributes, getBaseURI, getChildNodes, getDisplayName, getDocumentElement, getDocumentRoot, getEnumeration, getFingerprint, getFirstChild, getLastChild, getLineNumber, getLocalName, getNameCode, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getSequenceNumber, getSystemId, getURI, hasAttributes, hasChildNodes, isSameNode, outputNamespaceNodes, removeNode, setSystemId

Methods inherited from class com.icl.saxon.om.AbstractNode

appendChild, appendData, cloneNode, compareOrder, copyStringValue, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, generateId, getAttribute, getAttributeNS, getAttributeNode, getAttributeNodeNS, getAttributeValue, getAttributeValue, getAttributes, getBaseURI, getChildNodes, getColumnNumber, getData, getDisplayName, getDoctype, getDocumentElement, getDocumentRoot, getElementById, getElementsByTagName, getElementsByTagNameNS, getEnumeration, getFingerprint, getFirstChild, getImplementation, getLastChild, getLength, getLineNumber, getLocalName, getName, getNameCode, getNamespaceURI, getNextSibling, getNodeName, getNodeValue, getOriginatingNode, getOwnerDocument, getOwnerElement, getParent, getParentNode, getPrefix, getPreviousSibling, getPublicId, getSpecified, getSystemId, getTagName, getURI, getValue, hasAttribute, hasAttributeNS, hasAttributes, hasChildNodes, importNode, insertBefore, insertData, isSameNode, isSupported, normalize, outputNamespaceNodes, removeAttribute, removeAttributeNS, removeAttributeNode, removeChild, replaceChild, replaceData, setAttributeNS, setAttributeNode, setAttributeNodeNS, setData, setNodeValue, setPrefix, setValue, splitText, substringData, supports

Method Details

checkUnknownAttribute

public void checkUnknownAttribute(int nc)
            throws TransformerConfigurationException
Check whether an unknown attribute is permitted.
Overrides:
checkUnknownAttribute in interface StyleElement

Parameters:
nc - The name code of the attribute name


expand

public void expand(Context context)
            throws TransformerException
Invoke the node handler. Called directly only when doing XSLCallTemplate
Overrides:
expand in interface XSLTemplate


makeHandler

protected NodeHandler makeHandler(String className)
            throws TransformerConfigurationException
Load a named node handler and check it is OK.


preprocess

public void preprocess()
            throws TransformerConfigurationException
Preprocess: this registers the node handler with the controller
Overrides:
preprocess in interface XSLTemplate


process

public void process(Context context)
            throws TransformerException
Process saxon:handler element. This is called while all the top-level nodes are being processed in order, so it does nothing.
Overrides:
process in interface XSLTemplate


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.
Overrides:
validate in interface XSLTemplate