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:
  1. Properties that are aggregates, like OutputProperties, will be composed of properties declared in this stylsheet and all included stylesheets.
  2. 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.
  3. 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

- - ### Field Summary

    - ### Fields inherited from class org.apache.xalan.templates.Stylesheet

      `STYLESHEET_EXT`

    - ### 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`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StylesheetComposed(Stylesheet parent)` Uses an XSL stylesheet document.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `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

      `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

      `appendChild, appendChild, callVisitors, canAcceptVariables, canStripWhiteSpace, compareTo, compose, endCompose, error, error, execute, 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, getPreviousSibling, getPreviousSiblingElem, getPublicId, getSystemId, getTagName, getUid, getXmlSpace, handlesNullPrefixes, hasChildNodes, hasTextLitOnly, hasVariableDecl, insertBefore, isCompiledTemplate, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setEndLocaterInfo, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace`

    - ### 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

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StylesheetComposed

          public StylesheetComposed(Stylesheet parent)

      Uses an XSL stylesheet document.
      Parameters:
        `parent` - The including or importing stylesheet.

  - ### Method Detail

    - #### 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`

    - #### 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.

    - #### 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

Copyright © 2023 Apache XML Project. All Rights Reserved.