osrtxml.h File Reference

XML low-level C encode/decode functions. More...

#include "rtxsrc/rtxCommon.h"
#include "rtxmlsrc/rtSaxDefs.h"
#include "rtxsrc/rtxDList.h"
#include "rtxsrc/rtxMemBuf.h"
#include "rtxmlsrc/rtXmlExternDefs.h"
#include "rtxmlsrc/rtXmlErrCodes.h"
#include "rtxmlsrc/rtXmlNamespace.h"

Go to the source code of this file.

Data Structures

struct  OSXMLFacets
struct  OSXMLStrFragment
struct  OSXMLNameFragments
struct  OSXMLItemDescr
struct  OSXMLElemIDRec
struct  OSXMLGroupDesc
 OSXMLGroupDesc describes how entries in an OSXMLElemIDRec array make up a group. More...
struct  OSXSDAnyType
struct  OSXMLCtxtInfo
struct  OSXMLQName
struct  OSIntegerFmt
struct  OSXMLSortedAttrOffset

Defines

#define OSXMLNS12
#define OSUPCASE   0x00008000
#define OSTERMSTART   0x00004000
#define OSEMPTYELEM   0x00002000
#define OSQUALATTR   0x00001000
#define OSXMLFRAG   0x00000800
#define OSXMLNSSET   0x00000400
#define OSXMLC14N   0x00000200
#define OSXSIATTR   0x00000100
#define OSXMLNOCMPNS   0x00000080
#define OSXSINIL   0x00000040
#define OSXMLNOBLANKS   0x00000020
#define OSHASDEFAULT   0x00000010
#define OSASN1XER   0x00000008
#define OSXMLFRAGSEQUAL(frag1, frag2)   (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
#define OSXMLQNAMEEQUALS(xnamefrag, qnametext)
#define OSXMLSETUTF8DECPTR(pctxt, str)
#define IS_XMLNSATTR(name)
#define IS_XSIATTR(name)
#define OSXMLINDENT   3
#define rtXmlErrAddStrParm   rtxErrAddStrParm
#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.
#define OSXMLREALENC_OBJSYS   0x1F
#define OSXMLREALENC_BXER   0x10
#define OSXMLREALENC_EXERMODS   0x1B
#define OSXMLREALENC_EXERDECIMAL   0x03

Typedefs

typedef struct OSXMLFacets OSXMLFacets
typedef struct OSXMLItemDescr OSXMLItemDescr
typedef OSXMLItemDescr OSXMLAttrDescr
typedef OSXMLItemDescr OSXMLElemDescr
typedef struct OSXMLElemIDRec OSXMLElemIDRec
typedef struct OSXMLGroupDesc OSXMLGroupDesc
 OSXMLGroupDesc describes how entries in an OSXMLElemIDRec array make up a group.
typedef struct OSXSDAnyType OSXSDAnyType
typedef struct OSXMLQName OSXMLQName
typedef struct OSIntegerFmt OSIntegerFmt

Enumerations

enum  OSXMLEncoding {
  OSXMLUTF8, OSXMLUTF16, OSXMLUTF16BE, OSXMLUTF16LE,
  OSXMLLATIN1
}
enum  OSXMLSOAPMsgType { OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT }
enum  OSXMLBOM {
  OSXMLBOM_NO_BOM, OSXMLBOM_UTF32_BE, OSXMLBOM_UTF32_LE, OSXMLBOM_UTF16_BE,
  OSXMLBOM_UTF16_LE, OSXMLBOM_UTF8, OSXMLBOM_CHECK
}
enum  OSXMLNsIndex {
  OSXMLNSI_UNQUALIFIED = 0, OSXMLNSI_UNKNOWN = -1, OSXMLNSI_UNCHECKED = -2, OSXMLNSI_XSI = -3,
  OSXMLNSI_XMLNS = -4, OSXMLNSI_XML = -5, OSXMLNSI_SOAP_ENVELOPE = -6, OSXMLNSI_XSD = -7
}
enum  OSXMLREALEncoding { OSXMLREALOBJSYS, OSXMLREALBXER, OSXMLREALEXERMODS, OSXMLREALEXERDEC }
enum  OSXMLState {
  OSXMLINIT, OSXMLHEADER, OSXMLSTART, OSXMLATTR,
  OSXMLDATA, OSXMLEND, OSXMLCOMMENT
}
enum  OSXMLWhiteSpaceMode { OSXMLWSM_PRESERVE = 0, OSXMLWSM_REPLACE, OSXMLWSM_COLLAPSE }
 

Whitespace treatment options.


Functions

EXTERNXML int rtXmlInitContext (OSCTXT *pctxt)
 This function initializes a context variable for XML encoding or decoding.
EXTERNXML int rtXmlInitContextUsingKey (OSCTXT *pctxt, const OSOCTET *key, size_t keylen)
 This function initializes a context using a run-time key.
EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT *pctxt)
 This function initializes the XML application info section of the given context.
EXTERNXML int rtXmlCreateFileInputSource (OSCTXT *pctxt, const char *filepath)
 This function creates an XML document file input source.
EXTERNXML OSBOOL rtXmlCmpQName (const OSUTF8CHAR *qname1, const OSUTF8CHAR *name2, const OSUTF8CHAR *nsPrefix2)
EXTERNXML int rtXmlGetBase64StrDecodedLen (const OSUTF8CHAR *inpdata, size_t srcDataSize, size_t *pNumOcts, size_t *pSrcDataLen)
EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT *pctxt, OSRTDList *pAnyAttrList)
 This function frees a list of anyAttribute that is a member of OSXSDAnyType structure.
EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF *pMemBuf, const OSUTF8CHAR *inpdata, int length)
 This function decodes the contents of a Base64-encoded binary data type into a memory buffer.
EXTERNXML int rtXmlDecBase64Str (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSINT32 bufsize)
 This function decodes a contents of a Base64-encode binary string into a static memory structure.
