org.apache.xalan.xsltc.compiler

## Class Stylesheet

- java.lang.Object
- - org.apache.xalan.xsltc.compiler.SyntaxTreeNode
  - - org.apache.xalan.xsltc.compiler.Stylesheet

- All Implemented Interfaces:
    org.apache.bcel.generic.InstructionConstants, Constants

      public final class Stylesheet
      extends SyntaxTreeNode

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.bcel.generic.InstructionConstants

      `org.apache.bcel.generic.InstructionConstants.Clinit`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `Stylesheet` | `_importedFrom` Reference to the stylesheet from which this stylesheet was imported (if any).
    `Stylesheet` | `_includedFrom` Reference to the stylesheet from which this stylesheet was included (if any).
    `static int` | `HTML_OUTPUT`
    `static int` | `TEXT_OUTPUT`
    `static int` | `UNKNOWN_OUTPUT`
    `static int` | `XML_OUTPUT`

    - ### Fields inherited from class org.apache.xalan.xsltc.compiler.SyntaxTreeNode

      `UNKNOWN_STYLESHEET_NODE_ID`

    - ### Fields inherited from interface org.apache.xalan.xsltc.compiler.Constants

      `ABSOLUTE_ITERATOR, ACC_FINAL, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_SUPER, ADD_ATTRIBUTE, ADD_ATTRIBUTE_SIG, ADD_ITERATOR, ADD_ITERATOR_SIG, ADD_PARAMETER, ADD_PARAMETER_SIG, APPLY_TEMPLATES, ATTR_SET_SIG, ATTRIBUTE_LIST_FIELD, ATTRIBUTE_LIST_IMPL_CLASS, ATTRIBUTE_LIST_IMPL_SIG, ATTRIBUTES_SIG, BASIS_LIBRARY_CLASS, BOOLEAN_CLASS, BOOLEAN_VALUE, BOOLEAN_VALUE_SIG, CACHED_NODE_LIST_ITERATOR_CLASS, CHARACTERS, CHARACTERS_SIG, CHARACTERSW, CHARACTERSW_SIG, CLEAR_ATTRIBUTES, CLEAR_ATTRIBUTES_SIG, COLLATOR_CLASS, COLLATOR_SIG, COMPILER_PACKAGE, CURRENT_NODE_LIST_FILTER, CURRENT_NODE_LIST_FILTER_SIG, CURRENT_NODE_LIST_ITERATOR, CURRENT_NODE_LIST_ITERATOR_SIG, DEFAULT_NODE_COUNTER, DEFAULT_NODE_COUNTER_SIG, DOCUMENT_PNAME, DOM_ADAPTER_CLASS, DOM_ADAPTER_SIG, DOM_FIELD, DOM_IMPL, DOM_IMPL_CLASS, DOM_IMPL_SIG, DOM_INTF, DOM_INTF_SIG, DOM_PNAME, DOUBLE_CLASS, DOUBLE_SIG, DOUBLE_VALUE, DOUBLE_VALUE_SIG, DUP_FILTERED_ITERATOR, EMPTYATTR_FIELD, EMPTYSTRING, ERROR, EXPAND_STYLESHEET_QNAME_REF, EXPAND_STYLESHEET_QNAME_SIG, FALLBACK_CLASS, FATAL, FILTER_INTERFACE, FILTER_INTERFACE_SIG, FILTER_ITERATOR, FILTER_STEP_ITERATOR, FORMAT_SYMBOLS_FIELD, GET_ATTRIBUTE_VALUE, GET_ATTRIBUTE_VALUE_SIG, GET_CHILDREN, GET_CHILDREN_SIG, GET_ELEMENT_VALUE, GET_ELEMENT_VALUE_SIG, GET_ITERATOR_SIG, GET_NODE_NAME, GET_NODE_NAME_SIG, GET_NODE_TYPE, GET_NODE_TYPE_SIG, GET_NODE_VALUE, GET_NODE_VALUE_ITERATOR, GET_NODE_VALUE_ITERATOR_SIG, GET_NODE_VALUE_SIG, GET_PARAMETER, GET_PARAMETER_SIG, GET_PARENT, GET_PARENT_SIG, GET_TYPED_CHILDREN, GET_TYPED_CHILDREN_SIG, GET_UNPARSED_ENTITY_URI, GET_UNPARSED_ENTITY_URI_SIG, HAS_ATTRIBUTE, HAS_ATTRIBUTE_SIG, HASIDCALL_INDEX, HASIDCALL_INDEX_SIG, INT_VALUE, INT_VALUE_SIG, INTEGER_CLASS, INTEGER_SIG, INTERNAL, INVOKE_METHOD, ITERATOR_FIELD_SIG, ITERATOR_PNAME, KEY_INDEX_CLASS, KEY_INDEX_ITERATOR_SIG, KEY_INDEX_SIG, LAST_INDEX, LOAD_DOCUMENT_CLASS, LOCALE_CLASS, LOCALE_SIG, LOOKUP_STYLESHEET_QNAME_NS_REF, LOOKUP_STYLESHEET_QNAME_NS_SIG, MAKE_NODE, MAKE_NODE_LIST, MAKE_NODE_LIST_SIG, MAKE_NODE_LIST_SIG2, MAKE_NODE_SIG, MAKE_NODE_SIG2, MATCHING_ITERATOR, MATH_CLASS, MULTI_DOM_CLASS, MULTI_DOM_SIG, NAMES_INDEX, NAMES_INDEX_SIG, NAMESPACE_FEATURE, NAMESPACE_INDEX, NAMESPACE_INDEX_SIG, NEXT, NEXT_SIG, NEXTID, NODE, NODE_COUNTER, NODE_COUNTER_SIG, NODE_FIELD, NODE_FIELD_SIG, NODE_ITERATOR, NODE_ITERATOR_BASE, NODE_ITERATOR_SIG, NODE_PNAME, NODE_SIG, NODE_SORT_FACTORY, NODE_SORT_FACTORY_SIG, NODE_SORT_RECORD, NODE_SORT_RECORD_SIG, NS_ANCESTORS_INDEX_SIG, NTH_ITERATOR_CLASS, OBJECT_CLASS, OBJECT_SIG, ORDER_ITERATOR, ORDER_ITERATOR_SIG, OUTPUT_BASE, OUTPUT_HANDLER, OUTPUT_HANDLER_SIG, POP_PARAM_FRAME, POP_PARAM_FRAME_SIG, POSITION_INDEX, PREFIX_URIS_ARRAY_SIG, PREFIX_URIS_IDX_SIG, PUSH_PARAM_FRAME, PUSH_PARAM_FRAME_SIG, REDIRECT_URI, RESET, RESET_SIG, RTF_INITIAL_SIZE, RUNTIME_NODE_CLASS, RUNTIME_PACKAGE, SAX_IMPL, SAX_IMPL_CLASS, SAX_IMPL_SIG, SET_START_NODE, SET_START_NODE_SIG, SINGLETON_ITERATOR, SORT_ITERATOR, SORT_ITERATOR_SIG, STATIC_CHAR_DATA_FIELD, STATIC_CHAR_DATA_FIELD_SIG, STATIC_NAMES_ARRAY_FIELD, STATIC_NAMESPACE_ARRAY_FIELD, STATIC_NS_ANCESTORS_ARRAY_FIELD, STATIC_PREFIX_URIS_ARRAY_FIELD, STATIC_PREFIX_URIS_IDX_ARRAY_FIELD, STATIC_TYPES_ARRAY_FIELD, STATIC_URIS_ARRAY_FIELD, STEP_ITERATOR_CLASS, STREAM_XML_OUTPUT, STRING, STRING_BUFFER_CLASS, STRING_BUFFER_SIG, STRING_CLASS, STRING_SIG, STRING_TO_INT, STRING_TO_INT_SIG, STRING_TO_REAL, STRING_TO_REAL_SIG, STRING_VALUE_HANDLER, STRING_VALUE_HANDLER_SIG, STRING_WRITER, STRIP_SPACE, STRIP_SPACE_INTF, STRIP_SPACE_PARAMS, STRIP_SPACE_SIG, TRANSLET_CLASS, TRANSLET_FIELD, TRANSLET_FIELD_SIG, TRANSLET_INTF, TRANSLET_INTF_SIG, TRANSLET_OUTPUT_BASE, TRANSLET_OUTPUT_INTERFACE, TRANSLET_OUTPUT_PNAME, TRANSLET_OUTPUT_SIG, TRANSLET_PNAME, TRANSLET_SIG, TRANSLET_URI, TRANSLET_VERSION_INDEX, TRANSLET_VERSION_INDEX_SIG, TYPES_INDEX, TYPES_INDEX_SIG, UNION_ITERATOR_CLASS, UNION_ITERATOR_SIG, UNSUPPORTED, URIS_INDEX, URIS_INDEX_SIG, WARNING, WRITER_SIG, XHTML_URI, XMLNS_PREFIX, XMLNS_STRING, XMLNS_URI, XSLT_PACKAGE, XSLT_URI`

    - ### Fields inherited from interface org.apache.bcel.generic.InstructionConstants

      `AALOAD, AASTORE, ACONST_NULL, ALOAD_0, ALOAD_1, ALOAD_2, ARETURN, ARRAYLENGTH, ASTORE_0, ASTORE_1, ASTORE_2, ATHROW, BALOAD, BASTORE, bla, CALOAD, CASTORE, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DMUL, DNEG, DREM, DRETURN, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FMUL, FNEG, FREM, FRETURN, FSUB, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, ILOAD_0, ILOAD_1, ILOAD_2, IMUL, INEG, INSTRUCTIONS, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE_0, ISTORE_1, ISTORE_2, ISUB, IUSHR, IXOR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDIV, LMUL, LNEG, LOR, LREM, LRETURN, LSHL, LSHR, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, NOP, POP, POP2, RETURN, SALOAD, SASTORE, SWAP, THIS`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Stylesheet()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addIncludedStylesheet(Stylesheet child)`
    `int` | `addParam(org.apache.xalan.xsltc.compiler.Param param)`
    `int` | `addVariable(org.apache.xalan.xsltc.compiler.Variable global)`
    `boolean` | `callsNodeset()`
    `boolean` | `checkForLoop(java.lang.String systemId)`
    `void` | `declareExtensionPrefixes(Parser parser)`
    `void` | `display(int indent)` Displays the contents of this syntax tree node (to stdout).
    `java.util.Vector` | `getAllValidTemplates()`
    `java.lang.String` | `getClassName()`
    `int` | `getImportPrecedence()` Get the import precedence of this element.
    `org.apache.xalan.xsltc.compiler.Output` | `getLastOutputElement()`
    `int` | `getMinimumDescendantPrecedence()` Get the minimum of the precedence of this stylesheet, any stylesheet imported by this stylesheet and any include/import descendant of this stylesheet.
    `org.apache.xalan.xsltc.compiler.Mode` | `getMode(org.apache.xalan.xsltc.compiler.QName modeName)`
    `java.lang.String` | `getNamespace(java.lang.String prefix)`
    `int` | `getOutputMethod()` Return the output method
    `java.util.Properties` | `getOutputProperties()`
    `Stylesheet` | `getParentStylesheet()`
    `SourceLoader` | `getSourceLoader()`
    `java.lang.String` | `getSystemId()`
    `boolean` | `getTemplateInlining()`
    `java.util.Vector` | `getTemplates()`
    `boolean` | `hasGlobals()` Returns true if this stylesheet has global vars or params.
    `boolean` | `hasLocalParams()` Returns true if at least one template in the stylesheet has params defined.
    `boolean` | `isExtension(java.lang.String uri)`
    `boolean` | `isMultiDocument()`
    `boolean` | `isSimplified()`
    `void` | `numberFormattingUsed()`
    `void` | `parseContents(Parser parser)` Parse the version and uri fields of the stylesheet and add an entry to the symbol table mapping the name `__stylesheet_` to an instance of this class.
    `void` | `parseOwnChildren(Parser parser)` Parse all direct children of the element.
    `void` | `processModes()`
    `void` | `setCallsNodeset(boolean flag)`
    `void` | `setHasIdCall(boolean flag)`
    `void` | `setImportingStylesheet(Stylesheet parent)`
    `void` | `setImportPrecedence(int precedence)`
    `void` | `setIncludingStylesheet(Stylesheet parent)`
    `void` | `setMultiDocument(boolean flag)`
    `void` | `setOutputProperties(java.util.Properties props)`
    `void` | `setOutputProperty(java.lang.String key, java.lang.String value)`
    `void` | `setParentStylesheet(Stylesheet parent)`
    `void` | `setParser(Parser parser)` Set this node's parser.
    `void` | `setSimplified()`
    `void` | `setSourceLoader(SourceLoader loader)`
    `void` | `setSystemId(java.lang.String systemId)`
    `void` | `setTemplateInlining(boolean flag)`
    `void` | `translate()` Translate the stylesheet into JVM bytecodes.
    `void` | `translate(ClassGenerator classGen, MethodGenerator methodGen)` Translate the stylesheet into JVM bytecodes.
    `Type` | `typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable)` Type check all the children of this node.

    - ### Methods inherited from class org.apache.xalan.xsltc.compiler.SyntaxTreeNode

      `getLineNumber, getParser, getStylesheet`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### _importedFrom

          public Stylesheet _importedFrom

      Reference to the stylesheet from which this stylesheet was imported (if any).

    - #### _includedFrom

          public Stylesheet _includedFrom

      Reference to the stylesheet from which this stylesheet was included (if any).

    - #### UNKNOWN_OUTPUT

          public static final int UNKNOWN_OUTPUT

      See Also:
        Constant Field Values

    - #### XML_OUTPUT

          public static final int XML_OUTPUT

      See Also:
        Constant Field Values

    - #### HTML_OUTPUT

          public static final int HTML_OUTPUT

      See Also:
        Constant Field Values

    - #### TEXT_OUTPUT

          public static final int TEXT_OUTPUT

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Stylesheet

          public Stylesheet()

  - ### Method Detail

    - #### getOutputMethod

          public int getOutputMethod()

      Return the output method

    - #### getTemplateInlining

          public boolean getTemplateInlining()

    - #### setTemplateInlining

          public void setTemplateInlining(boolean flag)

    - #### isSimplified

          public boolean isSimplified()

    - #### setSimplified

          public void setSimplified()

    - #### setHasIdCall

          public void setHasIdCall(boolean flag)

    - #### setOutputProperty

          public void setOutputProperty(java.lang.String key,
                                        java.lang.String value)

    - #### setOutputProperties

          public void setOutputProperties(java.util.Properties props)

    - #### getOutputProperties

          public java.util.Properties getOutputProperties()

    - #### getLastOutputElement

          public org.apache.xalan.xsltc.compiler.Output getLastOutputElement()

    - #### setMultiDocument

          public void setMultiDocument(boolean flag)

    - #### isMultiDocument

          public boolean isMultiDocument()

    - #### setCallsNodeset

          public void setCallsNodeset(boolean flag)

    - #### callsNodeset

          public boolean callsNodeset()

    - #### numberFormattingUsed

          public void numberFormattingUsed()

    - #### setImportPrecedence

          public void setImportPrecedence(int precedence)

    - #### getImportPrecedence

          public int getImportPrecedence()

      Description copied from class: `SyntaxTreeNode`
      Get the import precedence of this element. The import precedence equals the import precedence of the stylesheet in which this element occured.
      Returns:
        The import precedence of this syntax tree node.

    - #### getMinimumDescendantPrecedence

          public int getMinimumDescendantPrecedence()

      Get the minimum of the precedence of this stylesheet, any stylesheet imported by this stylesheet and any include/import descendant of this stylesheet.

    - #### checkForLoop

          public boolean checkForLoop(java.lang.String systemId)

    - #### setParser

          public void setParser(Parser parser)

      Description copied from class: `SyntaxTreeNode`
      Set this node's parser. The parser (the XSLT parser) gives this syntax tree node access to the symbol table and XPath parser.
      Parameters:
        `parser` - The XSLT parser.

    - #### setParentStylesheet

          public void setParentStylesheet(Stylesheet parent)

    - #### getParentStylesheet

          public Stylesheet getParentStylesheet()

    - #### setImportingStylesheet

          public void setImportingStylesheet(Stylesheet parent)

    - #### setIncludingStylesheet

          public void setIncludingStylesheet(Stylesheet parent)

    - #### addIncludedStylesheet

          public void addIncludedStylesheet(Stylesheet child)

    - #### setSystemId

          public void setSystemId(java.lang.String systemId)

    - #### getSystemId

          public java.lang.String getSystemId()

    - #### setSourceLoader

          public void setSourceLoader(SourceLoader loader)

    - #### getSourceLoader

          public SourceLoader getSourceLoader()

    - #### hasGlobals

          public boolean hasGlobals()

      Returns true if this stylesheet has global vars or params.

    - #### hasLocalParams

          public boolean hasLocalParams()

      Returns true if at least one template in the stylesheet has params defined. Uses the variable `_hasLocalParams` to cache the result.

    - #### isExtension

          public boolean isExtension(java.lang.String uri)

    - #### declareExtensionPrefixes

          public void declareExtensionPrefixes(Parser parser)

    - #### parseContents

          public void parseContents(Parser parser)

      Parse the version and uri fields of the stylesheet and add an entry to the symbol table mapping the name `__stylesheet_` to an instance of this class.
      Overrides:
        `parseContents` in class `SyntaxTreeNode`
      Parameters:
        `parser` - reference to the XSLT parser

    - #### parseOwnChildren

          public final void parseOwnChildren(Parser parser)

      Parse all direct children of the element.

    - #### processModes

          public void processModes()

    - #### getMode

          public org.apache.xalan.xsltc.compiler.Mode getMode(org.apache.xalan.xsltc.compiler.QName modeName)

    - #### typeCheck

          public Type typeCheck(org.apache.xalan.xsltc.compiler.SymbolTable stable)
                         throws TypeCheckError

      Type check all the children of this node.
      Specified by:
        `typeCheck` in class `SyntaxTreeNode`
      Parameters:
        `stable` - The compiler/parser's symbol table
      Throws:
        `TypeCheckError`

    - #### translate

          public void translate(ClassGenerator classGen,
                                MethodGenerator methodGen)

      Translate the stylesheet into JVM bytecodes.
      Specified by:
        `translate` in class `SyntaxTreeNode`
      Parameters:
        `classGen` - BCEL Java class generator
        `methodGen` - BCEL Java method generator

    - #### translate

          public void translate()

      Translate the stylesheet into JVM bytecodes.

    - #### addParam

          public int addParam(org.apache.xalan.xsltc.compiler.Param param)

    - #### addVariable

          public int addVariable(org.apache.xalan.xsltc.compiler.Variable global)

    - #### display

          public void display(int indent)

      Description copied from class: `SyntaxTreeNode`
      Displays the contents of this syntax tree node (to stdout). This method is intended for debugging _only_, and should be overridden by all syntax tree node implementations.
      Overrides:
        `display` in class `SyntaxTreeNode`
      Parameters:
        `indent` - Indentation level for syntax tree levels.

    - #### getNamespace

          public java.lang.String getNamespace(java.lang.String prefix)

    - #### getClassName

          public java.lang.String getClassName()

    - #### getTemplates

          public java.util.Vector getTemplates()

    - #### getAllValidTemplates

          public java.util.Vector getAllValidTemplates()

Copyright © 2023 Apache XML Project. All Rights Reserved.