Inherited description: XMLIGNORENULL allows the programmer to override the default XML handling
of empty strings for properties of type %String. By default (XMLIGNORENULL = 0),
empty strings in the XML input are stored as $c(0) and $c(0) is written to XML
as an empty tag. A missing tag in the XML input is always stored as "" and
"" is always output to XML as no tag.
If XMLIGNORENULL is set = 1, then both missing tags in the XML and empty
strings are input as "", and both "" and $c(0) are output as empty tags
(i.e. <tag></tag>).
If XMLIGNORENULL is set = "inputonly", then both missing tags in the XML and empty
strings are input as "". Output of "" and $c(0) are for XMLIGNORENULL = 0:
$c(0) is output as an empty tag (i.e. <tag></tag>) and "" is output as no tag.
If XMLIGNORENULL = "runtime" (runtime is not case sensitive), then the behavior
of XMLIGNORENULL is determined by the format parameter of XMLExport, XMLImport
and %XML.Reader.OpenFile. The default behavior for XMLIGNORENULL="runtime is
the same as XMLIGNORENULL=0. Adding "ignorenull" to the format argument changes
the behavior to that of XMLIGNORENULL=1. "ignorenull" shoud be separated by a comma
from literal/encoded part of the format. Example values for format are "", ",ignorenull",
"literal,ignorenull" and "encoded,ignorenull".
Note that "inputonly" is equivalent to using ,ignorenull for XMLExport and not for %XML.Reader.
parameter XMLNAME = Item;
Inherited description: This parameter provides the default XMLNAME for the class. If it is
empty then the class name will be used to construct a default XML name.
The default XMLNAME is used as the top level tag
when exporting objects and the export context
did not provide an XML container name.
Properties
property DocType as %String (XMLPROJECTION = "ATTRIBUTE");
The DocType for which this expression applies. ":" or "" means all Doc objects, :nnn means objects with doc.Name nnn,
and ccc:sss means doc objects with doc.DocType = category ccc : structure sss.
property Supersedable as %Boolean (XMLPROJECTION = "ATTRIBUTE");
Indicates whether this expression should be ignored if it is a doc.Name expression or a default ("") expression,
and doc.DocType matches a different expression, and both expressions have the same PropertyName.
If true, no value for this expression will be stored for that doc.
If false, both expression values will be stored for the Property.
This allows subclasses or DocType expressions to optionally override generic, catch-all expressions