EXTERNXML int rtXmlDecBase64StrValue (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, size_t bufSize, size_t srcDataLen)
 This function decodes a contents of a Base64-encode binary string into the specified octet array.
EXTERNXML int rtXmlDecBigInt (OSCTXT *pctxt, const OSUTF8CHAR **ppvalue)
 This function will decode a variable of the XSD integer type.
EXTERNXML int rtXmlDecBool (OSCTXT *pctxt, OSBOOL *pvalue)
 This function decodes a variable of the boolean type.
EXTERNXML int rtXmlDecDate (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'date' type.
EXTERNXML int rtXmlDecTime (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'time' type.
EXTERNXML int rtXmlDecDateTime (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'dateTime' type.
EXTERNXML int rtXmlDecDecimal (OSCTXT *pctxt, OSREAL *pvalue)
 This function decodes the contents of a decimal data type.
EXTERNXML int rtXmlDecDouble (OSCTXT *pctxt, OSREAL *pvalue)
 This function decodes the contents of a float or double data type.
EXTERNXML int rtXmlDecDynBase64Str (OSCTXT *pctxt, OSDynOctStr *pvalue)
 This function decodes a contents of a Base64-encode binary string.
EXTERNXML int rtXmlDecDynHexStr (OSCTXT *pctxt, OSDynOctStr *pvalue)
 This function decodes a contents of a hexBinary string.
EXTERNXML int rtXmlDecEmptyElement (OSCTXT *pctxt)
 This function is used to enforce a requirement that an element be empty.
EXTERNXML int rtXmlDecUTF8Str (OSCTXT *pctxt, OSUTF8CHAR *outdata, size_t max_len)
 This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT *pctxt, const OSUTF8CHAR **outdata)
 This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF *pMemBuf, const OSUTF8CHAR *inpdata, int length)
 This function decodes the contents of a hex-encoded binary data type into a memory buffer.
EXTERNXML int rtXmlDecHexStr (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSINT32 bufsize)
 This function decodes the contents of a hexBinary string into a static memory structure.
EXTERNXML int rtXmlDecHexStrValue (OSCTXT *pctxt, const OSUTF8CHAR *const inpdata, size_t nbytes, OSOCTET *pvalue, OSUINT32 *pnbits, OSINT32 bufsize)
EXTERNXML int rtXmlDecGYear (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gYear' type.
EXTERNXML int rtXmlDecGYearMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gYearMonth' type.
EXTERNXML int rtXmlDecGMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gMonth' type.
EXTERNXML int rtXmlDecGMonthDay (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gMonthDay' type.
EXTERNXML int rtXmlDecGDay (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gDay' type.
EXTERNXML int rtXmlDecInt (OSCTXT *pctxt, OSINT32 *pvalue)
 This function decodes the contents of a 32-bit integer data type.
EXTERNXML int rtXmlDecInt8 (OSCTXT *pctxt, OSINT8 *pvalue)
 This function decodes the contents of an 8-bit integer data type (i.e.
EXTERNXML int rtXmlDecInt16 (OSCTXT *pctxt, OSINT16 *pvalue)
 This function decodes the contents of a 16-bit integer data type.
EXTERNXML int rtXmlDecInt64 (OSCTXT *pctxt, OSINT64 *pvalue)
 This function decodes the contents of a 64-bit integer data type.
EXTERNXML int rtXmlDecUInt (OSCTXT *pctxt, OSUINT32 *pvalue)
 This function decodes the contents of an unsigned 32-bit integer data type.
EXTERNXML int rtXmlDecUInt8 (OSCTXT *pctxt, OSUINT8 *pvalue)
 This function decodes the contents of an unsigned 8-bit integer data type (i.e.
EXTERNXML int rtXmlDecUInt16 (OSCTXT *pctxt, OSUINT16 *pvalue)
 This function decodes the contents of an unsigned 16-bit integer data type.
EXTERNXML int rtXmlDecUInt64 (OSCTXT *pctxt, OSUINT64 *pvalue)
 This function decodes the contents of an unsigned 64-bit integer data type.
EXTERNXML int rtXmlDecNSAttr (OSCTXT *pctxt, const OSUTF8CHAR *attrName, const OSUTF8CHAR *attrValue, OSRTDList *pNSAttrs, const OSUTF8CHAR *nsTable[], OSUINT32 nsTableRowCount)
 This function decodes an XML namespac attribute (xmlns).
EXTERNXML const OSUTF8CHAR * rtXmlDecQName (OSCTXT *pctxt, const OSUTF8CHAR *qname, const OSUTF8CHAR **prefix)
 This function decodes an XML qualified name string (QName) type.
EXTERNXML int rtXmlDecXSIAttr (OSCTXT *pctxt, const OSUTF8CHAR *attrName, const OSUTF8CHAR *attrValue)
 This function decodes XML schema instance (XSI) attribute.
EXTERNXML int rtXmlDecXSIAttrs (OSCTXT *pctxt, const OSUTF8CHAR *const *attrs, const char *typeName)
 This function decodes XML schema instance (XSI) attributes.
EXTERNXML int rtXmlDecXmlStr (OSCTXT *pctxt, OSXMLSTRING *outdata)
 This function decodes the contents of an XML string data type.
EXTERNXML int rtXmlParseElementName (OSCTXT *pctxt, OSUTF8CHAR **ppName)
 This function parses the initial tag from an XML message.
EXTERNXML int rtXmlParseElemQName (OSCTXT *pctxt, OSXMLQName *pQName)
 This function parses the initial tag from an XML message.
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).
EXTERNXML int rtXmlPrepareContext (OSCTXT *pctxt)
 This function prepares the context for another encode by setting the state back to OSXMLINIT and moving the buffer's cursor back to the beginning of the buffer.
EXTERNXML int rtXmlSetEncC14N (OSCTXT *pctxt, OSBOOL value)
 This function sets the option to encode in C14N mode.
EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT *pctxt, OSBOOL value)
 This function sets a flag in the context that indicates the XSI namespace declaration (xmlns:xsi) should be added to the encoded XML instance.
EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT *pctxt, OSBOOL value)
 This function sets a flag in the context that indicates the XSI attribute declaration (xmlns:xsi) should be added to the encoded XML instance.
EXTERNXML int rtXmlSetDigitsFacets (OSCTXT *pctxt, int totalDigits, int fractionDigits)
EXTERNXML int rtXmlSetEncDocHdr (OSCTXT *pctxt, OSBOOL value)
 This function sets the option to add the XML document header (i.e.
EXTERNXML int rtXmlSetEncodingStr (OSCTXT *pctxt, const OSUTF8CHAR *encodingStr)
 This function sets the XML output encoding to the given value.
EXTERNXML int rtXmlSetFormatting (OSCTXT *pctxt, OSBOOL doFormatting)
 This function sets XML output formatting to the given value.
EXTERNXML int rtXmlSetIndent (OSCTXT *pctxt, OSUINT8 indent)
 This function sets XML output indent to the given value.
EXTERNXML int rtXmlSetIndentChar (OSCTXT *pctxt, char indentChar)
 This function sets XML output indent character to the given value.
EXTERNXML void rtXmlSetNamespacesSet (OSCTXT *pctxt, OSBOOL value)
 This function sets the context 'namespaces are set' flag.
EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function sets namespace prefix/URI links in the namspace prefix stack in the context structure.
EXTERNXML int rtXmlSetSchemaLocation (OSCTXT *pctxt, const OSUTF8CHAR *schemaLocation)
 This function sets the XML Schema Instance (xsi) schema location attribute to be added to an encoded document.
EXTERNXML int rtXmlSetNoNSSchemaLocation (OSCTXT *pctxt, const OSUTF8CHAR *schemaLocation)
 This function sets the XML Schema Instance (xsi) no namespace schema location attribute to be added to an encoded document.
EXTERNXML void rtXmlSetSoapVersion (OSCTXT *pctxt, OSUINT8 version)
 This function sets the SOAP version number.
EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT *pctxt, const OSUTF8CHAR *xsiType)
 This function sets the XML Schema Instance (xsi) type attribute value.
EXTERNXML int rtXmlSetWriteBOM (OSCTXT *pctxt, OSBOOL write)
 This function sets whether the Unicode byte order mark is encoded.
EXTERNXML int rtXmlMatchHexStr (OSCTXT *pctxt, size_t minLength, size_t maxLength)
 This function tests the context buffer for containing a correct hexadecimal string.
EXTERNXML int rtXmlMatchBase64Str (OSCTXT *pctxt, size_t minLength, size_t maxLength)
 This function tests the context buffer for containing a correct base64 string.
EXTERNXML int rtXmlMatchDate (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct date string.
EXTERNXML int rtXmlMatchTime (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct time string.
EXTERNXML int rtXmlMatchDateTime (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct dateTime string.
EXTERNXML int rtXmlMatchGYear (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct gYear string.
EXTERNXML int rtXmlMatchGYearMonth (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct gYearMonth string.
EXTERNXML int rtXmlMatchGMonth (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct gMonth string.
EXTERNXML int rtXmlMatchGMonthDay (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct gMonthDay string.
EXTERNXML int rtXmlMatchGDay (OSCTXT *pctxt)
 This function tests the context buffer for containing a correct gDay string.
EXTERNXML OSUTF8CHAR * rtXmlNewQName (OSCTXT *pctxt, const OSUTF8CHAR *localName, const OSUTF8CHAR *prefix)
 This function creates a new QName given the localName and prefix parts.
EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1, const OSOCTET *data1, const OSUTF8CHAR *data2)
 This function compares an array of octets to a base64 string.
EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1, const OSOCTET *data1, const OSUTF8CHAR *data2)
 This function compares an array of octets to a hex string.
EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval)
EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR *attrName, size_t nAttr, const OSUTF8CHAR *attrNames[], OSUINT32 attrPresent[])
EXTERNXML const OSUTF8CHAR * rtSaxGetAttrValue (const OSUTF8CHAR *attrName, const OSUTF8CHAR *const *attrs)
 This function looks up an attribute in the attribute array returned by SAX to the startElement function.
EXTERNXML OSINT16 rtSaxGetElemID (OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT16 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
 This function looks up a sequence element name in the given element info array.
EXTERNXML OSINT16 rtSaxGetElemID8 (OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT8 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
 This function is a space optimized version of rtSaxGetElemID.
EXTERNXML OSINT16 rtSaxFindElemID (OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT16 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
EXTERNXML OSINT16 rtSaxFindElemID8 (OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT8 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR *const *attrs)
 This function checks if the given attribute list contains one or more XML namespace attributes (xmlns).
EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT *pctxt)
 This function checks if the buffer in the context is empty or not.
EXTERNXML OSINT16 rtSaxLookupElemID (OSCTXT *pctxt, OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, const OSUTF8CHAR *qName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT16 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
EXTERNXML OSINT16 rtSaxLookupElemID8 (OSCTXT *pctxt, OSINT16 *pState, OSINT16 prevElemIdx, const OSUTF8CHAR *localName, const OSUTF8CHAR *qName, OSINT32 nsidx, const OSSAXElemTableRec idtab[], const OSINT8 *fstab, OSINT16 fstabRows, OSINT16 fstabCols)
EXTERNXML int rtSaxStrListParse (OSCTXT *pctxt, OSRTMEMBUF *pMemBuf, OSRTDList *pvalue)
 This function parses the list of strings.
EXTERNXML int rtSaxSortAttrs (OSCTXT *pctxt, const OSUTF8CHAR *const *attrs, OSUINT16 **order)
 This function sorts a SAX attribute list in ascending order based on attribute name.
EXTERNXML int rtSaxStrListMatch (OSCTXT *pctxt)
 This function mathes the list of strings.
EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state, OSINT16 currElemIdx, const int *fstab, int fstabRows, int fstabCols)
EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state, OSINT16 currElemIdx, const OSINT8 *fstab, int fstabRows, int fstabCols)
EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT *pctxt, int stat)
EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT *pctxt, OSUINT32 maxErrors)
EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT *pctxt)
EXTERNXML int rtSaxTestAttributesPresent (OSCTXT *pctxt, const OSUINT32 *attrPresent, const OSUINT32 *reqAttrMask, const OSUTF8CHAR *const *attrNames, size_t numOfAttrs, const char *parentTypeName)
EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT *pctxt)
EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT *pctxt, const OSUTF8CHAR *const *attrs, const char *typeName)
EXTERNXML int rtXmlWriteToFile (OSCTXT *pctxt, const char *filename)
 This function writes the encoded XML message stored in the context message buffer out to a file.
EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT *pctxt, const char *filename)
EXTERNXML void rtXmlTreatWhitespaces (OSCTXT *pctxt, int whiteSpaceType)
EXTERNXML int rtXmlCheckBuffer (OSCTXT *pctxt, size_t byte_count)
EXTERNXML void rtErrXmlInit (OSVOIDARG)
EXTERNXML int rtXmlPutChar (OSCTXT *pctxt, const OSUTF8CHAR value)
EXTERNXML int rtXmlWriteChars (OSCTXT *pctxt, const OSUTF8CHAR *value, size_t len)
EXTERNXML int rtXmlpDecAny (OSCTXT *pctxt, const OSUTF8CHAR **pvalue)
 This function decodes an arbitrary XML section of code as defined by the XSD any type (xsd:any).
EXTERNXML int rtXmlpDecAny2 (OSCTXT *pctxt, OSUTF8CHAR **pvalue)
 This version of the rtXmlpDecAny function returns the string in a mutable buffer.
EXTERNXML int rtXmlpDecAnyAttrStr (OSCTXT *pctxt, const OSUTF8CHAR **ppAttrStr, size_t attrIndex)
 This function decodes an any attribute string.
EXTERNXML int rtXmlpDecAnyElem (OSCTXT *pctxt, const OSUTF8CHAR **pvalue)
 This function decodes an arbitrary XML section of code as defined by the XSD any type (xsd:any).
EXTERNXML int rtXmlpDecBase64Str (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSINT32 bufsize)
 This function decodes a contents of a Base64-encode binary string into a static memory structure.
EXTERNXML int rtXmlpDecBigInt (OSCTXT *pctxt, const OSUTF8CHAR **pvalue)
 This function will decode a variable of the XSD integer type.
EXTERNXML int rtXmlpDecBitString (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnbits, OSUINT32 bufsize)
 This function decodes a bit string value.
EXTERNXML int rtXmlpDecBool (OSCTXT *pctxt, OSBOOL *pvalue)
 This function decodes a variable of the boolean type.
EXTERNXML int rtXmlpDecDate (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'date' type.
EXTERNXML int rtXmlpDecDateTime (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'dateTime' type.
EXTERNXML int rtXmlpDecDecimal (OSCTXT *pctxt, OSREAL *pvalue, int totalDigits, int fractionDigits)
 This function decodes the contents of a decimal data type.
EXTERNXML int rtXmlpDecDouble (OSCTXT *pctxt, OSREAL *pvalue)
 This function decodes the contents of a float or double data type.
EXTERNXML int rtXmlpDecDoubleExt (OSCTXT *pctxt, OSUINT8 flags, OSREAL *pvalue)
 This function decodes the contents of a float or double data type.
EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT *pctxt, OSDynOctStr *pvalue)
 This function decodes a contents of a Base64-encode binary string.
EXTERNXML int rtXmlpDecDynBitString (OSCTXT *pctxt, OSDynOctStr *pvalue)
 This function decodes a bit string value.
EXTERNXML int rtXmlpDecDynHexStr (OSCTXT *pctxt, OSDynOctStr *pvalue)
 This function decodes a contents of a hexBinary string.
EXTERNXML int rtXmlpDecDynUnicodeStr (OSCTXT *pctxt, const OSUNICHAR **ppdata, OSUINT32 *pnchars)
 This function decodes a Unicode string data type.
EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT *pctxt, const OSUTF8CHAR **outdata)
 This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlpDecUTF8Str (OSCTXT *pctxt, OSUTF8CHAR *out, size_t max_len)
 This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlpDecGDay (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gDay' type.
EXTERNXML int rtXmlpDecGMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gMonth' type.
EXTERNXML int rtXmlpDecGMonthDay (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gMonthDay' type.
EXTERNXML int rtXmlpDecGYear (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gYear' type.
EXTERNXML int rtXmlpDecGYearMonth (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'gYearMonth' type.
EXTERNXML int rtXmlpDecHexStr (OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSINT32 bufsize)
 This function decodes the contents of a hexBinary string into a static memory structure.
EXTERNXML int rtXmlpDecInt (OSCTXT *pctxt, OSINT32 *pvalue)
 This function decodes the contents of a 32-bit integer data type.
EXTERNXML int rtXmlpDecInt8 (OSCTXT *pctxt, OSINT8 *pvalue)
 This function decodes the contents of an 8-bit integer data type (i.e.
EXTERNXML int rtXmlpDecInt16 (OSCTXT *pctxt, OSINT16 *pvalue)
 This function decodes the contents of a 16-bit integer data type.
EXTERNXML int rtXmlpDecInt64 (OSCTXT *pctxt, OSINT64 *pvalue)
 This function decodes the contents of a 64-bit integer data type.
EXTERNXML int rtXmlpDecNamedBits (OSCTXT *pctxt, const OSBitMapItem *pBitMap, OSOCTET *pvalue, OSUINT32 *pnbits, OSUINT32 bufsize)
 This function decodes the contents of a named bit field.
EXTERNXML int rtXmlpDecStrList (OSCTXT *pctxt, OSRTDList *plist)
 This function decodes a list of space-separated tokens and returns each token as a separate item on the given list.
EXTERNXML int rtXmlpDecTime (OSCTXT *pctxt, OSXSDDateTime *pvalue)
 This function decodes a variable of the XSD 'time' type.
EXTERNXML int rtXmlpDecUInt (OSCTXT *pctxt, OSUINT32 *pvalue)
 This function decodes the contents of an unsigned 32-bit integer data type.
EXTERNXML int rtXmlpDecUInt8 (OSCTXT *pctxt, OSOCTET *pvalue)
 This function decodes the contents of an unsigned 8-bit integer data type (i.e.
EXTERNXML int rtXmlpDecUInt16 (OSCTXT *pctxt, OSUINT16 *pvalue)
 This function decodes the contents of an unsigned 16-bit integer data type.
EXTERNXML int rtXmlpDecUInt64 (OSCTXT *pctxt, OSUINT64 *pvalue)
 This function decodes the contents of an unsigned 64-bit integer data type.
EXTERNXML int rtXmlpDecXmlStr (OSCTXT *pctxt, OSXMLSTRING *outdata)
 This function decodes the contents of an XML string data type.
EXTERNXML int rtXmlpDecXmlStrList (OSCTXT *pctxt, OSRTDList *plist)
 This function decodes a list of space-separated tokens and returns each token as a separate item on the given list.
EXTERNXML int rtXmlpDecXSIAttr (OSCTXT *pctxt, const OSXMLNameFragments *attrName)
 This function decodes XSI (XML Schema Instance) attributes that may be present in any arbitrary XML element within a document.
EXTERNXML int rtXmlpDecXSITypeAttr (OSCTXT *pctxt, const OSXMLNameFragments *attrName, const OSUTF8CHAR **ppAttrValue)
 This function decodes the contents of an XSI (XML Schema Instance) type attribute (xsi:type).
EXTERNXML int rtXmlpGetAttributeID (const OSXMLStrFragment *attrName, OSINT16 nsidx, size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[])
 This function finds an attribute in the descriptor table.
EXTERNXML int rtXmlpGetNextElem (OSCTXT *pctxt, OSXMLElemDescr *pElem, OSINT32 level)
 This function parse the next element start tag.
EXTERNXML int rtXmlpGetNextElemID (OSCTXT *pctxt, const OSXMLElemIDRec *tab, size_t nrows, OSINT32 level, OSBOOL continueParse)
 This function parses the next start tag and finds the index of the element name in the descriptor table.
EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT *pctxt)
 This function marks current tag as unprocessed.
EXTERNXML int rtXmlpMatchStartTag (OSCTXT *pctxt, const OSUTF8CHAR *elemLocalName, OSINT16 nsidx)
 This function parses the next start tag that matches with given name.
EXTERNXML int rtXmlpMatchEndTag (OSCTXT *pctxt, OSINT32 level)
 This function parse next end tag that matches with given name.
EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT *pctxt)
 This function checks accessibility of attributes.
EXTERNXML int rtXmlpGetAttributeCount (OSCTXT *pctxt)
 This function returns number of attributes in last processed start tag.
EXTERNXML int rtXmlpSelectAttribute (OSCTXT *pctxt, OSXMLNameFragments *pAttr, OSINT16 *nsidx, size_t attrIndex)
 This function selects attribute to decode.
EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT *pctxt)
 This function returns current nesting level.
EXTERNXML void rtXmlpSetWhiteSpaceMode (OSCTXT *pctxt, OSXMLWhiteSpaceMode whiteSpaceMode)
 Sets the whitespace treatment mode.
EXTERNXML OSBOOL rtXmlpSetMixedContentMode (OSCTXT *pctxt, OSBOOL mixedContentMode)
 Sets mixed content mode.
EXTERNXML void rtXmlpSetListMode (OSCTXT *pctxt)
 Sets list mode.
EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT *pctxt)
 Check for end of decoded token list.
EXTERNXML void rtXmlpCountListItems (OSCTXT *pctxt, OSSIZE *itemCnt)
 Count tokens in list.
EXTERNXML int rtXmlpGetNextSeqElemID2 (OSCTXT *pctxt, const OSXMLElemIDRec *tab, const OSXMLGroupDesc *pGroup, int groups, int curID, int lastMandatoryID, OSBOOL groupMode, OSBOOL checkRepeat)
 This function parses the next start tag and finds index of element name in descriptor table.
EXTERNXML int rtXmlpGetNextSeqElemID (OSCTXT *pctxt, const OSXMLElemIDRec *tab, const OSXMLGroupDesc *pGroup, int curID, int lastMandatoryID, OSBOOL groupMode)
 This function parses the next start tag and finds index of element name in descriptor table.
EXTERNXML int rtXmlpGetNextSeqElemIDExt (OSCTXT *pctxt, const OSXMLElemIDRec *tab, const OSXMLGroupDesc *ppGroup, const OSBOOL *extRequired, int postExtRootID, int curID, int lastMandatoryID, OSBOOL groupMode)
 This is an ASN.1 extension-supporting version of rtXmlpGetNextSeqElemID.
EXTERNXML int rtXmlpGetNextAllElemID (OSCTXT *pctxt, const OSXMLElemIDRec *tab, size_t nrows, const OSUINT8 *pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID)
 This function parses the next start tag and finds index of element name in descriptor table.
EXTERNXML int rtXmlpGetNextAllElemID16 (OSCTXT *pctxt, const OSXMLElemIDRec *tab, size_t nrows, const OSUINT16 *pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID)
 This function parses the next start tag and finds index of element name in descriptor table.
EXTERNXML int rtXmlpGetNextAllElemID32 (OSCTXT *pctxt, const OSXMLElemIDRec *tab, size_t nrows, const OSUINT32 *pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID)
 This function parses the next start tag and finds index of element name in descriptor table.
EXTERNXML void rtXmlpSetNamespaceTable (OSCTXT *pctxt, const OSUTF8CHAR *namespaceTable[], size_t nmNamespaces)
 Sets user namespace table.
EXTERNXML int rtXmlpCreateReader (OSCTXT *pctxt)
 Creates pull parser reader structure within the context.
EXTERNXML void rtXmlpHideAttributes (OSCTXT *pctxt)
 Disable access to attributes.
EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT *pctxt)
 This function checks if attributes were previously decoded.
EXTERNXML void rtXmlpMarkPos (OSCTXT *pctxt)
 Save current decode position.
EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT *pctxt)
 Rewind to saved decode position.
EXTERNXML void rtXmlpResetMarkedPos (OSCTXT *pctxt)
 Reset saved decode position.
EXTERNXML int rtXmlpGetXSITypeAttr (OSCTXT *pctxt, const OSUTF8CHAR **ppAttrValue, OSINT16 *nsidx, size_t *pLocalOffs)
 This function decodes the contents of an XSI (XML Schema Instance) type attribute (xsi:type).
EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT *pctxt, OSRTDList *pNSAttrs)
 This function decodes namespace attributes from start tag and adds them to the given list.
EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT *pctxt)
 This function decodes XSI (XML Schema Instance) that may be present in any arbitrary XML element within a document.
EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT *pctxt)
 Check element content: empty or not.
EXTERNXML int rtXmlEncAttrC14N (OSCTXT *pctxt)
 This function used only in C14 mode.
EXTERNXML struct OSXMLReader * rtXmlpGetReader (OSCTXT *pctxt)
 This function fetches the XML reader structure from the context for use in low-level pull parser calls.
EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT *pctxt)
 Check processing status of current tag.
EXTERNXML int rtXmlpGetXSITypeIndex (OSCTXT *pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz)
 This function decodes the contents of an XSI (XML Schema Instance) type attribute (xsi:type) and find type index in descriptor table.
EXTERNXML int rtXmlpLookupXSITypeIndex (OSCTXT *pctxt, const OSUTF8CHAR *pXsiType, OSINT16 xsiTypeIdx, const OSXMLItemDescr typetab[], size_t typetabsiz)
 This function find index of XSI (XML Schema Instance) type in descriptor table.
EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT *pctxt)
 Disable skipping of unknown elements in optional sequence tail.
EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT *pctxt)
 This function checks if "decode as group" mode was forced.
EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT *pctxt)
 This function checks if the encoding specified in XML header is UTF-8.
