com.icl.saxon.style
Class SAXONHandler

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
                                            |
                                            +--com.icl.saxon.style.SAXONHandler
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

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


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, 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_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(java.lang.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
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
 

Constructor Detail

SAXONHandler

public SAXONHandler()
Method Detail

checkUnknownAttribute

public void checkUnknownAttribute(int nc)
                           throws javax.xml.transform.TransformerConfigurationException
Description copied from class: StyleElement
Check whether an unknown attribute is permitted.
Overrides:
checkUnknownAttribute in class StyleElement
Following copied from class: com.icl.saxon.style.StyleElement
Parameters:
nc - The name code of the attribute name

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 XSLTemplate

preprocess

public void preprocess()
                throws javax.xml.transform.TransformerConfigurationException
Preprocess: this registers the node handler with the controller
Overrides:
preprocess in class XSLTemplate

process

public void process(Context context)
             throws javax.xml.transform.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
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.

expand

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

makeHandler

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