com.icl.saxon.style
Class XSLStyleSheet

java.lang.Object
  |
  +--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.XSLStyleSheet
All Implemented Interfaces:
org.w3c.dom.Element, ElementInfo, org.xml.sax.Locator, org.w3c.dom.NamedNodeMap, org.w3c.dom.Node, NodeInfo

public class XSLStyleSheet
extends StyleElement

An xsl:stylesheet or xsl:transform element in the stylesheet.


Fields inherited from class com.icl.saxon.style.StyleElement
attributeSets, validationError, version
 
Fields inherited from class com.icl.saxon.tree.ElementWithAttributes
attributeList, namespaceList
 
Fields inherited from class com.icl.saxon.tree.ElementImpl
emptyArray, emptyEnumeration, index, nameCode, parent, root, sequence
 
Fields inherited from interface com.icl.saxon.om.NodeInfo
ATTRIBUTE, COMMENT, ELEMENT, NAMESPACE, NODE, NODE_TYPE_NAMES, NONE, NUMBER_OF_TYPES, PI, ROOT, TEXT
 
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
 
Constructor Summary
XSLStyleSheet()
           
 
Method Summary
 void allocateLocalSlots(int n)
          Ensure there is enuogh space for local variables or parameters in any template
 int allocateSlotNumber()
          Allocate a slot number for a global variable or parameter
 DecimalFormatManager getDecimalFormatManager()
          Get the DecimalFormatManager which handles decimal-format definitions
 XSLStyleSheet getImporter()
          Get the StyleSheet that included or imported this one.
 KeyManager getKeyManager()
          Get the KeyManager which handles key definitions
 java.lang.String getMediaType()
          Get the media type (MIME type) of the principal output of this stylesheet
 int getMinImportPrecedence()
          Get the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one
protected  short getNamespaceAlias(short uriCode)
          Get the declared namespace alias for a given namespace URI code if there is one.
 int getPrecedence()
          Get the import precedence of this stylesheet
 PreparedStyleSheet getPreparedStyleSheet()
          Get the owning PreparedStyleSheet object
 PreviewManager getPreviewManager()
          Get the PreviewManager which handles saxon:preview element definitions
 RuleManager getRuleManager()
          Get the RuleManager which handles template rules
 Stripper getStripper()
          Get the Stripper which handles whitespace stripping definitions
 java.util.Vector getTopLevel()
          Get the top level elements in this stylesheet, after applying include/import
protected  boolean hasNamespaceAliases()
           
 void initialiseBindery(Bindery bindery)
          Allocate space in bindery for all the variables needed This has to be done early to accommodate preview mode
 void prepareAttributes()
          Prepare the attributes on the stylesheet element
 void preprocess()
          Preprocess does all the processing possible before the source document is available.
 void process(Context context)
          Process() is called once the source document is available.
 void processAllAttributes()
          Process the attributes of every node in the stylesheet
protected  void processVersionAttribute(int nc)
          Process the version attribute - mandatory on this element
 void setImporter(XSLStyleSheet importer)
          Set the StyleSheet that included or imported this one.
 void setPrecedence(int prec)
          Set the import precedence of this stylesheet
 void setPreparedStyleSheet(PreparedStyleSheet sheet)
          Create link to the owning PreparedStyleSheet object
 void setPreviewManager(PreviewManager pm)
          Set the preview manager
 void setWasIncluded()
          Indicate that this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import
 void spliceIncludes()
          Process xsl:include and xsl:import elements.
 void updateOutputDetails(OutputDetails details)
          Update an output details object using the xsl:output elements in the stylesheet.
 void validate()
          Validate this element
 boolean wasIncluded()
          Determine whether this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import.
 
Methods inherited from class com.icl.saxon.style.StyleElement
bindVariable, checkEmpty, checkNotTopLevel, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, definesExcludedNamespace, definesExtensionElement, expandChildren, fallbackProcessing, findAttributeSets, forwardsCompatibleModeIsEnabled, getColumnNumber, getContainingStyleSheet, getPrincipalStyleSheet, getStandardNames, getStyleSheetFunction, getVariableBinding, getVariableNames, getVersion, handleSortKeys, isExcludedNamespace, isExtensionNamespace, isInstruction, isTopLevel, makeAttributeValueTemplate, makeExpression, makePattern, mayContainTemplateBody, processAttributes, processAttributeSets, processChildren, processExcludedNamespaces, processExtensionElementAttribute, 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, getPrefixForURI, getURICodeForPrefix, hasAttribute, hasAttributeNS, hasAttributes, initialise, item, makeAttributeNode, makeAttributeNodeFS, outputNamespaceNodes, removeAttribute, removeAttributeNode, removeAttributeNS, removeNamedItem, removeNamedItemNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setNamedItem, setNamedItemNS, setNamespaceDeclarations
 
Methods inherited from class com.icl.saxon.tree.ElementImpl
addChild, appendChild, cloneNode, compact, copy, copyStringValue, defaultAction, disallowUpdate, dropChildren, enumerateChildren, getAllChildNodes, getAttributeValue, getChildNodes, getDisplayName, getDocumentElement, getDocumentRoot, getElementsByTagName, getElementsByTagNameNS, getFingerprint, getFirstChild, getIndex, getLastChild, getLineNumber, getLocalName, getNameCode, getNamePool, getNamespaceURI, getNextInDocument, getNextSibling, getNodeName, getNodeType, getNodeValue, getNthChild, getNumberOfChildren, getOwnerDocument, getParentNode, getPath, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getSequenceNumber, getSequentialKey, getSystemId, getTagName, getURI, getURICode, getValue, hasChildNodes, insertBefore, isa, isDocumentElement, isSameNode, isSupported, makeNameCode, normalize, removeChild, removeChild, removeNode, renumberChildren, replaceChild, setLineNumber, setNameCode, setNodeValue, setPrefix, toString, useChildrenArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.xml.sax.Locator
getLineNumber, getPublicId, getSystemId
 
Methods inherited from interface com.icl.saxon.om.NodeInfo
copy, copyStringValue, defaultAction, enumerateChildren, getAllChildNodes, getDisplayName, getDocumentElement, getDocumentRoot, getFingerprint, getIndex, getLineNumber, getLocalName, getNameCode, getNextInDocument, getNodeName, getNodeType, getNumberOfChildren, getPath, getPrefix, getPreviousInDocument, getSequenceNumber, getSequentialKey, getSystemId, getURI, getURICode, getValue, isDocumentElement, isSameNode
 
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, getChildNodes, getFirstChild, getLastChild, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPreviousSibling, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix
 
Methods inherited from interface org.w3c.dom.Element
getElementsByTagName, getElementsByTagNameNS, getTagName
 

Constructor Detail

XSLStyleSheet

public XSLStyleSheet()
Method Detail

setPreparedStyleSheet

public void setPreparedStyleSheet(PreparedStyleSheet sheet)
Create link to the owning PreparedStyleSheet object

getPreparedStyleSheet

public PreparedStyleSheet getPreparedStyleSheet()
Get the owning PreparedStyleSheet object
Overrides:
getPreparedStyleSheet in class StyleElement
Following copied from class: com.icl.saxon.style.StyleElement
Returns:
the PreparedStyleSheet to which this stylesheet element belongs

getRuleManager

public RuleManager getRuleManager()
Get the RuleManager which handles template rules

getStripper

public Stripper getStripper()
Get the Stripper which handles whitespace stripping definitions

getKeyManager

public KeyManager getKeyManager()
Get the KeyManager which handles key definitions

getDecimalFormatManager

public DecimalFormatManager getDecimalFormatManager()
Get the DecimalFormatManager which handles decimal-format definitions

getPreviewManager

public PreviewManager getPreviewManager()
Get the PreviewManager which handles saxon:preview element definitions
Returns:
null if there are no saxon:preview elements

setPreviewManager

public void setPreviewManager(PreviewManager pm)
Set the preview manager

setPrecedence

public void setPrecedence(int prec)
Set the import precedence of this stylesheet

getPrecedence

public int getPrecedence()
Get the import precedence of this stylesheet
Overrides:
getPrecedence in class StyleElement

getMinImportPrecedence

public int getMinImportPrecedence()
Get the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one

getMediaType

public java.lang.String getMediaType()
Get the media type (MIME type) of the principal output of this stylesheet

setImporter

public void setImporter(XSLStyleSheet importer)
Set the StyleSheet that included or imported this one.

getImporter

public XSLStyleSheet getImporter()
Get the StyleSheet that included or imported this one.
Returns:
null if this is the principal stylesheet

setWasIncluded

public void setWasIncluded()
Indicate that this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import

wasIncluded

public boolean wasIncluded()
Determine whether this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import.

getTopLevel

public java.util.Vector getTopLevel()
Get the top level elements in this stylesheet, after applying include/import

allocateSlotNumber

public int allocateSlotNumber()
Allocate a slot number for a global variable or parameter

allocateLocalSlots

public void allocateLocalSlots(int n)
Ensure there is enuogh space for local variables or parameters in any template

prepareAttributes

public void prepareAttributes()
                       throws org.xml.sax.SAXException
Prepare the attributes on the stylesheet element
Overrides:
prepareAttributes in class StyleElement

processVersionAttribute

protected void processVersionAttribute(int nc)
                                throws org.xml.sax.SAXException
Process the version attribute - mandatory on this element
Overrides:
processVersionAttribute in class StyleElement
Following copied from class: com.icl.saxon.style.StyleElement
Parameters:
nc - the name code of the attribute required

getNamespaceAlias

protected short getNamespaceAlias(short uriCode)
                           throws org.xml.sax.SAXException
Get the declared namespace alias for a given namespace URI code if there is one. If there is more than one, we get the last.
Parameters:
uriCode - The code of the uri used in the stylesheet.
Returns:
The code of the result uri to be used: return the stylesheet uri unchanged if no alias is defined

validate

public void validate()
              throws org.xml.sax.SAXException
Validate this element
Overrides:
validate in class StyleElement

preprocess

public void preprocess()
                throws org.xml.sax.SAXException
Preprocess does all the processing possible before the source document is available. It is done once per stylesheet, so the stylesheet can be reused for multiple source documents.
Overrides:
preprocess in class StyleElement

hasNamespaceAliases

protected boolean hasNamespaceAliases()

processAllAttributes

public void processAllAttributes()
                          throws org.xml.sax.SAXException
Process the attributes of every node in the stylesheet
Overrides:
processAllAttributes in class StyleElement

initialiseBindery

public void initialiseBindery(Bindery bindery)
                       throws org.xml.sax.SAXException
Allocate space in bindery for all the variables needed This has to be done early to accommodate preview mode

updateOutputDetails

public void updateOutputDetails(OutputDetails details)
                         throws org.xml.sax.SAXException
Update an output details object using the xsl:output elements in the stylesheet.

process

public void process(Context context)
             throws org.xml.sax.SAXException
Process() is called once the source document is available. It activates those top-level stylesheet elements that were not dealt with at preprocessing stage, notably global variables and parameters
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.

spliceIncludes

public void spliceIncludes()
                    throws org.xml.sax.SAXException
Process xsl:include and xsl:import elements.