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 int
static final int
static final int
static final int
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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
addIncludedStylesheet
(Stylesheet child) int
addParam
(org.apache.xalan.xsltc.compiler.Param param) int
addVariable
(org.apache.xalan.xsltc.compiler.Variable global) boolean
boolean
checkForLoop
(String systemId) void
declareExtensionPrefixes
(Parser parser) void
display
(int indent) Displays the contents of this syntax tree node (to stdout).int
org.apache.xalan.xsltc.compiler.Output
int
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) getNamespace
(String prefix) int
Return the output methodboolean
boolean
Returns true if this stylesheet has global vars or params.boolean
Returns true if at least one template in the stylesheet has params defined.boolean
isExtension
(String uri) boolean
boolean
void
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.final void
parseOwnChildren
(Parser parser) Parse all direct children of the invalid input: '<'xsl:stylesheet/> element.void
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
(Properties props) void
setOutputProperty
(String key, String value) void
setParentStylesheet
(Stylesheet parent) void
void
void
setSourceLoader
(SourceLoader loader) void
setSystemId
(String systemId) void
setTemplateInlining
(boolean flag) void
Translate the stylesheet into JVM bytecodes.void
translate
(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_hasLocalParams
to 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:
parseContents
in classSyntaxTreeNode
- Parameters:
parser
- reference to the XSLT parser
-
parseOwnChildren
Parse all direct children of the invalid input: '<'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:
typeCheck
in classSyntaxTreeNode
- Parameters:
stable
- The compiler/parser's symbol table- Throws:
TypeCheckError
-
translate
Translate the stylesheet into JVM bytecodes.- Specified by:
translate
in 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: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 classSyntaxTreeNode
- Parameters:
indent
- Indentation level for syntax tree levels.
-
getNamespace
-
getClassName
-
getTemplates
-
getAllValidTemplates
-