Class Application.CallState

java.lang.Object
eu.bandm.tools.xslt.base.Application.CallState
Enclosing class:
Application<N>

class Application.CallState extends Object
Communicate start conditions from xsl-apply-templates to template execution.
  • Field Details

    • explicits

      final Map<NamespaceName,Value<N>> explicits
    • constant_bindings

      final Map<eu.bandm.tools.xslt.tdom.Element_xsl_template,Application<N>.AllBinding> constant_bindings
      Caller-supplied parameter values in explicits stay the same for all current_node in apply-templates.
      Non-supplied, ie. default values must be recalculated for every current_node iff they have frequency>once. Then they are stored in realDynamic.
      Otherwise they need calculation only once (they may depend on parameters!) and are stored in constant_bindings.
      The sequential order IS significant, but there is no dataflow from y>once to x &tl;=once, so all xs can stand before all ys!
    • realDynamic

      final Map<eu.bandm.tools.xslt.tdom.Element_xsl_template,List<eu.bandm.tools.xslt.tdom.Element_xsl_param>> realDynamic
  • Constructor Details

    • CallState

      CallState()
  • Method Details

    • collectParameters

      void collectParameters(eu.bandm.tools.xslt.tdom.Element el)
      Collect all bindings produced by "with-param". There is no nesting of scopes (static or dynamic) when calling a template: every newly called execution starts only with topLevelBindings and its defined parameters (default value or set by the caller). ([XSLT2.0] will be different, has "tunneling".)