Get XML Byte Sequence

Convenience Function

Declaration

tibrv_status tibrvMsg_GetXml(
   tibrvMsg       message,
   const char*    fieldName,
   const void**   value,
   tibrv_u32*     length);
tibrv_status tibrvMsg_GetXmlEx(
   tibrvMsg       message,
   const char*    fieldName,
   const void**   value,
   tibrv_u32*     length,
   tibrv_u16      fieldId);

Purpose

Get the value of a field as an XML byte sequence.

Remarks

This convenience function retrieves a field and extracts its data.

XML data is a byte sequence. Adding a field of type TIBRVMSG_XML compresses the bytes. Extracting data from the field uncompresses it to obtain the original byte sequence.

Since it is not possible to convert any other datatype to an XML byte sequence, the field must already contain an XML byte sequence. Otherwise, the function returns TIBRV_CONVERSION_FAILED.

Pointer data extracted from the field remain valid until the message is destroyed; that is, even removing the field or updating the field’s value does not invalidate pointer data.

This function produces values that are read-only snapshots of the field data (see Pointer Snapshot). Programs must not modify the value sequence.

Parameter

Description

message

Get the specified field of this message.

fieldName

Get a field with this name.

length

The program supplies a location in this parameter, and the function stores the length of the XML byte sequence in that location.

value

The program supplies a location in this parameter, and the function stores a pointer to the field value in that location.

fieldId

Get the field with this identifier. Zero is a special value that signifies no field identifier. All non-zero field identifiers must be unique within each message.

See Also

Validity of Data Extracted From Messages

Field Names and Field Identifiers