Can treat any DINode, even simple ones, as a container of other nodes.
Can treat any DINode, even simple ones, as a container of other nodes. This simplifies walking an infoset.
Tells if the element is nilled or not.
Tells if the element is nilled or not.
Throws InfosetNoDataException if we don't yet know if it is nil or not (i.e., hasn't be set, nor has anything been set to indicate that it won't be nilled.)
The totalElementCount is the total count of how many elements this InfosetItem contains.
The totalElementCount is the total count of how many elements this InfosetItem contains.
(Used to call this 'size', but size is often a length-like thing, so changed name to be more distinctive)
Copy method keeps these objects null to avoid allocation unless they are really needed.
Copy method keeps these objects null to avoid allocation unless they are really needed.
Copy method keeps these objects null to avoid allocation unless they are really needed.
Copy method keeps these objects null to avoid allocation unless they are really needed.
Note: there is no infoset data member for isHidden.
Note: there is no infoset data member for isHidden. A hidden group is a DFDL schema characteristic for a model group. Elements inside it will have (their element base) isHidden statically on the schema. So there is no notion of creating an infoset element then making it hidden by marking it in some way. Rather, the corresponding elementRuntimeData tells you whether it is hidden or not.
When we convert to XML, then if we want to preserve information about things being hidden (for inspection by looking at the XML) then we need to add an attribute. But for the infoset itself, we don't need it.
Used for just testing whether a node has the nil indicators set.
Used for just testing whether a node has the nil indicators set. That is, dodges the expression evaluation complexity where specific exceptions are thrown when you ask about data that isn't known yet.
Retrieve the schema component that gave rise to this infoset item.
Retrieve the schema component that gave rise to this infoset item.
This is purely to make debugging easier.
This is purely to make debugging easier.
valid = Nope means not checked valid = One(true) means valid valid = One(false) means invalid
valid = Nope means not checked valid = One(true) means valid valid = One(false) means invalid
Base for non-array elements. That is either scalar or optional ( minOccurs 0, maxOccurs 1)