...
Hence, the DSOM object for the child itself does NOT have such a unique backpointer (eventually. Right now it still does.)
Similarly, in the runtime, eventually parsers won't have chains backpointing to the runtime data objects of their enclosing contexts. That information will be available for diagnostic purposes on a stack in the processor state, but the runtime data structures won't be bi-directionally linked, so that the runtime data objects, and associated parsers/unparsers for a sharable term (e.g., an element) can be shared..
draw.io Diagram | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Below is the mixin architecture for creating the various flavors of SequenceChildParser and SequenceChildUnparser. We have mixable traits for separated/unseparated, and for RepParser, RepUnparser which are for array/optional elements (there is no Scalar mixin. It is the absence of a Rep mixin that makes it scalar.)
...
draw.io Diagram | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|