Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.apache.xalan.templates
Class StylesheetRoot

    java.lang.Object
      |
      +--weblogic.apache.xml.utils.UnImplNode
            |
            +--weblogic.apache.xalan.templates.ElemTemplateElement
                  |
                  +--weblogic.apache.xalan.templates.Stylesheet
                        |
                        +--weblogic.apache.xalan.templates.StylesheetComposed
                              |
                              +--weblogic.apache.xalan.templates.StylesheetRoot

public class StylesheetRoot
extends StylesheetComposed
implements java.io.Serializable, javax.xml.transform.Templates

This class represents the root object of the stylesheet tree.

This class is based on an implementation from the Apache XML Project. In future releases the XML parser, XSLT processor, and associated classes will likely be updated to be based on a later version of the Apache implementations. Since Apache does not guarantee backwards compatibility between versions of their software, we cannot guarantee backwards compatibility of any of the classes contained in the weblogic.apache package or sub-packages.

See Also:
  Serialized Form

Fields inherited from class weblogic.apache.xalan.templates.Stylesheet
`STYLESHEET_EXT`

Fields inherited from class weblogic.apache.xalan.templates.ElemTemplateElement
`m_docOrderNumber, m_hasVariableDecl, m_parentNode`

Constructor Summary
`StylesheetRoot(javax.xml.transform.ErrorListener errorListener)` Uses an XSL stylesheet document.
`StylesheetRoot(XSLTSchema schema, javax.xml.transform.ErrorListener listener)` Creates a StylesheetRoot and retains a pointer to the schema used to create this StylesheetRoot.

Method Summary
`protected void` | `addImports(Stylesheet stylesheet, boolean addToList, java.util.Vector importList)` Add the imports in the given sheet to the working importList vector.
`boolean` | `canStripWhiteSpace()` Get information about whether or not whitespace can be stripped.
`java.util.Vector` | `getAttributeSetComposed(QName name)` Get a list "xsl:attribute-set" properties that match the qname.
`java.util.Hashtable` | `getAvailableElements()` Get the hashtable of available elements.
`java.text.DecimalFormatSymbols` | `getDecimalFormatComposed(QName name)` Given a valid element decimal-format name, return the decimalFormatSymbols with that name.
`java.util.Properties` | `getDefaultOutputProps()`
`ElemTemplate` | `getDefaultRootRule()` Get the default template for a root node.
`ElemTemplate` | `getDefaultRule()` Get the default template for elements.
`ElemTemplate` | `getDefaultTextRule()` Get the default template for text.
`StylesheetComposed` | `getGlobalImport(int i)` Get a stylesheet from the global import list.
`int` | `getGlobalImportCount()` Get the total number of imports in the global import list.
`int` | `getImportNumber(StylesheetComposed sheet)` Given a stylesheet, return the number of the stylesheet in the global import list.
`java.util.Vector` | `getKeysComposed()` Get the composed "xsl:key" properties.
`NamespaceAlias` | `getNamespaceAliasComposed(java.lang.String uri)` Get the "xsl:namespace-alias" property.
`OutputProperties` | `getOutputComposed()` Get the combined "xsl:output" property with the properties combined from the included stylesheets.
`java.util.Properties` | `getOutputProperties()` Get the static properties for xsl:output.
`ElemTemplate` | `getStartRule()` Get the default template for a root node.
`ElemTemplate` | `getTemplateComposed(QName qname)` Get an "xsl:template" property.
`ElemTemplate` | `getTemplateComposed(XPathContext xctxt, int targetNode, QName mode, int maxImportLevel, boolean quietConflictWarnings, weblogic.apache.xml.dtm.DTM dtm)` Get an "xsl:template" property by node match.
`TemplateList` | `getTemplateListComposed()` Accessor method to retrieve the `TemplateList` associated with this StylesheetRoot.
`ElemVariable` | `getVariableOrParamComposed(QName qname)` Get an "xsl:variable" property.
`java.util.Vector` | `getVariablesAndParamsComposed()` Get all global "xsl:variable" properties in scope for this stylesheet.
`WhiteSpaceInfo` | `getWhiteSpaceInfo(XPathContext support, int targetElement, weblogic.apache.xml.dtm.DTM dtm)` Get information about whether or not an element should strip whitespace.
`boolean` | `isOutputMethodSet()` Find out if an output method has been set by the user.
`boolean` | `isRoot()` Tell if this is the root of the stylesheet tree.
`javax.xml.transform.Transformer` | `newTransformer()` Create a new transformation context for this Templates object.
`void` | `recompose()` Recompose the values of all "composed" properties, meaning properties that need to be combined or calculated from the combination of imported and included stylesheets.
`void` | `setTemplateListComposed(TemplateList templateList)` Mutator method to set the `TemplateList` associated with this StylesheetRoot.
`boolean` | `shouldCheckWhitespace()` Check to see if the caller should bother with check for whitespace nodes.
`boolean` | `shouldStripWhiteSpace(XPathContext support, int targetElement)` Get information about whether or not an element should strip whitespace.

