com.icl.saxon.style
Class SAXONHandler

java.lang.Object
  extended bycom.icl.saxon.om.AbstractNode
      extended bycom.icl.saxon.tree.NodeImpl
          extended bycom.icl.saxon.tree.ParentNodeImpl
              extended bycom.icl.saxon.tree.ElementImpl
                  extended bycom.icl.saxon.tree.ElementWithAttributes
                      extended bycom.icl.saxon.style.StyleElement
                          extended bycom.icl.saxon.style.XSLTemplate
                              extended bycom.icl.saxon.style.SAXONHandler
All Implemented Interfaces:
DOMLocator, org.w3c.dom.Element, org.xml.sax.Locator, org.w3c.dom.NamedNodeMap, org.w3c.dom.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


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, 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, 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, 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 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
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(java.lang.String className)
                           throws TransformerConfigurationException
Load a named node handler and check it is OK.

Throws:
TransformerConfigurationException