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

EXTERNXML int rtXmlEncAny (OSCTXT *pctxt, OSXMLSTRING *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD any type.
EXTERNXML int rtXmlEncAnyStr (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT *pctxt, const OSUTF8CHAR *pvalue)
 This function encodes a variable of the XSD anyType type.
EXTERNXML 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.
EXTERNXML int rtXmlEncBase64Binary (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD base64Binary type.
EXTERNXML 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.
EXTERNXML int rtXmlEncBase64StrValue (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value)
 This function encodes a variable of the XSD base64Binary type.
EXTERNXML int rtXmlEncBigInt (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncBigIntAttr (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes an XSD integer attribute value.
EXTERNXML int rtXmlEncBigIntValue (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes an XSD integer attribute value.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncBool (OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD boolean type.
EXTERNXML int rtXmlEncBoolValue (OSCTXT *pctxt, OSBOOL value)
 This function encodes a variable of the XSD boolean type.
EXTERNXML int rtXmlEncBoolAttr (OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *attrName, size_t attrNameLen)
 This function encodes an XSD boolean attribute value.
EXTERNXML int rtXmlEncComment (OSCTXT *pctxt, const OSUTF8CHAR *comment)
 This function encodes an XML comment.
EXTERNXML 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.
EXTERNXML int rtXmlEncDateValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a variable of the XSD 'date' type as a string.
EXTERNXML 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.
EXTERNXML int rtXmlEncTimeValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a variable of the XSD 'time' type as an string.
EXTERNXML 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.
EXTERNXML int rtXmlEncDateTimeValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric date/time value into an XML string representation.
EXTERNXML int rtXmlEncDecimal (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDecimalFmt *pFmtSpec)
 This function encodes a variable of the XSD decimal type.
EXTERNXML 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.
EXTERNXML int rtXmlEncDecimalValue (OSCTXT *pctxt, OSREAL value, const OSDecimalFmt *pFmtSpec, char *pDestBuf, size_t destBufSize)
 This function encodes a value of the XSD decimal type.
EXTERNXML int rtXmlEncDouble (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD double type.
EXTERNXML 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.
EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT *pctxt, OSREAL value, const OSDoubleFmt *pFmtSpec, int defaultPrecision)
 This function encodes a normal (not +/-INF or NaN) value of the XSD double or float type.
EXTERNXML int rtXmlEncDoubleValue (OSCTXT *pctxt, OSREAL value, const OSDoubleFmt *pFmtSpec, int defaultPrecision)
 This function encodes a value of the XSD double or float type.
EXTERNXML int rtXmlEncEmptyElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, OSRTDList *pNSAttrs, OSBOOL terminate)
 This function encodes an enpty element tag value (<elemName/>).
EXTERNXML int rtXmlEncEndDocument (OSCTXT *pctxt)
 This function adds trailor information and a null terminator at the end of the XML document being encoded.
EXTERNXML int rtXmlEncEndElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes an end element tag value (</elemName>).
EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT *pctxt)
 This function encodes a SOAP envelope end element tag (<SOAP-ENV:Envelope/>).
EXTERNXML int rtXmlEncEndSoapElems (OSCTXT *pctxt, OSXMLSOAPMsgType msgtype)
 This function encodes SOAP end element tags.
EXTERNXML int rtXmlEncFloat (OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSDoubleFmt *pFmtSpec)
 This function encodes a variable of the XSD float type.
EXTERNXML 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.
EXTERNXML int rtXmlEncGYear (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gYear element into an XML string representation.
EXTERNXML int rtXmlEncGYearMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gYearMonth element into an XML string representation.
EXTERNXML int rtXmlEncGMonth (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gMonth element into an XML string representation.
EXTERNXML int rtXmlEncGMonthDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gMonthDay element into an XML string representation.
EXTERNXML int rtXmlEncGDay (OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a numeric gDay element into an XML string representation.
EXTERNXML int rtXmlEncGYearValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gYear value into an XML string representation.
EXTERNXML int rtXmlEncGYearMonthValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gYearMonth value into an XML string representation.
EXTERNXML int rtXmlEncGMonthValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gMonth value into an XML string representation.
EXTERNXML int rtXmlEncGMonthDayValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gMonthDay value into an XML string representation.
EXTERNXML int rtXmlEncGDayValue (OSCTXT *pctxt, const OSXSDDateTime *pvalue)
 This function encodes a numeric gDay value into an XML string representation.
EXTERNXML int rtXmlEncHexBinary (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD hexBinary type.
EXTERNXML 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.
EXTERNXML int rtXmlEncHexStrValue (OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *data)
 This function encodes a variable of the XSD hexBinary type.
EXTERNXML int rtXmlEncIndent (OSCTXT *pctxt)
 This function adds indentation whitespace to the output stream.
EXTERNXML int rtXmlEncInt (OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncIntValue (OSCTXT *pctxt, OSINT32 value)
 This function encodes a variable of the XSD integer type.
EXTERNXML 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").
EXTERNXML 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.
EXTERNXML int rtXmlEncIntPatternValue (OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *pattern)
EXTERNXML int rtXmlEncUIntPattern (OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSUTF8CHAR *pattern)
EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *pattern)
EXTERNXML int rtXmlEncInt64 (OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncInt64Pattern (OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSUTF8CHAR *pattern)
EXTERNXML int rtXmlEncInt64Value (OSCTXT *pctxt, OSINT64 value)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *pattern)
EXTERNXML 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").
EXTERNXML 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.
EXTERNXML int rtXmlEncNamedBitsValue (OSCTXT *pctxt, const OSBitMapItem *pBitMap, OSUINT32 nbits, const OSOCTET *pvalue)
EXTERNXML int rtXmlEncNSAttrs (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function encodes namespace declaration attributes at the beginning of an XML document.
EXTERNXML int rtXmlPrintNSAttrs (const char *name, const OSRTDList *data)
 This function prints a list of namespace attributes.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncSoapArrayTypeAttr2 (OSCTXT *pctxt, const OSUTF8CHAR *name, size_t nameLen, const OSUTF8CHAR *value, size_t valueLen, size_t itemCount)
EXTERNXML int rtXmlEncStartDocument (OSCTXT *pctxt)
 This function encodes the XML header text at the beginning of an XML document.
EXTERNXML int rtXmlEncBOM (OSCTXT *pctxt)
 This function encodes the Unicode byte order mark header at the start of the document.
EXTERNXML int rtXmlEncStartElement (OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, OSRTDList *pNSAttrs, OSBOOL terminate)
 This function encodes a start element tag value (<elemName>).
EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function encodes a SOAP envelope start element tag.
EXTERNXML int rtXmlEncStartSoapElems (OSCTXT *pctxt, OSXMLSOAPMsgType msgtype)
 This function encodes a SOAP envelope start element tag and an optional SOAP body or fault tag.
EXTERNXML int rtXmlEncString (OSCTXT *pctxt, OSXMLSTRING *pxmlstr, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD string type.
EXTERNXML int rtXmlEncStringValue (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes a variable of the XSD string type.
EXTERNXML int rtXmlEncStringValue2 (OSCTXT *pctxt, const OSUTF8CHAR *value, size_t valueLen)
 This function encodes a variable of the XSD string type.
EXTERNXML int rtXmlEncTermStartElement (OSCTXT *pctxt)
 This function terminates a currently open XML start element by adding either a '>' or '/>' (if empty) terminator.
EXTERNXML int rtXmlEncUnicodeStr (OSCTXT *pctxt, const OSUNICHAR *value, OSUINT32 nchars, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a Unicode string value.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncUTF8Str (OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a UTF-8 string value.
EXTERNXML int rtXmlEncUInt (OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD unsigned integer type.
EXTERNXML int rtXmlEncUIntValue (OSCTXT *pctxt, OSUINT32 value)
 This function encodes a variable of the XSD unsigned integer type.
EXTERNXML 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").
EXTERNXML int rtXmlEncUInt64 (OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS, const OSUTF8CHAR *pattern)
EXTERNXML int rtXmlEncUInt64Value (OSCTXT *pctxt, OSUINT64 value)
 This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *pattern)
EXTERNXML 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").
EXTERNXML int rtXmlEncXSIAttrs (OSCTXT *pctxt, OSBOOL needXSI)
 This function encodes XML schema instance (XSI) attributes at the beginning of an XML document.
EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT *pctxt, const OSUTF8CHAR *value)
 This function encodes an XML schema instance (XSI) type attribute value (xsi:type="value").
EXTERNXML int rtXmlEncXSITypeAttr2 (OSCTXT *pctxt, const OSUTF8CHAR *typeNsUri, const OSUTF8CHAR *typeName)
 This function encodes an XML schema instance (XSI) type attribute value (xsi:type="pfx:value").
EXTERNXML int rtXmlEncXSINilAttr (OSCTXT *pctxt)
 This function encodes an XML nil attribute (xsi:nil="true").
EXTERNXML 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'.
EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR *text1, const char *text2)
EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR *text1, const char *text2, size_t len)
EXTERNXML 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.
EXTERNXML int rtXmlGetIndent (OSCTXT *pctxt)
 This function returns current XML output indent value.
EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT *pctxt)
 This function returns whether the Unicode byte order mark will be encoded.
EXTERNXML int rtXmlGetIndentChar (OSCTXT *pctxt)
 This function returns current XML output indent character value (default is space).

Define Documentation

#define rtXmlFinalizeMemBuf ( pMemBuf   ) 
Value:
do { \
(pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
(pMemBuf)->pctxt->buffer.size =                                      \
((pMemBuf)->usedcnt - (pMemBuf)->startidx);                          \
(pMemBuf)->pctxt->buffer.dynamic = FALSE;                            \
(pMemBuf)->pctxt->buffer.byteIndex = 0;                              \
rtxMemBufReset (pMemBuf);                                            \
} while(0)

Definition at line 2481 of file osrtxml.h.

#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 2530 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 2523 of file osrtxml.h.


Function Documentation

EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncComment ( OSCTXT *  pctxt,
const OSUTF8CHAR *  comment 
)

This function encodes an XML comment.

The given text will be inserted in between XML comment start and end elements ().

Parameters:
pctxt Pointer to context block structure.
comment The comment text.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncDoubleNormalValue ( OSCTXT *  pctxt,
OSREAL  value,
const OSDoubleFmt pFmtSpec,
int  defaultPrecision 
)

This function encodes a normal (not +/-INF or NaN) 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.
EXTERNXML 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. Special real values +/-INF and NaN are encoded as "INF", "-INF", and "NaN", respectively.

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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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. Empty string and null are treated equivalently.
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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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. If either null or 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML int rtXmlEncXSITypeAttr2 ( OSCTXT *  pctxt,
const OSUTF8CHAR *  typeNsUri,
const OSUTF8CHAR *  typeName 
)

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

This will encode namespace declarations for the xsi namespace and for the typeNsUri namespace, if needed.

Parameters:
pctxt Pointer to context block structure.
typeNsUri The type's namespace URI. Either null or empty if none.
typeName The type's name.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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.
EXTERNXML 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).