EXTERNXML int rtXmlpReadBytes (OSCTXT *pctxt, OSOCTET *pbuf, size_t nbytes)
 This function reads the specified number of bytes directly from the underlying XML parser stream.

Detailed Description

XML low-level C encode/decode functions.

Definition in file osrtxml.h.


Define Documentation

#define IS_XMLNSATTR ( name   ) 
Value:
((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
 name[2] == 'l' && name[3] == 'n' && name[4] == 's')

Definition at line 188 of file osrtxml.h.

#define IS_XSIATTR ( name   ) 
Value:
((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
 name[2] == 'i' && name[3] == ':')

Definition at line 192 of file osrtxml.h.

#define OSXMLQNAMEEQUALS ( xnamefrag,
qnametext   ) 
Value:
rtxUTF8StrnEqual \
(xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)

Definition at line 181 of file osrtxml.h.

#define OSXMLSETUTF8DECPTR ( pctxt,
str   ) 
Value:
rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
OSUTF8LEN (str))

Definition at line 184 of file osrtxml.h.


Typedef Documentation

OSXMLGroupDesc describes how entries in an OSXMLElemIDRec array make up a group.

Here, "group" means a set of elements, any of which may be matched next. This does not correspond directly to an XSD group.

For example, if elementA is optional and followed by non-optional elementB, then there will be a group that contains both elements. There will also be a group that contains only elementB; this will be the group of interest after elementA is matched.


