internal override void Execute(Processor processor, ActionFrame frame)
{
Debug.Assert(processor != null && frame != null);
Debug.Assert(frame.State == Initialized);
Action?action;
if (this.mode != null)
{
action = importsOf == null
? processor.Stylesheet.FindTemplate(processor, frame.Node !, this.mode)
: importsOf.FindTemplateImports(processor, frame.Node !, this.mode);
}
else
{
action = importsOf == null
? processor.Stylesheet.FindTemplate(processor, frame.Node !)
: importsOf.FindTemplateImports(processor, frame.Node !);
}
// Built-int template rules
action ??= BuiltInTemplate(frame.Node !);
// Jump
if (action != null)
{
frame.SetAction(action);
}
else
{
frame.Finished();
}
}