Methods inherited from class weblogic.apache.xalan.templates.StylesheetComposed
`getImportComposed, getImportCountComposed, getIncludeComposed, getIncludeCountComposed, isAggregatedType, recompose, recomposeTemplates`

Methods inherited from class weblogic.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, getOutputCount, getParam, getPreserveSpace, getPreserveSpaceCount, getStripSpace, getStripSpaceCount, getStylesheet, getStylesheetComposed, getStylesheetParent, getStylesheetRoot, getTemplate, getTemplateCount, getVariable, getVariableOrParam, getVariableOrParam, getVariableOrParamCount, getVersion, getXmlnsXsl, getXSLToken, 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 weblogic.apache.xalan.templates.ElemTemplateElement
`appendChild, appendChild, compareTo, compose, endCompose, error, error, error, execute, getBaseIdentifier, getChildNodes, getColumnNumber, getDeclaredPrefixes, getDOMBackPointer, getFirstChild, getFirstChildElem, getLastChild, getLastChildElem, getLength, getLineNumber, getNamespaceForPrefix, getNamespaceForPrefix, getNextSibling, getNextSiblingElem, getOwnerDocument, getParentElem, getParentNode, getParentNodeElem, getPrefixes, getPreviousSibling, getPreviousSiblingElem, getPublicId, getSystemId, getTagName, getUid, getXmlSpace, hasChildNodes, hasTextLitOnly, hasVariableDecl, isCompiledTemplate, isValidNCName, item, recompose, removeChild, replaceChild, replaceChild, resolvePrefixTables, runtimeInit, setDOMBackPointer, setParentElem, setPrefixes, setPrefixes, setUid, setXmlSpace, shouldStripWhiteSpace`

Methods inherited from class weblogic.apache.xml.utils.UnImplNode
`adoptNode, appendData, cloneNode, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDoctype, getDocumentElement, getElementById, getElementsByTagName, getElementsByTagNameNS, getEncoding, getImplementation, getLocalName, getNamespaceURI, getNodeValue, getOwnerElement, getPrefix, getSpecified, getStandalone, getStrictErrorChecking, hasAttribute, hasAttributeNS, hasAttributes, importNode, insertBefore, insertData, isSupported, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceData, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setEncoding, setNodeValue, setPrefix, setStandalone, setStrictErrorChecking, setValue, splitText, substringData`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### StylesheetRoot

    public StylesheetRoot(javax.xml.transform.ErrorListener errorListener)
                   throws javax.xml.transform.TransformerConfigurationException

  Uses an XSL stylesheet document.

  Throws:
    javax.xml.transform.TransformerConfigurationException - if the baseIdentifier can not be resolved to a URL.

### StylesheetRoot

    public StylesheetRoot(XSLTSchema schema,
                          javax.xml.transform.ErrorListener listener)
                   throws javax.xml.transform.TransformerConfigurationException

  Creates a StylesheetRoot and retains a pointer to the schema used to create this StylesheetRoot. The schema may be needed later for an element-available() function call.

  Parameters:
    `schema` - The schema used to create this stylesheet
  Throws:
    javax.xml.transform.TransformerConfigurationException - if the baseIdentifier can not be resolved to a URL.

Method Detail

### isRoot

    public boolean isRoot()

  Tell if this is the root of the stylesheet tree.

  Returns:
    True since this is the root of the stylesheet tree.
  Overrides:
    isRoot in class Stylesheet

### getAvailableElements

    public java.util.Hashtable getAvailableElements()

  Get the hashtable of available elements.

  Returns:
    table of available elements, keyed by qualified names, and with values of the same qualified names.

### newTransformer

    public javax.xml.transform.Transformer newTransformer()

  Create a new transformation context for this Templates object.
  Specified by:
    newTransformer in interface javax.xml.transform.Templates

  Returns:
    A Transformer instance, never null.