Function Documentation

EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue ( const OSUTF8CHAR *  attrName,
const OSUTF8CHAR *const *  attrs 
)

This function looks up an attribute in the attribute array returned by SAX to the startElement function.

Parameters:
attrName Name of the attribute to find.
attrs Attribute array returned in SAX startElement function. This is an array of character strings containing name1, value1, name2, value2, ... List is terminated by a null name.
Returns:
Pointer to character string containing attribute value or NULL if attrName not found.
EXTERNXML OSINT16 rtSaxGetElemID ( OSINT16 *  pState,
OSINT16  prevElemIdx,
const OSUTF8CHAR *  localName,
OSINT32  nsidx,
const OSSAXElemTableRec  idtab[],
const OSINT16 *  fstab,
OSINT16  fstabRows,
OSINT16  fstabCols 
)

This function looks up a sequence element name in the given element info array.

If ensures elements are received in the correct order and also sets the required element count variable.

Parameters:
pState The pointer to state variable to be changed.
prevElemIdx Previous index of element. The search will be started from this element for better performance.
localName Local name of XML element
nsidx Namespace index
idtab Element ID table
fstab Finite state table
fstabRows Number of rows in fstab.
fstabCols Number of columns in fstab.
EXTERNXML OSINT16 rtSaxGetElemID8 ( OSINT16 *  pState,
OSINT16  prevElemIdx,
const OSUTF8CHAR *  localName,
OSINT32  nsidx,
const OSSAXElemTableRec  idtab[],
const OSINT8 *  fstab,
OSINT16  fstabRows,
OSINT16  fstabCols 
)

