set aBlob = anObject.classToXMLFragment()
set aBlob = anObject.classToXMLFragment(options)
Semantics
The operation takes any object (anObject) and tries to map it to an XML fragment. The fragment structure is given by the class definition of anObject. If this is not possible an error is raised (e.g. XML parser errors, invalid mappings, etc.)
By default the following mapping rules apply:
Class attributes are mapped to XML attributes.
Association ends are mapped to XML elements.
These default rules can be overridden by using the stereotypes XMLElement, XMLAttribute, and XMLCharacters on class properties. More about these mapping rules, stereotypes and tagged values (e.g. for number and date & time formatting) can be found on Controlling the XML Serialization With Stereotypes.
A conversion with operation classToXMLFragment() always returns an object of type Blob. To display this data as a String you need to transcode it first (see transcodeToString() Operation).
Substitutables
anObject
Target object, can be any complex object. However, simple types and arrays are not supported, since they do not map naturally to a well formed XML document.
options
xmlToClass() offers an optional parameter of type XMLComposeOptions.
Its attributes are:
Attribute
Type
Description
Example
prolog
Array of String
The string values are inserted right before the root element of the generated document. This mechanism can be used to insert processing instructions (e.g. DTD and Schema references), comments, entities or any other prolog you may think of. However, be aware that using prolog arrays makes it easy to generate non-well-formed documents.
timezone
String
Time zone string as specified on Time Zones. The timezone is used to print dateTime expressions. If no timezone is given, UTC is used. If "local" is used, the date/time is printed relative to the local timezone of the server, e.g. 2012-10-01T12:36:47.0+02:00 (the timezone of the server is UTC+02:00).
"Australia/Melbourne", "CET", "Etc/GMT+10"
dateFormatString
String
A format string to be used when printing DateTime values as xs:date (e.g. %F to print a date without timezone). The allowed formats can be found on Time Zones. If nothing is defined, the XSD standard is used.
%F
encoding
String
Encoding of the target xml. Default encoding is UTF-8. For a list of possible encodings refer to Charset Definitions.
"UTF-8"
rootName
String
Name of the generated XML root element. Use this tagged value to override the default behavior.
TXTRAW01
rootnamespace
String
Name of the namespace of the generated XML root element.
Examples
set xmlBlob = myAddress.classToXMLFragment();
XML Serialization Example
Assume you have an object myAddressof type Address.
The following action script serializes this object.
set xmlBlob = myAddress.classToXMLFragment();
The sample XML fragment below illustrates the mapping executed by classToXMLFragment(). The object myAddressof type Address(see class diagram) is mapped the depicted XML fragment: