persistent class Ens.MessageBody
extends %Persistent, Ens.Util.MessageBodyMethods, %XML.Adaptor
Base class for simple message classes, and for the sub- base classes Ens.Request and Ens.Response.
Note however that any persistent or serial object can be sent as a message body. It is not required that all message body
object classes to be derived from this class. Also note that all message classes derived from this class will share the
same storage extent in the database.
Override DOMAIN inherited from %CSP.Util.AutoForm
parameter EXTENTSIZE = 2000000;
The EXTENTSIZE parameter is used to inform the SQL Query Optimizer
of the approximate number of instances in the extent containing instances of this class.
parameter XMLIGNORENULL = 1;
For example, a class that expects to have about 1,000,000 instances should define:
parameter EXTENTSIZE = 1000000;
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.
parameter XMLINCLUDEINGROUP = 0;
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
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.
Prevent the XML Type and Name of classes derived from this class from interfering with one another if they have the same short classname.
parameter XMLTYPE = "Ens_Messagebody";
Prevent this class from having the same default XML Type and Name as any of its subclasses that have the short classname.