This function is a space optimized version of rtSaxGetElemID.

It operates with array of 8-bit integers (OSINT8) instead of 32-bit integers (int).

Parameters:
pState The pointer to state variable to be changed.
prevElemIdx Previous index of element. The search will be started from this element + 1 for better performance.
localName Local name of XML element
nsidx Namespace index
idtab Element ID table
fstab Finite state table (array of 8-bit integers)
fstabRows Number of rows in fstab.
fstabCols Number of columns in fstab.
EXTERNXML OSBOOL rtSaxHasXMLNSAttrs ( const OSUTF8CHAR *const *  attrs  ) 

This function checks if the given attribute list contains one or more XML namespace attributes (xmlns).

Parameters:
attrs Attribute list in form passed by parser into SAX startElement function.
Returns:
TRUE, if xmlns attribute found in list.
EXTERNXML OSBOOL rtSaxIsEmptyBuffer ( OSCTXT *  pctxt  ) 

This function checks if the buffer in the context is empty or not.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
TRUE, if the buffer contains empty string.
EXTERNXML int rtSaxSortAttrs ( OSCTXT *  pctxt,
const OSUTF8CHAR *const *  attrs,
OSUINT16 **  order 
)

This function sorts a SAX attribute list in ascending order based on attribute name.

It currently only supports unqualified attributes.

