-
Task
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
The processors use complex multi-argument apply methods. That is, a processor is a functional.
This is unnecessary complexity that makes debugging hard, code hard to understand, etc.
Instead of this signature:
def apply(input:RollbackStream,node:Element,variables:VariableMap, namespaces:Namespaces,parentTerminators:List[Regex]):ProcessorResult
This should be changed to
def parse(start : ParseState): ParseResult
A ParseState is an encapsulation of an input, environment of properties, variables, and so forth, but managed together.
This task is related to another task DFDL-63 Consistent processing behavior. Likely those would both get implemented together. The motivations are somewhat independent, so two different issues are used.