CommuniGate Pro can convert complex structures (such as vCards, iCalendar, SDP objects) into generic XML objects. An XML presentation may also be required for Objects such as datablocks, arrays, or dictionaries. This section specifies the CommuniGate Pro XML presentation for all these objects and complex structures.
A string is presented as a text element. If this is a top XML element, a string is presented as an object XML element, with the text body containing this string.
If a string contains special characters, it should be represented as a binString element with a text body containing the base64-encoded string. An empty string is presented as an empty binString element.
A datablock is presented as a base64 XML element. The XML element body is the base64-encoded datablock content.
A number is presented as a number XML element.
The XML element body is the text presentation of the number object value (a decimal value, or, if the base indicator is given, a hexadecimal, octal, or binary value).
A Time Stamp is presented as a date XML element.
The XML element body is the text presentation of the time stamp in the iCalendar format.
An IP Address is presented as an ipAddr XML element.
The XML element body is the text presentation of the IP address, enclosed with square brackets, and optional decimal port number separated with the colon symbol.
A null-value object is presented as an empty null XML element.
An array is presented as a sequence of one or more subValue XML elements.
The XML element body represents an Array element.
An empty array is presented as one subValue XML element without a body.
If this is a top XML element, the array is presented as an object XML element, with the text body containing subValue XML elements.
A dictionary is presented as a sequence of one or more subKey XML elements.
The XML element key attribute presents the dictionary element key, and the XML body represents the dictionary element value.
An empty dictionary is presented as one subKey XML element without a key attribute and without a body.
If this is a top XML element, the dictionary is presented as an object XML element, with its body containing subKey XML elements.
<subKey key="firstKey">my string</subKey><subKey key="secondKey"><number>123456</number></subKey>
This XML element represents a vCard object (as specified in the Jabber/XEP vCard XML documents).
This optional attribute contains the value of the REV property (iCalendar-formatted GMT time).
Contains vCard properties as XML elements with the same names, converted to the uppercase ASCII.
Each property element contains:
a set of XML sub-elements representing property parameters and the propert