Package eu.bandm.tools.xslt.base
Class Application<N>
java.lang.Object
eu.bandm.tools.tdom.runtime.BaseVisitor
eu.bandm.tools.xslt.tdom.Visitor
eu.bandm.tools.xslt.base.Application<N>
- Type Parameters:
N- the node type of the input dom.
- All Implemented Interfaces:
PCDataVisitor
public class Application<N>
extends eu.bandm.tools.xslt.tdom.Visitor
Each instance of this class realizes the application of an xslt program,
given as a
The real evaluation is nothing more than
FIXME check expression CACHE (general expression cache) vs atribnameonlyonce
FIXME generation of TEXT ONLY (resultContext==null) missing.
FIXME OWN "pedantic" for Transformation and Application !?!? DISLOC [XSLT 1.0:14.2] defines NamespaceNames for extension functions
Transformation, to a certain input.
The constructor must be called, and then execute(), which returns
the result either as one single TypedSubstantial,
or as a MultiTypeNodeList,
(but of course containing no more xslt elements but only Result Tree Fragments).
The real evaluation is nothing more than
- step through all MultiTypeNodeLists, thereby
(a) copying all result type constants found into a result buffer,
and (b) the results of evaluating all xslt commands. - additionally, an xslt command can be replaced by its result iff its frequency is lower than "always".
- reduce the MultiTypeNodeList to a result type tdom element (which implies type checking).
- continuing so bottom-up
FIXME check expression CACHE (general expression cache) vs atribnameonlyonce
FIXME generation of TEXT ONLY (resultContext==null) missing.
FIXME OWN "pedantic" for Transformation and Application !?!? DISLOC [XSLT 1.0:14.2] defines NamespaceNames for extension functions
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classprotected classA "Result tree fragment" is a new kind of tpath value, namely a node set on the OUTPUT side, i.e. -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final BuiltInFunctions.AdditionalContext<N> final Map<NamespaceName, Value<N>> protected final NamespaceNameprotected MultiTypeNodeListprotected final Stringprotected final Application<N>.eu.bandm.tools.xslt.base.Application.AllBindingprotected final StringFields inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
validating -
Constructor Summary
ConstructorsConstructorDescriptionApplication(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, DocumentClient<N> documentClient, @Opt FunctionLibrary<N> allFuncs, Trace trace, Transformation transformation, N input, @Opt Map<NamespaceName, Value<N>> externalParameterValues) -
Method Summary
Modifier and TypeMethodDescriptionprotected void_traceTest(String prefixText, TypedElement el, String testSource, Value result) protected void_traceTest(String prefixText, TypedElement el, String testSource, String result) protected NamespaceNamecalculate_result_nsName(eu.bandm.tools.xslt.tdom.Element el, TypedAttribute attr_name, @Opt TypedAttribute attr_namespace, boolean isAttr) Calculates the Namespace name for the result object to be generated by xsl:element and xsl:attribute commands.
FIXME nine cases (name and namespace can INDEPENDENTLY have been found constant, erronuous or still to calcalute) are not yet completely communicated from Transformation to Application.protected voidcollectPcData(MultiTypeNodeList c, StringBuilder sb, String desc) protected voidprotected voiderrorOrWarning(boolean errorNotWarn, Location<XMLDocumentIdentifier> loc, String text) execute()Top-level call for the start element.protected voidfeedTextToResult(eu.bandm.tools.xslt.tdom.Element el, String text) ATTENTION :
(1) Assume only relatively SMALL text, so all sax events are collected statically / thread-less in ONE Queue.static <P> TPathCache.ExprClassifiedmatchSimilar(DocumentClient<P> dc, P node) FIXME namespace name prefix is NOT available here !?!?!protected voidopenResultFrame(@Opt NamespaceName constructor, @Opt Location<XMLDocumentIdentifier> loc) constructor == null when collecting variable contents.protected voidopenResultFrame(@Opt NamespaceName constructor, @Opt Location<XMLDocumentIdentifier> loc, MultiTypeNodeList proto) constructor == null when collecting contents for variables, comments, processing instructions, paramters, etc.protected voidpushBinding(NamespaceName name, Value<N> value) protected TypedElementprotected Stringprotected booleantestMulti(eu.bandm.tools.xslt.tdom.Element el) voidvisit(TypedPCData pcd) Typed PCData in incomplete result elements or in an xslt element (eg.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_imports el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_attribute el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_attribute_set el) AttributeSets have a constant frequency of "perSourceCorpus".voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_call_template el) Static checks have been passed, otherwise code==null, seeTransformationvoidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_choose el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_comment el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_copy el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_copy_of el) Implements [XSLT 1.0:11.3].voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_decimal_format el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_element el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_fallback el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_for_each el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_if el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_import el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_include el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_key el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_message el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_namespace_alias el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_otherwise el) Inherit transparently: descending.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_output el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_param el) Is treated in var-look-up (for toplevel params) or in call-template or in apply-templates.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_preserve_space el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_processing_instruction el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort el) NOP.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_strip_space el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_stylesheet el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_template el) Executed after a call-template (caller!=null) or apply-templates.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_text el) Deliver text contents, or start a sub-parser for "disabled output escaping".voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of el) Implements [XSLT 1.0:7.6.1] "The xsl:value-of element is instantiated to create a text node in the result tree.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_variable el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_when el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_with_param el) Can be overridden by the user to define particular semantic operations.voidTop-Level MultiTypeNodeList are sequences of xslt elements, complete result elements and MultiTypeNodeList.voidvoidMethods inherited from class eu.bandm.tools.xslt.tdom.Visitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitMethods inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
visit
-
Field Details
-
emptyParameterValues
-
bindings
-
topLevelBindings
-
resultFrame
-
_VARIABLE_CIRCULAR
-
_VARIABLE_UNDEF
-
builtInFunctionsAdditionalContext
-
uri_INLINE
- See Also:
-
tag_INLINE
- See Also:
-
ns_INLINE
-
-
Constructor Details
-
Application
public Application(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, DocumentClient<N> documentClient, @Opt @Opt FunctionLibrary<N> allFuncs, Trace trace, Transformation transformation, N input, @Opt @Opt Map<NamespaceName, Value<N>> externalParameterValues)
-
-
Method Details
-
pushBinding
-
execute
Top-level call for the start element. (initial_contextis already set up.) FIXME result should be checked for unity !?!? -
singleResultElement
-
matchSimilar
FIXME namespace name prefix is NOT available here !?!?! -
calculate_result_nsName
protected NamespaceName calculate_result_nsName(eu.bandm.tools.xslt.tdom.Element el, TypedAttribute attr_name, @Opt @Opt TypedAttribute attr_namespace, boolean isAttr) Calculates the Namespace name for the result object to be generated by xsl:element and xsl:attribute commands.
FIXME nine cases (name and namespace can INDEPENDENTLY have been found constant, erronuous or still to calcalute) are not yet completely communicated from Transformation to Application. -
_traceTest
-
_traceTest
-
errorOrWarning
protected void errorOrWarning(boolean errorNotWarn, Location<XMLDocumentIdentifier> loc, String text) -
openResultFrame
protected void openResultFrame(@Opt @Opt NamespaceName constructor, @Opt @Opt Location<XMLDocumentIdentifier> loc) constructor == null when collecting variable contents. -
openResultFrame
protected void openResultFrame(@Opt @Opt NamespaceName constructor, @Opt @Opt Location<XMLDocumentIdentifier> loc, MultiTypeNodeList proto) constructor == null when collecting contents for variables, comments, processing instructions, paramters, etc. -
dropResultFrame
protected void dropResultFrame() -
collectPcData
-
reduceResultFrameToString
-
reduceResultFrame
-
visitMultiList
Top-Level MultiTypeNodeList are sequences of xslt elements, complete result elements and MultiTypeNodeList. The latter are un-complete result elements, which is something different! -
visit
Typed PCData in incomplete result elements or in an xslt element (eg. chosen xsl:if or xsl:when) is simply copied to the result element under construction (i.e. resultFrame).- Specified by:
visitin interfacePCDataVisitor- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visitResultElement
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_imports el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) and for all components in its contents according to the content model. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_attribute el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_attribute_set el) AttributeSets have a constant frequency of "perSourceCorpus". Their only contents are xsl:attribute elements.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_call_template el) Static checks have been passed, otherwise code==null, seeTransformation -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_choose el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) and for all components in its contents according to the content model. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_comment el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_copy el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_copy_of el) Implements [XSLT 1.0:11.3].- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_decimal_format el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_element el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_fallback el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_for_each el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_if el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_import el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_include el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_key el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_message el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_namespace_alias el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
getSelfAndAncestorsUnderDocument
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_otherwise el) Inherit transparently: descending. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_output el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_variable el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_param el) Is treated in var-look-up (for toplevel params) or in call-template or in apply-templates.1) call-template with-param ======> 3a) template param 2) apply-templates with-param ======> 3b) template param 4) variable (X) 5) top-level-variable (X) 6) top-level-param (X)
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_preserve_space el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_processing_instruction el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort el) NOP. Are already collected in Transformation and treated in course of "sequToVisit()".- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_strip_space el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) .- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_template el) Executed after a call-template (caller!=null) or apply-templates.
FIXME ersteres kann kurzgeschlossen werden !?!? Preparations of parameters is stored incallState. In the first case all undeclared with-params are suppressed by static analysis (only "template2params.get(el)" are processed.) // FIXME this case should be INLINED (no visit() necessary) This is different with apply-templates: Undeclared with-params must be eliminated for each template differently, for not to shadow globals. The resulting bindings are constant per template and apply-templates execution and are cached in callstate. Default values for declared but not supplied parameters must be calculated in both cases. (They may depend on the current focus, which in case of caller==null is VARYING!) -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_text el) Deliver text contents, or start a sub-parser for "disabled output escaping". -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of el) Implements [XSLT 1.0:7.6.1] "The xsl:value-of element is instantiated to create a text node in the result tree. The required select attribute is an expression; this expression is evaluated and the resulting object is converted to a string as if by a call to the string function."
"disable output escaping" is realized by parsing the text as if it was in an original input document, seefeedTextToResult(Element,String)("general entities" are not considered ? FIXME) -
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_when el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents. -
feedTextToResult
ATTENTION :
(1) Assume only relatively SMALL text, so all sax events are collected statically / thread-less in ONE Queue.
(2) numeric character references "&#...;" should be resolved on parsing . (3) namespace start/end mapping prefices not yet correctly handled (4) namespace resolution unclear !?!?!? -
testMulti
protected boolean testMulti(eu.bandm.tools.xslt.tdom.Element el) -
visitMultiListContents
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_stylesheet el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) and for all components in its contents according to the content model.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_with_param el) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user to define particular semantic operations. Will be called whenever the default model instance traversal (as implemented by the methods in this class) reaches such an element.
This default implementation descends into the element by callingvisit(..)in turn for all selected attributes (seeBaseVisitor.validating) andfor all PCData and all Elements in its contents.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-