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 #define OSXSIATTR 0x00000100
00068 #define OSXMLNOCMPNS 0x00000080
00069 #define OSXSINIL 0x00000040
00070
00071 typedef enum {
00072 OSXMLUTF8,
00073 OSXMLUTF16,
00074 OSXMLUTF16BE,
00075 OSXMLUTF16LE,
00076 OSXMLLATIN1
00077 } OSXMLEncoding;
00078
00079 typedef enum {
00080 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00081 } OSXMLSOAPMsgType;
00082
00083 typedef enum {
00084 OSXMLBOM_NO_BOM,
00085 OSXMLBOM_UTF32_BE,
00086 OSXMLBOM_UTF32_LE,
00087 OSXMLBOM_UTF16_BE,
00088 OSXMLBOM_UTF16_LE,
00089 OSXMLBOM_UTF8,
00090 OSXMLBOM_CHECK
00091 } OSXMLBOM;
00092
00093 typedef struct OSXMLFacets {
00094 int totalDigits;
00095 int fractionDigits;
00096 } OSXMLFacets;
00097
00098 typedef struct {
00099 const OSUTF8CHAR* value;
00100 size_t length;
00101 } OSXMLStrFragment;
00102
00103 typedef struct {
00104 OSXMLStrFragment mQName;
00105 OSXMLStrFragment mLocalName;
00106 OSXMLStrFragment mPrefix;
00107 } OSXMLNameFragments;
00108
00109 typedef struct OSXMLItemDescr {
00110 OSXMLStrFragment localName;
00111 OSINT16 nsidx;
00112 } OSXMLItemDescr;
00113
00114 typedef OSXMLItemDescr OSXMLAttrDescr;
00115 typedef OSXMLItemDescr OSXMLElemDescr;
00116
00117 typedef struct OSXMLElemIDRec {
00118 OSXMLElemDescr descr;
00119 OSUINT16 id;
00120 } OSXMLElemIDRec;
00121
00122 typedef struct OSXMLGroupDesc {
00123 int row;
00124 int num;
00125 int anyCase;
00126 } OSXMLGroupDesc;
00127
00128 typedef struct OSXSDAnyType {
00129 OSXMLSTRING value;
00130 OSRTDList attrs;
00131 } OSXSDAnyType;
00132
00133 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00134 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00135
00136 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00137 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00138
00139 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00140 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00141 OSUTF8LEN (str))
00142
00143 #define IS_XMLNSATTR(name) \
00144 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00145 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00146
00147 #define IS_XSIATTR(name) \
00148 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00149 name[2] == 'i' && name[3] == ':')
00150
00151
00152
00153 static const char OSXMLHDRUTF8 [] = "UTF-8";
00154 static const char OSXMLHDRUTF16 [] = "UTF-16";
00155 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00156 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00157 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00158
00159
00160
00161
00162
00163 typedef struct {
00164 OSFreeCtxtAppInfoPtr pFreeFunc;
00165 OSResetCtxtAppInfoPtr pResetFunc;
00166 OSUTF8CHAR* schemaLocation;
00167 OSUTF8CHAR* noNSSchemaLoc;
00168 OSUTF8CHAR* xsiTypeAttr;
00169 OSXMLEncoding encoding;
00170 OSRTDList namespaceList;
00171 OSRTDList encodedNSList;
00172 OSRTDList sortedAttrList;
00173 OSXMLNSPfxLinkStack nsPfxLinkStack;
00174 OSXMLNSURITable nsURITable;
00175 OSRTMEMBUF memBuf;
00176 OSINT32 mSaxLevel;
00177 OSINT32 mSkipLevel;
00178 OSUINT32 maxSaxErrors;
00179 OSUINT32 errorsCnt;
00180 OSUINT8 indent;
00181 OSBOOL mbCdataProcessed;
00182 char indentChar;
00183 OSUINT8 soapVersion;
00184 OSXMLFacets facets;
00185 const OSUTF8CHAR* encodingStr;
00186 OSXMLBOM byteOrderMark;
00187 struct OSXMLReader* pXmlPPReader;
00188
00189 OSRTBuffer savedBuffer;
00190 OSRTFLAGS savedFlags;
00191 OSOCTET* attrsBuff;
00192 size_t attrsBuffSize;
00193 size_t attrStartPos;
00194 } OSXMLCtxtInfo;
00195
00196 typedef enum {
00197 OSXMLINIT,
00198 OSXMLHEADER,
00199 OSXMLSTART,
00200 OSXMLATTR,
00201 OSXMLDATA,
00202 OSXMLEND
00203 } OSXMLState;
00204
00205 typedef struct OSXMLQName {
00206 const OSUTF8CHAR* nsPrefix;
00207 const OSUTF8CHAR* ncName;
00208 } OSXMLQName;
00209
00210 struct OSSAXHandlerBase;
00211
00212 typedef struct OSIntegerFmt {
00213 OSINT8 integerMaxDigits;
00214
00215 OSBOOL signPresent;
00216
00217 } OSIntegerFmt;
00218
00219 typedef struct OSDecimalFmt {
00220 OSINT8 totalDigits;
00221 OSINT8 fractionDigits;
00222
00223 OSINT8 fractionMinDigits;
00224
00225
00226 OSINT8 integerMaxDigits;
00227
00228
00229 OSINT8 integerMinDigits;
00230
00231 OSBOOL signPresent;
00232
00233 OSBOOL pointPresent;
00234
00235 OSUINT8 nPatterns;
00236 const char* const* patterns;
00237
00238 } OSDecimalFmt;
00239
00240 typedef struct OSDoubleFmt {
00241 OSINT8 totalDigits;
00242 OSINT8 fractionDigits;
00243
00244 OSINT8 fractionMinDigits;
00245
00246
00247 OSINT8 integerMaxDigits;
00248
00249
00250 OSINT8 integerMinDigits;
00251
00252 OSINT8 expSymbol;
00253
00254 OSINT16 expMinValue;
00255 OSINT16 expMaxValue;
00256 OSINT8 expDigits;
00257
00258
00259 OSBOOL signPresent;
00260
00261 OSBOOL pointPresent;
00262
00263 OSBOOL expPresent;
00264
00265 OSBOOL expSignPresent;
00266
00267 } OSDoubleFmt;
00268
00269 typedef struct {
00270 size_t offset;
00271 size_t length;
00272 size_t prefixLength;
00273 size_t nameLength;
00274 } OSXMLSortedAttrOffset;
00275
00276 #define OSXMLINDENT 3
00277
00278 #ifdef XML_UNICODE
00279 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00280 #else
00281 #define rtXmlErrAddStrParm rtxErrAddStrParm
00282 #endif
00283
00287 typedef enum {
00288 OSXMLWSM_PRESERVE = 0,
00289 OSXMLWSM_REPLACE,
00290 OSXMLWSM_COLLAPSE
00291 } OSXMLWhiteSpaceMode;
00292
00293 #ifdef __cplusplus
00294 extern "C" {
00295 #endif
00296
00297
00298
00305 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00306
00321 EXTERNXML int rtXmlInitContextUsingKey
00322 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00323
00330 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00331
00342 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00343
00344 EXTERNXML OSBOOL rtXmlCmpQName
00345 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00346
00347 EXTERNXML int rtXmlGetBase64StrDecodedLen
00348 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00349 size_t* pNumOcts, size_t* pSrcDataLen);
00350
00358 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00359
00380 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00381 const OSUTF8CHAR* inpdata,
00382 int length);
00383
00407 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00408 OSOCTET* pvalue, OSUINT32* pnocts,
00409 OSINT32 bufsize);
00410
00436 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00437 OSOCTET* pvalue, OSUINT32* pnocts,
00438 size_t bufSize, size_t srcDataLen);
00439
00461 EXTERNXML int rtXmlDecBigInt
00462 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00463
00474 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00475
00488 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00489
00508 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00509
00522 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00523
00536 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00537
00550 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00551
00568 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00569
00585 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00586
00600 EXTERNXML int rtXmlDecUTF8Str
00601 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00602
00603
00617 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00618
00637 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00638 const OSUTF8CHAR* inpdata,
00639 int length);
00640
00663 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00664 OSOCTET* pvalue, OSUINT32* pnocts,
00665 OSINT32 bufsize);
00666
00667 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00668 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00669 OSUINT32* pnbits, OSINT32 bufsize);
00670
00683 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00684
00697 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00698
00711 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00712
00725 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00726
00739 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00740
00753 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00754
00768 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00769
00782 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00783
00796 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00797
00810 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00811
00825 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00826
00839 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00840
00853 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00854
00873 EXTERNXML int rtXmlDecNSAttr
00874 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00875 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00876
00901 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00902 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00903
00916 EXTERNXML int rtXmlDecXSIAttr
00917 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00918
00933 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00934 const char* typeName);
00935
00952 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00953
00966 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00967
00980 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00981
01007 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01008 const OSUTF8CHAR* elemName,
01009 OSXMLNamespace* pNS);
01010
01011 EXTERNXML int rtXmlEncAnyStr
01012 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01013 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01014
01026 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01027
01038 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01039
01054 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01055 const OSOCTET* value,
01056 const OSUTF8CHAR* elemName,
01057 OSXMLNamespace* pNS);
01058
01072 EXTERNXML int rtXmlEncBase64BinaryAttr
01073 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01074 const OSUTF8CHAR* attrName, size_t attrNameLen);
01075
01087 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01088 const OSOCTET* value);
01089
01113 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01114 const OSUTF8CHAR* elemName,
01115 OSXMLNamespace* pNS);
01116
01131 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01132 const OSUTF8CHAR* attrName, size_t attrNameLen);
01133
01147 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01148
01166 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01167 const OSOCTET* value,
01168 const OSUTF8CHAR* elemName,
01169 OSXMLNamespace* pNS);
01170
01182 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01183 OSUINT32 nbits,
01184 const OSOCTET* data);
01185
01200 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01201 const OSUTF8CHAR* elemName,
01202 OSXMLNamespace* pNS);
01203
01214 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01215
01227 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01228 const OSUTF8CHAR* attrName,
01229 size_t attrNameLen);
01230
01248 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01249 const OSUTF8CHAR* elemName,
01250 OSXMLNamespace* pNS);
01251
01265 EXTERNXML int rtXmlEncDateValue
01266 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01267
01291 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01292 const OSUTF8CHAR* elemName,
01293 OSXMLNamespace* pNS);
01294
01307 EXTERNXML int rtXmlEncTimeValue
01308 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01309
01325 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01326 const OSUTF8CHAR* elemName,
01327 OSXMLNamespace* pNS);
01328
01340 EXTERNXML int rtXmlEncDateTimeValue
01341 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01342
01357 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01358 const OSUTF8CHAR* elemName,
01359 OSXMLNamespace* pNS,
01360 const OSDecimalFmt* pFmtSpec);
01361
01374 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01375 const OSUTF8CHAR* attrName,
01376 size_t attrNameLen,
01377 const OSDecimalFmt* pFmtSpec);
01378
01396 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01397 const OSDecimalFmt* pFmtSpec,
01398 char* pDestBuf, size_t destBufSize);
01399
01414 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01415 const OSUTF8CHAR* elemName,
01416 OSXMLNamespace* pNS,
01417 const OSDoubleFmt* pFmtSpec);
01418
01431 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01432 const OSUTF8CHAR* attrName,
01433 size_t attrNameLen,
01434 const OSDoubleFmt* pFmtSpec);
01435
01449 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01450 const OSDoubleFmt* pFmtSpec,
01451 int defaultPrecision);
01452
01465 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01466 const OSUTF8CHAR* elemName,
01467 OSXMLNamespace* pNS,
01468 OSRTDList* pNSAttrs,
01469 OSBOOL terminate);
01470
01480 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01481
01492 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01493 const OSUTF8CHAR* elemName,
01494 OSXMLNamespace* pNS);
01495
01505 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01506
01518 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01519
01534 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01535 const OSUTF8CHAR* elemName,
01536 OSXMLNamespace* pNS,
01537 const OSDoubleFmt* pFmtSpec);
01538
01551 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01552 const OSUTF8CHAR* attrName,
01553 size_t attrNameLen,
01554 const OSDoubleFmt* pFmtSpec);
01555
01570 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01571 const OSUTF8CHAR* elemName,
01572 OSXMLNamespace* pNS);
01573
01588 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01589 const OSUTF8CHAR* elemName,
01590 OSXMLNamespace* pNS);
01591
01606 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01607 const OSUTF8CHAR* elemName,
01608 OSXMLNamespace* pNS);
01609
01624 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01625 const OSUTF8CHAR* elemName,
01626 OSXMLNamespace* pNS);
01627
01642 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01643 const OSUTF8CHAR* elemName,
01644 OSXMLNamespace* pNS);
01645
01657 EXTERNXML int rtXmlEncGYearValue
01658 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01659
01671 EXTERNXML int rtXmlEncGYearMonthValue
01672 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01673
01685 EXTERNXML int rtXmlEncGMonthValue
01686 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01687
01699 EXTERNXML int rtXmlEncGMonthDayValue
01700 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01701
01713 EXTERNXML int rtXmlEncGDayValue
01714 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01715
01730 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01731 const OSOCTET* value,
01732 const OSUTF8CHAR* elemName,
01733 OSXMLNamespace* pNS);
01734
01747 EXTERNXML int rtXmlEncHexBinaryAttr
01748 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01749 const OSUTF8CHAR* attrName, size_t attrNameLen);
01750
01762 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01763 OSUINT32 nocts,
01764 const OSOCTET* data);
01765
01776 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01777
01791 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01792 const OSUTF8CHAR* elemName,
01793 OSXMLNamespace* pNS);
01794
01805 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01806
01819 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01820 const OSUTF8CHAR* attrName,
01821 size_t attrNameLen);
01822
01838 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01839 const OSUTF8CHAR* elemName,
01840 OSXMLNamespace* pNS,
01841 const OSUTF8CHAR* pattern);
01842
01843 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01844 const OSUTF8CHAR* pattern);
01845
01846 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01847 const OSUTF8CHAR* elemName,
01848 OSXMLNamespace* pNS,
01849 const OSUTF8CHAR* pattern);
01850
01851 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01852 const OSUTF8CHAR* pattern);
01853
01868 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01869 const OSUTF8CHAR* elemName,
01870 OSXMLNamespace* pNS);
01871
01872 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01873 const OSUTF8CHAR* elemName,
01874 OSXMLNamespace* pNS,
01875 const OSUTF8CHAR* pattern);
01876
01888 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01889 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01890 const OSUTF8CHAR* pattern);
01891
01905 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01906 const OSUTF8CHAR* attrName,
01907 size_t attrNameLen);
01908
01927 EXTERNXML int rtXmlEncNamedBits
01928 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01929 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01930
01931 EXTERNXML int rtXmlEncNamedBitsValue
01932 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01933 const OSOCTET* pvalue);
01934
01948 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01949
01959 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
01960
01961
01962 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
01963
01980 EXTERNXML int rtXmlEncReal10
01981 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
01982 OSXMLNamespace* pNS);
01983
01997 EXTERNXML int rtXmlEncSoapArrayTypeAttr
01998 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
01999 size_t itemCount);
02000
02001 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02002 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02003 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02004
02016 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02017
02028 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02043 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02044 const OSUTF8CHAR* elemName,
02045 OSXMLNamespace* pNS,
02046 OSRTDList* pNSAttrs,
02047 OSBOOL terminate);
02048
02060 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02061
02073 EXTERNXML int rtXmlEncStartSoapElems
02074 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02075
02089 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02090 OSXMLSTRING* pxmlstr,
02091 const OSUTF8CHAR* elemName,
02092 OSXMLNamespace* pNS);
02093
02103 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02104
02115 EXTERNXML int rtXmlEncStringValue2
02116 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02117
02128 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02129
02145 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02146 const OSUNICHAR* value,
02147 OSUINT32 nchars,
02148 const OSUTF8CHAR* elemName,
02149 OSXMLNamespace* pNS);
02150
02162 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02163 const OSUTF8CHAR* name,
02164 const OSUTF8CHAR* value);
02165
02179 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02180 const OSUTF8CHAR* name, size_t nameLen,
02181 const OSUTF8CHAR* value, size_t valueLen);
02182
02196 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02197 const OSUTF8CHAR* value,
02198 const OSUTF8CHAR* elemName,
02199 OSXMLNamespace* pNS);
02200
02214 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02215 const OSUTF8CHAR* elemName,
02216 OSXMLNamespace* pNS);
02217
02229 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02230
02243 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02244 const OSUTF8CHAR* attrName,
02245 size_t attrNameLen);
02246
02262 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02263 const OSUTF8CHAR* elemName,
02264 OSXMLNamespace* pNS);
02265
02266 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02267 const OSUTF8CHAR* elemName,
02268 OSXMLNamespace* pNS,
02269 const OSUTF8CHAR* pattern);
02270
02283 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02284 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02285 const OSUTF8CHAR* pattern);
02286
02300 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02301 const OSUTF8CHAR* attrName,
02302 size_t attrNameLen);
02303
02323 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02324
02335 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02336
02345 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02346
02357 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02358
02359 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02360
02361 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02362 const char* text2, size_t len);
02363
02364 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02365 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02366 (pMemBuf)->pctxt->buffer.size = \
02367 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02368 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02369 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02370 rtxMemBufReset (pMemBuf); \
02371 } while(0)
02372
02395 EXTERNXML int rtXmlSetEncBufPtr
02396 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02397
02406 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02407
02413 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02414
02415
02423 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02424
02425
02434 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02435
02444 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02457 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02458
02467 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02468
02479 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02480
02491 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02492
02493 EXTERNXML int rtXmlSetDigitsFacets
02494 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02495
02506 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02507
02517 EXTERNXML int rtXmlSetEncodingStr
02518 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02519
02535 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02536
02545 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02546
02555 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02556
02567 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02568
02578 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02579
02591 EXTERNXML int rtXmlSetSchemaLocation
02592 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02593
02605 EXTERNXML int rtXmlSetNoNSSchemaLocation
02606 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02607
02616 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02617
02628 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02629
02638 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02639
02640 #include "rtxmlsrc/rtXmlNamespace.h"
02641
02655 EXTERNXML int rtXmlMatchHexStr
02656 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02657
02671 EXTERNXML int rtXmlMatchBase64Str
02672 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02673
02685 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02686
02698 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02699
02711 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02712
02724 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02725
02737 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02738
02750 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02751
02763 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02764
02776 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02777
02790 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02791 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02792
02802 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02803 const OSOCTET* data1,
02804 const OSUTF8CHAR* data2);
02805
02815 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02816 const OSOCTET* data1,
02817 const OSUTF8CHAR* data2);
02818
02819 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02820
02821 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02822 size_t nAttr,
02823 const OSUTF8CHAR* attrNames[],
02824 OSUINT32 attrPresent[]);
02825
02838 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02839 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02840
02856 EXTERNXML OSINT16 rtSaxGetElemID
02857 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02858 #ifdef OSXMLNS12
02859 OSINT32 nsidx,
02860 #endif
02861 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02862 OSINT16 fstabRows, OSINT16 fstabCols);
02863
02879 EXTERNXML OSINT16 rtSaxGetElemID8
02880 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02881 #ifdef OSXMLNS12
02882 OSINT32 nsidx,
02883 #endif
02884 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02885 OSINT16 fstabRows, OSINT16 fstabCols);
02886
02887 EXTERNXML OSINT16 rtSaxFindElemID
02888 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02889 #ifdef OSXMLNS12
02890 OSINT32 nsidx,
02891 #endif
02892 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02893 OSINT16 fstabRows, OSINT16 fstabCols);
02894
02895 EXTERNXML OSINT16 rtSaxFindElemID8
02896 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02897 #ifdef OSXMLNS12
02898 OSINT32 nsidx,
02899 #endif
02900 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02901 OSINT16 fstabRows, OSINT16 fstabCols);
02902
02911 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02912
02920 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02921
02922 EXTERNXML OSINT16 rtSaxLookupElemID
02923 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02924 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02925 #ifdef OSXMLNS12
02926 OSINT32 nsidx,
02927 #endif
02928 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02929 OSINT16 fstabRows, OSINT16 fstabCols);
02930
02931 EXTERNXML OSINT16 rtSaxLookupElemID8
02932 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02933 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02934 #ifdef OSXMLNS12
02935 OSINT32 nsidx,
02936 #endif
02937 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02938 OSINT16 fstabRows, OSINT16 fstabCols);
02939
02951 EXTERNXML int rtSaxStrListParse
02952 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02953
02972 EXTERNXML int rtSaxSortAttrs
02973 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
02974
02982 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
02983
02984 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
02985 OSINT16 currElemIdx,
02986 const int* fstab,
02987 int fstabRows, int fstabCols);
02988
02989 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
02990 OSINT16 currElemIdx,
02991 const OSINT8* fstab,
02992 int fstabRows, int fstabCols);
02993
02994 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
02995
02996 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
02997
02998 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
02999
03000 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03001 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03002 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03003 const char* parentTypeName);
03004
03005 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03006
03007 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03008 const OSUTF8CHAR* const* attrs,
03009 const char* typeName);
03010
03023 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03024
03025 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03026
03027 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03028
03029 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03030
03035 EXTERNXML void rtErrXmlInit (void);
03036 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03037 EXTERNXML int rtXmlWriteChars
03038 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03039
03059 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03060
03077 EXTERNXML int rtXmlpDecAnyAttrStr
03078 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03079
03099 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03100
03126 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03127 OSUINT32* pnocts, OSINT32 bufsize);
03128
03152 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03153
03170 EXTERNXML int rtXmlpDecBitString
03171 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03172
03185 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03186
03199 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03200
03213 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03214
03233 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03234 int totalDigits, int fractionDigits);
03235
03248 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03249
03268 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03269
03283 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03284
03302 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03303
03321 EXTERNXML int rtXmlpDecDynUnicodeStr
03322 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03323
03337 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03338
03339
03353 EXTERNXML int rtXmlpDecUTF8Str
03354 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03355
03368 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03369
03382 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03383
03396 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03397
03410 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03411
03424 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03425
03450 EXTERNXML int rtXmlpDecHexStr
03451 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03452
03465 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03466
03480 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03481
03494 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03495
03508 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03509
03526 EXTERNXML int rtXmlpDecNamedBits
03527 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03528 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03529
03546 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03547
03566 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03567
03580 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03581
03595 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03596
03609 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03610
03623 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03624
03641 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03642
03659 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03660
03679 EXTERNXML int rtXmlpDecXSIAttr
03680 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03681
03703 EXTERNXML int rtXmlpDecXSITypeAttr
03704 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03705 const OSUTF8CHAR** ppAttrValue);
03706
03730 EXTERNXML int rtXmlpGetAttributeID
03731 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03732 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03733
03746 EXTERNXML int rtXmlpGetNextElem
03747 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03748
03764 EXTERNXML int rtXmlpGetNextElemID
03765 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03766 OSBOOL continueParse);
03767
03777 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03778
03794 EXTERNXML int rtXmlpMatchStartTag
03795 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03796
03807 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03808
03819 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03820
03829 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03830
03849 EXTERNXML int rtXmlpSelectAttribute
03850 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03851
03858 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03859
03870 EXTERNXML void rtXmlpSetWhiteSpaceMode
03871 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03872
03880 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03881 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03882
03888 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03889
03898 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03899
03909 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSUINT32* itemCnt);
03910
03926 EXTERNXML int rtXmlpGetNextSeqElemID
03927 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03928 int curID, int lastMandatoryID, OSBOOL groupMode);
03929
03945 EXTERNXML int rtXmlpGetNextAllElemID
03946 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03947 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03948
03965 EXTERNXML int rtXmlpGetNextAllElemID16
03966 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03967 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03968
03976 EXTERNXML void rtXmlpSetNamespaceTable
03977 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
03978
03987 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
03988
03995 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
03996
04005 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04006
04012 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04013
04019 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04020
04026 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04027
04044 EXTERNXML int rtXmlpGetXSITypeAttr
04045 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04046 size_t* pLocalOffs);
04047
04058 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04059
04069 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04070
04079 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04080
04089 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04090
04099 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04100
04112 EXTERNXML int rtXmlpGetXSITypeIndex
04113 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04114
04128 EXTERNXML int rtXmlpLookupXSITypeIndex
04129 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04130 const OSXMLItemDescr typetab[], size_t typetabsiz);
04131
04139 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04140
04149 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04150
04160 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04161
04166 #ifdef __cplusplus
04167 }
04168 #endif
04169
04170 #endif