00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00045 #ifndef _OSRTXML_H_
00046 #define _OSRTXML_H_
00047
00048 #define OSXMLNS12
00049
00050 #include "rtxsrc/rtxCommon.h"
00051 #include "rtxmlsrc/rtSaxDefs.h"
00052 #include "rtxsrc/rtxDList.h"
00053 #include "rtxsrc/rtxMemBuf.h"
00054 #include "rtxmlsrc/rtXmlExternDefs.h"
00055 #include "rtxmlsrc/rtXmlErrCodes.h"
00056 #include "rtxmlsrc/rtXmlNamespace.h"
00057
00058
00059
00060 #define OSUPCASE 0x00008000
00061 #define OSTERMSTART 0x00004000
00062 #define OSEMPTYELEM 0x00002000
00063 #define OSQUALATTR 0x00001000
00064 #define OSXMLFRAG 0x00000800
00065 #define OSXMLNSSET 0x00000400
00066 #define OSXMLC14N 0x00000200
00067
00068
00069 #define OSXSIATTR 0x00000100
00070 #define OSXMLNOCMPNS 0x00000080
00071 #define OSXSINIL 0x00000040
00072 #define OSXMLNOBLANKS 0x00000020
00073 #define OSHASDEFAULT 0x00000010
00074
00075
00076
00077 #define OSASN1XER 0x00000008
00078
00079
00080
00081 typedef enum {
00082 OSXMLUTF8,
00083 OSXMLUTF16,
00084 OSXMLUTF16BE,
00085 OSXMLUTF16LE,
00086 OSXMLLATIN1
00087 } OSXMLEncoding;
00088
00089 typedef enum {
00090 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00091 } OSXMLSOAPMsgType;
00092
00093 typedef enum {
00094 OSXMLBOM_NO_BOM,
00095 OSXMLBOM_UTF32_BE,
00096 OSXMLBOM_UTF32_LE,
00097 OSXMLBOM_UTF16_BE,
00098 OSXMLBOM_UTF16_LE,
00099 OSXMLBOM_UTF8,
00100 OSXMLBOM_CHECK
00101 } OSXMLBOM;
00102
00103 typedef struct OSXMLFacets {
00104 int totalDigits;
00105 int fractionDigits;
00106 } OSXMLFacets;
00107
00108 typedef struct {
00109 const OSUTF8CHAR* value;
00110 size_t length;
00111 } OSXMLStrFragment;
00112
00113 typedef struct {
00114 OSXMLStrFragment mQName;
00115 OSXMLStrFragment mLocalName;
00116 OSXMLStrFragment mPrefix;
00117 } OSXMLNameFragments;
00118
00119 typedef struct OSXMLItemDescr {
00120 OSXMLStrFragment localName;
00121 OSINT16 nsidx;
00122 } OSXMLItemDescr;
00123
00124 typedef OSXMLItemDescr OSXMLAttrDescr;
00125 typedef OSXMLItemDescr OSXMLElemDescr;
00126
00127 typedef struct OSXMLElemIDRec {
00128 OSXMLElemDescr descr;
00129 OSUINT16 id;
00130 } OSXMLElemIDRec;
00131
00132 typedef struct OSXMLGroupDesc {
00133 int row;
00134 int num;
00135 int anyCase;
00136 } OSXMLGroupDesc;
00137
00138 typedef struct OSXSDAnyType {
00139 OSXMLSTRING value;
00140 OSRTDList attrs;
00141 } OSXSDAnyType;
00142
00143 typedef enum {
00144 OSXMLNSI_UNQUALIFIED = 0,
00145 OSXMLNSI_UNKNOWN = -1,
00146 OSXMLNSI_UNCHECKED = -2,
00147 OSXMLNSI_XSI = -3,
00148 OSXMLNSI_XMLNS = -4,
00149 OSXMLNSI_XML = -5,
00150 OSXMLNSI_SOAP_ENVELOPE = -6,
00151 OSXMLNSI_XSD = -7
00152 } OSXMLNsIndex;
00153
00154 struct OSXMLReader;
00155
00156 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00157 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00158
00159 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00160 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00161
00162 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00163 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00164 OSUTF8LEN (str))
00165
00166 #define IS_XMLNSATTR(name) \
00167 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00168 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00169
00170 #define IS_XSIATTR(name) \
00171 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00172 name[2] == 'i' && name[3] == ':')
00173
00174
00175
00176 static const char OSXMLHDRUTF8 [] = "UTF-8";
00177 static const char OSXMLHDRUTF16 [] = "UTF-16";
00178 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00179 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00180 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00181
00182
00183
00184
00185
00186 typedef struct {
00187 OSFreeCtxtAppInfoPtr pFreeFunc;
00188 OSResetCtxtAppInfoPtr pResetFunc;
00189 OSUTF8CHAR* schemaLocation;
00190 OSUTF8CHAR* noNSSchemaLoc;
00191 OSUTF8CHAR* xsiTypeAttr;
00192 OSXMLEncoding encoding;
00193 OSRTDList namespaceList;
00194 OSRTDList encodedNSList;
00195 OSRTDList sortedAttrList;
00196 OSXMLNSPfxLinkStack nsPfxLinkStack;
00197 OSXMLNSURITable nsURITable;
00198 OSRTMEMBUF memBuf;
00199 OSINT32 mSaxLevel;
00200 OSINT32 mSkipLevel;
00201 OSUINT32 maxSaxErrors;
00202 OSUINT32 errorsCnt;
00203 OSUINT8 indent;
00204 OSBOOL mbCdataProcessed;
00205 char indentChar;
00206 OSUINT8 soapVersion;
00207 OSXMLFacets facets;
00208 const OSUTF8CHAR* encodingStr;
00209 OSXMLBOM byteOrderMark;
00210 struct OSXMLReader* pXmlPPReader;
00211
00212 OSRTBuffer savedBuffer;
00213 OSRTFLAGS savedFlags;
00214 OSOCTET* attrsBuff;
00215 size_t attrsBuffSize;
00216 size_t attrStartPos;
00217 } OSXMLCtxtInfo;
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228 typedef enum {
00229 OSXMLREALOBJSYS,
00230 OSXMLREALBXER,
00231 OSXMLREALEXERMODS,
00232 OSXMLREALEXERDEC
00233 } OSXMLREALEncoding;
00234
00235 typedef enum {
00236 OSXMLINIT,
00237 OSXMLHEADER,
00238 OSXMLSTART,
00239 OSXMLATTR,
00240 OSXMLDATA,
00241 OSXMLEND
00242 } OSXMLState;
00243
00244 typedef struct OSXMLQName {
00245 const OSUTF8CHAR* nsPrefix;
00246 const OSUTF8CHAR* ncName;
00247 } OSXMLQName;
00248
00249 struct OSSAXHandlerBase;
00250
00251 typedef struct OSIntegerFmt {
00252 OSINT8 integerMaxDigits;
00253
00254 OSBOOL signPresent;
00255
00256 } OSIntegerFmt;
00257
00258 typedef struct OSDecimalFmt {
00259 OSINT8 totalDigits;
00260 OSINT8 fractionDigits;
00261
00262 OSINT8 fractionMinDigits;
00263
00264
00265 OSINT8 integerMaxDigits;
00266
00267
00268 OSINT8 integerMinDigits;
00269
00270 OSBOOL signPresent;
00271
00272 OSBOOL pointPresent;
00273
00274 OSUINT8 nPatterns;
00275 const char* const* patterns;
00276
00277 } OSDecimalFmt;
00278
00279 typedef struct OSDoubleFmt {
00280 OSINT8 totalDigits;
00281 OSINT8 fractionDigits;
00282
00283 OSINT8 fractionMinDigits;
00284
00285
00286 OSINT8 integerMaxDigits;
00287
00288
00289 OSINT8 integerMinDigits;
00290
00291 OSINT8 expSymbol;
00292
00293 OSINT16 expMinValue;
00294 OSINT16 expMaxValue;
00295 OSINT8 expDigits;
00296
00297
00298 OSBOOL signPresent;
00299
00300 OSBOOL pointPresent;
00301
00302 OSBOOL expPresent;
00303
00304 OSBOOL expSignPresent;
00305
00306 } OSDoubleFmt;
00307
00308 typedef struct {
00309 size_t offset;
00310 size_t length;
00311 size_t prefixLength;
00312 size_t nameLength;
00313 } OSXMLSortedAttrOffset;
00314
00315 #define OSXMLINDENT 3
00316
00317 #ifdef XML_UNICODE
00318 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00319 #else
00320 #define rtXmlErrAddStrParm rtxErrAddStrParm
00321 #endif
00322
00326 typedef enum {
00327 OSXMLWSM_PRESERVE = 0,
00328 OSXMLWSM_REPLACE,
00329 OSXMLWSM_COLLAPSE
00330 } OSXMLWhiteSpaceMode;
00331
00332 #ifdef __cplusplus
00333 extern "C" {
00334 #endif
00335
00336
00337
00344 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00345
00360 EXTERNXML int rtXmlInitContextUsingKey
00361 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00362
00369 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00370
00381 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00382
00383 EXTERNXML OSBOOL rtXmlCmpQName
00384 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00385
00386 EXTERNXML int rtXmlGetBase64StrDecodedLen
00387 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00388 size_t* pNumOcts, size_t* pSrcDataLen);
00389
00397 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00398
00419 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00420 const OSUTF8CHAR* inpdata,
00421 int length);
00422
00446 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00447 OSOCTET* pvalue, OSUINT32* pnocts,
00448 OSINT32 bufsize);
00449
00475 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00476 OSOCTET* pvalue, OSUINT32* pnocts,
00477 size_t bufSize, size_t srcDataLen);
00478
00500 EXTERNXML int rtXmlDecBigInt
00501 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00502
00513 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00514
00527 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00528
00547 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00548
00561 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00562
00575 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00576
00589 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00590
00607 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00608
00624 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00625
00640 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
00641
00655 EXTERNXML int rtXmlDecUTF8Str
00656 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00657
00658
00672 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00673
00692 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00693 const OSUTF8CHAR* inpdata,
00694 int length);
00695
00718 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00719 OSOCTET* pvalue, OSUINT32* pnocts,
00720 OSINT32 bufsize);
00721
00722 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00723 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00724 OSUINT32* pnbits, OSINT32 bufsize);
00725
00738 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00739
00752 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00753
00766 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00767
00780 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00781
00794 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00795
00808 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00809
00823 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00824
00837 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00838
00851 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00852
00865 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00866
00880 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00881
00894 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00895
00908 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00909
00928 EXTERNXML int rtXmlDecNSAttr
00929 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00930 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00931
00956 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00957 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00958
00971 EXTERNXML int rtXmlDecXSIAttr
00972 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00973
00988 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00989 const char* typeName);
00990
01007 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
01008
01021 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
01022
01035 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
01036
01062 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01063 const OSUTF8CHAR* elemName,
01064 OSXMLNamespace* pNS);
01065
01066 EXTERNXML int rtXmlEncAnyStr
01067 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01068 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01069
01081 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01082
01093 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01094
01109 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01110 const OSOCTET* value,
01111 const OSUTF8CHAR* elemName,
01112 OSXMLNamespace* pNS);
01113
01127 EXTERNXML int rtXmlEncBase64BinaryAttr
01128 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01129 const OSUTF8CHAR* attrName, size_t attrNameLen);
01130
01142 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01143 const OSOCTET* value);
01144
01168 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01169 const OSUTF8CHAR* elemName,
01170 OSXMLNamespace* pNS);
01171
01186 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01187 const OSUTF8CHAR* attrName, size_t attrNameLen);
01188
01202 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01203
01221 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01222 const OSOCTET* value,
01223 const OSUTF8CHAR* elemName,
01224 OSXMLNamespace* pNS);
01225
01237 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01238 OSUINT32 nbits,
01239 const OSOCTET* data);
01240
01255 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01256 const OSUTF8CHAR* elemName,
01257 OSXMLNamespace* pNS);
01258
01269 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01270
01282 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01283 const OSUTF8CHAR* attrName,
01284 size_t attrNameLen);
01285
01296 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01297
01315 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01316 const OSUTF8CHAR* elemName,
01317 OSXMLNamespace* pNS);
01318
01332 EXTERNXML int rtXmlEncDateValue
01333 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01334
01358 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01359 const OSUTF8CHAR* elemName,
01360 OSXMLNamespace* pNS);
01361
01374 EXTERNXML int rtXmlEncTimeValue
01375 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01376
01392 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01393 const OSUTF8CHAR* elemName,
01394 OSXMLNamespace* pNS);
01395
01407 EXTERNXML int rtXmlEncDateTimeValue
01408 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01409
01424 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01425 const OSUTF8CHAR* elemName,
01426 OSXMLNamespace* pNS,
01427 const OSDecimalFmt* pFmtSpec);
01428
01441 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01442 const OSUTF8CHAR* attrName,
01443 size_t attrNameLen,
01444 const OSDecimalFmt* pFmtSpec);
01445
01463 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01464 const OSDecimalFmt* pFmtSpec,
01465 char* pDestBuf, size_t destBufSize);
01466
01481 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01482 const OSUTF8CHAR* elemName,
01483 OSXMLNamespace* pNS,
01484 const OSDoubleFmt* pFmtSpec);
01485
01498 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01499 const OSUTF8CHAR* attrName,
01500 size_t attrNameLen,
01501 const OSDoubleFmt* pFmtSpec);
01502
01517 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
01518 const OSDoubleFmt* pFmtSpec,
01519 int defaultPrecision);
01520
01536 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01537 const OSDoubleFmt* pFmtSpec,
01538 int defaultPrecision);
01539
01552 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01553 const OSUTF8CHAR* elemName,
01554 OSXMLNamespace* pNS,
01555 OSRTDList* pNSAttrs,
01556 OSBOOL terminate);
01557
01567 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01568
01579 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01580 const OSUTF8CHAR* elemName,
01581 OSXMLNamespace* pNS);
01582
01592 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01593
01605 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01606
01621 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01622 const OSUTF8CHAR* elemName,
01623 OSXMLNamespace* pNS,
01624 const OSDoubleFmt* pFmtSpec);
01625
01638 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01639 const OSUTF8CHAR* attrName,
01640 size_t attrNameLen,
01641 const OSDoubleFmt* pFmtSpec);
01642
01657 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01658 const OSUTF8CHAR* elemName,
01659 OSXMLNamespace* pNS);
01660
01675 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01676 const OSUTF8CHAR* elemName,
01677 OSXMLNamespace* pNS);
01678
01693 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01694 const OSUTF8CHAR* elemName,
01695 OSXMLNamespace* pNS);
01696
01711 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01712 const OSUTF8CHAR* elemName,
01713 OSXMLNamespace* pNS);
01714
01729 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01730 const OSUTF8CHAR* elemName,
01731 OSXMLNamespace* pNS);
01732
01744 EXTERNXML int rtXmlEncGYearValue
01745 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01746
01758 EXTERNXML int rtXmlEncGYearMonthValue
01759 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01760
01772 EXTERNXML int rtXmlEncGMonthValue
01773 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01774
01786 EXTERNXML int rtXmlEncGMonthDayValue
01787 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01788
01800 EXTERNXML int rtXmlEncGDayValue
01801 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01802
01817 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01818 const OSOCTET* value,
01819 const OSUTF8CHAR* elemName,
01820 OSXMLNamespace* pNS);
01821
01834 EXTERNXML int rtXmlEncHexBinaryAttr
01835 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01836 const OSUTF8CHAR* attrName, size_t attrNameLen);
01837
01849 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01850 OSUINT32 nocts,
01851 const OSOCTET* data);
01852
01863 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01864
01878 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01879 const OSUTF8CHAR* elemName,
01880 OSXMLNamespace* pNS);
01881
01892 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01893
01906 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01907 const OSUTF8CHAR* attrName,
01908 size_t attrNameLen);
01909
01925 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01926 const OSUTF8CHAR* elemName,
01927 OSXMLNamespace* pNS,
01928 const OSUTF8CHAR* pattern);
01929
01930 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01931 const OSUTF8CHAR* pattern);
01932
01933 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01934 const OSUTF8CHAR* elemName,
01935 OSXMLNamespace* pNS,
01936 const OSUTF8CHAR* pattern);
01937
01938 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01939 const OSUTF8CHAR* pattern);
01940
01955 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01956 const OSUTF8CHAR* elemName,
01957 OSXMLNamespace* pNS);
01958
01959 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01960 const OSUTF8CHAR* elemName,
01961 OSXMLNamespace* pNS,
01962 const OSUTF8CHAR* pattern);
01963
01975 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01976 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01977 const OSUTF8CHAR* pattern);
01978
01992 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01993 const OSUTF8CHAR* attrName,
01994 size_t attrNameLen);
01995
02014 EXTERNXML int rtXmlEncNamedBits
02015 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
02016 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
02017
02018 EXTERNXML int rtXmlEncNamedBitsValue
02019 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
02020 const OSOCTET* pvalue);
02021
02035 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02036
02046 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
02047
02048
02049 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
02050
02067 EXTERNXML int rtXmlEncReal10
02068 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02069 OSXMLNamespace* pNS);
02070
02084 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02085 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02086 size_t itemCount);
02087
02088 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02089 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02090 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02091
02103 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02104
02115 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02130 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02131 const OSUTF8CHAR* elemName,
02132 OSXMLNamespace* pNS,
02133 OSRTDList* pNSAttrs,
02134 OSBOOL terminate);
02135
02147 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02148
02160 EXTERNXML int rtXmlEncStartSoapElems
02161 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02162
02176 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02177 OSXMLSTRING* pxmlstr,
02178 const OSUTF8CHAR* elemName,
02179 OSXMLNamespace* pNS);
02180
02190 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02191
02202 EXTERNXML int rtXmlEncStringValue2
02203 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02204
02215 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02216
02232 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02233 const OSUNICHAR* value,
02234 OSUINT32 nchars,
02235 const OSUTF8CHAR* elemName,
02236 OSXMLNamespace* pNS);
02237
02249 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02250 const OSUTF8CHAR* name,
02251 const OSUTF8CHAR* value);
02252
02266 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02267 const OSUTF8CHAR* name, size_t nameLen,
02268 const OSUTF8CHAR* value, size_t valueLen);
02269
02283 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02284 const OSUTF8CHAR* value,
02285 const OSUTF8CHAR* elemName,
02286 OSXMLNamespace* pNS);
02287
02301 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02302 const OSUTF8CHAR* elemName,
02303 OSXMLNamespace* pNS);
02304
02316 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02317
02330 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02331 const OSUTF8CHAR* attrName,
02332 size_t attrNameLen);
02333
02349 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02350 const OSUTF8CHAR* elemName,
02351 OSXMLNamespace* pNS);
02352
02353 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02354 const OSUTF8CHAR* elemName,
02355 OSXMLNamespace* pNS,
02356 const OSUTF8CHAR* pattern);
02357
02370 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02371 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02372 const OSUTF8CHAR* pattern);
02373
02387 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02388 const OSUTF8CHAR* attrName,
02389 size_t attrNameLen);
02390
02410 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02411
02422 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02423
02432 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02433
02444 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02445
02446 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02447
02448 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02449 const char* text2, size_t len);
02450
02451 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02452 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02453 (pMemBuf)->pctxt->buffer.size = \
02454 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02455 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02456 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02457 rtxMemBufReset (pMemBuf); \
02458 } while(0)
02459
02482 EXTERNXML int rtXmlSetEncBufPtr
02483 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02484
02493 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02494
02500 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02501
02502
02510 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02511
02512
02521 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02522
02531 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02544 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02545
02554 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02555
02566 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02567
02578 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02579
02580 EXTERNXML int rtXmlSetDigitsFacets
02581 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02582
02593 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02594
02604 EXTERNXML int rtXmlSetEncodingStr
02605 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02606
02622 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02623
02632 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02633
02642 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02643
02654 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02655
02665 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02666
02678 EXTERNXML int rtXmlSetSchemaLocation
02679 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02680
02692 EXTERNXML int rtXmlSetNoNSSchemaLocation
02693 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02694
02703 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02704
02715 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02716
02725 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02726
02727 #include "rtxmlsrc/rtXmlNamespace.h"
02728
02742 EXTERNXML int rtXmlMatchHexStr
02743 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02744
02758 EXTERNXML int rtXmlMatchBase64Str
02759 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02760
02772 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02773
02785 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02786
02798 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02799
02811 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02812
02824 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02825
02837 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02838
02850 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02851
02863 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02864
02877 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02878 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02879
02889 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02890 const OSOCTET* data1,
02891 const OSUTF8CHAR* data2);
02892
02902 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02903 const OSOCTET* data1,
02904 const OSUTF8CHAR* data2);
02905
02906 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02907
02908 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02909 size_t nAttr,
02910 const OSUTF8CHAR* attrNames[],
02911 OSUINT32 attrPresent[]);
02912
02925 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02926 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02927
02943 EXTERNXML OSINT16 rtSaxGetElemID
02944 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02945 #ifdef OSXMLNS12
02946 OSINT32 nsidx,
02947 #endif
02948 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02949 OSINT16 fstabRows, OSINT16 fstabCols);
02950
02966 EXTERNXML OSINT16 rtSaxGetElemID8
02967 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02968 #ifdef OSXMLNS12
02969 OSINT32 nsidx,
02970 #endif
02971 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02972 OSINT16 fstabRows, OSINT16 fstabCols);
02973
02974 EXTERNXML OSINT16 rtSaxFindElemID
02975 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02976 #ifdef OSXMLNS12
02977 OSINT32 nsidx,
02978 #endif
02979 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02980 OSINT16 fstabRows, OSINT16 fstabCols);
02981
02982 EXTERNXML OSINT16 rtSaxFindElemID8
02983 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02984 #ifdef OSXMLNS12
02985 OSINT32 nsidx,
02986 #endif
02987 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02988 OSINT16 fstabRows, OSINT16 fstabCols);
02989
02998 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02999
03007 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
03008
03009 EXTERNXML OSINT16 rtSaxLookupElemID
03010 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03011 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03012 #ifdef OSXMLNS12
03013 OSINT32 nsidx,
03014 #endif
03015 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
03016 OSINT16 fstabRows, OSINT16 fstabCols);
03017
03018 EXTERNXML OSINT16 rtSaxLookupElemID8
03019 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03020 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03021 #ifdef OSXMLNS12
03022 OSINT32 nsidx,
03023 #endif
03024 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
03025 OSINT16 fstabRows, OSINT16 fstabCols);
03026
03038 EXTERNXML int rtSaxStrListParse
03039 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
03040
03059 EXTERNXML int rtSaxSortAttrs
03060 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
03061
03069 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03070
03071 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03072 OSINT16 currElemIdx,
03073 const int* fstab,
03074 int fstabRows, int fstabCols);
03075
03076 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03077 OSINT16 currElemIdx,
03078 const OSINT8* fstab,
03079 int fstabRows, int fstabCols);
03080
03081 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03082
03083 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03084
03085 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03086
03087 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03088 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03089 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03090 const char* parentTypeName);
03091
03092 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03093
03094 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03095 const OSUTF8CHAR* const* attrs,
03096 const char* typeName);
03097
03110 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03111
03112 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03113
03114 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03115
03116 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03117
03122 EXTERNXML void rtErrXmlInit (void);
03123 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03124 EXTERNXML int rtXmlWriteChars
03125 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03126
03146 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03147
03164 EXTERNXML int rtXmlpDecAnyAttrStr
03165 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03166
03186 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03187
03213 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03214 OSUINT32* pnocts, OSINT32 bufsize);
03215
03239 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03240
03257 EXTERNXML int rtXmlpDecBitString
03258 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03259
03272 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03273
03286 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03287
03300 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03301
03320 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03321 int totalDigits, int fractionDigits);
03322
03335 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03336
03337 #define OSXMLREALENC_OBJSYS 0x1F //Obj-Sys XML encoding rules
03338 #define OSXMLREALENC_BXER 0x10 //basic-XER
03339 #define OSXMLREALENC_EXERMODS 0x1B //extended-XER with MODIFIED-ENCODINGS
03340 #define OSXMLREALENC_EXERDECIMAL 0x03 //extended-XER with DECIMAL
03341
03362 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
03363 OSREAL* pvalue);
03364
03365
03384 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03385
03399 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03400
03418 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03419
03437 EXTERNXML int rtXmlpDecDynUnicodeStr
03438 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03439
03453 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03454
03455
03469 EXTERNXML int rtXmlpDecUTF8Str
03470 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03471
03484 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03485
03498 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03499
03512 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03513
03526 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03527
03540 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03541
03566 EXTERNXML int rtXmlpDecHexStr
03567 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03568
03581 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03582
03596 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03597
03610 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03611
03624 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03625
03642 EXTERNXML int rtXmlpDecNamedBits
03643 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03644 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03645
03662 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03663
03682 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03683
03696 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03697
03711 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03712
03725 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03726
03739 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03740
03757 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03758
03775 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03776
03795 EXTERNXML int rtXmlpDecXSIAttr
03796 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03797
03819 EXTERNXML int rtXmlpDecXSITypeAttr
03820 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03821 const OSUTF8CHAR** ppAttrValue);
03822
03846 EXTERNXML int rtXmlpGetAttributeID
03847 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03848 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03849
03862 EXTERNXML int rtXmlpGetNextElem
03863 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03864
03880 EXTERNXML int rtXmlpGetNextElemID
03881 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03882 OSBOOL continueParse);
03883
03893 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03894
03910 EXTERNXML int rtXmlpMatchStartTag
03911 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03912
03923 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03924
03935 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03936
03945 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03946
03965 EXTERNXML int rtXmlpSelectAttribute
03966 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03967
03974 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03975
03986 EXTERNXML void rtXmlpSetWhiteSpaceMode
03987 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03988
03996 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03997 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03998
04004 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
04005
04014 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
04015
04025 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
04026
04042 EXTERNXML int rtXmlpGetNextSeqElemID
04043 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
04044 int curID, int lastMandatoryID, OSBOOL groupMode);
04045
04061 EXTERNXML int rtXmlpGetNextAllElemID
04062 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04063 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04064
04081 EXTERNXML int rtXmlpGetNextAllElemID16
04082 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04083 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04084
04085
04101 EXTERNXML int rtXmlpGetNextAllElemID32
04102 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04103 const OSUINT32* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04104
04105
04113 EXTERNXML void rtXmlpSetNamespaceTable
04114 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
04115
04124 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04125
04132 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04133
04142 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04143
04149 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04150
04156 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04157
04163 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04164
04181 EXTERNXML int rtXmlpGetXSITypeAttr
04182 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04183 size_t* pLocalOffs);
04184
04195 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04196
04206 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04207
04216 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04217
04226 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04227
04237 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04238
04247 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04248
04260 EXTERNXML int rtXmlpGetXSITypeIndex
04261 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04262
04276 EXTERNXML int rtXmlpLookupXSITypeIndex
04277 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04278 const OSXMLItemDescr typetab[], size_t typetabsiz);
04279
04287 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04288
04297 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04298
04308 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04309
04324 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04325
04330 #ifdef __cplusplus
04331 }
04332 #endif
04333
04334 #endif