## 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
`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 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, CALL_FUNCTION_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, 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_SIG, LAST_INDEX, LOAD_DOCUMENT_CLASS, LOCALE_CLASS, LOCALE_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, 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, 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_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
`Stylesheet()`

Method Summary
`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` `display(int indent)` Displays the contents of this syntax tree node (to stdout).
`void` `excludeExtensionPrefixes(Parser parser)`
`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)

### excludeExtensionPrefixes

    public void excludeExtensionPrefixes(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 © 2005 Apache XML Project. All Rights Reserved.