This is a tree representing elements as they appear in ordered
sequences or as alternatives to each other.
This does not directly correspond to the xs:choice and xs:sequence
constructs of a DFDL Schema, though that can be the origin.
The purpose of these ChoOrd trees is to establish some
robust invariants about the way these are nested.
These invariants include:
* Elements are at the leaves.
* There is no unnecessary nesting. So an Ord only contains
leaves or Cho, and a Cho only contains leaves or Ord.
* There are no degenerate Cho or Ord with only 1 thing in them. Those get created
but squeezed out.
ChoOrd = Choice or Ordered
This is a tree representing elements as they appear in ordered sequences or as alternatives to each other.
This does not directly correspond to the xs:choice and xs:sequence constructs of a DFDL Schema, though that can be the origin.
The purpose of these ChoOrd trees is to establish some robust invariants about the way these are nested.
These invariants include: * Elements are at the leaves. * There is no unnecessary nesting. So an Ord only contains leaves or Cho, and a Cho only contains leaves or Ord. * There are no degenerate Cho or Ord with only 1 thing in them. Those get created but squeezed out.