Package 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
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.bcel.generic.InstructionConstants
org.apache.bcel.generic.InstructionConstants.Clinit -
Field Summary
FieldsModifier and TypeFieldDescriptionReference to the stylesheet from which this stylesheet was imported (if any).Reference to the stylesheet from which this stylesheet was included (if any).static final intstatic final intstatic final intstatic final intFields inherited from class org.apache.xalan.xsltc.compiler.SyntaxTreeNode
UNKNOWN_STYLESHEET_NODE_IDFields 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_URIFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIncludedStylesheet(Stylesheet child) intaddParam(org.apache.xalan.xsltc.compiler.Param param) intaddVariable(org.apache.xalan.xsltc.compiler.Variable global) booleanbooleancheckForLoop(String systemId) voiddeclareExtensionPrefixes(Parser parser) voiddisplay(int indent) Displays the contents of this syntax tree node (to stdout).intorg.apache.xalan.xsltc.compiler.OutputintGet 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.ModegetMode(org.apache.xalan.xsltc.compiler.QName modeName) getNamespace(String prefix) intReturn the output methodbooleanbooleanReturns true if this stylesheet has global vars or params.booleanReturns true if at least one template in the stylesheet has params defined.booleanisExtension(String uri) booleanbooleanvoidvoidparseContents(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.final voidparseOwnChildren(Parser parser) Parse all direct children of the <xsl:stylesheet/> element.voidvoidsetCallsNodeset(boolean flag) voidsetHasIdCall(boolean flag) voidsetImportingStylesheet(Stylesheet parent) voidsetImportPrecedence(int precedence) voidsetIncludingStylesheet(Stylesheet parent) voidsetMultiDocument(boolean flag) voidsetOutputProperties(Properties props) voidsetOutputProperty(String key, String value) voidsetParentStylesheet(Stylesheet parent) voidvoidvoidsetSourceLoader(SourceLoader loader) voidsetSystemId(String systemId) voidsetTemplateInlining(boolean flag) voidTranslate the stylesheet into JVM bytecodes.voidtranslate(ClassGenerator classGen, MethodGenerator methodGen) Translate the stylesheet into JVM bytecodes.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
-
Field Details
-
_importedFrom
Reference to the stylesheet from which this stylesheet was imported (if any). -
_includedFrom
Reference to the stylesheet from which this stylesheet was included (if any). -
UNKNOWN_OUTPUT
public static final int UNKNOWN_OUTPUT- See Also:
-
XML_OUTPUT
public static final int XML_OUTPUT- See Also:
-
HTML_OUTPUT
public static final int HTML_OUTPUT- See Also:
-
TEXT_OUTPUT
public static final int TEXT_OUTPUT- See Also:
-
-
Constructor Details
-
Stylesheet
public Stylesheet()
-
-
Method Details
-
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
-
setOutputProperties
-
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() -
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
-
setParser
-
setParentStylesheet
-
getParentStylesheet
-
setImportingStylesheet
-
setIncludingStylesheet
-
addIncludedStylesheet
-
setSystemId
-
getSystemId
-
setSourceLoader
-
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_hasLocalParamsto cache the result. -
isExtension
-
declareExtensionPrefixes
-
parseContents
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:
parseContentsin classSyntaxTreeNode- Parameters:
parser- reference to the XSLT parser
-
parseOwnChildren
Parse all direct children of the <xsl:stylesheet/> element. -
processModes
public void processModes() -
getMode
public org.apache.xalan.xsltc.compiler.Mode getMode(org.apache.xalan.xsltc.compiler.QName modeName) -
typeCheck
Type check all the children of this node.- Specified by:
typeCheckin classSyntaxTreeNode- Parameters:
stable- The compiler/parser's symbol table- Throws:
TypeCheckError
-
translate
Translate the stylesheet into JVM bytecodes.- Specified by:
translatein classSyntaxTreeNode- Parameters:
classGen- BCEL Java class generatormethodGen- 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:SyntaxTreeNodeDisplays 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:
displayin classSyntaxTreeNode- Parameters:
indent- Indentation level for syntax tree levels.
-
getNamespace
-
getClassName
-
getTemplates
-
getAllValidTemplates
-