Parameters:
pctxt Pointer to OSCTXT structure.
attrs Standard SAX attribute list. Entry i is attribute name and i+1 is value. List is terminated by a null name.
order Order array containing the order of sorted attributes. This array is allocated using rtxMemAlloc, it can be freed using rtxMemFreePtr or will be freed when the context is freed. The list holds indicies to name items in the attribute list that is passed in.
Returns:
If success, positive value contains number of attributes in attrs; if failure, negative status code.
EXTERNXML int rtSaxStrListMatch ( OSCTXT *  pctxt  ) 

This function mathes the list of strings.

It is used for matching NMTOKENS, IDREFS, NMENTITIES.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
0 - if success, negative value is error.
EXTERNXML int rtSaxStrListParse ( OSCTXT *  pctxt,
OSRTMEMBUF *  pMemBuf,
OSRTDList *  pvalue 
)

This function parses the list of strings.

It is used for parsing NMTOKENS, IDREFS, NMENTITIES.

Parameters:
pctxt Pointer to OSCTXT structure. Can be NULL, if pMemBuf is not NULL.
pMemBuf Pointer to memory buffer structure. Can be NULL, if pctxt is not NULL.
pvalue Doubly-linked list for parsed strings.
Returns:
0 - if success, negative value is error.
EXTERNXML OSBOOL rtXmlCmpBase64Str ( OSUINT32  nocts1,
const OSOCTET *  data1,
const OSUTF8CHAR *  data2 
)

This function compares an array of octets to a base64 string.

Parameters:
nocts1 Number of octets in data1.
data1 Pointer to array of OSOCTET.
data2 Pointer to null-terminated array of OSUTF8CHAR.
Returns:
TRUE if data2 is a base64 string representation of data1, false otherwise.
EXTERNXML OSBOOL rtXmlCmpHexStr ( OSUINT32  nocts1,
const OSOCTET *  data1,
const OSUTF8CHAR *  data2 
)

This function compares an array of octets to a hex string.

Parameters:
nocts1 Number of octets in data1.
data1 Pointer to array of OSOCTET.
data2 Pointer to null-terminated array of OSUTF8CHAR.
Returns:
TRUE if data2 is a hex string representation of data1, false otherwise.
EXTERNXML int rtXmlCreateFileInputSource ( OSCTXT *  pctxt,
const char *  filepath 
)

This function creates an XML document file input source.

The document can then be decoded by invoking an XML decode function.

Parameters:
pctxt Pointer to context block structure.
filepath Full pathname of XML document file to open.
Returns:
Completion status of operation:
  • 0 = success,
  • negative return value is error.
EXTERNXML int rtXmlInitContext ( OSCTXT *  pctxt  ) 

This function initializes a context variable for XML encoding or decoding.

Parameters:
pctxt Pointer to OSCTXT structure
EXTERNXML int rtXmlInitContextUsingKey ( OSCTXT *  pctxt,
const OSOCTET *  key,
size_t  keylen 
)

This function initializes a context using a run-time key.

This form is required for evaluation and limited distribution software. The compiler will generate a macro for rtXmlInitContext in the rtkey.h file that will invoke this function with the generated run-time key.

Parameters:
pctxt The pointer to the context structure variable to be initialized.
key Key data generated by ASN1C compiler.
keylen Key data field length.
Returns:
Completion status of operation:
  • 0 (ASN_OK) = success,
  • negative return value is error.
EXTERNXML int rtXmlInitCtxtAppInfo ( OSCTXT *  pctxt  ) 

This function initializes the XML application info section of the given context.

Parameters:
pctxt Pointer to OSCTXT structure
EXTERNXML int rtXmlMatchBase64Str ( OSCTXT *  pctxt,
size_t  minLength,
size_t  maxLength 
)

This function tests the context buffer for containing a correct base64 string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
minLength A minimal length of expected string.
maxLength A maximal length of expected string.
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchDate ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct date string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchDateTime ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct dateTime string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchGDay ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct gDay string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchGMonth ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct gMonth string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchGMonthDay ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct gMonthDay string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchGYear ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct gYear string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchGYearMonth ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct gYearMonth string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchHexStr ( OSCTXT *  pctxt,
size_t  minLength,
size_t  maxLength 
)

This function tests the context buffer for containing a correct hexadecimal string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
minLength A minimal length of expected string.
maxLength A maximal length of expected string.
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML int rtXmlMatchTime ( OSCTXT *  pctxt  ) 

This function tests the context buffer for containing a correct time string.

It does not decode the value.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
If the string in the context buffer is a correct one, function returns zero. Error code (negative) will be returned otherwise. Note, error record will NOT be added in the error's list of the context.
EXTERNXML void rtXmlMemFreeAnyAttrs ( OSCTXT *  pctxt,
OSRTDList *  pAnyAttrList 
)

This function frees a list of anyAttribute that is a member of OSXSDAnyType structure.

