org.apache.xalan.templates
Class StylesheetComposed
java.lang.Object
org.apache.xml.utils.UnImplNode
org.apache.xalan.templates.ElemTemplateElement
org.apache.xalan.templates.Stylesheet
org.apache.xalan.templates.StylesheetComposed
- All Implemented Interfaces:
- java.io.Serializable, javax.xml.transform.SourceLocator, XSLTVisitable, PrefixResolver, ExpressionNode, WhitespaceStrippingElementMatcher, org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList
- Direct Known Subclasses:
- StylesheetRoot
public class StylesheetComposed
- extends Stylesheet
Represents a stylesheet that has methods that resolve includes and
imports. It has methods on it that
return "composed" properties, which mean that:
- Properties that are aggregates, like OutputProperties, will
be composed of properties declared in this stylsheet and all
included stylesheets.
- Properties that aren't found, will be searched for first in
the includes, and, if none are located, will be searched for in
the imports.
- Properties in that are not atomic on a stylesheet will
have the form getXXXComposed. Some properties, like version and id,
are not inherited, and so won't have getXXXComposed methods.
In some cases getXXXComposed methods may calculate the composed
values dynamically, while in other cases they may store the composed
values.
- See Also:
- Serialized Form
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 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 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 |
Method Summary |
int |
getEndImportCountComposed()
Get the number of import in this stylesheet's composed list. |
StylesheetComposed |
getImportComposed(int i)
Get a stylesheet from the "import" list. |
int |
getImportCountComposed()
Get the precedence of this stylesheet in the global import list. |
Stylesheet |
getIncludeComposed(int i)
Get an "xsl:include" property. |
int |
getIncludeCountComposed()
Get the number of included stylesheets. |
boolean |
isAggregatedType()
Tell if this can be cast to a StylesheetComposed, meaning, you
can ask questions from getXXXComposed functions. |
void |
recompose(java.util.Vector recomposableElements)
Adds all recomposable values for this precedence level into the recomposableElements Vector
that was passed in as the first parameter. |
(package private) void |
recomposeImports()
Recalculate the precedence of this stylesheet in the global
import list. |
(package private) void |
recomposeIncludes(Stylesheet including)
Recompose the value of the composed include list. |
void |
recomposeTemplates(boolean flushFirst)
For compilation support, we need the option of overwriting
(rather than appending to) previous composition. |
Methods inherited from class org.apache.xalan.templates.Stylesheet |
accept, callChildVisitors, containsExcludeResultPrefix, containsExtensionElementURI, getAttributeSet, getAttributeSetCount, getCompatibleMode, getDecimalFormat, getDecimalFormat, getDecimalFormatCount, getExcludeResultPrefix, getExcludeResultPrefixCount, getExtensionElementPrefix, getExtensionElementPrefixCount, getHref, getId, getImport, getImportCount, getInclude, getIncludeCount, getKey, getKeyCount, getNamespaceAlias, getNamespaceAliasCount, getNodeName, getNodeType, getNonXslTopLevel, getOutput, getOutputCount, getParam, getPreserveSpace, getPreserveSpaceCount, getStripSpace, getStripSpaceCount, getStylesheet, getStylesheetComposed, getStylesheetParent, getStylesheetRoot, getTemplate, getTemplateCount, getVariable, getVariableOrParam, getVariableOrParam, getVariableOrParamCount, getVersion, getXmlnsXsl, getXSLToken, isRoot, replaceTemplate, setAttributeSet, setDecimalFormat, setExcludeResultPrefixes, setExtensionElementPrefixes, setHref, setId, setImport, setInclude, setKey, setLocaterInfo, setNamespaceAlias, setNonXslTopLevel, setOutput, setParam, setPreserveSpaces, setStripSpaces, setStylesheetParent, setStylesheetRoot, setTemplate, setVariable, setVersion, setXmlnsXsl |
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement |
addOrReplaceDecls, appendChild, appendChild, callChildVisitors, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, endCompose, error, error, execute, executeNSDecls, executeNSDecls, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getEndColumnNumber, getEndLineNumber, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getLocalName, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getOwnerDocument, getOwnerXSLTemplate, getParentElem, getParentNode, getParentNodeElem, getPrefixTable, getPreviousSibling, getPreviousSiblingElem, getPublicId, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, needToCheckExclude, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setParentElem, setPrefixes, setPrefixes, setPrefixTable, setUid, setXmlSpace, shouldStripWhiteSpace, unexecuteNSDecls, unexecuteNSDecls |
Methods inherited from class org.apache.xml.utils.UnImplNode |
adoptNode, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getActualEncoding, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getBaseURI, getDoctype, getDocumentElement, getDocumentURI, getDomConfig, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getInputEncoding, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSchemaTypeInfo, getSpecified, getStrictErrorChecking, getTextContent, getUserData, getWholeText, getXmlEncoding, getXmlStandalone, getXmlVersion, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertData, isDefaultNamespace, isEqualNode, isId, isSameNode, isSupported, isWhitespaceInElementContent, lookupNamespaceURI, lookupPrefix, normalize, normalizeDocument, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, renameNode, replaceData, replaceWholeText, setActualEncoding, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setDocumentURI, setIdAttribute, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInputEncoding, setNodeValue, setPrefix, setStrictErrorChecking, setTextContent, setUserData, setValue, setXmlEncoding, setXmlStandalone, setXmlVersion, splitText, substringData |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
serialVersionUID
static final long serialVersionUID
- See Also:
- Constant Field Values
m_importNumber
private int m_importNumber
- Order in import chain.
m_importCountComposed
private int m_importCountComposed
- The precedence of this stylesheet in the global import list.
The lowest precedence stylesheet is 0. A higher
number has a higher precedence.
m_endImportCountComposed
private int m_endImportCountComposed
m_includesComposed
private transient java.util.Vector m_includesComposed
- The combined list of includes.
StylesheetComposed
public StylesheetComposed(Stylesheet parent)
- Uses an XSL stylesheet document.
- Parameters:
parent
- The including or importing stylesheet.
isAggregatedType
public boolean isAggregatedType()
- Tell if this can be cast to a StylesheetComposed, meaning, you
can ask questions from getXXXComposed functions.
- Overrides:
isAggregatedType
in class Stylesheet
- Returns:
- True since this is a StylesheetComposed
recompose
public void recompose(java.util.Vector recomposableElements)
throws javax.xml.transform.TransformerException
- Adds all recomposable values for this precedence level into the recomposableElements Vector
that was passed in as the first parameter. All elements added to the
recomposableElements vector should extend ElemTemplateElement.
- Parameters:
recomposableElements
- a Vector of ElemTemplateElement objects that we will add all of
our recomposable objects to.
- Throws:
javax.xml.transform.TransformerException
recomposeImports
void recomposeImports()
- Recalculate the precedence of this stylesheet in the global
import list. The lowest precedence stylesheet is 0. A higher
number has a higher precedence.
getImportComposed
public StylesheetComposed getImportComposed(int i)
throws java.lang.ArrayIndexOutOfBoundsException
- Get a stylesheet from the "import" list.
- Parameters:
i
- Index of stylesheet in import list
- Returns:
- The stylesheet at the given index
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- See Also:
- import in XSLT Specification
getImportCountComposed
public int getImportCountComposed()
- Get the precedence of this stylesheet in the global import list.
The lowest precedence is 0. A higher number has a higher precedence.
- Returns:
- the precedence of this stylesheet in the global import list.
- See Also:
- import in XSLT Specification
getEndImportCountComposed
public int getEndImportCountComposed()
- Get the number of import in this stylesheet's composed list.
- Returns:
- the number of imports in this stylesheet's composed list.
recomposeIncludes
void recomposeIncludes(Stylesheet including)
- Recompose the value of the composed include list. Builds a composite
list of all stylesheets included by this stylesheet to any depth.
- Parameters:
including
- Stylesheet to recompose
getIncludeComposed
public Stylesheet getIncludeComposed(int i)
throws java.lang.ArrayIndexOutOfBoundsException
- Get an "xsl:include" property.
- Parameters:
i
- Index of stylesheet in "include" list
- Returns:
- The stylesheet at the given index in the "include" list
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- See Also:
- include in XSLT Specification
getIncludeCountComposed
public int getIncludeCountComposed()
- Get the number of included stylesheets.
- Returns:
- the number of included stylesheets.
- See Also:
- import in XSLT Specification
recomposeTemplates
public void recomposeTemplates(boolean flushFirst)
throws javax.xml.transform.TransformerException
- For compilation support, we need the option of overwriting
(rather than appending to) previous composition.
We could phase out the old API in favor of this one, but I'm
holding off until we've made up our minds about compilation.
ADDED 9/5/2000 to support compilation experiment.
NOTE: GLP 29-Nov-00 I've left this method in so that CompilingStylesheetHandler will compile. However,
I'm not sure why it's needed or what it does and I've commented out the body.
- Parameters:
flushFirst
- Flag indicating the option of overwriting
(rather than appending to) previous composition.
- Throws:
javax.xml.transform.TransformerException
- See Also:
- section-Defining-Template-Rules in XSLT Specification