Skip to main content

HS.SDA3.QuickXML

abstract class HS.SDA3.QuickXML

Method Inventory

Parameters

parameter CANOVERRIDEPROPLIST;
A comma separated list of properties where the calling streamlet can override the behavior of that property in the generated UpdateSDA method
parameter HSDEPLOY = 1;
parameter TRANSLATED = 0;
This should be set to 1 only in HS.SDA3.CodeTableTranslated (and thus inherited from its subclasses) to tell the code generator to add in code for performing translation during export.

Methods

method IsDefined(Property As %String) as %Boolean
Utility method to detect if a serial property is populated without instantiating (swizzling) it
classmethod LogIgnoredTag(pTag)
method ToQuickXML(pTag As %String = "", pType As %String = "", pGroup=0)
This will write the XML to the current device
Input tag for top, data type from calling class (if called for an embedded object)
Overridden on HS.SDA3.Blob
method ToQuickXMLStream(ByRef pStream, pTag As %String = "") as %Status
Pass in a reference to a stream. If none is passed in, this will return a new %FileCharacterStream. If a stream is passed in, this will concatenate the XML onto the end of that stream.
See HS.SDA3.Blob for info on control variable %HSStreamletBlobs and %HSBlobMode
method ToQuickXMLString(ByRef pString As %String = "", pTag As %String = "") as %Status
This will either return a new string, or concatenate the XML onto the end of the existing string. This method will not output blobs to the string, since they won't fit into a string. See ToQuickXML on HS.SDA3.Blob for details.
method Translate(pToCS)
method UpdateSDA(pFromObject, pOmitProperties As %String = "", pIsDeleted As %Boolean = 0)
Generated update-from type of method. Called by UpdateSDA method on streamlet. pOmitProperties is an optional comma delimitted (starts with comma) list of properties for which a streamlet class wants to override the usual behavior and do its own thing, and therefore the generated code will omit them. If pIsDeleted is true, then the streamlet containing this SDA has been marked as deleted, and we need to clear out ALL SDA properties before updating. Note that pIsDeleted does not override pOmitProperties - if pOmitProperties is set, we will avoid clearing that property and rely on the property-specific code to handle deleting the old values.
method XMLImportSDAString(ByRef pSDAString, pTag="", ByRef pPos=1, pStreamlet="", pContainer="") as %Status
If pTag is input, it will use that as the opening tag, assuming that it has been stripped out. Otherwise, it will grab the opening tag as the first tag in the string.
Assumes SDAString as stored in streamlet - no white space, only streams are binary, single instance, no arrays
Need to "new" the initial object.
pPos is internal, for nesting
pStreamlet is an optional argument indicating that we're invoking this from a streamlet where we've just done a %OpenId. Code tables are handled differently when we have a pStreamlet.
For instantiating data from a full stream, we can default in the coding system (from the profile and the description from the code registry, to support external feeds). For streamlet instantiation, we can deal with the more concise manner of storing code, code system, and description.
pContainer is an optional argument used only by the GetNextSDA method on HS.SDA3.Container - it has the container's ORef, to enable it to treat the SDA String as a moving window on the stream being processed by the container.
This method is overridden in HS.SDA3.Blob.
method XMLImportSDAStringUnknown(ByRef pSDAString, pTag="", ByRef pPos) as %Status

Subclasses

FeedbackOpens in a new tab