Parameters:
pctxt Pointer to context block structure.
pAnyAttrList Pointer to list of anyAttribute that is to be freed.
EXTERNXML OSUTF8CHAR* rtXmlNewQName ( OSCTXT *  pctxt,
const OSUTF8CHAR *  localName,
const OSUTF8CHAR *  prefix 
)

This function creates a new QName given the localName and prefix parts.

Parameters:
pctxt Pointer to a context structure.
localName Element local name.
prefix Namespace prefix.
Returns:
QName value. Memory for the value will have been allocated by rtxMemAlloc and thus must be freed using one of the rtxMemFree functions. The value will be NULL if no dynamic memory was available.
EXTERNXML int rtXmlPrepareContext ( OSCTXT *  pctxt  ) 

This function prepares the context for another encode by setting the state back to OSXMLINIT and moving the buffer's cursor back to the beginning of the buffer.

Parameters:
pctxt Pointer to OSCTXT structure
Returns:
0 if OK, negative status code if error.
EXTERNXML int rtXmlSetEncC14N ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function sets the option to encode in C14N mode.

Parameters:
pctxt Pointer to OSCTXT structure
value Boolean value: true = C14N mode enabled.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetEncDocHdr ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function sets the option to add the XML document header (i.e.

<?xml version="1.0" encoding="UTF-8"?>) to the XML output stream.

Parameters:
pctxt Pointer to OSCTXT structure
value Boolean value: true = add document header
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetEncodingStr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  encodingStr 
)

This function sets the XML output encoding to the given value.

Currently, UTF-8/UTF-16/ISO-8859-1 encodings are supported.

Parameters:
pctxt Pointer to OSCTXT structure
encodingStr XML output encoding format
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetEncXSINamespace ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function sets a flag in the context that indicates the XSI namespace declaration (xmlns:xsi) should be added to the encoded XML instance.

Parameters:
pctxt Pointer to OSCTXT structure
value Boolean value: true = encode XSI namespace attribute.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetEncXSINilAttr ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function sets a flag in the context that indicates the XSI attribute declaration (xmlns:xsi) should be added to the encoded XML instance.

Parameters:
pctxt Pointer to OSCTXT structure
value Boolean value: true = encode xsi:nil attribute.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetFormatting ( OSCTXT *  pctxt,
OSBOOL  doFormatting 
)

This function sets XML output formatting to the given value.

If TRUE (the default), the XML document is formatted with indentation and newlines. If FALSE, all whitespace between elements is suppressed. Turning formatting off can provide more compressed documents and also a more canonical representation which is important for security applications. Also the function 'rtXmlSetIndent' might be used to set the exact size of identation.

Parameters:
pctxt Pointer to OSCTXT structure
doFormatting Boolean value indicating if formatting is to be done
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetIndent ( OSCTXT *  pctxt,
OSUINT8  indent 
)

This function sets XML output indent to the given value.

Parameters:
pctxt Pointer to OSCTXT structure
indent Number of spaces per indent. Default is 3.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetIndentChar ( OSCTXT *  pctxt,
char  indentChar 
)

This function sets XML output indent character to the given value.

Parameters:
pctxt Pointer to OSCTXT structure
indentChar Indent character. Default is space.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML void rtXmlSetNamespacesSet ( OSCTXT *  pctxt,
OSBOOL  value 
)

This function sets the context 'namespaces are set' flag.

This indicates that namespace declarations have been set either by the decoder or externally by the end user. It is used by the encoder to know not to set the default namespaces specified in the schema before starting encoding.

Parameters:
pctxt Pointer to OSCTXT structure.
value Boolean value to which flag is to be set.
EXTERNXML int rtXmlSetNoNSSchemaLocation ( OSCTXT *  pctxt,
const OSUTF8CHAR *  schemaLocation 
)

This function sets the XML Schema Instance (xsi) no namespace schema location attribute to be added to an encoded document.

This attribute is optional: if not set, no xsi:noNamespaceSchemaLocation attribute will be added.

Parameters:
pctxt Pointer to OSCTXT structure
schemaLocation Schema location attribute value
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetNSPrefixLinks ( OSCTXT *  pctxt,
OSRTDList *  pNSAttrs 
)

This function sets namespace prefix/URI links in the namspace prefix stack in the context structure.

Parameters:
pctxt Pointer to OSCTXT structure.
pNSAttrs List of namespace attributes.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetSchemaLocation ( OSCTXT *  pctxt,
const OSUTF8CHAR *  schemaLocation 
)

This function sets the XML Schema Instance (xsi) schema location attribute to be added to an encoded document.

This attribute is optional: if not set, no xsi:schemaLocation attribute will be added.

Parameters:
pctxt Pointer to OSCTXT structure
schemaLocation Schema location attribute value
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML void rtXmlSetSoapVersion ( OSCTXT *  pctxt,
OSUINT8  version 
)

This function sets the SOAP version number.

Parameters:
pctxt Pointer to OSCTXT structure
version SOAP version number as 2 digit integer (for example, 11 is SOAP version 1.1, 12 is version 1.2, etc.)
EXTERNXML int rtXmlSetWriteBOM ( OSCTXT *  pctxt,
OSBOOL  write 
)

This function sets whether the Unicode byte order mark is encoded.

Parameters:
pctxt Pointer to OSCTXT structure
write TRUE to encode BOM, FALSE to not encode BOM.
Returns:
Status of operation: 0 if OK, negative status code if error.
EXTERNXML int rtXmlSetXSITypeAttr ( OSCTXT *  pctxt,
const OSUTF8CHAR *  xsiType 
)

This function sets the XML Schema Instance (xsi) type attribute value.

This will cause an xsi:type attribute to be added to the top level element in an encoded XML instance.

Parameters:
pctxt Pointer to OSCTXT structure
xsiType xsi:type attribute value
Returns:
Status of operation: 0 if OK, negative status code if error.