### getDefaultOutputProps

    public java.util.Properties getDefaultOutputProps()

### getOutputProperties

    public java.util.Properties getOutputProperties()

  Get the static properties for xsl:output. The object returned will be a clone of the internal values, and thus it can be mutated without mutating the Templates object, and then handed in to the process method.

  For XSLT, Attribute Value Templates attribute values will be returned unexpanded (since there is no context at this point).

  Specified by:
    getOutputProperties in interface javax.xml.transform.Templates

  Returns:
    A Properties object, not null.

### recompose

    public void recompose()
                   throws javax.xml.transform.TransformerException

  Recompose the values of all "composed" properties, meaning properties that need to be combined or calculated from the combination of imported and included stylesheets. This method determines the proper import precedence of all imported stylesheets. It then iterates through all of the elements and properties in the proper order and triggers the individual recompose methods.

  Throws:
    javax.xml.transform.TransformerException -

### addImports

    protected void addImports(Stylesheet stylesheet,
                              boolean addToList,
                              java.util.Vector importList)

  Add the imports in the given sheet to the working importList vector. The will be added from highest import precedence to least import precedence. This is a post-order traversal of the import tree as described in the XSLT Recommendation.

  For example, suppose

  stylesheet A imports stylesheets B and C in that order;

  stylesheet B imports stylesheet D;

  stylesheet C imports stylesheet E.

  Then the order of import precedence (highest first) is A, C, E, B, D.

  Parameters:
    `stylesheet` - Stylesheet to examine for imports.
    `addToList` - `true` if this template should be added to the import list
    `importList` - The working import list. Templates are added here in the reverse order of priority. When we're all done, we'll reverse this to the correct priority in an array.

### getGlobalImport

    public StylesheetComposed getGlobalImport(int i)

  Get a stylesheet from the global import list. TODO: JKESS PROPOSES SPECIAL-CASE FOR NO IMPORT LIST, TO MATCH COUNT.

  Parameters:
    `i` - Index of stylesheet to get from global import list
  Returns:
    The stylesheet at the given index

### getGlobalImportCount

    public int getGlobalImportCount()

  Get the total number of imports in the global import list.

  Returns:
    The total number of imported stylesheets, including the root stylesheet, thus the number will always be 1 or greater. TODO: JKESS PROPOSES SPECIAL-CASE FOR NO IMPORT LIST, TO MATCH DESCRIPTION.

### getImportNumber

    public int getImportNumber(StylesheetComposed sheet)

  Given a stylesheet, return the number of the stylesheet in the global import list.

  Parameters:
    `sheet` - The stylesheet which will be located in the global import list.
  Returns:
    The index into the global import list of the given stylesheet, or -1 if it is not found (which should never happen).

### getOutputComposed

    public OutputProperties getOutputComposed()

  Get the combined "xsl:output" property with the properties combined from the included stylesheets. If a xsl:output is not declared in this stylesheet or an included stylesheet, look in the imports. Please note that this returns a reference to the OutputProperties object, not a cloned object, like getOutputProperties does.

  Returns:
    non-null reference to composed output properties object.
  See Also:
    output in XSLT Specification

### isOutputMethodSet

    public boolean isOutputMethodSet()

  Find out if an output method has been set by the user.

  Returns:
    Value indicating whether an output method has been set by the user

### getAttributeSetComposed

    public java.util.Vector getAttributeSetComposed(QName name)
                                             throws java.lang.ArrayIndexOutOfBoundsException

  Get a list "xsl:attribute-set" properties that match the qname.

  Parameters:
    `name` - Qualified name of attribute set properties to get
  Returns:
    A vector of attribute sets matching the given name
  Throws:
    java.lang.ArrayIndexOutOfBoundsException -
  See Also:
    attribute-sets 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.

  Parameters:
    `name` - Qualified name of the decimal format to find
  Returns:
    DecimalFormatSymbols object matching the given name or null if name is not found.

### getKeysComposed

    public java.util.Vector getKeysComposed()

  Get the composed "xsl:key" properties.

  Returns:
    A vector of the composed "xsl:key" properties.
  See Also:
    key in XSLT Specification

### getNamespaceAliasComposed

    public NamespaceAlias getNamespaceAliasComposed(java.lang.String uri)

  Get the "xsl:namespace-alias" property. Return the NamespaceAlias for a given namespace uri.

  Parameters:
    `uri` - non-null reference to namespace that is to be aliased.
  Returns:
    NamespaceAlias that matches uri, or null if no match.
  See Also:
    literal-result-element in XSLT Specification

