org.apache.xalan.templates
Class StylesheetComposed

java.lang.Object
  |
  +--org.apache.xalan.utils.UnImplNode
        |
        +--org.apache.xalan.templates.ElemTemplateElement
              |
              +--org.apache.xalan.templates.Stylesheet
                    |
                    +--org.apache.xalan.templates.StylesheetComposed
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 OutputFormat, 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

Fields inherited from class org.apache.xalan.templates.Stylesheet
STYLESHEET_EXT
 
Constructor Summary
StylesheetComposed(Stylesheet parent)
          Uses an XSL stylesheet document.
 
Method Summary
 java.util.Vector getAttributeSetComposed(QName name)
          Get a list "xsl:attribute-set" properties that match the qname.
 java.text.DecimalFormatSymbols getDecimalFormatComposed(QName name)
          Given a valid element decimal-format name, return the decimalFormatSymbols with that name.
 StylesheetComposed getImportComposed(int i)
          Get a stylesheet from the "import" list.
 int getImportCountComposed()
          Get the number of imported stylesheets.
 Stylesheet getIncludeComposed(int i)
          Get an "xsl:include" property.
 int getIncludeCountComposed()
          Get the number of included stylesheets.
 java.util.Vector getKeysComposed()
          Get the composed "xsl:key" properties.
 java.lang.String getNamespaceAliasComposed(java.lang.String uri)
          Get the "xsl:namespace-alias" property.
 ElemParam getParamComposed(QName qname)
          Get an "xsl:param" property.
 java.util.Enumeration getParamsComposed()
          Get all global "xsl:variable" properties in scope for this stylesheet.
 ElemTemplate getTemplateComposed(QName qname)
          Get an "xsl:template" property.
 ElemTemplate getTemplateComposed(XPathContext support, Node targetNode, QName mode, boolean quietConflictWarnings)
          Get an "xsl:template" property by node match.
 TemplateList getTemplateListComposed()
           
 ElemVariable getVariableComposed(QName qname)
          Get an "xsl:variable" property.
 java.util.Enumeration getVariablesComposed()
          Get all global "xsl:variable" properties in scope for this stylesheet.
 WhiteSpaceInfo getWhiteSpaceInfo(XPathContext support, Element targetElement)
          Get information about whether or not an element should strip whitespace.
 boolean isAggregatedType()
          Tell if this can be cast to a StylesheetComposed, meaning, you can ask questions from getXXXComposed functions.
 void recomposeTemplates()
          Aggregate the list of templates and included templates into a single 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
containsExcludeResultPrefix, containsExtensionElementURI, getAttributeSet, getAttributeSetCount, getDecimalFormat, getDecimalFormat, getDecimalFormatCount, getExcludeResultPrefix, getExcludeResultPrefixCount, getExtensionElementPrefix, getExtensionElementPrefixCount, getHref, getId, getImport, getImportCount, getInclude, getIncludeCount, getKey, getKeyCount, getNamespaceAlias, getNamespaceAliasCount, getNodeName, getNodeType, getNonXslTopLevel, getOutput, getParam, getParam, getParamCount, getPreserveSpace, getPreserveSpaceCount, getStripSpace, getStripSpaceCount, getStylesheet, getStylesheetComposed, getStylesheetParent, getStylesheetRoot, getTemplate, getTemplateCount, getVariable, getVariable, getVariableCount, getVersion, getXmlnsXsl, getXmlSpace, 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, setXmlSpace
 
Methods inherited from class org.apache.xalan.templates.ElemTemplateElement
appendChild, compose, error, execute, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getFirstChild, getFirstChildElem, getLastChild, getLength, getLineNumber, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getOwnerDocument, getParentElem, getParentNode, getPrefixes, getPreviousSibling, getPublicId, getSystemId, getTagName, hasChildNodes, isCompiledTemplate, item, removeChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setPrefixes, setPrefixes
 
Methods inherited from class org.apache.xalan.utils.UnImplNode
appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, error, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getImplementation, getLocalName, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertBefore, insertData, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setNodeValue, setPrefix, setValue, splitText, substringData, supports
 
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

getImportComposed

public StylesheetComposed getImportComposed(int i)
                                     throws java.lang.ArrayIndexOutOfBoundsException
Get a stylesheet from the "import" list.
See Also:
import in XSLT Specification

getImportCountComposed

public int getImportCountComposed()
Get the number of imported stylesheets.
See Also:
import in XSLT Specification

getIncludeComposed

public Stylesheet getIncludeComposed(int i)
                              throws java.lang.ArrayIndexOutOfBoundsException
Get an "xsl:include" property.
See Also:
include in XSLT Specification

getIncludeCountComposed

public int getIncludeCountComposed()
Get the number of included stylesheets.
See Also:
import in XSLT Specification

getDecimalFormatComposed

public java.text.DecimalFormatSymbols getDecimalFormatComposed(QName name)
Given a valid element decimal-format name, return the decimalFormatSymbols with that name.

It is an error to declare either the default decimal-format or a decimal-format with a given name more than once (even with different import precedence), unless it is declared every time with the same value for all attributes (taking into account any default values).

Which means, as far as I can tell, the decimal-format properties are not additive.

Returns:
null if name is not found.

getWhiteSpaceInfo

public WhiteSpaceInfo getWhiteSpaceInfo(XPathContext support,
                                        Element targetElement)
                                 throws SAXException
Get information about whether or not an element should strip whitespace.
See Also:
strip in XSLT Specification

getKeysComposed

public java.util.Vector getKeysComposed()
Get the composed "xsl:key" properties.
See Also:
key in XSLT Specification

getAttributeSetComposed

public java.util.Vector getAttributeSetComposed(QName name)
                                         throws java.lang.ArrayIndexOutOfBoundsException
Get a list "xsl:attribute-set" properties that match the qname.
See Also:
attribute-sets in XSLT Specification

getVariableComposed

public ElemVariable getVariableComposed(QName qname)
Get an "xsl:variable" property.
See Also:
top-level-variables in XSLT Specification

getVariablesComposed

public java.util.Enumeration getVariablesComposed()
Get all global "xsl:variable" properties in scope for this stylesheet.
See Also:
top-level-variables in XSLT Specification

getParamComposed

public ElemParam getParamComposed(QName qname)
Get an "xsl:param" property.
See Also:
top-level-variables in XSLT Specification

getParamsComposed

public java.util.Enumeration getParamsComposed()
Get all global "xsl:variable" properties in scope for this stylesheet.
See Also:
top-level-variables in XSLT Specification

getTemplateListComposed

public final TemplateList getTemplateListComposed()

recomposeTemplates

public void recomposeTemplates()
                        throws SAXException
Aggregate the list of templates and included templates into a single list.
See Also:
section-Defining-Template-Rules in XSLT Specification

recomposeTemplates

public void recomposeTemplates(boolean flushFirst)
                        throws SAXException
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
See Also:
section-Defining-Template-Rules in XSLT Specification

getTemplateComposed

public ElemTemplate getTemplateComposed(XPathContext support,
                                        Node targetNode,
                                        QName mode,
                                        boolean quietConflictWarnings)
                                 throws SAXException
Get an "xsl:template" property by node match. This looks in the imports as well as this stylesheet.
See Also:
section-Defining-Template-Rules in XSLT Specification

getTemplateComposed

public ElemTemplate getTemplateComposed(QName qname)
Get an "xsl:template" property. This looks in the imports as well as this stylesheet.
See Also:
section-Defining-Template-Rules in XSLT Specification

getNamespaceAliasComposed

public java.lang.String getNamespaceAliasComposed(java.lang.String uri)
Get the "xsl:namespace-alias" property. Return the alias namespace uri for a given namespace uri if one is found.
See Also:
literal-result-element in XSLT Specification


Copyright © 2000 Apache XML Project. All Rights Reserved.