XML encode functions.


Defines

#define rtxPrintNSAttrs(name, data)   rtXmlPrintNSAttrs(name,&data)
#define rtXmlFinalizeMemBuf(pMemBuf)
#define rtXmlGetEncBufPtr(pctxt)   (pctxt)->buffer.data
 This macro returns the start address of the encoded XML message.
#define rtXmlGetEncBufLen(pctxt)   (pctxt)->buffer.byteIndex
 This macro returns the length of the encoded XML message.

Functions

int rtXmlEncAny (OSCTXT *pctxt, OSXMLSTRING *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD any type.
int rtXmlEncAnyTypeValue (OSCTXT *pctxt, const OSUTF8CHAR *pvalue)
 This function encodes a variable of the XSD anyType type.
int rtXmlEncAnyAttr (OSCTXT *pctxt, OSRTDList *pAnyAttrList)
 This function encodes a list of OSAnyAttr attributes in which the name and value are given as a UTF-8 string.
int rtXmlEncBase64Binary (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD base64Binary type.
int rtXmlEncBase64BinaryAttr (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD base64Binary type as an attribute.
int rtXmlEncBase64StrValue (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value)
 This function encodes a variable of the XSD base64Binary type.
int rtXmlEncBigInt (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
int rtXmlEncBigIntAttr (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes an XSD integer attribute value.
int rtXmlEncBigIntValue (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes an XSD integer attribute value.
int rtXmlEncBitString (OSCTXT *pctxt, OSUINT32 nbits, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the ASN.1 BIT STRING type.
int rtXmlEncBinStrValue (OSCTXT *pctxt, OSUINT32 nbits, const OSOCTET *data)
 This function encodes a binary string value as a sequence of '1's and '0's.
int rtXmlEncBool (OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD boolean type.
int rtXmlEncBoolValue (OSCTXT *pctxt, OSBOOL value)
 This function encodes a variable of the XSD boolean type.
int rtXmlEncBoolAttr (OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes an XSD boolean attribute value.
int rtXmlEncDate (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD 'date' type as a string.
int rtXmlEncDateValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a variable of the XSD 'date' type as a string.
int rtXmlEncTime (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD 'time' type as an string.
int rtXmlEncTimeValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a variable of the XSD 'time' type as an string.
int rtXmlEncDateTime (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric date/time value into an XML string representation.
int rtXmlEncDateTimeValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric date/time value into an XML string representation.
int rtXmlEncDecimal (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDecimalFmt *pFmtSpec)
 This function encodes a variable of the XSD decimal type.
int rtXmlEncDecimalAttr (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, size_t attrNameLen, const OSDecimalFmt *pFmtSpec)
 This function encodes a variable of the XSD decimal type as an attribute.
int rtXmlEncDecimalValue (OSCTXT *pctxt, OSREAL value, const OSDecimalFmt *pFmtSpec, char *pDestBuf, size_t destBufSize)
 This function encodes a value of the XSD decimal type.
int rtXmlEncDouble (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD double type.
int rtXmlEncDoubleAttr (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, size_t attrNameLen, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD double type as an attribute.
int rtXmlEncDoubleValue (OSCTXT *pctxt, OSREAL value, const OSDoubleFmt *pFmtSpec, int defaultPrecision)
 This function encodes a value of the XSD double or float type.
int rtXmlEncEmptyElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, OSRTDList *pNSAttrs, OSBOOL terminate)
 This function encodes an enpty element tag value (<elemName/>).
int rtXmlEncEndDocument (OSCTXT *pctxt)
 This function adds trailor information and a null terminator at the end of the XML document being encoded.
int rtXmlEncEndElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes an end element tag value (</elemName>).
int rtXmlEncEndSoapEnv (OSCTXT *pctxt)
 This function encodes a SOAP envelope end element tag (<SOAP-ENV:Envelope/>).
int rtXmlEncEndSoapElems (OSCTXT *pctxt, OSXMLSOAPMsgType msgtype)
 This function encodes SOAP end element tags.
int rtXmlEncFloat (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD float type.
int rtXmlEncFloatAttr (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, size_t attrNameLen, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD float type as an attribute.
int rtXmlEncGYear (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gYear element into an XML string representation.
int rtXmlEncGYearMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gYearMonth element into an XML string representation.
int rtXmlEncGMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gMonth element into an XML string representation.
int rtXmlEncGMonthDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gMonthDay element into an XML string representation.
int rtXmlEncGDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gDay element into an XML string representation.
int rtXmlEncGYearValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gYear value into an XML string representation.
int rtXmlEncGYearMonthValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gYearMonth value into an XML string representation.
int rtXmlEncGMonthValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gMonth value into an XML string representation.
int rtXmlEncGMonthDayValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gMonthDay value into an XML string representation.
int rtXmlEncGDayValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gDay value into an XML string representation.
int rtXmlEncHexBinary (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD hexBinary type.
int rtXmlEncHexBinaryAttr (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD hexBinary type as an attribute.
int rtXmlEncHexStrValue (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *data)
 This function encodes a variable of the XSD hexBinary type.
int rtXmlEncIndent (OSCTXT *pctxt)
 This function adds indentation whitespace to the output stream.
int rtXmlEncInt (OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
int rtXmlEncIntValue (OSCTXT *pctxt, OSINT32 value)
 This function encodes a variable of the XSD integer type.
int rtXmlEncIntAttr (OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD integer type as an attribute (name="value").
int rtXmlEncIntPattern (OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSUTF8CHAR *pattern)
 This function encodes a variable of the XSD integer type using a pattern to specify the format of the integer value.
int rtXmlEncInt64 (OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
int rtXmlEncInt64Value (OSCTXT *pctxt, OSINT64 value)
 This function encodes a variable of the XSD integer type.
int rtXmlEncInt64Attr (OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD integer type as an attribute (name="value").
int rtXmlEncNamedBits (OSCTXT *pctxt, const OSBitMapItem *pBitMap, OSUINT32 nbits, const OSOCTET *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the ASN.1 BIT STRING type.
int rtXmlEncNSAttrs (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function encodes namespace declaration attributes at the beginning of an XML document.
int rtXmlPrintNSAttrs (const char *name, const OSRTDList *data)
 This function prints a list of namespace attributes.
int rtXmlEncReal10 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the ASN.1 REAL base 10 type.
int rtXmlEncSoapArrayTypeAttr (OSCTXT *pctxt, const OSUTF8CHAR *name, const OSUTF8CHAR *value, size_t itemCount)
 This function encodes the special SOAP encoding attrType attribute which specifies the number and type of elements in a SOAP array.
int rtXmlEncStartDocument (OSCTXT *pctxt)
 This function encodes the XML header text at the beginning of an XML document.
int rtXmlEncBOM (OSCTXT *pctxt)
 This function encodes the Unicode byte order mark header at the start of the document.
int rtXmlEncStartElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, OSRTDList *pNSAttrs, OSBOOL terminate)
 This function encodes a start element tag value (<elemName>).
int rtXmlEncStartSoapEnv (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function encodes a SOAP envelope start element tag.
int rtXmlEncStartSoapElems (OSCTXT *pctxt, OSXMLSOAPMsgType msgtype)
 This function encodes a SOAP envelope start element tag and an optional SOAP body or fault tag.
int rtXmlEncString (OSCTXT *pctxt, OSXMLSTRING *pxmlstr, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD string type.
int rtXmlEncStringValue (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes a variable of the XSD string type.
int rtXmlEncStringValue2 (OSCTXT *pctxt, const OSUTF8CHAR *value, size_t valueLen)
 This function encodes a variable of the XSD string type.
int rtXmlEncTermStartElement (OSCTXT *pctxt)
 This function terminates a currently open XML start element by adding either a '>' or '/>' (if empty) terminator.
int rtXmlEncUnicodeStr (OSCTXT *pctxt, const OSUNICHAR *value, OSUINT32 nchars, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a Unicode string value.
int rtXmlEncUTF8Attr (OSCTXT *pctxt, const OSUTF8CHAR *name, const OSUTF8CHAR *value)
 This function encodes an attribute in which the name and value are given as a null-terminated UTF-8 strings.
int rtXmlEncUTF8Attr2 (OSCTXT *pctxt, const OSUTF8CHAR *name, size_t nameLen, const OSUTF8CHAR *value, size_t valueLen)
 This function encodes an attribute in which the name and value are given as a UTF-8 strings with lengths.
int rtXmlEncUTF8Str (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a UTF-8 string value.
int rtXmlEncUInt (OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD unsigned integer type.
int rtXmlEncUIntValue (OSCTXT *pctxt, OSUINT32 value)
 This function encodes a variable of the XSD unsigned integer type.
int rtXmlEncUIntAttr (OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD unsigned integer type as an attribute (name="value").
int rtXmlEncUInt64 (OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
int rtXmlEncUInt64Value (OSCTXT *pctxt, OSUINT64 value)
 This function encodes a variable of the XSD integer type.
int rtXmlEncUInt64Attr (OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes a variable of the XSD integer type as an attribute (name="value").
int rtXmlEncXSIAttrs (OSCTXT *pctxt, OSBOOL needXSI)
 This function encodes XML schema instance (XSI) attributes at the beginning of an XML document.
int rtXmlEncXSITypeAttr (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes an XML schema instance (XSI) type attribute value (xsi:type="value").
int rtXmlEncXSINilAttr (OSCTXT *pctxt)
 This function encodes an XML nil attribute (xsi:nil="true").
int rtXmlFreeInputSource (OSCTXT *pctxt)
 This function closes an input source that was previously created with one of the create input source functions such as 'rtXmlCreateFileInputSource'.
int rtXmlSetEncBufPtr (OSCTXT *pctxt, OSOCTET *bufaddr, size_t bufsiz)
 This function is used to set the internal buffer within the run-time library encoding context.
int rtXmlGetIndent (OSCTXT *pctxt)
 This function returns current XML output indent value.
OSBOOL rtXmlGetWriteBOM (OSCTXT *pctxt)
 This function returns whether the Unicode byte order mark will be encoded.
int rtXmlGetIndentChar (OSCTXT *pctxt)
 This function returns current XML output indent character value (default is space).

Define Documentation

#define rtXmlGetEncBufLen ( pctxt   )     (pctxt)->buffer.byteIndex

This macro returns the length of the encoded XML message.

Parameters:
pctxt Pointer to a context structure.

Definition at line 2413 of file osrtxml.h.

#define rtXmlGetEncBufPtr ( pctxt   )     (pctxt)->buffer.data

This macro returns the start address of the encoded XML message.

If a static buffer was used, this is simply the start address of the buffer. If dynamic encoding was done, this will return the start address of the dynamic buffer allocated by the encoder.

Parameters:
pctxt Pointer to a context structure.

Definition at line 2406 of file osrtxml.h.


Function Documentation

int rtXmlEncAny ( OSCTXT *  pctxt,
OSXMLSTRING *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD any type.

This is considered to be a fully-wrapped element of any type (for example: <myType>myData</myType>)

Parameters:
pctxt Pointer to context block structure.
pvalue Value to be encoded. This is a string containing the fully-encoded XML text to be copied to the output stream.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncAnyAttr ( OSCTXT *  pctxt,
OSRTDList *  pAnyAttrList 
)

This function encodes a list of OSAnyAttr attributes in which the name and value are given as a UTF-8 string.

Parameters:
pctxt Pointer to context block structure.
pAnyAttrList List of attributes.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncAnyTypeValue ( OSCTXT *  pctxt,
const OSUTF8CHAR *  pvalue 
)

This function encodes a variable of the XSD anyType type.

This is considered to be a fully-wrapped element of any type, possibly containing attributes. (for example: * <myType>myData</myType>)

Parameters:
pctxt Pointer to context block structure.
pvalue Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBase64Binary ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD base64Binary type.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBase64BinaryAttr ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD base64Binary type as an attribute.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
value Value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length in bytes of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBase64StrValue ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  value 
)

This function encodes a variable of the XSD base64Binary type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
value Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBigInt ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD integer type.

In this case, the integer is assumed to be of a larger size than can fit in a C or C++ long type (normally 32 or 64 bits). For example, parameters used to calculate security values are typically larger than these sizes.

Items of this type are stored in character string constant variables. They can be represented as decimal strings (with no prefixes), as hexadecimal strings starting with a "0x" prefix, as octal strings starting with a "0o" prefix or as binary strings starting with a "0b" prefix. Other radixes are currently not supported.

Parameters:
pctxt Pointer to context block structure.
value A pointer to a character string containing the value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBigIntAttr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes an XSD integer attribute value.

In this case, the integer is assumed to be of a larger size than can fit in a C or C++ long type (normally 32 or 64 bits).

Parameters:
pctxt Pointer to context block structure.
value A pointer to a character string containing the value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length in bytes of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBigIntValue ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value 
)

This function encodes an XSD integer attribute value.

In this case, the integer is assumed to be of a larger size than can fit in a C or C++ long type (normally 32 or 64 bits). This function just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value A pointer to a character string containing the value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBinStrValue ( OSCTXT *  pctxt,
OSUINT32  nbits,
const OSOCTET *  data 
)

This function encodes a binary string value as a sequence of '1's and '0's.

Parameters:
pctxt Pointer to context block structure.
nbits Number of bits in the value string.
data Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBitString ( OSCTXT *  pctxt,
OSUINT32  nbits,
const OSOCTET *  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the ASN.1 BIT STRING type.

The encoded data is a sequence of '1's and '0's. This is only used if named bits are not specified in the string (

See also:
rtXmlEncNamedBits).
Parameters:
pctxt Pointer to context block structure.
nbits Number of bits in the bit string.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBOM ( OSCTXT *  pctxt  ) 

This function encodes the Unicode byte order mark header at the start of the document.

It is called by rtXmlEncStartDocument and does not need to be called manually.

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBool ( OSCTXT *  pctxt,
OSBOOL  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD boolean type.

Parameters:
pctxt Pointer to context block structure.
value Boolean value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBoolAttr ( OSCTXT *  pctxt,
OSBOOL  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes an XSD boolean attribute value.

Parameters:
pctxt Pointer to context block structure.
value Boolean value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length in bytes of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncBoolValue ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function encodes a variable of the XSD boolean type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Boolean value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDate ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD 'date' type as a string.

This version of the function is used to encode an OSXSDDateTime value into CCYY-MM-DD format.

Parameters:
pctxt Pointer to context block structure.
pvalue OSXSDDateTime type pointer points to a OSXSDDateTime value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDateTime ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric date/time value into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDateTimeValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric date/time value into an XML string representation.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDateValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a variable of the XSD 'date' type as a string.

This version of the function is used to encode an OSXSDDateTime value into CCYY-MM-DD format. This function just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue OSXSDDateTime type pointer points to a OSXSDDateTime value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDecimal ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
const OSDecimalFmt pFmtSpec 
)

This function encodes a variable of the XSD decimal type.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDecimalAttr ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen,
const OSDecimalFmt pFmtSpec 
)

This function encodes a variable of the XSD decimal type as an attribute.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length of XML attribute name.
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDecimalValue ( OSCTXT *  pctxt,
OSREAL  value,
const OSDecimalFmt pFmtSpec,
char *  pDestBuf,
size_t  destBufSize 
)

This function encodes a value of the XSD decimal type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
pFmtSpec Pointer to format specification structure.
pDestBuf Pointer to a destination buffer. If NULL (destBufSize should be 0) the encoded value will be put in pctxt->buffer or in stream associated with the pctxt.
destBufSize The size of the destination buffer. Must be 0, if pDestBuf is NULL.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDouble ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
const OSDoubleFmt pFmtSpec 
)

This function encodes a variable of the XSD double type.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDoubleAttr ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen,
const OSDoubleFmt pFmtSpec 
)

This function encodes a variable of the XSD double type as an attribute.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length of XML attribute name.
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncDoubleValue ( OSCTXT *  pctxt,
OSREAL  value,
const OSDoubleFmt pFmtSpec,
int  defaultPrecision 
)

This function encodes a value of the XSD double or float type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
pFmtSpec Pointer to format specification structure.
defaultPrecision Default precision of the value. For float, it is 6, for double it is 15.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncEmptyElement ( OSCTXT *  pctxt,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
OSRTDList *  pNSAttrs,
OSBOOL  terminate 
)

This function encodes an enpty element tag value (<elemName/>).

Parameters:
pctxt Pointer to context block structure.
elemName XML element name.
pNS XML namespace information (prefix and URI).
pNSAttrs List of namespace attributes to be added to element.
terminate Add closing '>' character.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncEndDocument ( OSCTXT *  pctxt  ) 

This function adds trailor information and a null terminator at the end of the XML document being encoded.

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncEndElement ( OSCTXT *  pctxt,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes an end element tag value (</elemName>).

Parameters:
pctxt Pointer to context block structure.
elemName XML element name.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncEndSoapElems ( OSCTXT *  pctxt,
OSXMLSOAPMsgType  msgtype 
)

This function encodes SOAP end element tags.

If will add a SOAP body or fault end tag based on the SOAP message type argument. It will then add an envelope end element tag.

Parameters:
pctxt Pointer to context block structure.
msgtype SOAP message type (body, fault, or none)
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncEndSoapEnv ( OSCTXT *  pctxt  ) 

This function encodes a SOAP envelope end element tag (<SOAP-ENV:Envelope/>).

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncFloat ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
const OSDoubleFmt pFmtSpec 
)

This function encodes a variable of the XSD float type.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncFloatAttr ( OSCTXT *  pctxt,
OSREAL  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen,
const OSDoubleFmt pFmtSpec 
)

This function encodes a variable of the XSD float type as an attribute.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length of XML attribute name.
pFmtSpec Pointer to format specification structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGDay ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric gDay element into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGDayValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric gDay value into an XML string representation.

It just puts the encoded value into the buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGMonth ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric gMonth element into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGMonthDay ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric gMonthDay element into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGMonthDayValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric gMonthDay value into an XML string representation.

It just puts the encoded value into the buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGMonthValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric gMonth value into an XML string representation.

It just puts the encoded value into the buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGYear ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric gYear element into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGYearMonth ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a numeric gYearMonth element into an XML string representation.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGYearMonthValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric gYearMonth value into an XML string representation.

It just puts the encoded value into the buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncGYearValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a numeric gYear value into an XML string representation.

It just puts the encoded value into the buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue Pointer to value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncHexBinary ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD hexBinary type.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncHexBinaryAttr ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD hexBinary type as an attribute.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
value Value to be encoded.
attrName XML attribute name. A name must be provided.
attrNameLen Length of XML attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncHexStrValue ( OSCTXT *  pctxt,
OSUINT32  nocts,
const OSOCTET *  data 
)

This function encodes a variable of the XSD hexBinary type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
nocts Number of octets in the value string.
data Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncIndent ( OSCTXT *  pctxt  ) 

This function adds indentation whitespace to the output stream.

The amount of indentation to add is determined by the level member variable in the context structure and the OSXMLINDENT constant value.

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncInt ( OSCTXT *  pctxt,
OSINT32  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD integer type.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncInt64 ( OSCTXT *  pctxt,
OSINT64  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD integer type.

This version of the function is used for 64-bit integer values.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncInt64Attr ( OSCTXT *  pctxt,
OSINT64  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD integer type as an attribute (name="value").

This version of the function is used for 64-bit integer values.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name.
attrNameLen Length (in bytes) of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncInt64Value ( OSCTXT *  pctxt,
OSINT64  value 
)

This function encodes a variable of the XSD integer type.

This version of the function is used for 64-bit integer values. It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncIntAttr ( OSCTXT *  pctxt,
OSINT32  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD integer type as an attribute (name="value").

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name.
attrNameLen Length (in bytes) of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncIntPattern ( OSCTXT *  pctxt,
OSINT32  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
const OSUTF8CHAR *  pattern 
)

This function encodes a variable of the XSD integer type using a pattern to specify the format of the integer value.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
pattern Pattern of the encoded value.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncIntValue ( OSCTXT *  pctxt,
OSINT32  value 
)

This function encodes a variable of the XSD integer type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncNamedBits ( OSCTXT *  pctxt,
const OSBitMapItem *  pBitMap,
OSUINT32  nbits,
const OSOCTET *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the ASN.1 BIT STRING type.

In this case, a set of named bits was provided in the schema for the bit values. The encoding is a list of the named bit identifers corresponding to each set bit in the bit string value.

Parameters:
pctxt Pointer to context block structure.
pBitMap Bit map equating symbolic bit names to bit numbers.
nbits Number of bits in the sit string value.
pvalue Bit string value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncNSAttrs ( OSCTXT *  pctxt,
OSRTDList *  pNSAttrs 
)

This function encodes namespace declaration attributes at the beginning of an XML document.

The attributes to be encoded are stored in the namespace list provided, or within the context if a NULL pointer is passed for pNSAttrs. Namespaces are added to this list by using the namespace utility functions.

Parameters:
pctxt Pointer to context block structure.
pNSAttrs Pointer to list of namespace attributes.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncReal10 ( OSCTXT *  pctxt,
const OSUTF8CHAR *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the ASN.1 REAL base 10 type.

Parameters:
pctxt A pointer to a context structure. This provides a storage area for the function to store all working variables that must be maintained between function calls.
pvalue A pointer to an REAL base 10 value.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 (0) = success,
  • negative return value is error.

int rtXmlEncSoapArrayTypeAttr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  name,
const OSUTF8CHAR *  value,
size_t  itemCount 
)

This function encodes the special SOAP encoding attrType attribute which specifies the number and type of elements in a SOAP array.

The form of this attribute is 'attrType="<type>[count]"'.

Parameters:
pctxt Pointer to context block structure.
name Attribute name (NS prefix + arrayType)
value UTF-8 string value to be encoded.
itemCount Count of the number of elements in the array.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStartDocument ( OSCTXT *  pctxt  ) 

This function encodes the XML header text at the beginning of an XML document.

This is normally the following:

<?xml version="1.0" encoding="UTF-8"?>

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStartElement ( OSCTXT *  pctxt,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS,
OSRTDList *  pNSAttrs,
OSBOOL  terminate 
)

This function encodes a start element tag value (<elemName>).

Parameters:
pctxt Pointer to context block structure.
elemName XML element name.
pNS XML namespace information (prefix and URI). If the prefix is NULL, this method will search the context's namespace stack for a prefix to use.
pNSAttrs List of namespace attributes to be added to element.
terminate Add closing '>' character.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStartSoapElems ( OSCTXT *  pctxt,
OSXMLSOAPMsgType  msgtype 
)

This function encodes a SOAP envelope start element tag and an optional SOAP body or fault tag.

This includes all of the standard SOAP namespace attributes.

Parameters:
pctxt Pointer to context block structure.
msgtype SOAP message type (body, fault, or none)
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStartSoapEnv ( OSCTXT *  pctxt,
OSRTDList *  pNSAttrs 
)

This function encodes a SOAP envelope start element tag.

This includes all of the standard SOAP namespace attributes.

Parameters:
pctxt Pointer to context block structure.
pNSAttrs List of namespace attributes to be added to SOAP envelope.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncString ( OSCTXT *  pctxt,
OSXMLSTRING *  pxmlstr,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD string type.

Parameters:
pctxt Pointer to context block structure.
pxmlstr XML string value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStringValue ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value 
)

This function encodes a variable of the XSD string type.

Parameters:
pctxt Pointer to context block structure.
value XML string value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncStringValue2 ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value,
size_t  valueLen 
)

This function encodes a variable of the XSD string type.

Parameters:
pctxt Pointer to context block structure.
value XML string value to be encoded.
valueLen UTF-8 string value length (in octets).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncTermStartElement ( OSCTXT *  pctxt  ) 

This function terminates a currently open XML start element by adding either a '>' or '/>' (if empty) terminator.

It will also add XSI attributes to the element.

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncTime ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD 'time' type as an string.

This version of the function is used to encode OSXSDDateTime value into any of following format in different condition as stated below. (1) hh-mm-ss.ss used if tz_flag = false (2) hh-mm-ss.ssZ used if tz_flag = false and tzo = 0 (3) hh-mm-ss.ss+HH:MM if tz_flag = false and tzo > 0 (4) hh-mm-ss.ss-HH:MM-HH:MM if tz_flag = false and tzo < 0

Parameters:
pctxt Pointer to context block structure.
pvalue OSXSDDateTime type pointer points to a OSXSDDateTime value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS Pointer to namespace structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncTimeValue ( OSCTXT *  pctxt,
const OSXSDDateTime *  pvalue 
)

This function encodes a variable of the XSD 'time' type as an string.

This version of the function just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
pvalue OSXSDDateTime type pointer points to a OSXSDDateTime value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUInt ( OSCTXT *  pctxt,
OSUINT32  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD unsigned integer type.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUInt64 ( OSCTXT *  pctxt,
OSUINT64  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a variable of the XSD integer type.

This version of the function is used when constraints cause an unsigned 64-bit integer variable to be used.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUInt64Attr ( OSCTXT *  pctxt,
OSUINT64  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD integer type as an attribute (name="value").

This version of the function is used for unsigned 64-bit integer values.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name.
attrNameLen Length (in bytes) of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUInt64Value ( OSCTXT *  pctxt,
OSUINT64  value 
)

This function encodes a variable of the XSD integer type.

This version of the function is used when constraints cause an unsigned 64-bit integer variable to be used. It writes the encoded value to the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUIntAttr ( OSCTXT *  pctxt,
OSUINT32  value,
const OSUTF8CHAR *  attrName,
size_t  attrNameLen 
)

This function encodes a variable of the XSD unsigned integer type as an attribute (name="value").

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
attrName XML attribute name.
attrNameLen Length (in bytes) of the attribute name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUIntValue ( OSCTXT *  pctxt,
OSUINT32  value 
)

This function encodes a variable of the XSD unsigned integer type.

It just puts the encoded value in the destination buffer or stream without any tags.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUnicodeStr ( OSCTXT *  pctxt,
const OSUNICHAR *  value,
OSUINT32  nchars,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a Unicode string value.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded. This is a pointer to an array of 16-bit integer values.
nchars Number of characters in value array.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUTF8Attr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  name,
const OSUTF8CHAR *  value 
)

This function encodes an attribute in which the name and value are given as a null-terminated UTF-8 strings.

Parameters:
pctxt Pointer to context block structure.
name Attribute name.
value UTF-8 string value to be encoded.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUTF8Attr2 ( OSCTXT *  pctxt,
const OSUTF8CHAR *  name,
size_t  nameLen,
const OSUTF8CHAR *  value,
size_t  valueLen 
)

This function encodes an attribute in which the name and value are given as a UTF-8 strings with lengths.

Parameters:
pctxt Pointer to context block structure.
name Attribute name.
nameLen Attribute name length (in octets).
value UTF-8 string value to be encoded.
valueLen UTF-8 string value length (in octets).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncUTF8Str ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value,
const OSUTF8CHAR *  elemName,
OSXMLNamespace pNS 
)

This function encodes a UTF-8 string value.

Parameters:
pctxt Pointer to context block structure.
value Value to be encoded.
elemName XML element name. A name must be provided. If an empty string is passed (""), no element tag is added to the encoded value.
pNS XML namespace information (prefix and URI).
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncXSIAttrs ( OSCTXT *  pctxt,
OSBOOL  needXSI 
)

This function encodes XML schema instance (XSI) attributes at the beginning of an XML document.

The encoded attributes include the XSI namespace declaration, the XSD schema location attribute, and the XSD no namespace schema location attribute.

The XSI namespace declaration will only be added to the document if schema location attributes exist or the 'needXSI' flag (see below) is set.

Parameters:
pctxt Pointer to context block structure.
needXSI This flag is set to true to indicate the XSI namespace declaration is required to support XML items in the main document body such as xsi:type or xsi:nil.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncXSINilAttr ( OSCTXT *  pctxt  ) 

This function encodes an XML nil attribute (xsi:nil="true").

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlEncXSITypeAttr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  value 
)

This function encodes an XML schema instance (XSI) type attribute value (xsi:type="value").

Parameters:
pctxt Pointer to context block structure.
value XSI type attribute value.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlFreeInputSource ( OSCTXT *  pctxt  ) 

This function closes an input source that was previously created with one of the create input source functions such as 'rtXmlCreateFileInputSource'.

Parameters:
pctxt Pointer to context block structure.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlGetIndent ( OSCTXT *  pctxt  ) 

This function returns current XML output indent value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
Current indent value (>= 0) if OK, negative status code if error.

int rtXmlGetIndentChar ( OSCTXT *  pctxt  ) 

This function returns current XML output indent character value (default is space).

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
Current indent character (> 0) if OK, negative status code if error.

OSBOOL rtXmlGetWriteBOM ( OSCTXT *  pctxt  ) 

This function returns whether the Unicode byte order mark will be encoded.

Parameters:
pctxt Pointer to OSCTXT structure.
Returns:
TRUE if BOM is to be encoded, FALSE if not or if context uninitialized.

int rtXmlPrintNSAttrs ( const char *  name,
const OSRTDList *  data 
)

This function prints a list of namespace attributes.

Parameters:
name Name to print.
data List of namespace attributes.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.

int rtXmlSetEncBufPtr ( OSCTXT *  pctxt,
OSOCTET *  bufaddr,
size_t  bufsiz 
)

This function is used to set the internal buffer within the run-time library encoding context.

It must be called after the context variable is initialized by the rtxInitContext function and before any other compiler generated or run-time library encode function.

Parameters:
pctxt Pointer to a context structure. This provides a storage area for the function to store all working variables that must be maintained between function calls.
bufaddr A pointer to a memory buffer to use to encode a message. The buffer should be declared as an array of unsigned characters (OCTETs). This parameter can be set to NULL to specify dynamic encoding (i.e., the encode functions will dynamically allocate a buffer to hold the encoded message).
bufsiz The length of the memory buffer in bytes. Should be set to zero if NULL was specified for bufaddr (i.e. dynamic encoding was selected).