### getTemplateListComposed

    public final TemplateList getTemplateListComposed()

  Accessor method to retrieve the `TemplateList` associated with this StylesheetRoot.

  Returns:
    The composed `TemplateList`.

### setTemplateListComposed

    public final void setTemplateListComposed(TemplateList templateList)

  Mutator method to set the `TemplateList` associated with this StylesheetRoot. This method should only be used by the compiler. Normally, the template list is built during the recompose process and should not be altered by the user.

  Parameters:
    `templateList` - The new `TemplateList` for this StylesheetRoot.

### getTemplateComposed

    public ElemTemplate getTemplateComposed(XPathContext xctxt,
                                            int targetNode,
                                            QName mode,
                                            int maxImportLevel,
                                            boolean quietConflictWarnings,
                                            weblogic.apache.xml.dtm.DTM dtm)
                                     throws javax.xml.transform.TransformerException

  Get an "xsl:template" property by node match. This looks in the imports as well as this stylesheet.

  Parameters:
    `xctxt` - non-null reference to XPath runtime execution context.
    `targetNode` - non-null reference of node that the template must match.
    `mode` - qualified name of the node, or null.
    `maxImportLevel` - The maximum importCountComposed that we should consider or -1 if we should consider all import levels. This is used by apply-imports to access templates that have been overridden.
    `quietConflictWarnings` - true if conflict warnings should not be reported.
  Returns:
    reference to ElemTemplate that is the best match for targetNode, or null if no match could be made.
  Throws:
    javax.xml.transform.TransformerException -
  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.

  Parameters:
    `qname` - non-null reference to qualified name of template.
  Returns:
    reference to named template, or null if not found.
  See Also:
    section-Defining-Template-Rules in XSLT Specification

### getVariableOrParamComposed

    public ElemVariable getVariableOrParamComposed(QName qname)

  Get an "xsl:variable" property.

  Parameters:
    `qname` - Qualified name of variable or param
  Returns:
    The ElemVariable with the given qualified name
  See Also:
    top-level-variables in XSLT Specification

### getVariablesAndParamsComposed

    public java.util.Vector getVariablesAndParamsComposed()

  Get all global "xsl:variable" properties in scope for this stylesheet.

  Returns:
    Vector of all variables and params in scope
  See Also:
    top-level-variables in XSLT Specification

### shouldCheckWhitespace

    public boolean shouldCheckWhitespace()

  Check to see if the caller should bother with check for whitespace nodes.

  Returns:
    Whether the caller should bother with check for whitespace nodes.

### getWhiteSpaceInfo

    public WhiteSpaceInfo getWhiteSpaceInfo(XPathContext support,
                                            int targetElement,
                                            weblogic.apache.xml.dtm.DTM dtm)
                                     throws javax.xml.transform.TransformerException

  Get information about whether or not an element should strip whitespace.

  Parameters:
    `support` - The XPath runtime state.
    `targetElement` - Element to check
  Returns:
    WhiteSpaceInfo for the given element
  Throws:
    javax.xml.transform.TransformerException -
  See Also:
    strip in XSLT Specification

### shouldStripWhiteSpace

    public boolean shouldStripWhiteSpace(XPathContext support,
                                         int targetElement)
                                  throws javax.xml.transform.TransformerException

  Get information about whether or not an element should strip whitespace.

  Parameters:
    `support` - The XPath runtime state.
    `targetElement` - Element to check
  Returns:
    true if the whitespace should be stripped.
  Throws:
    javax.xml.transform.TransformerException -
  See Also:
    strip in XSLT Specification

### canStripWhiteSpace

    public boolean canStripWhiteSpace()

  Get information about whether or not whitespace can be stripped.

  Returns:
    true if the whitespace can be stripped.
  Overrides:
    canStripWhiteSpace in class ElemTemplateElement
  See Also:
    strip in XSLT Specification

### getDefaultTextRule

    public final ElemTemplate getDefaultTextRule()

  Get the default template for text.

  Returns:
    the default template for text.

### getDefaultRule

    public final ElemTemplate getDefaultRule()

  Get the default template for elements.

  Returns:
    the default template for elements.

### getDefaultRootRule

    public final ElemTemplate getDefaultRootRule()

  Get the default template for a root node.

  Returns:
    The default template for a root node.

### getStartRule

    public final ElemTemplate getStartRule()

  Get the default template for a root node.

  Returns:
    The default template for a root node.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs70
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference