Class XSLStyleSheet
- All Implemented Interfaces:
NodeInfo, DOMLocator, Source, SourceLocator, Element, NamedNodeMap, Node, Locator
An xsl:stylesheet or xsl:transform element in the stylesheet.
Note this element represents a stylesheet module, not necessarily the whole stylesheet.
Note this element represents a stylesheet module, not necessarily the whole stylesheet.
-
Field Summary
Fields inherited from class StyleElement
attributeSets, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, versionFields inherited from class ElementWithAttributes
attributeList, namespaceListFields inherited from class ElementImpl
nameCode, rootFields inherited from class ParentNodeImpl
sequenceFields inherited from class NodeImpl
emptyArray, index, parentFields inherited from class AbstractNode
NODE_LETTERFields inherited from interface 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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidallocateLocalSlots(int n) Ensure there is enuogh space for local variables or parameters in any templateintAllocate a slot number for a global variable or parametervoidgatherOutputProperties(Properties details) Update an output properties object using the xsl:output elements in the stylesheet.Get the DecimalFormatManager which handles decimal-format definitionsGet a Java class for a given namespace URI, if possible.Get the StyleSheet that included or imported this one.Get the KeyManager which handles key definitionsintGet the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this oneprotected shortgetNamespaceAlias(short uriCode) Get the declared namespace alias for a given namespace URI code if there is one.intGet the import precedence of this stylesheetGet the owning PreparedStyleSheet objectGet the PreviewManager which handles saxon:preview element definitionsGet the RuleManager which handles template rulesprotected ModeGet the rules determining which nodes are to be stripped from the treeGet the top level elements in this stylesheet, after applying include/importprotected booleanvoidinitialiseBindery(Bindery bindery) Allocate space in bindery for all the variables needed This has to be done early to accommodate preview modeCreate a Stripper which handles whitespace stripping definitionsvoidPrepare the attributes on the stylesheet elementvoidPreprocess does all the processing possible before the source document is available.voidProcess() is called once the source document is available.voidProcess the attributes of every node in the stylesheetprotected voidprocessVersionAttribute(int nc) Process the version attribute - mandatory on this element (but checked elsewhere)voidsetImporter(XSLStyleSheet importer) Set the StyleSheet that included or imported this one.voidsetMinImportPrecedence(int precedence) Set the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this onevoidsetPrecedence(int prec) Set the import precedence of this stylesheetvoidCreate link to the owning PreparedStyleSheet objectvoidSet the preview managervoidIndicate that this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:importvoidProcess xsl:include and xsl:import elements.booleanDetermine whether this stylesheet does any whitespace strippingvoidupdateOutputProperties(Properties details, Context context) Update an output properties object using the xsl:output elements in the stylesheet.voidvalidate()Validate this elementbooleanDetermine whether this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import.Methods inherited from class StyleElement
bindVariable, checkEmpty, checkNotTopLevel, checkTopLevel, checkUnknownAttribute, checkWithinTemplate, compileError, compileError, definesExcludedNamespace, definesExtensionElement, doesPostProcessing, fallbackProcessing, findAttributeSets, forwardsCompatibleModeIsEnabled, 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, validateChildren, validateSubtreeMethods inherited from class 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, setNamespaceDeclarationsMethods inherited from class ElementImpl
copy, generateId, getBaseURI, getDocumentRoot, getLineNumber, getNameCode, getNodeType, getSystemId, makeNameCode, setLineNumber, setNameCode, setSystemIdMethods inherited from class ParentNodeImpl
addChild, compact, copyStringValue, dropChildren, enumerateChildren, getChildNodes, getFirstChild, getLastChild, getNodeValue, getNthChild, getSequenceNumber, getStringValue, hasChildNodes, removeChild, renumberChildren, useChildrenArrayMethods inherited from class NodeImpl
compareOrder, getDisplayName, getDocumentElement, getEnumeration, getFingerprint, getLocalName, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getURI, isSameNodeInfo, removeNodeMethods inherited from class 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, supportsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Element
getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, setIdAttribute, setIdAttributeNode, setIdAttributeNSMethods inherited from interface Locator
getColumnNumber, getLineNumber, getPublicId, getSystemIdMethods inherited from interface 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 Details
-
XSLStyleSheet
public XSLStyleSheet()
-
-
Method Details
-
setPreparedStyleSheet
Create link to the owning PreparedStyleSheet object -
getPreparedStyleSheet
Get the owning PreparedStyleSheet object- Overrides:
getPreparedStyleSheetin classStyleElement- Returns:
- the PreparedStyleSheet to which this stylesheet element belongs
-
getRuleManager
Get the RuleManager which handles template rules -
getStripperRules
Get the rules determining which nodes are to be stripped from the tree -
newStripper
Create a Stripper which handles whitespace stripping definitions -
stripsWhitespace
public boolean stripsWhitespace()Determine whether this stylesheet does any whitespace stripping -
getKeyManager
Get the KeyManager which handles key definitions -
getDecimalFormatManager
Get the DecimalFormatManager which handles decimal-format definitions -
getPreviewManager
Get the PreviewManager which handles saxon:preview element definitions- Returns:
- null if there are no saxon:preview elements
-
setPreviewManager
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:
getPrecedencein classStyleElement
-
getMinImportPrecedence
public int getMinImportPrecedence()Get the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one -
setMinImportPrecedence
public void setMinImportPrecedence(int precedence) Set the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one -
setImporter
Set the StyleSheet that included or imported this one. -
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
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
Prepare the attributes on the stylesheet element- Specified by:
prepareAttributesin classStyleElement- Throws:
TransformerConfigurationException
-
processVersionAttribute
protected void processVersionAttribute(int nc) Process the version attribute - mandatory on this element (but checked elsewhere)- Overrides:
processVersionAttributein classStyleElement- Parameters:
nc- the name code of the attribute required
-
getNamespaceAlias
protected short getNamespaceAlias(short uriCode) 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
Validate this element- Overrides:
validatein classStyleElement- Throws:
TransformerConfigurationException
-
preprocess
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:
preprocessin classStyleElement- Throws:
TransformerConfigurationException
-
spliceIncludes
Process xsl:include and xsl:import elements. -
hasNamespaceAliases
protected boolean hasNamespaceAliases() -
processAllAttributes
Process the attributes of every node in the stylesheet- Overrides:
processAllAttributesin classStyleElement- Throws:
TransformerConfigurationException
-
initialiseBindery
Allocate space in bindery for all the variables needed This has to be done early to accommodate preview mode -
gatherOutputProperties
Update an output properties object using the xsl:output elements in the stylesheet. This method can be called before the source document is available; all properties will be returned as written, with attribute value templates and namespace prefixes unexpanded, and no validation performed. -
updateOutputProperties
Update an output properties object using the xsl:output elements in the stylesheet. Note, as xsl:output now allows attribute value templates, this cannot be called until the source document is available.- Throws:
TransformerException
-
getExternalJavaClass
Get a Java class for a given namespace URI, if possible. return null if none is found.- Throws:
TransformerException- if a class is found but cannot be loaded
-
process
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, and xsl:output elements- Specified by:
processin classStyleElement- Parameters:
context- The context in the source XML document, giving access to the current node, the current variables, etc.- Throws:
TransformerException
-