XBinder XML Runtime  XBinder Version 3.0.x
osrtxml.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003-2022 Objective Systems, Inc.
3  *
4  * This software is furnished under a license and may be used and copied
5  * only in accordance with the terms of such license and with the
6  * inclusion of the above copyright notice. This software or any other
7  * copies thereof may not be provided or otherwise made available to any
8  * other person. No title to and ownership of the software is hereby
9  * transferred.
10  *
11  * The information in this software is subject to change without notice
12  * and should not be construed as a commitment by Objective Systems, Inc.
13  *
14  * PROPRIETARY NOTICE
15  *
16  * This software is an unpublished work subject to a confidentiality agreement
17  * and is protected by copyright and trade secret law. Unauthorized copying,
18  * redistribution or other use of this work is prohibited.
19  *
20  * The above notice of copyright on this source code product does not indicate
21  * any actual or intended publication of such source code.
22  *
23  *****************************************************************************/
24 
44 #ifndef _OSRTXML_H_
45 #define _OSRTXML_H_
46 
47 #define OSXMLNS12
48 
49 #include "rtxsrc/rtxCommon.h"
50 #include "rtxmlsrc/rtSaxDefs.h"
51 #include "rtxsrc/rtxDList.h"
52 #include "rtxsrc/rtxMemBuf.h"
53 #include "rtxmlsrc/rtXmlExternDefs.h"
54 #include "rtxmlsrc/rtXmlErrCodes.h"
55 #include "rtxmlsrc/rtXmlNamespace.h"
56 
57 /* XML specific context flags */
58 
59 #define OSUPCASE 0x00008000 /* convert characters to upper case */
60 #define OSTERMSTART 0x00004000 /* term for start elem (>) needed */
61 #define OSEMPTYELEM 0x00002000 /* element is empty (no content) */
62 #define OSQUALATTR 0x00001000 /* qualified attribute */
63 #define OSXMLFRAG 0x00000800 /* XML fragment (not full doc) */
64 #define OSXMLNSSET 0x00000400 /* Indicates namespaces are set */
65 #define OSXMLC14N 0x00000200 /* Flag used to indicate XML canonical
66  encode when OSASN1XER is not set, or
67  canonical XER when OSASN1XER is set. */
68 #define OSXSIATTR 0x00000100 /* add xsi ns decl to encoded msg */
69 #define OSXMLNOCMPNS 0x00000080 /* match local names only */
70 #define OSXSINIL 0x00000040 /* add xsi:nil decl to encoded msg */
71 #define OSHASDEFAULT 0x00000010 /* decode should accept values which
72  are empty after whitespace processing
73  because the element has a default
74  value */
75 #define OSASN1XER 0x00000008 /* if true, -xml code and runtime
76  should produce XER encodings
77  instead of Obj-Sys encodings */
78 
79 typedef enum {
80  OSXMLUTF8,
81  OSXMLUTF16,
82  OSXMLUTF16BE,
83  OSXMLUTF16LE,
84  OSXMLLATIN1
85 } OSXMLEncoding;
86 
87 typedef enum {
88  OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
89 } OSXMLSOAPMsgType;
90 
91 typedef enum {
92  OSXMLBOM_NO_BOM,
93  OSXMLBOM_UTF32_BE,
94  OSXMLBOM_UTF32_LE,
95  OSXMLBOM_UTF16_BE,
96  OSXMLBOM_UTF16_LE,
97  OSXMLBOM_UTF8,
98  OSXMLBOM_CHECK
99 } OSXMLBOM;
100 
101 typedef struct OSXMLFacets {
102  int totalDigits;
103  int fractionDigits;
104 } OSXMLFacets;
105 
106 typedef struct {
107  const OSUTF8CHAR* value;
108  OSSIZE length;
110 
111 typedef struct {
112  OSXMLStrFragment mQName;
113  OSXMLStrFragment mLocalName;
114  OSXMLStrFragment mPrefix;
116 
117 typedef struct OSXMLItemDescr {
118  OSXMLStrFragment localName;
119  OSINT16 nsidx; /* namespace index */
121 
124 
125 typedef struct OSXMLElemIDRec {
126  OSXMLElemDescr descr;
127  OSUINT16 id;
129 
140 typedef struct OSXMLGroupDesc {
141  /* row: identifies the index in an OSXMLElemIDRec[] for the first element
142  that is in this group.
143  */
144  int row;
145 
146  /* num: The number of elements that are in this group, each of which has
147  a row in the OSXMLElemIDRec array. Thus, if tab is such an array, the
148  elements for this group are found in tab[row]..tab[row+num-1] */
149  int num;
150 
151  /* anyCase: The id to return when an unexpected element is found when
152  matching against the group. -1 if an unexpected element should not
153  be matched.
154  */
155  int anyCase;
157 
158 typedef struct OSXSDAnyType {
159  OSXMLSTRING value;
160  OSRTDList attrs;
161 } OSXSDAnyType;
162 
163 typedef enum {
164  OSXMLNSI_UNQUALIFIED = 0,
165  OSXMLNSI_UNKNOWN = -1,
166  OSXMLNSI_UNCHECKED = -2,
167  OSXMLNSI_XSI = -3,
168  OSXMLNSI_XMLNS = -4,
169  OSXMLNSI_XML = -5,
170  OSXMLNSI_SOAP_ENVELOPE = -6,
171  OSXMLNSI_XSD = -7
172 } OSXMLNsIndex;
173 
174 struct OSXMLReader;
175 
176 #define OSXMLFRAGSEQUAL(frag1,frag2) \
177 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
178 
179 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
180 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
181 
182 #define OSXMLSETUTF8DECPTR(pctxt,str) \
183 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
184 OSUTF8LEN (str))
185 
186 #define IS_XMLNSATTR(name) \
187 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
188  name[2] == 'l' && name[3] == 'n' && name[4] == 's')
189 
190 #define IS_XSIATTR(name) \
191 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
192  name[2] == 'i' && name[3] == ':')
193 
194 /* XML header declaration encoding strings */
195 
196 static const char OSXMLHDRUTF8 [] = "UTF-8";
197 static const char OSXMLHDRUTF16 [] = "UTF-16";
198 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
199 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
200 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
201 
202 /*
203  * NOTE: If a field is added to this structure, make sure to add code to
204  * to rtXmlInitCtxtAppInfo in rtXmlContext.c to initialize it.
205  */
206 typedef struct {
207  OSFreeCtxtAppInfoPtr pFreeFunc; /* Free function pointer */
208  OSResetCtxtAppInfoPtr pResetFunc;/* Reset function pointer */
209  OSUTF8CHAR* schemaLocation; /* xsi:schemaLocation attribute */
210  OSUTF8CHAR* noNSSchemaLoc; /* xsi:noNamespaceSchemaLocation attr */
211  OSUTF8CHAR* xsiTypeAttr; /* xsi:type attribute value */
212  OSXMLEncoding encoding; /* XML document encoding (ex. UTF-8) */
213  OSRTDList namespaceList; /* list of OSXMLNamespace */
214  OSRTDList encodedNSList; /* list of encoded OSXMLNamespace */
215  OSRTDList sortedAttrList; /* list of sorted attributes */
216  OSXMLNSPfxLinkStack nsPfxLinkStack;
217  OSXMLNSURITable nsURITable;
218  OSRTMEMBUF memBuf; /* memory buffer for character method */
219  OSINT32 mSaxLevel;
220  OSINT32 mSkipLevel;
221  OSUINT32 maxSaxErrors; /* maximum number of errors */
222  OSUINT32 errorsCnt; /* counter of errors */
223  OSUINT8 indent; /* XML output indent */
224  OSBOOL mbCdataProcessed; /* CDATA section was processed */
225  char indentChar; /* indent char, default is space (' ') */
226  OSUINT8 soapVersion; /* SOAP version (11 or 12) */
227  OSXMLFacets facets;
228  const OSUTF8CHAR* encodingStr;/* name of encoding ("UTF-8", "ISO-...")*/
229  OSXMLBOM byteOrderMark;
230  struct OSXMLReader* pXmlPPReader; /* pull-parser reader object */
231  /* fields for encode canonical XML*/
232  OSRTBuffer savedBuffer;
233  OSRTFLAGS savedFlags;
234  OSOCTET* attrsBuff;
235  OSSIZE attrsBuffSize;
236  OSSIZE attrStartPos;
237 } OSXMLCtxtInfo;
238 
239 /*
240 Options for encoding an ASN.1 REAL type to XML.
241 OSXMLREALOBJSYS: follow Obj-Sys XML rules
242 OSXMLREALBXER: follow basic-XER rules
243 OSXMLREALEXERMODS: follow extended-XER rules for when MODIFIED-ENCODINGS is
244  given.
245 OSXMLREALEXERDEC: follow extended-XER rules for when DECIMAL is given.
246 
247 */
248 typedef enum {
249  OSXMLREALOBJSYS,
250  OSXMLREALBXER,
251  OSXMLREALEXERMODS,
252  OSXMLREALEXERDEC
253 } OSXMLREALEncoding;
254 
255 typedef enum {
256  OSXMLINIT,
257  OSXMLHEADER,
258  OSXMLSTART,
259  OSXMLATTR,
260  OSXMLDATA,
261  OSXMLEND,
262  OSXMLCOMMENT
263 } OSXMLState;
264 
265 typedef struct OSXMLQName {
266  const OSUTF8CHAR* nsPrefix;
267  const OSUTF8CHAR* ncName;
268 } OSXMLQName;
269 
270 struct OSSAXHandlerBase;
271 
272 typedef struct OSIntegerFmt {
273  OSINT8 integerMaxDigits; /* Maximum digits in integer part;
274  leading zeros will be added, if necessary. */
275  OSBOOL signPresent; /* Indicates, sign must present, even if value
276  is positive. */
277 } OSIntegerFmt;
278 
279 
280 typedef struct {
281  OSSIZE offset;
282  OSSIZE length;
283  OSSIZE prefixLength;
284  OSSIZE nameLength;
286 
287 #define OSXMLINDENT 3
288 
289 #ifdef XML_UNICODE
290 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
291 #else
292 #define rtXmlErrAddStrParm rtxErrAddStrParm
293 #endif
294 
298 typedef enum {
299  OSXMLWSM_PRESERVE = 0,
300  OSXMLWSM_REPLACE,
301  OSXMLWSM_COLLAPSE
303 
304 #ifdef __cplusplus
305 extern "C" {
306 #endif
307 
308 /* run-time XML function prototypes */
309 
310 #ifndef rtXmlInitContext
311 
317 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
318 #endif
319 
334 EXTERNXML int rtXmlInitContextUsingKey
335 (OSCTXT* pctxt, const OSOCTET* key, OSSIZE keylen);
336 
343 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
344 
355 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
356 
357 EXTERNXML OSBOOL rtXmlCmpQName
358 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
359 
360 EXTERNXML int rtXmlGetBase64StrDecodedLen
361  (const OSUTF8CHAR* inpdata, OSSIZE srcDataSize,
362  OSSIZE* pNumOcts, OSSIZE* pSrcDataLen);
363 
371 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
372 
393 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
394  const OSUTF8CHAR* inpdata,
395  OSSIZE length);
396 
420 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
421  OSOCTET* pvalue, OSUINT32* pnocts,
422  OSINT32 bufsize);
423 
424 
447 EXTERNXML int rtXmlDecBase64Str64 (OSCTXT* pctxt,
448  OSOCTET* pvalue, OSSIZE* pnocts,
449  OSSIZE bufsize);
450 
451 
477 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
478  OSOCTET* pvalue, OSUINT32* pnocts,
479  OSSIZE bufSize, OSSIZE srcDataLen);
480 
481 
505 EXTERNXML int rtXmlDecBase64StrValue64 (OSCTXT* pctxt,
506  OSOCTET* pvalue, OSSIZE* pnocts,
507  OSSIZE bufSize, OSSIZE srcDataLen);
508 
530 EXTERNXML int rtXmlDecBigInt
531 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
532 
543 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
544 
557 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
558 
577 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
578 
591 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
592 
605 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
606 
619 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
620 
637 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
638 
639 
655 EXTERNXML int rtXmlDecDynBase64Str64 (OSCTXT* pctxt, OSDynOctStr64* pvalue);
656 
657 
673 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
674 
675 
691 EXTERNXML int rtXmlDecDynHexStr64 (OSCTXT* pctxt, OSDynOctStr64* pvalue);
692 
693 
708 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
709 
723 EXTERNXML int rtXmlDecUTF8Str
724 (OSCTXT* pctxt, OSUTF8CHAR* outdata, OSSIZE max_len);
725 
726 
740 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
741 
760 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
761  const OSUTF8CHAR* inpdata,
762  OSSIZE length);
763 
786 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
787  OSOCTET* pvalue, OSUINT32* pnocts,
788  OSINT32 bufsize);
789 
812 EXTERNXML int rtXmlDecHexStr64 (OSCTXT* pctxt,
813  OSOCTET* pvalue, OSSIZE* pnocts,
814  OSSIZE bufsize);
815 
816 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
817  const OSUTF8CHAR* const inpdata, OSSIZE nbytes, OSOCTET* pvalue,
818  OSUINT32* pnbits, OSINT32 bufsize);
819 
820 EXTERNXML int rtXmlDecHexStrValue64 (OSCTXT* pctxt,
821  const OSUTF8CHAR* const inpdata, OSSIZE nbytes, OSOCTET* pvalue,
822  OSSIZE* pnbits, OSSIZE bufsize);
823 
824 
837 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
838 
851 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
852 
865 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
866 
879 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
880 
893 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
894 
907 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
908 
922 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
923 
936 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
937 
950 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
951 
964 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
965 
979 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
980 
993 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
994 
1007 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
1008 
1027 EXTERNXML int rtXmlDecNSAttr
1028 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
1029  OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
1030 
1055 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
1056 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
1057 
1070 EXTERNXML int rtXmlDecXSIAttr
1071  (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
1072 
1087 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
1088  const char* typeName);
1089 
1106 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
1107 
1120 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
1121 
1134 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
1135 
1161 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
1162  const OSUTF8CHAR* elemName,
1163  OSXMLNamespace* pNS);
1164 
1165 EXTERNXML int rtXmlEncAnyStr
1166 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
1167  const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
1168 
1180 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
1181 
1192 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
1193 
1208 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSSIZE nocts,
1209  const OSOCTET* value,
1210  const OSUTF8CHAR* elemName,
1211  OSXMLNamespace* pNS);
1212 
1226 EXTERNXML int rtXmlEncBase64BinaryAttr
1227  (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
1228  const OSUTF8CHAR* attrName, OSSIZE attrNameLen);
1229 
1241 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSSIZE nocts,
1242  const OSOCTET* value);
1243 
1244 
1268 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
1269  const OSUTF8CHAR* elemName,
1270  OSXMLNamespace* pNS);
1271 
1286 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
1287  const OSUTF8CHAR* attrName, OSSIZE attrNameLen);
1288 
1302 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
1303 
1321 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSSIZE nbits,
1322  const OSOCTET* value,
1323  const OSUTF8CHAR* elemName,
1324  OSXMLNamespace* pNS);
1325 
1344 EXTERNXML int rtXmlEncBitStringExt (OSCTXT* pctxt, OSSIZE nbits,
1345  const OSOCTET* value,
1346  OSSIZE dataSize,
1347  const OSOCTET* extValue,
1348  const OSUTF8CHAR* elemName,
1349  OSXMLNamespace* pNS);
1350 
1362 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
1363  OSSIZE nbits,
1364  const OSOCTET* data);
1365 
1380 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
1381  const OSUTF8CHAR* elemName,
1382  OSXMLNamespace* pNS);
1383 
1394 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
1395 
1407 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
1408  const OSUTF8CHAR* attrName,
1409  OSSIZE attrNameLen);
1410 
1420 EXTERNXML int rtXmlEncCanonicalSort(OSCTXT* pctxt, OSCTXT* pBufCtxt,
1421  OSRTSList* pList);
1422 
1423 
1434 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
1435 
1453 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1454  const OSUTF8CHAR* elemName,
1455  OSXMLNamespace* pNS);
1456 
1470 EXTERNXML int rtXmlEncDateValue
1471  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1472 
1496 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1497  const OSUTF8CHAR* elemName,
1498  OSXMLNamespace* pNS);
1499 
1512 EXTERNXML int rtXmlEncTimeValue
1513  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1514 
1530 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1531  const OSUTF8CHAR* elemName,
1532  OSXMLNamespace* pNS);
1533 
1545 EXTERNXML int rtXmlEncDateTimeValue
1546  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1547 
1562 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
1563  const OSUTF8CHAR* elemName,
1564  OSXMLNamespace* pNS,
1565  const OSDecimalFmt* pFmtSpec);
1566 
1579 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
1580  const OSUTF8CHAR* attrName,
1581  OSSIZE attrNameLen,
1582  const OSDecimalFmt* pFmtSpec);
1583 
1601 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
1602  const OSDecimalFmt* pFmtSpec,
1603  char* pDestBuf, OSSIZE destBufSize);
1604 
1619 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
1620  const OSUTF8CHAR* elemName,
1621  OSXMLNamespace* pNS,
1622  const OSDoubleFmt* pFmtSpec);
1623 
1636 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
1637  const OSUTF8CHAR* attrName,
1638  OSSIZE attrNameLen,
1639  const OSDoubleFmt* pFmtSpec);
1640 
1655 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
1656  const OSDoubleFmt* pFmtSpec,
1657  int defaultPrecision);
1658 
1674 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
1675  const OSDoubleFmt* pFmtSpec,
1676  int defaultPrecision);
1677 
1690 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
1691  const OSUTF8CHAR* elemName,
1692  OSXMLNamespace* pNS,
1693  OSRTDList* pNSAttrs,
1694  OSBOOL terminate);
1695 
1705 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
1706 
1717 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
1718  const OSUTF8CHAR* elemName,
1719  OSXMLNamespace* pNS);
1720 
1730 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
1731 
1743 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
1744 
1759 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
1760  const OSUTF8CHAR* elemName,
1761  OSXMLNamespace* pNS,
1762  const OSDoubleFmt* pFmtSpec);
1763 
1776 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
1777  const OSUTF8CHAR* attrName,
1778  OSSIZE attrNameLen,
1779  const OSDoubleFmt* pFmtSpec);
1780 
1795 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1796  const OSUTF8CHAR* elemName,
1797  OSXMLNamespace* pNS);
1798 
1813 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1814  const OSUTF8CHAR* elemName,
1815  OSXMLNamespace* pNS);
1816 
1831 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1832  const OSUTF8CHAR* elemName,
1833  OSXMLNamespace* pNS);
1834 
1849 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1850  const OSUTF8CHAR* elemName,
1851  OSXMLNamespace* pNS);
1852 
1867 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
1868  const OSUTF8CHAR* elemName,
1869  OSXMLNamespace* pNS);
1870 
1882 EXTERNXML int rtXmlEncGYearValue
1883  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1884 
1896 EXTERNXML int rtXmlEncGYearMonthValue
1897  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1898 
1910 EXTERNXML int rtXmlEncGMonthValue
1911  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1912 
1924 EXTERNXML int rtXmlEncGMonthDayValue
1925  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1926 
1938 EXTERNXML int rtXmlEncGDayValue
1939  (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
1940 
1955 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSSIZE nocts,
1956  const OSOCTET* value,
1957  const OSUTF8CHAR* elemName,
1958  OSXMLNamespace* pNS);
1959 
1972 EXTERNXML int rtXmlEncHexBinaryAttr
1973  (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
1974  const OSUTF8CHAR* attrName, OSSIZE attrNameLen);
1975 
1987 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
1988  OSSIZE nocts,
1989  const OSOCTET* data);
1990 
2001 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
2002 
2016 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
2017  const OSUTF8CHAR* elemName,
2018  OSXMLNamespace* pNS);
2019 
2030 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
2031 
2044 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
2045  const OSUTF8CHAR* attrName,
2046  OSSIZE attrNameLen);
2047 
2063 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
2064  const OSUTF8CHAR* elemName,
2065  OSXMLNamespace* pNS,
2066  const OSUTF8CHAR* pattern);
2067 
2068 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
2069  const OSUTF8CHAR* pattern);
2070 
2071 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
2072  const OSUTF8CHAR* elemName,
2073  OSXMLNamespace* pNS,
2074  const OSUTF8CHAR* pattern);
2075 
2076 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
2077  const OSUTF8CHAR* pattern);
2078 
2093 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
2094  const OSUTF8CHAR* elemName,
2095  OSXMLNamespace* pNS);
2096 
2097 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
2098  const OSUTF8CHAR* elemName,
2099  OSXMLNamespace* pNS,
2100  const OSUTF8CHAR* pattern);
2101 
2113 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
2114 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
2115  const OSUTF8CHAR* pattern);
2116 
2130 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
2131  const OSUTF8CHAR* attrName,
2132  OSSIZE attrNameLen);
2133 
2152 EXTERNXML int rtXmlEncNamedBits
2153 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSSIZE nbits,
2154  const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
2155 
2156 EXTERNXML int rtXmlEncNamedBitsValue
2157 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSSIZE nbits,
2158  const OSOCTET* pvalue);
2159 
2173 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
2174 
2184 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
2185 
2186 /* The following is required for backward compatibility */
2187 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
2188 
2205 EXTERNXML int rtXmlEncReal10
2206 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
2207  OSXMLNamespace* pNS);
2208 
2222 EXTERNXML int rtXmlEncSoapArrayTypeAttr
2223 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
2224  OSSIZE itemCount);
2225 
2226 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
2227 (OSCTXT* pctxt, const OSUTF8CHAR* name, OSSIZE nameLen,
2228  const OSUTF8CHAR* value, OSSIZE valueLen, OSSIZE itemCount);
2229 
2241 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
2242 
2253 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
2269 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
2270  const OSUTF8CHAR* elemName,
2271  OSXMLNamespace* pNS,
2272  OSRTDList* pNSAttrs,
2273  OSBOOL terminate);
2274 
2286 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
2287 
2299 EXTERNXML int rtXmlEncStartSoapElems
2300 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
2301 
2314 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
2315  OSXMLSTRING* pxmlstr,
2316  const OSUTF8CHAR* elemName,
2317  OSXMLNamespace* pNS);
2318 
2328 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
2329 
2340 EXTERNXML int rtXmlEncStringValue2
2341  (OSCTXT* pctxt, const OSUTF8CHAR* value, OSSIZE valueLen);
2342 
2353 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
2354 
2370 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
2371  const OSUNICHAR* value,
2372  OSSIZE nchars,
2373  const OSUTF8CHAR* elemName,
2374  OSXMLNamespace* pNS);
2375 
2387 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
2388  const OSUTF8CHAR* name,
2389  const OSUTF8CHAR* value);
2390 
2404 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
2405  const OSUTF8CHAR* name, OSSIZE nameLen,
2406  const OSUTF8CHAR* value, OSSIZE valueLen);
2407 
2421 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
2422  const OSUTF8CHAR* value,
2423  const OSUTF8CHAR* elemName,
2424  OSXMLNamespace* pNS);
2425 
2439 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
2440  const OSUTF8CHAR* elemName,
2441  OSXMLNamespace* pNS);
2442 
2454 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
2455 
2468 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
2469  const OSUTF8CHAR* attrName,
2470  OSSIZE attrNameLen);
2471 
2487 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
2488  const OSUTF8CHAR* elemName,
2489  OSXMLNamespace* pNS);
2490 
2491 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
2492  const OSUTF8CHAR* elemName,
2493  OSXMLNamespace* pNS,
2494  const OSUTF8CHAR* pattern);
2495 
2508 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
2509 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
2510  const OSUTF8CHAR* pattern);
2511 
2525 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
2526  const OSUTF8CHAR* attrName,
2527  OSSIZE attrNameLen);
2528 
2548 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
2549 
2560 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
2561 
2574 EXTERNXML int rtXmlEncXSITypeAttr2 (OSCTXT* pctxt,
2575  const OSUTF8CHAR* typeNsUri,
2576  const OSUTF8CHAR* typeName);
2577 
2586 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
2587 
2598 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
2599 
2600 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
2601 
2602 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
2603  const char* text2, OSSIZE len);
2604 
2605 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
2606 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
2607 (pMemBuf)->pctxt->buffer.size = \
2608 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
2609 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
2610 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
2611 rtxMemBufReset (pMemBuf); \
2612 } while(0)
2613 
2639 EXTERNXML int rtXmlSetEncBufPtr
2640 (OSCTXT* pctxt, OSOCTET* bufaddr, OSSIZE bufsiz);
2641 
2650 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
2651 
2657 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
2658 
2659 
2667 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
2668 
2669 
2678 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
2679 
2688 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
2701 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
2702 
2711 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
2712 
2723 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
2724 
2735 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
2736 
2737 EXTERNXML int rtXmlSetDigitsFacets
2738  (OSCTXT* pctxt, int totalDigits, int fractionDigits);
2739 
2750 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
2751 
2761 EXTERNXML int rtXmlSetEncodingStr
2762 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
2763 
2779 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
2780 
2789 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
2790 
2799 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
2800 
2811 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
2812 
2822 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
2823 
2835 EXTERNXML int rtXmlSetSchemaLocation
2836 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
2837 
2849 EXTERNXML int rtXmlSetNoNSSchemaLocation
2850 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
2851 
2860 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
2861 
2872 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
2873 
2882 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
2883 
2884 #include "rtxmlsrc/rtXmlNamespace.h"
2885 
2899 EXTERNXML int rtXmlMatchHexStr
2900 (OSCTXT* pctxt, OSSIZE minLength, OSSIZE maxLength);
2901 
2915 EXTERNXML int rtXmlMatchBase64Str
2916 (OSCTXT* pctxt, OSSIZE minLength, OSSIZE maxLength);
2917 
2929 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
2930 
2942 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
2943 
2955 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
2956 
2968 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
2969 
2981 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
2982 
2994 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
2995 
3007 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
3008 
3020 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
3021 
3034 EXTERNXML OSUTF8CHAR* rtXmlNewQName
3035 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
3036 
3046 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
3047  const OSOCTET* data1,
3048  const OSUTF8CHAR* data2);
3049 
3059 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
3060  const OSOCTET* data1,
3061  const OSUTF8CHAR* data2);
3062 
3063 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
3064 
3065 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
3066  OSSIZE nAttr,
3067  const OSUTF8CHAR* attrNames[],
3068  OSUINT32 attrPresent[]);
3069 
3082 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
3083 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
3084 
3100 EXTERNXML OSINT16 rtSaxGetElemID
3101 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
3102 #ifdef OSXMLNS12
3103  OSINT32 nsidx, /* namespace index */
3104 #endif
3105 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
3106  OSINT16 fstabRows, OSINT16 fstabCols);
3107 
3123 EXTERNXML OSINT16 rtSaxGetElemID8
3124 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
3125 #ifdef OSXMLNS12
3126  OSINT32 nsidx, /* namespace index */
3127 #endif
3128  const OSSAXElemTableRec idtab[], const OSINT8* fstab,
3129  OSINT16 fstabRows, OSINT16 fstabCols);
3130 
3131 EXTERNXML OSINT16 rtSaxFindElemID
3132 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
3133 #ifdef OSXMLNS12
3134  OSINT32 nsidx, /* namespace index */
3135 #endif
3136  const OSSAXElemTableRec idtab[], const OSINT16* fstab,
3137  OSINT16 fstabRows, OSINT16 fstabCols);
3138 
3139 EXTERNXML OSINT16 rtSaxFindElemID8
3140 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
3141 #ifdef OSXMLNS12
3142  OSINT32 nsidx, /* namespace index */
3143 #endif
3144  const OSSAXElemTableRec idtab[], const OSINT8* fstab,
3145  OSINT16 fstabRows, OSINT16 fstabCols);
3146 
3155 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
3156 
3164 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
3165 
3166 EXTERNXML OSINT16 rtSaxLookupElemID
3167 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
3168  const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
3169 #ifdef OSXMLNS12
3170  OSINT32 nsidx, /* namespace index */
3171 #endif
3172  const OSSAXElemTableRec idtab[], const OSINT16* fstab,
3173  OSINT16 fstabRows, OSINT16 fstabCols);
3174 
3175 EXTERNXML OSINT16 rtSaxLookupElemID8
3176 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
3177  const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
3178 #ifdef OSXMLNS12
3179  OSINT32 nsidx, /* namespace index */
3180 #endif
3181  const OSSAXElemTableRec idtab[], const OSINT8* fstab,
3182  OSINT16 fstabRows, OSINT16 fstabCols);
3183 
3195 EXTERNXML int rtSaxStrListParse
3196 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
3197 
3216 EXTERNXML int rtSaxSortAttrs
3217 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
3218 
3226 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
3227 
3228 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
3229  OSINT16 currElemIdx,
3230  const int* fstab,
3231  int fstabRows, int fstabCols);
3232 
3233 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
3234  OSINT16 currElemIdx,
3235  const OSINT8* fstab,
3236  int fstabRows, int fstabCols);
3237 
3238 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
3239 
3240 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
3241 
3242 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
3243 
3244 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
3245  const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
3246  const OSUTF8CHAR* const* attrNames, OSSIZE numOfAttrs,
3247  const char* parentTypeName);
3248 
3249 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
3250 
3251 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
3252  const OSUTF8CHAR* const* attrs,
3253  const char* typeName);
3254 
3267 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
3268 
3269 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
3270 
3271 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
3272 
3273 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, OSSIZE byte_count);
3274 
3279 EXTERNXML void rtErrXmlInit (OSVOIDARG);
3280 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
3281 EXTERNXML int rtXmlWriteChars
3282 (OSCTXT* pctxt, const OSUTF8CHAR* value, OSSIZE len);
3283 
3303 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
3304 
3318 EXTERNXML int rtXmlpDecAny2 (OSCTXT* pctxt, OSUTF8CHAR** pvalue);
3319 
3336 EXTERNXML int rtXmlpDecAnyAttrStr
3337 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, OSSIZE attrIndex);
3338 
3358 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
3359 
3385 EXTERNXML int rtXmlpDecBase64Str
3386 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSSIZE bufsize);
3387 
3388 
3411 EXTERNXML int rtXmlpDecBase64Str64
3412 (OSCTXT* pctxt, OSOCTET* pvalue, OSSIZE* pnocts, OSSIZE bufsize);
3413 
3414 
3438 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
3439 
3456 EXTERNXML int rtXmlpDecBitString
3457 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
3458 
3479 EXTERNXML int rtXmlpDecBitString64
3480 (OSCTXT* pctxt, OSOCTET* pvalue, OSSIZE* pnbits, OSSIZE bufsize);
3481 
3500 EXTERNXML int rtXmlpDecBitStringExt(OSCTXT* pctxt, OSOCTET* pvalue,
3501  OSUINT32* pnbits, OSOCTET** ppextdata, OSUINT32 bufsize);
3502 
3525 EXTERNXML int rtXmlpDecBitStringExt64(OSCTXT* pctxt, OSOCTET* pvalue,
3526  OSSIZE* pnbits, OSOCTET** ppextdata, OSSIZE bufsize);
3527 
3540 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
3541 
3554 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3555 
3568 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3569 
3588 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
3589  int totalDigits, int fractionDigits);
3590 
3603 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
3604 
3605 #define OSXMLREALENC_OBJSYS 0x1F /* Obj-Sys XML encoding rules */
3606 #define OSXMLREALENC_BXER 0x10 /* basic-XER */
3607 #define OSXMLREALENC_EXERMODS 0x1B /* extended-XER with MODIFIED-ENCODINGS */
3608 #define OSXMLREALENC_EXERDECIMAL 0x03 /* extended-XER with DECIMAL */
3609 
3630 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
3631  OSREAL* pvalue);
3632 
3633 
3652 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
3653 
3654 
3670 EXTERNXML int rtXmlpDecDynBase64Str64 (OSCTXT* pctxt, OSDynOctStr64* pvalue);
3671 
3685 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
3686 
3704 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
3705 
3721 EXTERNXML int rtXmlpDecDynHexStr64 (OSCTXT* pctxt, OSDynOctStr64* pvalue);
3722 
3740 EXTERNXML int rtXmlpDecDynUnicodeStr
3741 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSSIZE* pnchars);
3742 
3756 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
3757 
3758 
3772 EXTERNXML int rtXmlpDecUTF8Str
3773 (OSCTXT* pctxt, OSUTF8CHAR* out, OSSIZE max_len);
3774 
3787 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3788 
3801 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3802 
3815 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3816 
3829 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3830 
3843 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
3844 
3869 EXTERNXML int rtXmlpDecHexStr
3870 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSSIZE bufsize);
3871 
3895 EXTERNXML int rtXmlpDecHexStr64
3896 (OSCTXT* pctxt, OSOCTET* pvalue, OSSIZE* pnocts, OSSIZE bufsize);
3897 
3910 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
3911 
3925 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
3926 
3939 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
3940 
3953 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
3954 
3971 EXTERNXML int rtXmlpDecNamedBits
3972 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
3973  OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
3974 
3991 EXTERNXML int rtXmlpDecNamedBits64
3992 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
3993  OSOCTET* pvalue, OSSIZE* pnbits, OSSIZE bufsize);
3994 
4011 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
4012 
4031 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
4032 
4045 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
4046 
4060 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
4061 
4074 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
4075 
4088 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
4089 
4090 #if defined OSSIZE_IS_32BITS
4091  #define rtXmlpDecSize(pctxt, pvalue) rtXmlpDecUInt(pctxt, pvalue)
4092 #elif defined OSSIZE_IS_64BITS
4093  #define rtXmlpDecSize(pctxt, pvalue) rtXmlpDecUInt64(pctxt, pvalue)
4094 #endif
4095 
4112 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
4113 
4130 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
4131 
4149 EXTERNXML int rtXmlpDecXSIAttr
4150 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
4151 
4177 EXTERNXML int rtXmlpDecXSITypeAttr
4178 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
4179  const OSUTF8CHAR** ppAttrValue);
4180 
4204 EXTERNXML int rtXmlpGetAttributeID
4205 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
4206  OSSIZE nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
4207 
4220 EXTERNXML int rtXmlpGetNextElem
4221 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
4222 
4243 EXTERNXML int rtXmlpGetNextElemID
4244 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, OSSIZE nrows, OSINT32 level,
4245  OSBOOL continueParse);
4246 
4256 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
4257 
4273 EXTERNXML int rtXmlpMatchStartTag
4274  (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
4275 
4286 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
4287 
4298 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
4299 
4308 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
4309 
4328 EXTERNXML int rtXmlpSelectAttribute
4329 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, OSSIZE attrIndex);
4330 
4337 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
4338 
4349 EXTERNXML void rtXmlpSetWhiteSpaceMode
4350  (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
4351 
4359 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
4360  (OSCTXT* pctxt, OSBOOL mixedContentMode);
4361 
4367 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
4368 
4377 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
4378 
4388 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
4389 
4412 EXTERNXML int rtXmlpGetNextSeqElemID2
4413 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
4414  int groups, int curID, int lastMandatoryID, OSBOOL groupMode,
4415  OSBOOL checkRepeat);
4416 
4451 EXTERNXML int rtXmlpGetNextSeqElemID
4452 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
4453  int curID, int lastMandatoryID, OSBOOL groupMode);
4454 
4480 EXTERNXML int rtXmlpGetNextSeqElemIDExt
4481 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* ppGroup,
4482  const OSBOOL* extRequired, int postExtRootID,
4483  int curID, int lastMandatoryID, OSBOOL groupMode);
4484 
4485 
4501 EXTERNXML int rtXmlpGetNextAllElemID
4502 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, OSSIZE nrows,
4503  const OSUINT8* pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID);
4504 
4521 EXTERNXML int rtXmlpGetNextAllElemID16
4522 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, OSSIZE nrows,
4523  const OSUINT16* pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID);
4524 
4525 
4541 EXTERNXML int rtXmlpGetNextAllElemID32
4542 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, OSSIZE nrows,
4543  const OSUINT32* pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID);
4544 
4545 
4553 EXTERNXML void rtXmlpSetNamespaceTable
4554 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], OSSIZE nmNamespaces);
4555 
4564 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
4565 
4572 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
4573 
4582 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
4583 
4589 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
4590 
4596 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
4597 
4603 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
4604 
4621 EXTERNXML int rtXmlpGetXSITypeAttr
4622 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
4623  OSSIZE* pLocalOffs);
4624 
4635 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
4636 
4646 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
4647 
4656 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
4657 
4666 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
4667 
4677 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
4678 
4687 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
4688 
4700 EXTERNXML int rtXmlpGetXSITypeIndex
4701 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], OSSIZE typetabsiz);
4702 
4716 EXTERNXML int rtXmlpLookupXSITypeIndex
4717 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
4718  const OSXMLItemDescr typetab[], OSSIZE typetabsiz);
4719 
4727 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
4728 
4737 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
4738 
4748 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
4749 
4764 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, OSSIZE nbytes);
4765 
4770 #ifdef __cplusplus
4771 }
4772 #endif
4773 
4774 #endif
EXTERNXML int rtXmlpDecInt16(OSCTXT *pctxt, OSINT16 *pvalue)
This function decodes the contents of a 16-bit integer data type.
EXTERNXML int rtXmlEncIndent(OSCTXT *pctxt)
This function adds indentation whitespace to the output stream.
EXTERNXML int rtXmlMatchTime(OSCTXT *pctxt)
This function tests the context buffer for containing a correct time string.
EXTERNXML int rtXmlpDecInt(OSCTXT *pctxt, OSINT32 *pvalue)
This function decodes the contents of a 32-bit integer data type.
EXTERNXML int rtXmlpGetXSITypeIndex(OSCTXT *pctxt, const OSXMLItemDescr typetab[], OSSIZE typetabsiz)
This function decodes the contents of an XSI (XML Schema Instance) type attribute (xsi:type) and find...
EXTERNXML int rtXmlEncEndSoapElems(OSCTXT *pctxt, OSXMLSOAPMsgType msgtype)
This function encodes SOAP end element tags.
EXTERNXML int rtXmlSetNoNSSchemaLocation(OSCTXT *pctxt, const OSUTF8CHAR *schemaLocation)
This function sets the XML Schema Instance (xsi) no namespace schema location attribute to be added t...
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 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 rtXmlpDecDateTime(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'dateTime' 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 rtXmlpDecGYear(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gYear' type.
EXTERNXML int rtXmlDecBigInt(OSCTXT *pctxt, const OSUTF8CHAR **ppvalue)
This function will decode a variable of the XSD integer type.
EXTERNXML int rtXmlCreateFileInputSource(OSCTXT *pctxt, const char *filepath)
This function creates an XML document file input source.
EXTERNXML int rtXmlDecUTF8Str(OSCTXT *pctxt, OSUTF8CHAR *outdata, OSSIZE max_len)
This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlpMarkLastEventActive(OSCTXT *pctxt)
This function marks current tag as unprocessed.
EXTERNXML int rtXmlpDecInt64(OSCTXT *pctxt, OSINT64 *pvalue)
This function decodes the contents of a 64-bit integer data type.
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 rtXmlpGetNextAllElemID(OSCTXT *pctxt, const OSXMLElemIDRec *tab, OSSIZE nrows, const OSUINT8 *pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID)
This function parses the next start tag and finds index of element name in descriptor table...
EXTERNXML int rtXmlDecGYear(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gYear' type.
EXTERNXML int rtXmlDecDateTime(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'dateTime' 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 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 rtXmlEncIntValue(OSCTXT *pctxt, OSINT32 value)
This function encodes a variable of the XSD integer type.
EXTERNXML void rtXmlpSetNamespaceTable(OSCTXT *pctxt, const OSUTF8CHAR *namespaceTable[], OSSIZE nmNamespaces)
Sets user namespace table.
EXTERNXML int rtXmlEncDoubleAttr(OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen, const OSDoubleFmt *pFmtSpec)
This function encodes a variable of the XSD double type as an attribute.
EXTERNXML int rtXmlEncInt64Attr(OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD integer type as an attribute (name="value").
EXTERNXML int rtXmlEncAnyTypeValue(OSCTXT *pctxt, const OSUTF8CHAR *pvalue)
This function encodes a variable of the XSD anyType type.
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 OSBOOL rtXmlpNeedDecodeAttributes(OSCTXT *pctxt)
This function checks if attributes were previously decoded.
EXTERNXML int rtXmlEncDecimalAttr(OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen, const OSDecimalFmt *pFmtSpec)
This function encodes a variable of the XSD decimal type as an attribute.
EXTERNXML int rtXmlEncXSINilAttr(OSCTXT *pctxt)
This function encodes an XML nil attribute (xsi:nil="true").
EXTERNXML int rtXmlEncBitString(OSCTXT *pctxt, OSSIZE nbits, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the ASN.1 BIT STRING type.
EXTERNXML int rtXmlpGetNextAllElemID32(OSCTXT *pctxt, const OSXMLElemIDRec *tab, OSSIZE nrows, const OSUINT32 *pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID)
This function parses the next start tag and finds index of element name in descriptor table...
EXTERNXML int rtXmlDecGMonthDay(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gMonthDay' type.
EXTERNXML int rtXmlEncBigIntValue(OSCTXT *pctxt, const OSUTF8CHAR *value)
This function encodes an XSD integer attribute value.
EXTERNXML int rtXmlDecGDay(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gDay' type.
EXTERNXML int rtXmlEncXSIAttrs(OSCTXT *pctxt, OSBOOL needXSI)
This function encodes XML schema instance (XSI) attributes at the beginning of an XML document...
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...
EXTERNXML int rtXmlDecUInt(OSCTXT *pctxt, OSUINT32 *pvalue)
This function decodes the contents of an unsigned 32-bit integer data type.
EXTERNXML int rtXmlpDecXSIAttrs(OSCTXT *pctxt)
This function decodes XSI (XML Schema Instance) that may be present in any arbitrary XML element with...
EXTERNXML int rtXmlpDecGDay(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gDay' type.
EXTERNXML int rtXmlpDecBitString(OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnbits, OSUINT32 bufsize)
This function decodes a bit string value.
EXTERNXML int rtXmlpDecGYearMonth(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD 'gYearMonth' type.
EXTERNXML void rtXmlpResetMarkedPos(OSCTXT *pctxt)
Reset saved decode position.
EXTERNXML int rtXmlEncEndElement(OSCTXT *pctxt, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes an end element tag value (</elemName>).
EXTERNXML void rtXmlpSetListMode(OSCTXT *pctxt)
Sets list mode.
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 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 rtXmlDecInt8(OSCTXT *pctxt, OSINT8 *pvalue)
This function decodes the contents of an 8-bit integer data type (i.e.
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 void rtXmlpRewindToMarkedPos(OSCTXT *pctxt)
Rewind to saved decode position.
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 int rtXmlSetEncXSINilAttr(OSCTXT *pctxt, OSBOOL value)
This function sets a flag in the context that indicates the XSI attribute declaration (xmlns:xsi) sho...
EXTERNXML int rtXmlpLookupXSITypeIndex(OSCTXT *pctxt, const OSUTF8CHAR *pXsiType, OSINT16 xsiTypeIdx, const OSXMLItemDescr typetab[], OSSIZE typetabsiz)
This function find index of XSI (XML Schema Instance) type in descriptor table.
EXTERNXML int rtXmlInitContext(OSCTXT *pctxt)
This function initializes a context variable for XML encoding or decoding.
EXTERNXML int rtXmlEncEndDocument(OSCTXT *pctxt)
This function adds trailor information and a null terminator at the end of the XML document being enc...
EXTERNXML int rtXmlpDecXmlStr(OSCTXT *pctxt, OSXMLSTRING *outdata)
This function decodes the contents of an XML string data 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 struct OSXMLReader * rtXmlpGetReader(OSCTXT *pctxt)
This function fetches the XML reader structure from the context for use in low-level pull parser call...
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 rtXmlpDecDynBitString(OSCTXT *pctxt, OSDynOctStr *pvalue)
This function decodes a bit string value.
EXTERNXML int rtXmlpDecDate(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;date&#39; type.
EXTERNXML int rtXmlEncBigIntAttr(OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes an XSD integer attribute value.
EXTERNXML int rtXmlEncGDayValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a numeric gDay value 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 rtXmlDecDynUTF8Str(OSCTXT *pctxt, const OSUTF8CHAR **outdata)
This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlSetEncXSINamespace(OSCTXT *pctxt, OSBOOL value)
This function sets a flag in the context that indicates the XSI namespace declaration (xmlns:xsi) sho...
EXTERNXML int rtXmlGetIndentChar(OSCTXT *pctxt)
This function returns current XML output indent character value (default is space).
EXTERNXML int rtXmlpGetNextAllElemID16(OSCTXT *pctxt, const OSXMLElemIDRec *tab, OSSIZE nrows, const OSUINT16 *pOrder, OSSIZE nOrder, OSSIZE maxOrder, int anyID)
This function parses the next start tag and finds index of element name in descriptor table...
EXTERNXML int rtXmlDecDouble(OSCTXT *pctxt, OSREAL *pvalue)
This function decodes the contents of a float or double data type.
EXTERNXML int rtXmlpGetAttributeCount(OSCTXT *pctxt)
This function returns number of attributes in last processed start tag.
EXTERNXML int rtXmlpDecDynHexStr64(OSCTXT *pctxt, OSDynOctStr64 *pvalue)
This function is identical to the rtXmlpDecDynHexStr except that it supports lengths up to 64 bits in...
EXTERNXML int rtXmlEncUInt64(OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlpDecAnyAttrStr(OSCTXT *pctxt, const OSUTF8CHAR **ppAttrStr, OSSIZE attrIndex)
This function decodes an any attribute string.
EXTERNXML int rtXmlEncStartSoapEnv(OSCTXT *pctxt, OSRTDList *pNSAttrs)
This function encodes a SOAP envelope start element tag.
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 t...
EXTERNXML int rtXmlpDecUInt8(OSCTXT *pctxt, OSOCTET *pvalue)
This function decodes the contents of an unsigned 8-bit integer data type (i.e.
EXTERNXML int rtXmlEncInt64Value(OSCTXT *pctxt, OSINT64 value)
This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlpDecDouble(OSCTXT *pctxt, 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 rtXmlDecXmlStr(OSCTXT *pctxt, OSXMLSTRING *outdata)
This function decodes the contents of an XML string data type.
EXTERNXML int rtXmlEncUTF8Str(OSCTXT *pctxt, const OSUTF8CHAR *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a UTF-8 string value.
EXTERNXML int rtXmlEncNamedBits(OSCTXT *pctxt, const OSBitMapItem *pBitMap, OSSIZE nbits, const OSOCTET *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the ASN.1 BIT STRING type.
EXTERNXML int rtXmlEncDateTimeValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a numeric date/time value into an XML string representation.
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 s...
EXTERNXML int rtXmlpDecBool(OSCTXT *pctxt, OSBOOL *pvalue)
This function decodes a variable of the boolean type.
EXTERNXML int rtXmlpDecUTF8Str(OSCTXT *pctxt, OSUTF8CHAR *out, OSSIZE max_len)
This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlpDecBase64Str(OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSSIZE bufsize)
This function decodes a contents of a Base64-encode binary string into a static memory structure...
EXTERNXML int rtXmlEncUIntAttr(OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD unsigned integer type as an attribute (name="value")...
EXTERNXML int rtXmlEncGMonthValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a numeric gMonth value into an XML string representation.
EXTERNXML int rtXmlEncBoolAttr(OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes an XSD boolean attribute value.
EXTERNXML int rtXmlpSelectAttribute(OSCTXT *pctxt, OSXMLNameFragments *pAttr, OSINT16 *nsidx, OSSIZE attrIndex)
This function selects attribute to decode.
EXTERNXML int rtXmlDecHexStr64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnocts, OSSIZE bufsize)
This function is identical to rtXmlDecHexStr except that it supports a 64-bit integer length on 64-bi...
EXTERNXML int rtXmlpDecDynBase64Str64(OSCTXT *pctxt, OSDynOctStr64 *pvalue)
This function is identical to rtXmlpDecDynBase64Str except that it supports 64-bit integer lengths on...
EXTERNXML int rtXmlSetEncodingStr(OSCTXT *pctxt, const OSUTF8CHAR *encodingStr)
This function sets the XML output encoding to the given value.
EXTERNXML int rtXmlpGetNextElemID(OSCTXT *pctxt, const OSXMLElemIDRec *tab, OSSIZE nrows, OSINT32 level, OSBOOL continueParse)
This function parses the next start tag and finds the index of the element name in the descriptor tab...
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 rtXmlEncEndSoapEnv(OSCTXT *pctxt)
This function encodes a SOAP envelope end element tag (<SOAP-ENV:Envelope/>).
EXTERNXML int rtXmlpDecXSIAttr(OSCTXT *pctxt, const OSXMLNameFragments *attrName)
This function decodes XSI (XML Schema Instance) attributes that may be present in any arbitrary XML e...
EXTERNXML int rtXmlMatchGMonth(OSCTXT *pctxt)
This function tests the context buffer for containing a correct gMonth string.
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 rtXmlpDecBitStringExt(OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnbits, OSOCTET **ppextdata, OSUINT32 bufsize)
This function decodes a bit string value.
EXTERNXML int rtXmlpDecBase64Str64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnocts, OSSIZE bufsize)
This function is identical to rtXmlpDecBase64Str except that it supports 64-bit integer lengths on 64...
EXTERNXML int rtXmlDecBase64Binary(OSRTMEMBUF *pMemBuf, const OSUTF8CHAR *inpdata, OSSIZE length)
This function decodes the contents of a Base64-encoded binary data type into a memory buffer...
EXTERNXML int rtXmlGetIndent(OSCTXT *pctxt)
This function returns current XML output indent value.
EXTERNXML int rtXmlDecUInt64(OSCTXT *pctxt, OSUINT64 *pvalue)
This function decodes the contents of an unsigned 64-bit integer data type.
EXTERNXML void rtXmlMemFreeAnyAttrs(OSCTXT *pctxt, OSRTDList *pAnyAttrList)
This function frees a list of anyAttribute that is a member of OSXSDAnyType structure.
EXTERNXML int rtXmlEncTermStartElement(OSCTXT *pctxt)
This function terminates a currently open XML start element by adding either a &#39;>&#39; or &#39;/>&#39; (if empty)...
EXTERNXML int rtXmlpDecBitString64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnbits, OSSIZE bufsize)
This function is identical to rtXmlpDecBitString except that it supports lengths up to 64-bits in siz...
EXTERNXML OSBOOL rtXmlpIsUTF8Encoding(OSCTXT *pctxt)
This function checks if the encoding specified in XML header is UTF-8.
EXTERNXML void rtXmlSetSoapVersion(OSCTXT *pctxt, OSUINT8 version)
This function sets the SOAP version number.
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 rtXmlpDecGMonthDay(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;gMonthDay&#39; type.
EXTERNXML int rtXmlpGetAttributeID(const OSXMLStrFragment *attrName, OSINT16 nsidx, OSSIZE nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[])
This function finds an attribute in the descriptor table.
EXTERNXML int rtXmlSetEncBufPtr(OSCTXT *pctxt, OSOCTET *bufaddr, OSSIZE bufsiz)
This function is used to set the internal buffer within the run-time library encoding context...
EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup(OSCTXT *pctxt)
This function checks if "decode as group" mode was forced.
EXTERNXML int rtXmlpMatchStartTag(OSCTXT *pctxt, const OSUTF8CHAR *elemLocalName, OSINT16 nsidx)
This function parses the next start tag that matches with given name.
EXTERNXML int rtXmlEncUInt64Value(OSCTXT *pctxt, OSUINT64 value)
This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlInitCtxtAppInfo(OSCTXT *pctxt)
This function initializes the XML application info section of the given context.
EXTERNXML int rtXmlEncStringValue2(OSCTXT *pctxt, const OSUTF8CHAR *value, OSSIZE valueLen)
This function encodes a variable of the XSD string type.
EXTERNXML OSBOOL rtXmlCmpHexStr(OSUINT32 nocts1, const OSOCTET *data1, const OSUTF8CHAR *data2)
This function compares an array of octets to a hex string.
EXTERNXML int rtXmlDecDynHexStr64(OSCTXT *pctxt, OSDynOctStr64 *pvalue)
This function is identical to rtXmlDecDynHexStr except that it supports a 64-bit integer length on 64...
EXTERNXML int rtXmlDecGYearMonth(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;gYearMonth&#39; type.
EXTERNXML OSBOOL rtXmlpHasAttributes(OSCTXT *pctxt)
This function checks accessibility of attributes.
EXTERNXML int rtXmlEncHexStrValue(OSCTXT *pctxt, OSSIZE nocts, const OSOCTET *data)
This function encodes a variable of the XSD hexBinary type.
EXTERNXML int rtXmlEncGMonthDayValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a numeric gMonthDay value into an XML string representation.
EXTERNXML int rtXmlMatchDate(OSCTXT *pctxt)
This function tests the context buffer for containing a correct date string.
EXTERNXML int rtXmlSetEncDocHdr(OSCTXT *pctxt, OSBOOL value)
This function sets the option to add the XML document header (i.e.
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 functi...
EXTERNXML int rtXmlSetIndent(OSCTXT *pctxt, OSUINT8 indent)
This function sets XML output indent to the given value.
EXTERNXML int rtXmlParseElemQName(OSCTXT *pctxt, OSXMLQName *pQName)
This function parses the initial tag from an XML message.
EXTERNXML int rtXmlDecDate(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;date&#39; type.
EXTERNXML int rtXmlpReadBytes(OSCTXT *pctxt, OSOCTET *pbuf, OSSIZE nbytes)
This function reads the specified number of bytes directly from the underlying XML parser stream...
EXTERNXML int rtXmlPrintNSAttrs(const char *name, const OSRTDList *data)
This function prints a list of namespace attributes.
EXTERNXML int rtXmlEncIntAttr(OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD integer type as an attribute (name="value").
EXTERNXML int rtXmlEncBool(OSCTXT *pctxt, OSBOOL value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD boolean type.
EXTERNXML int rtXmlDecDynBase64Str(OSCTXT *pctxt, OSDynOctStr *pvalue)
This function decodes a contents of a Base64-encode binary string.
EXTERNXML int rtXmlpDecDynUTF8Str(OSCTXT *pctxt, const OSUTF8CHAR **outdata)
This function decodes the contents of a UTF-8 string data type.
EXTERNXML int rtXmlDecInt64(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 rtXmlMatchGMonthDay(OSCTXT *pctxt)
This function tests the context buffer for containing a correct gMonthDay string. ...
EXTERNXML int rtXmlDecGMonth(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;gMonth&#39; type.
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 rtXmlMatchHexStr(OSCTXT *pctxt, OSSIZE minLength, OSSIZE maxLength)
This function tests the context buffer for containing a correct hexadecimal string.
EXTERNXML int rtXmlEncUInt(OSCTXT *pctxt, OSUINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD unsigned integer type.
EXTERNXML void rtXmlpHideAttributes(OSCTXT *pctxt)
Disable access to attributes.
EXTERNXML int rtXmlSetEncC14N(OSCTXT *pctxt, OSBOOL value)
This function sets the option to encode in C14N mode.
EXTERNXML int rtXmlInitContextUsingKey(OSCTXT *pctxt, const OSOCTET *key, OSSIZE keylen)
This function initializes a context using a run-time key.
EXTERNXML int rtXmlpDecDecimal(OSCTXT *pctxt, OSREAL *pvalue, int totalDigits, int fractionDigits)
This function decodes the contents of a decimal data type.
EXTERNXML int rtXmlDecBase64StrValue(OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSSIZE bufSize, OSSIZE srcDataLen)
This function decodes a contents of a Base64-encode binary string into the specified octet array...
EXTERNXML int rtXmlEncBOM(OSCTXT *pctxt)
This function encodes the Unicode byte order mark header at the start of the document.
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...
EXTERNXML int rtXmlParseElementName(OSCTXT *pctxt, OSUTF8CHAR **ppName)
This function parses the initial tag from an XML message.
EXTERNXML int rtXmlDecDecimal(OSCTXT *pctxt, OSREAL *pvalue)
This function decodes the contents of a decimal data type.
EXTERNXML int rtXmlpCreateReader(OSCTXT *pctxt)
Creates pull parser reader structure within the context.
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 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 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 rtXmlEncStringValue(OSCTXT *pctxt, const OSUTF8CHAR *value)
This function encodes a variable of the XSD string type.
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 ...
EXTERNXML int rtXmlEncDate(OSCTXT *pctxt, const OSXSDDateTime *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD &#39;date&#39; type as a string.
EXTERNXML int rtXmlEncBase64Binary(OSCTXT *pctxt, OSSIZE nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD base64Binary type.
EXTERNXML int rtXmlpMatchEndTag(OSCTXT *pctxt, OSINT32 level)
This function parse next end tag that matches with given name.
EXTERNXML int rtXmlpDecUInt16(OSCTXT *pctxt, OSUINT16 *pvalue)
This function decodes the contents of an unsigned 16-bit integer data type.
EXTERNXML int rtXmlEncCanonicalSort(OSCTXT *pctxt, OSCTXT *pBufCtxt, OSRTSList *pList)
Sort (as for CXER, Canonical-XER) and encode previously encoded SET OF components.
EXTERNXML void rtXmlpSetWhiteSpaceMode(OSCTXT *pctxt, OSXMLWhiteSpaceMode whiteSpaceMode)
Sets the whitespace treatment mode.
EXTERNXML int rtXmlMatchDateTime(OSCTXT *pctxt)
This function tests the context buffer for containing a correct dateTime string.
EXTERNXML OSBOOL rtSaxIsEmptyBuffer(OSCTXT *pctxt)
This function checks if the buffer in the context is empty or not.
EXTERNXML int rtXmlEncString(OSCTXT *pctxt, OSXMLSTRING *pxmlstr, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD string type.
EXTERNXML OSBOOL rtXmlpSetMixedContentMode(OSCTXT *pctxt, OSBOOL mixedContentMode)
Sets mixed content mode.
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 rtXmlEncBinStrValue(OSCTXT *pctxt, OSSIZE nbits, const OSOCTET *data)
This function encodes a binary string value as a sequence of &#39;1&#39;s and &#39;0&#39;s.
EXTERNXML int rtXmlpDecUInt64(OSCTXT *pctxt, OSUINT64 *pvalue)
This function decodes the contents of an unsigned 64-bit integer data type.
EXTERNXML int rtXmlMatchBase64Str(OSCTXT *pctxt, OSSIZE minLength, OSSIZE maxLength)
This function tests the context buffer for containing a correct base64 string.
EXTERNXML int rtXmlpDecHexStr(OSCTXT *pctxt, OSOCTET *pvalue, OSUINT32 *pnocts, OSSIZE bufsize)
This function decodes the contents of a hexBinary string into a static memory structure.
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 rtXmlDecEmptyElement(OSCTXT *pctxt)
This function is used to enforce a requirement that an element be empty.
EXTERNXML int rtXmlDecBool(OSCTXT *pctxt, OSBOOL *pvalue)
This function decodes a variable of the boolean type.
EXTERNXML OSBOOL rtXmlGetWriteBOM(OSCTXT *pctxt)
This function returns whether the Unicode byte order mark will be encoded.
EXTERNXML const OSUTF8CHAR * rtXmlDecQName(OSCTXT *pctxt, const OSUTF8CHAR *qname, const OSUTF8CHAR **prefix)
This function decodes an XML qualified name string (QName) type.
EXTERNXML int rtXmlpDecDynUnicodeStr(OSCTXT *pctxt, const OSUNICHAR **ppdata, OSSIZE *pnchars)
This function decodes a Unicode string data type.
EXTERNXML int rtXmlDecHexBinary(OSRTMEMBUF *pMemBuf, const OSUTF8CHAR *inpdata, OSSIZE length)
This function decodes the contents of a hex-encoded binary data type into a memory buffer...
EXTERNXML int rtXmlDecBase64Str64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnocts, OSSIZE bufsize)
This function is identical to rtXmlDecBase64Str except that is supports a 64-bit integer length on 64...
EXTERNXML int rtXmlEncHexBinary(OSCTXT *pctxt, OSSIZE nocts, const OSOCTET *value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD hexBinary type.
EXTERNXML int rtXmlEncComment(OSCTXT *pctxt, const OSUTF8CHAR *comment)
This function encodes an XML comment.
EXTERNXML int rtXmlEncTimeValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a variable of the XSD &#39;time&#39; type as an string.
EXTERNXML int rtXmlEncBase64StrValue(OSCTXT *pctxt, OSSIZE nocts, const OSOCTET *value)
This function encodes a variable of the XSD base64Binary type.
EXTERNXML int rtXmlEncUInt64Attr(OSCTXT *pctxt, OSUINT64 value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD integer type as an attribute (name="value").
EXTERNXML OSBOOL rtXmlpIsEmptyElement(OSCTXT *pctxt)
Check element content: empty or not.
EXTERNXML OSUTF8CHAR * rtXmlNewQName(OSCTXT *pctxt, const OSUTF8CHAR *localName, const OSUTF8CHAR *prefix)
This function creates a new QName given the localName and prefix parts.
EXTERNXML int rtXmlEncXSITypeAttr(OSCTXT *pctxt, const OSUTF8CHAR *value)
This function encodes an XML schema instance (XSI) type attribute value (xsi:type="value").
EXTERNXML OSBOOL rtSaxHasXMLNSAttrs(const OSUTF8CHAR *const *attrs)
This function checks if the given attribute list contains one or more XML namespace attributes (xmlns...
EXTERNXML int rtXmlpDecInt8(OSCTXT *pctxt, OSINT8 *pvalue)
This function decodes the contents of an 8-bit integer data type (i.e.
EXTERNXML int rtXmlEncSoapArrayTypeAttr(OSCTXT *pctxt, const OSUTF8CHAR *name, const OSUTF8CHAR *value, OSSIZE itemCount)
This function encodes the special SOAP encoding attrType attribute which specifies the number and typ...
EXTERNXML int rtXmlMatchGYear(OSCTXT *pctxt)
This function tests the context buffer for containing a correct gYear string.
EXTERNXML int rtXmlPrepareContext(OSCTXT *pctxt)
This function prepares the context for another encode by setting the state back to OSXMLINIT and movi...
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 rtXmlEncAny(OSCTXT *pctxt, OSXMLSTRING *pvalue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD any type.
EXTERNXML int rtXmlSetIndentChar(OSCTXT *pctxt, char indentChar)
This function sets XML output indent character to the given value.
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 t...
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 rtXmlEncUTF8Attr2(OSCTXT *pctxt, const OSUTF8CHAR *name, OSSIZE nameLen, const OSUTF8CHAR *value, OSSIZE valueLen)
This function encodes an attribute in which the name and value are given as a UTF-8 strings with leng...
EXTERNXML void rtXmlpMarkPos(OSCTXT *pctxt)
Save current decode position.
EXTERNXML int rtXmlDecTime(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;time&#39; type.
EXTERNXML int rtXmlEncUnicodeStr(OSCTXT *pctxt, const OSUNICHAR *value, OSSIZE nchars, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a Unicode string value.
EXTERNXML int rtXmlEncInt64(OSCTXT *pctxt, OSINT64 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD integer type.
EXTERNXML int rtXmlSetFormatting(OSCTXT *pctxt, OSBOOL doFormatting)
This function sets XML output formatting to the given value.
OSXMLWhiteSpaceMode
Whitespace treatment options.
Definition: osrtxml.h:298
EXTERNXML int rtXmlEncDecimalValue(OSCTXT *pctxt, OSREAL value, const OSDecimalFmt *pFmtSpec, char *pDestBuf, OSSIZE destBufSize)
This function encodes a value of the XSD decimal type.
EXTERNXML int rtXmlDecDynHexStr(OSCTXT *pctxt, OSDynOctStr *pvalue)
This function decodes a contents of a hexBinary string.
EXTERNXML int rtXmlDecInt(OSCTXT *pctxt, OSINT32 *pvalue)
This function decodes the contents of a 32-bit integer data type.
EXTERNXML int rtXmlEncGYearMonthValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a numeric gYearMonth value 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 rtXmlEncDateValue(OSCTXT *pctxt, const OSXSDDateTime *pvalue)
This function encodes a variable of the XSD &#39;date&#39; type as a string.
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.
struct OSXMLGroupDesc OSXMLGroupDesc
OSXMLGroupDesc describes how entries in an OSXMLElemIDRec array make up a group.
EXTERNXML int rtXmlpDecBitStringExt64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnbits, OSOCTET **ppextdata, OSSIZE bufsize)
This function is identical to rtXmlpDecBitStringExt except that it supports lengths up to 64-bits in ...
EXTERNXML OSBOOL rtXmlCmpBase64Str(OSUINT32 nocts1, const OSOCTET *data1, const OSUTF8CHAR *data2)
This function compares an array of octets to a base64 string.
EXTERNXML int rtXmlpGetNextElem(OSCTXT *pctxt, OSXMLElemDescr *pElem, OSINT32 level)
This function parse the next element start tag.
EXTERNXML int rtXmlMatchGYearMonth(OSCTXT *pctxt)
This function tests the context buffer for containing a correct gYearMonth string.
EXTERNXML int rtXmlDecDynBase64Str64(OSCTXT *pctxt, OSDynOctStr64 *pvalue)
This function is identical to rtXmlDecDynBase64Str except that it supports a 64-bit integer length on...
EXTERNXML int rtXmlDecInt16(OSCTXT *pctxt, OSINT16 *pvalue)
This function decodes the contents of a 16-bit integer data type.
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 rtXmlpGetXSITypeAttr(OSCTXT *pctxt, const OSUTF8CHAR **ppAttrValue, OSINT16 *nsidx, OSSIZE *pLocalOffs)
This function decodes the contents of an XSI (XML Schema Instance) type attribute (xsi:type)...
EXTERNXML int rtSaxStrListMatch(OSCTXT *pctxt)
This function mathes the list of strings.
EXTERNXML OSBOOL rtXmlpIsLastEventDone(OSCTXT *pctxt)
Check processing status of current tag.
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 rtXmlDecUInt16(OSCTXT *pctxt, OSUINT16 *pvalue)
This function decodes the contents of an unsigned 16-bit integer data type.
EXTERNXML int rtXmlSetXSITypeAttr(OSCTXT *pctxt, const OSUTF8CHAR *xsiType)
This function sets the XML Schema Instance (xsi) type attribute value.
EXTERNXML int rtXmlpDecDoubleExt(OSCTXT *pctxt, OSUINT8 flags, OSREAL *pvalue)
This function decodes the contents of a float or double data type.
EXTERNXML int rtXmlDecBase64StrValue64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnocts, OSSIZE bufSize, OSSIZE srcDataLen)
This function decodes is identical to rtXmlDecBase64StrValue except that it supports a 64-bit integer...
EXTERNXML int rtXmlEncBase64BinaryAttr(OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD base64Binary type as an attribute.
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 rtXmlMatchGDay(OSCTXT *pctxt)
This function tests the context buffer for containing a correct gDay string.
EXTERNXML int rtXmlpDecGMonth(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;gMonth&#39; type.
EXTERNXML int rtXmlEncBoolValue(OSCTXT *pctxt, OSBOOL value)
This function encodes a variable of the XSD boolean type.
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 rtSaxStrListParse(OSCTXT *pctxt, OSRTMEMBUF *pMemBuf, OSRTDList *pvalue)
This function parses the list of strings.
EXTERNXML OSBOOL rtXmlpListHasItem(OSCTXT *pctxt)
Check for end of decoded token list.
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 rtXmlpDecDynHexStr(OSCTXT *pctxt, OSDynOctStr *pvalue)
This function decodes a contents of a hexBinary string.
EXTERNXML int rtXmlpDecNamedBits64(OSCTXT *pctxt, const OSBitMapItem *pBitMap, OSOCTET *pvalue, OSSIZE *pnbits, OSSIZE bufsize)
This function decodes the contents of a named bit field.
OSXMLGroupDesc describes how entries in an OSXMLElemIDRec array make up a group.
Definition: osrtxml.h:140
EXTERNXML int rtXmlDecUInt8(OSCTXT *pctxt, OSUINT8 *pvalue)
This function decodes the contents of an unsigned 8-bit integer data type (i.e.
EXTERNXML int rtXmlEncBitStringExt(OSCTXT *pctxt, OSSIZE nbits, const OSOCTET *value, OSSIZE dataSize, const OSOCTET *extValue, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the ASN.1 BIT STRING type.
EXTERNXML int rtXmlEncUIntValue(OSCTXT *pctxt, OSUINT32 value)
This function encodes a variable of the XSD unsigned integer type.
EXTERNXML int rtXmlEncInt(OSCTXT *pctxt, OSINT32 value, const OSUTF8CHAR *elemName, OSXMLNamespace *pNS)
This function encodes a variable of the XSD integer type.
EXTERNXML void rtXmlpForceDecodeAsGroup(OSCTXT *pctxt)
Disable skipping of unknown elements in optional sequence tail.
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 rtXmlpDecAny2(OSCTXT *pctxt, OSUTF8CHAR **pvalue)
This version of the rtXmlpDecAny function returns the string in a mutable buffer. ...
EXTERNXML int rtXmlpDecTime(OSCTXT *pctxt, OSXSDDateTime *pvalue)
This function decodes a variable of the XSD &#39;time&#39; type.
EXTERNXML int rtXmlEncNSAttrs(OSCTXT *pctxt, OSRTDList *pNSAttrs)
This function encodes namespace declaration attributes at the beginning of an XML document...
EXTERNXML int rtXmlEncHexBinaryAttr(OSCTXT *pctxt, OSUINT32 nocts, const OSOCTET *value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen)
This function encodes a variable of the XSD hexBinary type as an attribute.
EXTERNXML int rtXmlSetWriteBOM(OSCTXT *pctxt, OSBOOL write)
This function sets whether the Unicode byte order mark is encoded.
EXTERNXML int rtXmlEncStartDocument(OSCTXT *pctxt)
This function encodes the XML header text at the beginning of an XML document.
EXTERNXML int rtXmlEncAttrC14N(OSCTXT *pctxt)
This function used only in C14 mode.
EXTERNXML void rtXmlpCountListItems(OSCTXT *pctxt, OSSIZE *itemCnt)
Count tokens in list.
EXTERNXML int rtXmlDecXSIAttr(OSCTXT *pctxt, const OSUTF8CHAR *attrName, const OSUTF8CHAR *attrValue)
This function decodes XML schema instance (XSI) attribute.
EXTERNXML OSINT32 rtXmlpGetCurrentLevel(OSCTXT *pctxt)
This function returns current nesting level.
EXTERNXML int rtXmlFreeInputSource(OSCTXT *pctxt)
This function closes an input source that was previously created with one of the create input source ...
EXTERNXML int rtXmlpDecUInt(OSCTXT *pctxt, OSUINT32 *pvalue)
This function decodes the contents of an unsigned 32-bit integer data type.
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 rtXmlDecXSIAttrs(OSCTXT *pctxt, const OSUTF8CHAR *const *attrs, const char *typeName)
This function decodes XML schema instance (XSI) attributes.
EXTERNXML int rtXmlpDecHexStr64(OSCTXT *pctxt, OSOCTET *pvalue, OSSIZE *pnocts, OSSIZE bufsize)
This function is identical to rtXmlpDecHexStr except that it supports lengths up to 64-bits in size o...
EXTERNXML int rtXmlEncFloatAttr(OSCTXT *pctxt, OSREAL value, const OSUTF8CHAR *attrName, OSSIZE attrNameLen, const OSDoubleFmt *pFmtSpec)
This function encodes a variable of the XSD float type as an attribute.
EXTERNXML void rtXmlSetNamespacesSet(OSCTXT *pctxt, OSBOOL value)
This function sets the context &#39;namespaces are set&#39; flag.
EXTERNXML int rtXmlpDecBigInt(OSCTXT *pctxt, const OSUTF8CHAR **pvalue)
This function will decode a variable of the XSD integer type.