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 #ifndef OSXMLState_defined
00236 #define OSXMLState_defined
00237 typedef enum {
00238 OSXMLINIT,
00239 OSXMLHEADER,
00240 OSXMLSTART,
00241 OSXMLATTR,
00242 OSXMLDATA,
00243 OSXMLEND
00244 } OSXMLState;
00245 #endif
00246
00247 typedef struct OSXMLQName {
00248 const OSUTF8CHAR* nsPrefix;
00249 const OSUTF8CHAR* ncName;
00250 } OSXMLQName;
00251
00252 struct OSSAXHandlerBase;
00253
00254 #ifndef OSIntegerFmt_defined
00255 #define OSIntegerFmt_defined
00256 typedef struct OSIntegerFmt {
00257 OSINT8 integerMaxDigits;
00258
00259 OSBOOL signPresent;
00260
00261 } OSIntegerFmt;
00262 #endif
00263
00264 #ifndef OSDecimalFmt_defined
00265 #define OSDecimalFmt_defined
00266 typedef struct OSDecimalFmt {
00267 OSINT8 totalDigits;
00268 OSINT8 fractionDigits;
00269
00270 OSINT8 fractionMinDigits;
00271
00272
00273 OSINT8 integerMaxDigits;
00274
00275
00276 OSINT8 integerMinDigits;
00277
00278 OSBOOL signPresent;
00279
00280 OSBOOL pointPresent;
00281
00282 OSUINT8 nPatterns;
00283 const char* const* patterns;
00284
00285 } OSDecimalFmt;
00286 #endif
00287
00288 #ifndef OSDoubleFmt_defined
00289 #define OSDoubleFmt_defined
00290 typedef struct OSDoubleFmt {
00291 OSINT8 totalDigits;
00292 OSINT8 fractionDigits;
00293
00294 OSINT8 fractionMinDigits;
00295
00296
00297 OSINT8 integerMaxDigits;
00298
00299
00300 OSINT8 integerMinDigits;
00301
00302 OSINT8 expSymbol;
00303
00304 OSINT16 expMinValue;
00305 OSINT16 expMaxValue;
00306 OSINT8 expDigits;
00307
00308
00309 OSBOOL signPresent;
00310
00311 OSBOOL pointPresent;
00312
00313 OSBOOL expPresent;
00314
00315 OSBOOL expSignPresent;
00316
00317 } OSDoubleFmt;
00318 #endif
00319
00320 typedef struct {
00321 size_t offset;
00322 size_t length;
00323 size_t prefixLength;
00324 size_t nameLength;
00325 } OSXMLSortedAttrOffset;
00326
00327 #define OSXMLINDENT 3
00328
00329 #ifdef XML_UNICODE
00330 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00331 #else
00332 #define rtXmlErrAddStrParm rtxErrAddStrParm
00333 #endif
00334
00338 typedef enum {
00339 OSXMLWSM_PRESERVE = 0,
00340 OSXMLWSM_REPLACE,
00341 OSXMLWSM_COLLAPSE
00342 } OSXMLWhiteSpaceMode;
00343
00344 #ifdef __cplusplus
00345 extern "C" {
00346 #endif
00347
00348
00349
00350 #ifndef rtXmlInitContext
00351
00357 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00358 #endif
00359
00374 EXTERNXML int rtXmlInitContextUsingKey
00375 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00376
00383 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00384
00395 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00396
00397 EXTERNXML OSBOOL rtXmlCmpQName
00398 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00399
00400 EXTERNXML int rtXmlGetBase64StrDecodedLen
00401 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00402 size_t* pNumOcts, size_t* pSrcDataLen);
00403
00411 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00412
00433 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00434 const OSUTF8CHAR* inpdata,
00435 int length);
00436
00460 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00461 OSOCTET* pvalue, OSUINT32* pnocts,
00462 OSINT32 bufsize);
00463
00489 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00490 OSOCTET* pvalue, OSUINT32* pnocts,
00491 size_t bufSize, size_t srcDataLen);
00492
00514 EXTERNXML int rtXmlDecBigInt
00515 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00516
00527 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00528
00541 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00542
00561 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00562
00575 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00576
00589 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00590
00603 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00604
00621 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00622
00638 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00639
00654 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
00655
00669 EXTERNXML int rtXmlDecUTF8Str
00670 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00671
00672
00686 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00687
00706 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00707 const OSUTF8CHAR* inpdata,
00708 int length);
00709
00732 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00733 OSOCTET* pvalue, OSUINT32* pnocts,
00734 OSINT32 bufsize);
00735
00736 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00737 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00738 OSUINT32* pnbits, OSINT32 bufsize);
00739
00752 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00753
00766 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00767
00780 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00781
00794 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00795
00808 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00809
00822 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00823
00837 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00838
00851 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00852
00865 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00866
00879 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00880
00894 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00895
00908 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00909
00922 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00923
00942 EXTERNXML int rtXmlDecNSAttr
00943 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00944 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00945
00970 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00971 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00972
00985 EXTERNXML int rtXmlDecXSIAttr
00986 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00987
01002 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
01003 const char* typeName);
01004
01021 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
01022
01035 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
01036
01049 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
01050
01076 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01077 const OSUTF8CHAR* elemName,
01078 OSXMLNamespace* pNS);
01079
01080 EXTERNXML int rtXmlEncAnyStr
01081 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01082 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01083
01095 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01096
01107 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01108
01123 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01124 const OSOCTET* value,
01125 const OSUTF8CHAR* elemName,
01126 OSXMLNamespace* pNS);
01127
01141 EXTERNXML int rtXmlEncBase64BinaryAttr
01142 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01143 const OSUTF8CHAR* attrName, size_t attrNameLen);
01144
01156 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01157 const OSOCTET* value);
01158
01182 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01183 const OSUTF8CHAR* elemName,
01184 OSXMLNamespace* pNS);
01185
01200 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01201 const OSUTF8CHAR* attrName, size_t attrNameLen);
01202
01216 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01217
01235 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01236 const OSOCTET* value,
01237 const OSUTF8CHAR* elemName,
01238 OSXMLNamespace* pNS);
01239
01251 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01252 OSUINT32 nbits,
01253 const OSOCTET* data);
01254
01269 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01270 const OSUTF8CHAR* elemName,
01271 OSXMLNamespace* pNS);
01272
01283 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01284
01296 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01297 const OSUTF8CHAR* attrName,
01298 size_t attrNameLen);
01299
01310 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01311
01329 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01330 const OSUTF8CHAR* elemName,
01331 OSXMLNamespace* pNS);
01332
01346 EXTERNXML int rtXmlEncDateValue
01347 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01348
01372 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01373 const OSUTF8CHAR* elemName,
01374 OSXMLNamespace* pNS);
01375
01388 EXTERNXML int rtXmlEncTimeValue
01389 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01390
01406 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01407 const OSUTF8CHAR* elemName,
01408 OSXMLNamespace* pNS);
01409
01421 EXTERNXML int rtXmlEncDateTimeValue
01422 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01423
01438 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01439 const OSUTF8CHAR* elemName,
01440 OSXMLNamespace* pNS,
01441 const OSDecimalFmt* pFmtSpec);
01442
01455 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01456 const OSUTF8CHAR* attrName,
01457 size_t attrNameLen,
01458 const OSDecimalFmt* pFmtSpec);
01459
01477 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01478 const OSDecimalFmt* pFmtSpec,
01479 char* pDestBuf, size_t destBufSize);
01480
01495 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01496 const OSUTF8CHAR* elemName,
01497 OSXMLNamespace* pNS,
01498 const OSDoubleFmt* pFmtSpec);
01499
01512 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01513 const OSUTF8CHAR* attrName,
01514 size_t attrNameLen,
01515 const OSDoubleFmt* pFmtSpec);
01516
01531 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
01532 const OSDoubleFmt* pFmtSpec,
01533 int defaultPrecision);
01534
01550 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01551 const OSDoubleFmt* pFmtSpec,
01552 int defaultPrecision);
01553
01566 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01567 const OSUTF8CHAR* elemName,
01568 OSXMLNamespace* pNS,
01569 OSRTDList* pNSAttrs,
01570 OSBOOL terminate);
01571
01581 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01582
01593 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01594 const OSUTF8CHAR* elemName,
01595 OSXMLNamespace* pNS);
01596
01606 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01607
01619 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01620
01635 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01636 const OSUTF8CHAR* elemName,
01637 OSXMLNamespace* pNS,
01638 const OSDoubleFmt* pFmtSpec);
01639
01652 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01653 const OSUTF8CHAR* attrName,
01654 size_t attrNameLen,
01655 const OSDoubleFmt* pFmtSpec);
01656
01671 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01672 const OSUTF8CHAR* elemName,
01673 OSXMLNamespace* pNS);
01674
01689 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01690 const OSUTF8CHAR* elemName,
01691 OSXMLNamespace* pNS);
01692
01707 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01708 const OSUTF8CHAR* elemName,
01709 OSXMLNamespace* pNS);
01710
01725 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01726 const OSUTF8CHAR* elemName,
01727 OSXMLNamespace* pNS);
01728
01743 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01744 const OSUTF8CHAR* elemName,
01745 OSXMLNamespace* pNS);
01746
01758 EXTERNXML int rtXmlEncGYearValue
01759 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01760
01772 EXTERNXML int rtXmlEncGYearMonthValue
01773 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01774
01786 EXTERNXML int rtXmlEncGMonthValue
01787 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01788
01800 EXTERNXML int rtXmlEncGMonthDayValue
01801 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01802
01814 EXTERNXML int rtXmlEncGDayValue
01815 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01816
01831 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01832 const OSOCTET* value,
01833 const OSUTF8CHAR* elemName,
01834 OSXMLNamespace* pNS);
01835
01848 EXTERNXML int rtXmlEncHexBinaryAttr
01849 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01850 const OSUTF8CHAR* attrName, size_t attrNameLen);
01851
01863 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01864 OSUINT32 nocts,
01865 const OSOCTET* data);
01866
01877 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01878
01892 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01893 const OSUTF8CHAR* elemName,
01894 OSXMLNamespace* pNS);
01895
01906 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01907
01920 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01921 const OSUTF8CHAR* attrName,
01922 size_t attrNameLen);
01923
01939 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01940 const OSUTF8CHAR* elemName,
01941 OSXMLNamespace* pNS,
01942 const OSUTF8CHAR* pattern);
01943
01944 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01945 const OSUTF8CHAR* pattern);
01946
01947 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01948 const OSUTF8CHAR* elemName,
01949 OSXMLNamespace* pNS,
01950 const OSUTF8CHAR* pattern);
01951
01952 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01953 const OSUTF8CHAR* pattern);
01954
01969 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01970 const OSUTF8CHAR* elemName,
01971 OSXMLNamespace* pNS);
01972
01973 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01974 const OSUTF8CHAR* elemName,
01975 OSXMLNamespace* pNS,
01976 const OSUTF8CHAR* pattern);
01977
01989 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01990 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01991 const OSUTF8CHAR* pattern);
01992
02006 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
02007 const OSUTF8CHAR* attrName,
02008 size_t attrNameLen);
02009
02028 EXTERNXML int rtXmlEncNamedBits
02029 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
02030 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
02031
02032 EXTERNXML int rtXmlEncNamedBitsValue
02033 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
02034 const OSOCTET* pvalue);
02035
02049 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02050
02060 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
02061
02062
02063 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
02064
02081 EXTERNXML int rtXmlEncReal10
02082 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02083 OSXMLNamespace* pNS);
02084
02098 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02099 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02100 size_t itemCount);
02101
02102 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02103 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02104 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02105
02117 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02118
02129 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02145 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02146 const OSUTF8CHAR* elemName,
02147 OSXMLNamespace* pNS,
02148 OSRTDList* pNSAttrs,
02149 OSBOOL terminate);
02150
02162 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02163
02175 EXTERNXML int rtXmlEncStartSoapElems
02176 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02177
02190 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02191 OSXMLSTRING* pxmlstr,
02192 const OSUTF8CHAR* elemName,
02193 OSXMLNamespace* pNS);
02194
02204 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02205
02216 EXTERNXML int rtXmlEncStringValue2
02217 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02218
02229 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02230
02246 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02247 const OSUNICHAR* value,
02248 OSUINT32 nchars,
02249 const OSUTF8CHAR* elemName,
02250 OSXMLNamespace* pNS);
02251
02263 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02264 const OSUTF8CHAR* name,
02265 const OSUTF8CHAR* value);
02266
02280 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02281 const OSUTF8CHAR* name, size_t nameLen,
02282 const OSUTF8CHAR* value, size_t valueLen);
02283
02297 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02298 const OSUTF8CHAR* value,
02299 const OSUTF8CHAR* elemName,
02300 OSXMLNamespace* pNS);
02301
02315 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02316 const OSUTF8CHAR* elemName,
02317 OSXMLNamespace* pNS);
02318
02330 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02331
02344 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02345 const OSUTF8CHAR* attrName,
02346 size_t attrNameLen);
02347
02363 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02364 const OSUTF8CHAR* elemName,
02365 OSXMLNamespace* pNS);
02366
02367 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02368 const OSUTF8CHAR* elemName,
02369 OSXMLNamespace* pNS,
02370 const OSUTF8CHAR* pattern);
02371
02384 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02385 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02386 const OSUTF8CHAR* pattern);
02387
02401 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02402 const OSUTF8CHAR* attrName,
02403 size_t attrNameLen);
02404
02424 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02425
02436 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02437
02450 EXTERNXML int rtXmlEncXSITypeAttr2 (OSCTXT* pctxt,
02451 const OSUTF8CHAR* typeNsUri,
02452 const OSUTF8CHAR* typeName);
02453
02462 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02463
02474 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02475
02476 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02477
02478 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02479 const char* text2, size_t len);
02480
02481 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02482 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02483 (pMemBuf)->pctxt->buffer.size = \
02484 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02485 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02486 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02487 rtxMemBufReset (pMemBuf); \
02488 } while(0)
02489
02512 EXTERNXML int rtXmlSetEncBufPtr
02513 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02514
02523 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02524
02530 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02531
02532
02540 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02541
02542
02551 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02552
02561 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02574 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02575
02584 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02585
02596 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02597
02608 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02609
02610 EXTERNXML int rtXmlSetDigitsFacets
02611 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02612
02623 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02624
02634 EXTERNXML int rtXmlSetEncodingStr
02635 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02636
02652 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02653
02662 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02663
02672 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02673
02684 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02685
02695 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02696
02708 EXTERNXML int rtXmlSetSchemaLocation
02709 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02710
02722 EXTERNXML int rtXmlSetNoNSSchemaLocation
02723 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02724
02733 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02734
02745 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02746
02755 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02756
02757 #include "rtxmlsrc/rtXmlNamespace.h"
02758
02772 EXTERNXML int rtXmlMatchHexStr
02773 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02774
02788 EXTERNXML int rtXmlMatchBase64Str
02789 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02790
02802 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02803
02815 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02816
02828 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02829
02841 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02842
02854 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02855
02867 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02868
02880 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02881
02893 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02894
02907 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02908 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02909
02919 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02920 const OSOCTET* data1,
02921 const OSUTF8CHAR* data2);
02922
02932 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02933 const OSOCTET* data1,
02934 const OSUTF8CHAR* data2);
02935
02936 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02937
02938 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02939 size_t nAttr,
02940 const OSUTF8CHAR* attrNames[],
02941 OSUINT32 attrPresent[]);
02942
02955 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02956 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02957
02973 EXTERNXML OSINT16 rtSaxGetElemID
02974 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02975 #ifdef OSXMLNS12
02976 OSINT32 nsidx,
02977 #endif
02978 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02979 OSINT16 fstabRows, OSINT16 fstabCols);
02980
02996 EXTERNXML OSINT16 rtSaxGetElemID8
02997 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02998 #ifdef OSXMLNS12
02999 OSINT32 nsidx,
03000 #endif
03001 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
03002 OSINT16 fstabRows, OSINT16 fstabCols);
03003
03004 EXTERNXML OSINT16 rtSaxFindElemID
03005 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
03006 #ifdef OSXMLNS12
03007 OSINT32 nsidx,
03008 #endif
03009 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
03010 OSINT16 fstabRows, OSINT16 fstabCols);
03011
03012 EXTERNXML OSINT16 rtSaxFindElemID8
03013 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
03014 #ifdef OSXMLNS12
03015 OSINT32 nsidx,
03016 #endif
03017 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
03018 OSINT16 fstabRows, OSINT16 fstabCols);
03019
03028 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
03029
03037 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
03038
03039 EXTERNXML OSINT16 rtSaxLookupElemID
03040 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03041 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03042 #ifdef OSXMLNS12
03043 OSINT32 nsidx,
03044 #endif
03045 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
03046 OSINT16 fstabRows, OSINT16 fstabCols);
03047
03048 EXTERNXML OSINT16 rtSaxLookupElemID8
03049 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03050 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03051 #ifdef OSXMLNS12
03052 OSINT32 nsidx,
03053 #endif
03054 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
03055 OSINT16 fstabRows, OSINT16 fstabCols);
03056
03068 EXTERNXML int rtSaxStrListParse
03069 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
03070
03089 EXTERNXML int rtSaxSortAttrs
03090 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
03091
03099 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03100
03101 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03102 OSINT16 currElemIdx,
03103 const int* fstab,
03104 int fstabRows, int fstabCols);
03105
03106 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03107 OSINT16 currElemIdx,
03108 const OSINT8* fstab,
03109 int fstabRows, int fstabCols);
03110
03111 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03112
03113 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03114
03115 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03116
03117 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03118 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03119 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03120 const char* parentTypeName);
03121
03122 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03123
03124 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03125 const OSUTF8CHAR* const* attrs,
03126 const char* typeName);
03127
03140 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03141
03142 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03143
03144 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03145
03146 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03147
03152 EXTERNXML void rtErrXmlInit (void);
03153 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03154 EXTERNXML int rtXmlWriteChars
03155 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03156
03176 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03177
03194 EXTERNXML int rtXmlpDecAnyAttrStr
03195 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03196
03216 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03217
03243 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03244 OSUINT32* pnocts, OSINT32 bufsize);
03245
03269 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03270
03287 EXTERNXML int rtXmlpDecBitString
03288 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03289
03302 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03303
03316 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03317
03330 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03331
03350 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03351 int totalDigits, int fractionDigits);
03352
03365 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03366
03367 #define OSXMLREALENC_OBJSYS 0x1F
03368 #define OSXMLREALENC_BXER 0x10
03369 #define OSXMLREALENC_EXERMODS 0x1B
03370 #define OSXMLREALENC_EXERDECIMAL 0x03
03371
03392 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
03393 OSREAL* pvalue);
03394
03395
03414 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03415
03429 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03430
03448 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03449
03467 EXTERNXML int rtXmlpDecDynUnicodeStr
03468 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03469
03483 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03484
03485
03499 EXTERNXML int rtXmlpDecUTF8Str
03500 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03501
03514 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03515
03528 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03529
03542 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03543
03556 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03557
03570 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03571
03596 EXTERNXML int rtXmlpDecHexStr
03597 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03598
03611 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03612
03626 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03627
03640 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03641
03654 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03655
03672 EXTERNXML int rtXmlpDecNamedBits
03673 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03674 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03675
03692 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03693
03712 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03713
03726 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03727
03741 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03742
03755 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03756
03769 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03770
03787 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03788
03805 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03806
03825 EXTERNXML int rtXmlpDecXSIAttr
03826 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03827
03849 EXTERNXML int rtXmlpDecXSITypeAttr
03850 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03851 const OSUTF8CHAR** ppAttrValue);
03852
03876 EXTERNXML int rtXmlpGetAttributeID
03877 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03878 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03879
03892 EXTERNXML int rtXmlpGetNextElem
03893 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03894
03910 EXTERNXML int rtXmlpGetNextElemID
03911 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03912 OSBOOL continueParse);
03913
03923 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03924
03940 EXTERNXML int rtXmlpMatchStartTag
03941 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03942
03953 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03954
03965 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03966
03975 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03976
03995 EXTERNXML int rtXmlpSelectAttribute
03996 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03997
04004 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
04005
04016 EXTERNXML void rtXmlpSetWhiteSpaceMode
04017 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
04018
04026 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
04027 (OSCTXT* pctxt, OSBOOL mixedContentMode);
04028
04034 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
04035
04044 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
04045
04055 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
04056
04072 EXTERNXML int rtXmlpGetNextSeqElemID
04073 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
04074 int curID, int lastMandatoryID, OSBOOL groupMode);
04075
04091 EXTERNXML int rtXmlpGetNextAllElemID
04092 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04093 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04094
04111 EXTERNXML int rtXmlpGetNextAllElemID16
04112 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04113 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04114
04115
04131 EXTERNXML int rtXmlpGetNextAllElemID32
04132 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04133 const OSUINT32* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04134
04135
04143 EXTERNXML void rtXmlpSetNamespaceTable
04144 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
04145
04154 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04155
04162 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04163
04172 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04173
04179 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04180
04186 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04187
04193 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04194
04211 EXTERNXML int rtXmlpGetXSITypeAttr
04212 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04213 size_t* pLocalOffs);
04214
04225 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04226
04236 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04237
04246 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04247
04256 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04257
04267 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04268
04277 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04278
04290 EXTERNXML int rtXmlpGetXSITypeIndex
04291 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04292
04306 EXTERNXML int rtXmlpLookupXSITypeIndex
04307 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04308 const OSXMLItemDescr typetab[], size_t typetabsiz);
04309
04317 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04318
04327 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04328
04338 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04339
04354 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04355
04360 #ifdef __cplusplus
04361 }
04362 #endif
04363
04364 #endif