org.apache.xalan.templates
Class StylesheetComposed
java.lang.Object
   org.apache.xml.utils.UnImplNode
org.apache.xml.utils.UnImplNode
       org.apache.xalan.templates.ElemTemplateElement
org.apache.xalan.templates.ElemTemplateElement
           org.apache.xalan.templates.Stylesheet
org.apache.xalan.templates.Stylesheet
               org.apache.xalan.templates.StylesheetComposed
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:
- isAggregatedTypein 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