Parsing always uses this mode, for everything except discriminators.
Unparsing never uses this mode for anything.
In this mode, evaluation is simple. If a child doesn't exist
but is needed to be traversed, an exception is thrown. If a value doesn't exist
an exception is thrown. fn:exists and fn:count return the answers
immediately based on the current state of the infoset object.
In this mode, if an infoset node or value that is needed for evaluation is not found,
then it is a Runtime Schema Definition Error, i.e., a fatal error.
Parsing always uses this mode, for everything except discriminators.
Unparsing never uses this mode for anything.
In this mode, evaluation is simple. If a child doesn't exist but is needed to be traversed, an exception is thrown. If a value doesn't exist an exception is thrown. fn:exists and fn:count return the answers immediately based on the current state of the infoset object.
In this mode, if an infoset node or value that is needed for evaluation is not found, then it is a Runtime Schema Definition Error, i.e., a fatal error.