Package eu.bandm.tools.xslt.base
Class Transformation.ContextChecker
java.lang.Object
eu.bandm.tools.tdom.runtime.BaseVisitor
eu.bandm.tools.xslt.tdom.Visitor
eu.bandm.tools.xslt.base.CombinedVisitor
eu.bandm.tools.xslt.base.Transformation.ContextChecker
- All Implemented Interfaces:
PCDataVisitor
- Enclosing class:
Transformation
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) Set<NamespaceName> For the "duplicate usage check" of xsl:with-param.(package private) eu.bandm.tools.xslt.tdom.Element_xsl_templateFor the "parameter exists check" of xsl:with-param.(package private) final Function<NamespaceName, eu.bandm.tools.xslt.tdom.Element> (package private) MultiTypeNodeList.frequencyAccumulator.(package private) TypedSubstantialEither the xslt element currently under context check, or a MultiTypeNodeList.(package private) List<eu.bandm.tools.xslt.tdom.Element_xsl_sort> (package private) final Stack<Transformation.ContextChecker.StackFrame> Fields inherited from class eu.bandm.tools.xslt.base.CombinedVisitor
subtreesFields inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
validating -
Constructor Summary
ConstructorsConstructorDescriptionContextChecker(Map<eu.bandm.tools.xslt.tdom.Element, MultiTypeNodeList> subtrees) -
Method Summary
Modifier and TypeMethodDescription(package private) booleanatMostOneDef(eu.bandm.tools.xslt.tdom.Element el, CDataAttribute attr) Checks for param, with-param and variable that not both, select and contents, are defined.(package private) voidcheck_reached_by_reference(eu.bandm.tools.xslt.tdom.Element el, boolean isTopParameter, boolean isTopVariable) Only entry point called form outside, and called recursively for elements addressed by name, out of a tpath expression, or from an xsl:call-template, etc.(package private) voidcheckDOE(CDataAttribute att, eu.bandm.tools.xslt.tdom.Element el) (package private) voidContext check the objects referred to in the XPath-expression, namely variables/parameters, function definitions and (possibly) input model elements.(package private) Type.XPathTypecheckTpath(TPathCache.ExprClassified expr, NamespaceName attributeName) Calls tpath type check for an xpath expression.protected NamespaceNameconstant_result_NsName(CDataAttribute attr_name, CDataAttribute attr_namespace, boolean isAttr) For xsl:attribute or xsl:element, two(2) attributes carry local-name and namespaceURI explicitly.(package private) CharacterdfsDecode(eu.bandm.tools.xslt.tdom.Element_xsl_decimal_format el, CDataAttribute att) protected voidnewVar(eu.bandm.tools.xslt.tdom.Element el, CDataAttribute name, String cat) Create a new "stack" variable, add a new entry intoTransformation.possibleBindingsfor context check, and stores NamespaceName for later execution.(package private) voidparse_xslt_tpath_attribute(CDataAttribute a, boolean required, String spec) Executes parsing and translation into an xpath expression for the text of the xslt attribute (which as a whole and always MUST be interpreted as a tpath expression), and subsequent context check.(package private) voidparse_xslt_tpath_attributeTemplate(CDataAttribute a, boolean required, String spec) Executes parsing and translation of an xslt attribute which MAY contain (zero to many) attribute value templates, and subsequent context check.(package private) @Opt Type.XPathTypeparse_xslt_tpath_expr(CDataAttribute a, boolean required, boolean isTemplate, String role, String spec) protected voidpop()Store the current frequency to the scope element, close scope, reconstruct enclosing scope, but update frequency.(package private) void(package private) voidprepare_attset_usage(TypedSubstantial el, String names) protected voidpush(TypedSubstantial el) Open a new scope by pushing scope element, frequency, and binding to stack.(package private) voidvoidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_imports el) NOP, has neither attribs nor contents.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates el) Has sort and with-param sub-objects, @select, @mode attributes.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates.Attr_select a) Can be overridden by the user.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) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_call_template el) Static checks: template with name exists DONE with-param names are disjoint DONE template identified statically DONE all "with-param" names are declared in template DONE Can contain only with_param (by DTD).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) ATTENTION: xsl:copy-of has no contents, but must be set as "scopeElement" for the test of its attributes.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_copy_of.Attr_select a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_decimal_format el) Initialization of a JDK1.1 java.text.DecimalFormat class.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_for_each.Attr_select a) Can be overridden by the user.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_if.Attr_test a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_import el) NOP, all has been done byTransformation.Loader.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_include el) NOP, all has been done byTransformation.Loader.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_key el) Collect all xsl:key elements into the directoryTransformation.keyDefs.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_key.Attr_match a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_key.Attr_use a) Can be overridden by the user.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_number el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_count a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_format a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_from a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_grouping_separator a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_grouping_size a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_lang a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_letter_value a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_value a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_otherwise el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_output el) Simply NOP; treated explcitly by getXslOutput().voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_param el) Treat local params.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_processing_instruction.Attr_name a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort el) Can be overridden by the user to define particular semantic operations.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_case_order a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_data_type a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_lang a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_order a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_select a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_text el) ATTENTION d2d-generated dtd currently has
<!ATTLIST xsl:text disable-output-escape CDATA "no">
instead of
<!ATTLIST xsl:text disable-output-escape (yes|no) "no">
So reading the attribute value can change to ENUMERATION in future !?
ATTENTION writing un-escaped character data means mixing model transformation with serialization.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of el) ATTENTION: xsl:value-of has no contents, but must be set as "scopeElement" for the test of its attributes.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of.Attr_select a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_variable el) Treat local variables.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_when.Attr_test a) Can be overridden by the user.voidvisit(eu.bandm.tools.xslt.tdom.Element_xsl_with_param el) Can be overridden by the user to define particular semantic operations.voidAttributes in result elements are already parsed, and have even been type checked if they are non-computing.Methods inherited from class eu.bandm.tools.xslt.base.CombinedVisitor
testMulti, visit, visit, visit, visit, visitMultiListContents, visitResultElementMethods 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, visitMethods inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
visit
-
Field Details
-
stack
-
scopeElement
TypedSubstantial scopeElementEither the xslt element currently under context check, or a MultiTypeNodeList. Used (a) to get location info, namespace resolution; used (b) to finally store calculated frequency and type. -
sortlist
List<eu.bandm.tools.xslt.tdom.Element_xsl_sort> sortlist -
frequ
Accumulator. -
directlyCalled
eu.bandm.tools.xslt.tdom.Element_xsl_template directlyCalledFor the "parameter exists check" of xsl:with-param. -
argumentNames
Set<NamespaceName> argumentNamesFor the "duplicate usage check" of xsl:with-param. -
f_readReference
-
-
Constructor Details
-
ContextChecker
ContextChecker(Map<eu.bandm.tools.xslt.tdom.Element, MultiTypeNodeList> subtrees)
-
-
Method Details
-
check_reached_by_reference
void check_reached_by_reference(eu.bandm.tools.xslt.tdom.Element el, boolean isTopParameter, boolean isTopVariable) Only entry point called form outside, and called recursively for elements addressed by name, out of a tpath expression, or from an xsl:call-template, etc. (global variables, top-level parameters, named templates, unnamed templates, attributes in xsl:attributeSet).- Parameters:
isTopParameter- is true for GLOBAL parametersisTopVariable- is true for GLOBAL variables For both top-level definitions there is an additional cycle detection mechanism (if --pedantic mode) and lower frequency bounds.
The circularity test for top-level variable-binding objects is only in mode --pedantic, because the same test is NOT proposed for recursively called templates, which basically are the same mathematical structure.
-
push
Open a new scope by pushing scope element, frequency, and binding to stack. Make given element the new scope and restart evaluation with minimal frequency. -
pop
protected void pop()Store the current frequency to the scope element, close scope, reconstruct enclosing scope, but update frequency. -
raiseFrequency
-
prepare_attset_usage
-
prepare_attset_usage
-
constant_result_NsName
protected NamespaceName constant_result_NsName(CDataAttribute attr_name, CDataAttribute attr_namespace, boolean isAttr) For xsl:attribute or xsl:element, two(2) attributes carry local-name and namespaceURI explicitly. Check whether they are constant; calculate the NamespaceName. -
visitMultiList
Attributes in result elements are already parsed, and have even been type checked if they are non-computing. Computing attributes hold a tpath expression, which must be context checked. Missing attributes can be healed by xsl:attribute elements or xsl:useAttributeSets.- Overrides:
visitMultiListin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_imports el) NOP, has neither attribs nor contents.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates el) Has sort and with-param sub-objects, @select, @mode attributes.- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_attribute_set 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_call_template el) Static checks:- template with name exists DONE
- with-param names are disjoint DONE
- template identified statically DONE
- all "with-param" names are declared in template DONE
- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_copy_of el) ATTENTION: xsl:copy-of has no contents, but must be set as "scopeElement" for the test of its attributes.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
dfsDecode
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_decimal_format el) Initialization of a JDK1.1 java.text.DecimalFormat class.- 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.- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_import el) NOP, all has been done byTransformation.Loader.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_include el) NOP, all has been done byTransformation.Loader.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_key el) Collect all xsl:key elements into the directoryTransformation.keyDefs.- 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.- Overrides:
visitin classCombinedVisitor
-
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) 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 classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_output el) Simply NOP; treated explcitly by getXslOutput().- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_param el) Treat local params. Globals/top-levels are treated bycheck_reached_by_reference(eu.bandm.tools.xslt.tdom.Element, boolean, boolean). As long as no control flow analysis: assume frequency is maximum.- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort 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
-
checkDOE
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_text el) ATTENTION d2d-generated dtd currently has
<!ATTLIST xsl:text disable-output-escape CDATA "no">
instead of
<!ATTLIST xsl:text disable-output-escape (yes|no) "no">
So reading the attribute value can change to ENUMERATION in future !?
ATTENTION writing un-escaped character data means mixing model transformation with serialization. IF we want to generate a new result model fragment from text, the clean way is
(1) to parse the text in advance, into a model element
(2) to link the model element to an external parameter
(3) to insert the parameter with "copy-of"
FIXME not yet implemented.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of el) ATTENTION: xsl:value-of has no contents, but must be set as "scopeElement" for the test of its attributes.- Overrides:
visitin classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_variable el) Treat local variables. Globals/top-levels are treated bycheck_reached_by_reference(eu.bandm.tools.xslt.tdom.Element, boolean, boolean)- Overrides:
visitin classCombinedVisitor
-
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.- Overrides:
visitin classCombinedVisitor
-
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 classCombinedVisitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_apply_templates.Attr_select a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_copy_of.Attr_select a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_for_each.Attr_select a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_if.Attr_test a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_key.Attr_match a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_key.Attr_use a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_count a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_from a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_value a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_format a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_lang a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_letter_value a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_grouping_separator a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_number.Attr_grouping_size a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_processing_instruction.Attr_name a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_select a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_lang a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_data_type a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_order a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_sort.Attr_case_order a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_value_of.Attr_select a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
visit
public void visit(eu.bandm.tools.xslt.tdom.Element_xsl_when.Attr_test a) Description copied from class:eu.bandm.tools.xslt.tdom.VisitorCan be overridden by the user. Is called whenever traversing of a model instance (as defined by the methods in this class) reaches such an Attribute.
This default implementation does nothing.- Overrides:
visitin classeu.bandm.tools.xslt.tdom.Visitor
-
atMostOneDef
Checks for param, with-param and variable that not both, select and contents, are defined.
[XSLT 1.0:11.2,beginning]
"If the variable-binding element has a select attribute, [..] In this case, the content must be empty."
(Even whitespace not allowed, Whitespace here still exists.)- Returns:
- whether contents is non-empty and must be visited. In case of a attr.isSpecified() the descending is started HERE, including parsing, TPath type check and frequency calculation. Otherwise this must be done by the caller.
-
parse_xslt_tpath_attribute
Executes parsing and translation into an xpath expression for the text of the xslt attribute (which as a whole and always MUST be interpreted as a tpath expression), and subsequent context check. -
parse_xslt_tpath_attributeTemplate
Executes parsing and translation of an xslt attribute which MAY contain (zero to many) attribute value templates, and subsequent context check. -
parse_xslt_tpath_expr
@Opt @Opt Type.XPathType parse_xslt_tpath_expr(CDataAttribute a, boolean required, boolean isTemplate, String role, String spec) -
newVar
Create a new "stack" variable, add a new entry intoTransformation.possibleBindingsfor context check, and stores NamespaceName for later execution.
FIXME TpathType berechnen und abspeichern! -
checkReferences
Context check the objects referred to in the XPath-expression, namely variables/parameters, function definitions and (possibly) input model elements. -
checkTpath
Calls tpath type check for an xpath expression. ASSUME checkreference has been run and all referred vars are typed. (param attributeName only for logging information.)
-