com.icl.saxon.style
Class SAXONHandler

java.lang.Object
  extended by com.icl.saxon.om.AbstractNode
      extended by com.icl.saxon.tree.NodeImpl
          extended by com.icl.saxon.tree.ParentNodeImpl
              extended by com.icl.saxon.tree.ElementImpl
                  extended by com.icl.saxon.tree.ElementWithAttributes
                      extended by com.icl.saxon.style.StyleElement
                          extended by com.icl.saxon.style.XSLTemplate
                              extended by com.icl.saxon.style.SAXONHandler
All Implemented Interfaces:
NodeHandler, NodeInfo, DOMLocator, Source, SourceLocator, Element, NamedNodeMap, Node, Locator

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


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
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
 
Fields inherited from interface com.icl.saxon.om.NodeInfo
ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT
 
Constructor Summary
SAXONHandler()
           
 
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, getMinImportPrecedence, getProcedure, getTemplateFingerprint, mayContainTemplateBody, needsStackFrame, prepareAttributes, start, traceExpand
 
Methods inherited from class com.icl.saxon.style.StyleElement
checkEmpty, checkNotTopLevel, checkTopLevel, 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, 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.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
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
 

Constructor Detail

SAXONHandler

public SAXONHandler()
Method Detail

checkUnknownAttribute

public void checkUnknownAttribute(int nc)
                           throws TransformerConfigurationException
Description copied from class: StyleElement
Check whether an unknown attribute is permitted.

Overrides:
checkUnknownAttribute in class StyleElement
Parameters:
nc - The name code of the attribute name
Throws:
TransformerConfigurationException

validate

public void validate()
              throws 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 XSLTemplate
Throws:
TransformerConfigurationException

preprocess

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

Overrides:
preprocess in class XSLTemplate
Throws:
TransformerConfigurationException

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 class XSLTemplate
Parameters:
context - The context in the source XML document, giving access to the current node, the current variables, etc.
Throws:
TransformerException

expand

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

Overrides:
expand in class XSLTemplate
Throws:
TransformerException

makeHandler

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

Throws:
TransformerConfigurationException