This class encapsulates an XML document stream and provides methods to interrogate and update it
Two types of path strings can be used to identify a document node: a 'Property path' that is based in
a particular XML schema definition (xsd), irrespective of any particular document instance, or a 'DOM path' that is based in the structure of a particular
document irrespective of any XML schema. The DOM Path uses XPATH conventions; it always starts with '/' while a Property Path never does.
as %Status [ Transient,ReadOnly ];
The status of attempt to validate document contents against the document structure currently specified in the DocType property, or
empty if the document gets updated later or the schema is discarded.
Note that the schema validation is not done automatically when a saved document gets opened.
method DocTypeSet(pDocType As %String)
This is a Set accessor method for the DocType property.
method PokeDocType(pDocType As %String)
method choiceGetCount(Output pCount, pDOMPath As %String, pRef As %String)
Get count of the elements inside a repeating choice() element.
This is more tricky than for normal elements because choice excluded from DOM path
method choiceGetIndex(pGrpIndex As %Integer, pPropPath As %String, pDOMPath As %String, pRef As %String, Output pDOMIndex As %Integer, Output pElemName As %String)
Since choice() does not appear in the DOM path we must figure out which index pDOMIndex within the parent of choice()
corresponds to the index pGrpIndex within choice(). We find the name pElemName of the element at this
index so that we will know whether the name at this index matches that used in the property path pPropPath