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 #define OSXMLNOBLANKS 0x00000020
00071 #define OSHASDEFAULT 0x00000010
00072
00073
00074
00075
00076
00077
00078 typedef enum {
00079 OSXMLUTF8,
00080 OSXMLUTF16,
00081 OSXMLUTF16BE,
00082 OSXMLUTF16LE,
00083 OSXMLLATIN1
00084 } OSXMLEncoding;
00085
00086 typedef enum {
00087 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00088 } OSXMLSOAPMsgType;
00089
00090 typedef enum {
00091 OSXMLBOM_NO_BOM,
00092 OSXMLBOM_UTF32_BE,
00093 OSXMLBOM_UTF32_LE,
00094 OSXMLBOM_UTF16_BE,
00095 OSXMLBOM_UTF16_LE,
00096 OSXMLBOM_UTF8,
00097 OSXMLBOM_CHECK
00098 } OSXMLBOM;
00099
00100 typedef struct OSXMLFacets {
00101 int totalDigits;
00102 int fractionDigits;
00103 } OSXMLFacets;
00104
00105 typedef struct {
00106 const OSUTF8CHAR* value;
00107 size_t length;
00108 } OSXMLStrFragment;
00109
00110 typedef struct {
00111 OSXMLStrFragment mQName;
00112 OSXMLStrFragment mLocalName;
00113 OSXMLStrFragment mPrefix;
00114 } OSXMLNameFragments;
00115
00116 typedef struct OSXMLItemDescr {
00117 OSXMLStrFragment localName;
00118 OSINT16 nsidx;
00119 } OSXMLItemDescr;
00120
00121 typedef OSXMLItemDescr OSXMLAttrDescr;
00122 typedef OSXMLItemDescr OSXMLElemDescr;
00123
00124 typedef struct OSXMLElemIDRec {
00125 OSXMLElemDescr descr;
00126 OSUINT16 id;
00127 } OSXMLElemIDRec;
00128
00129 typedef struct OSXMLGroupDesc {
00130 int row;
00131 int num;
00132 int anyCase;
00133 } OSXMLGroupDesc;
00134
00135 typedef struct OSXSDAnyType {
00136 OSXMLSTRING value;
00137 OSRTDList attrs;
00138 } OSXSDAnyType;
00139
00140 struct OSXMLReader;
00141
00142 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00143 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00144
00145 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00146 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00147
00148 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00149 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00150 OSUTF8LEN (str))
00151
00152 #define IS_XMLNSATTR(name) \
00153 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00154 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00155
00156 #define IS_XSIATTR(name) \
00157 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00158 name[2] == 'i' && name[3] == ':')
00159
00160
00161
00162 static const char OSXMLHDRUTF8 [] = "UTF-8";
00163 static const char OSXMLHDRUTF16 [] = "UTF-16";
00164 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00165 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00166 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00167
00168
00169
00170
00171
00172 typedef struct {
00173 OSFreeCtxtAppInfoPtr pFreeFunc;
00174 OSResetCtxtAppInfoPtr pResetFunc;
00175 OSUTF8CHAR* schemaLocation;
00176 OSUTF8CHAR* noNSSchemaLoc;
00177 OSUTF8CHAR* xsiTypeAttr;
00178 OSXMLEncoding encoding;
00179 OSRTDList namespaceList;
00180 OSRTDList encodedNSList;
00181 OSRTDList sortedAttrList;
00182 OSXMLNSPfxLinkStack nsPfxLinkStack;
00183 OSXMLNSURITable nsURITable;
00184 OSRTMEMBUF memBuf;
00185 OSINT32 mSaxLevel;
00186 OSINT32 mSkipLevel;
00187 OSUINT32 maxSaxErrors;
00188 OSUINT32 errorsCnt;
00189 OSUINT8 indent;
00190 OSBOOL mbCdataProcessed;
00191 char indentChar;
00192 OSUINT8 soapVersion;
00193 OSXMLFacets facets;
00194 const OSUTF8CHAR* encodingStr;
00195 OSXMLBOM byteOrderMark;
00196 struct OSXMLReader* pXmlPPReader;
00197
00198 OSRTBuffer savedBuffer;
00199 OSRTFLAGS savedFlags;
00200 OSOCTET* attrsBuff;
00201 size_t attrsBuffSize;
00202 size_t attrStartPos;
00203 } OSXMLCtxtInfo;
00204
00205 typedef enum {
00206 OSXMLINIT,
00207 OSXMLHEADER,
00208 OSXMLSTART,
00209 OSXMLATTR,
00210 OSXMLDATA,
00211 OSXMLEND
00212 } OSXMLState;
00213
00214 typedef struct OSXMLQName {
00215 const OSUTF8CHAR* nsPrefix;
00216 const OSUTF8CHAR* ncName;
00217 } OSXMLQName;
00218
00219 struct OSSAXHandlerBase;
00220
00221 typedef struct OSIntegerFmt {
00222 OSINT8 integerMaxDigits;
00223
00224 OSBOOL signPresent;
00225
00226 } OSIntegerFmt;
00227
00228 typedef struct OSDecimalFmt {
00229 OSINT8 totalDigits;
00230 OSINT8 fractionDigits;
00231
00232 OSINT8 fractionMinDigits;
00233
00234
00235 OSINT8 integerMaxDigits;
00236
00237
00238 OSINT8 integerMinDigits;
00239
00240 OSBOOL signPresent;
00241
00242 OSBOOL pointPresent;
00243
00244 OSUINT8 nPatterns;
00245 const char* const* patterns;
00246
00247 } OSDecimalFmt;
00248
00249 typedef struct OSDoubleFmt {
00250 OSINT8 totalDigits;
00251 OSINT8 fractionDigits;
00252
00253 OSINT8 fractionMinDigits;
00254
00255
00256 OSINT8 integerMaxDigits;
00257
00258
00259 OSINT8 integerMinDigits;
00260
00261 OSINT8 expSymbol;
00262
00263 OSINT16 expMinValue;
00264 OSINT16 expMaxValue;
00265 OSINT8 expDigits;
00266
00267
00268 OSBOOL signPresent;
00269
00270 OSBOOL pointPresent;
00271
00272 OSBOOL expPresent;
00273
00274 OSBOOL expSignPresent;
00275
00276 } OSDoubleFmt;
00277
00278 typedef struct {
00279 size_t offset;
00280 size_t length;
00281 size_t prefixLength;
00282 size_t nameLength;
00283 } OSXMLSortedAttrOffset;
00284
00285 #define OSXMLINDENT 3
00286
00287 #ifdef XML_UNICODE
00288 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00289 #else
00290 #define rtXmlErrAddStrParm rtxErrAddStrParm
00291 #endif
00292
00296 typedef enum {
00297 OSXMLWSM_PRESERVE = 0,
00298 OSXMLWSM_REPLACE,
00299 OSXMLWSM_COLLAPSE
00300 } OSXMLWhiteSpaceMode;
00301
00302 #ifdef __cplusplus
00303 extern "C" {
00304 #endif
00305
00306
00307
00314 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00315
00330 EXTERNXML int rtXmlInitContextUsingKey
00331 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00332
00339 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00340
00351 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00352
00353 EXTERNXML OSBOOL rtXmlCmpQName
00354 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00355
00356 EXTERNXML int rtXmlGetBase64StrDecodedLen
00357 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00358 size_t* pNumOcts, size_t* pSrcDataLen);
00359
00367 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00368
00389 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00390 const OSUTF8CHAR* inpdata,
00391 int length);
00392
00416 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00417 OSOCTET* pvalue, OSUINT32* pnocts,
00418 OSINT32 bufsize);
00419
00445 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00446 OSOCTET* pvalue, OSUINT32* pnocts,
00447 size_t bufSize, size_t srcDataLen);
00448
00470 EXTERNXML int rtXmlDecBigInt
00471 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00472
00483 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00484
00497 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00498
00517 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00518
00531 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00532
00545 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00546
00559 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00560
00577 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00578
00594 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00595
00609 EXTERNXML int rtXmlDecUTF8Str
00610 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00611
00612
00626 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00627
00646 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00647 const OSUTF8CHAR* inpdata,
00648 int length);
00649
00672 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00673 OSOCTET* pvalue, OSUINT32* pnocts,
00674 OSINT32 bufsize);
00675
00676 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00677 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00678 OSUINT32* pnbits, OSINT32 bufsize);
00679
00692 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00693
00706 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00707
00720 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00721
00734 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00735
00748 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00749
00762 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00763
00777 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00778
00791 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00792
00805 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00806
00819 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00820
00834 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00835
00848 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00849
00862 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00863
00882 EXTERNXML int rtXmlDecNSAttr
00883 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00884 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00885
00910 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00911 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00912
00925 EXTERNXML int rtXmlDecXSIAttr
00926 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00927
00942 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00943 const char* typeName);
00944
00961 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00962
00975 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00976
00989 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00990
01016 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01017 const OSUTF8CHAR* elemName,
01018 OSXMLNamespace* pNS);
01019
01020 EXTERNXML int rtXmlEncAnyStr
01021 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01022 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01023
01035 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01036
01047 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01048
01063 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01064 const OSOCTET* value,
01065 const OSUTF8CHAR* elemName,
01066 OSXMLNamespace* pNS);
01067
01081 EXTERNXML int rtXmlEncBase64BinaryAttr
01082 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01083 const OSUTF8CHAR* attrName, size_t attrNameLen);
01084
01096 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01097 const OSOCTET* value);
01098
01122 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01123 const OSUTF8CHAR* elemName,
01124 OSXMLNamespace* pNS);
01125
01140 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01141 const OSUTF8CHAR* attrName, size_t attrNameLen);
01142
01156 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01157
01175 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01176 const OSOCTET* value,
01177 const OSUTF8CHAR* elemName,
01178 OSXMLNamespace* pNS);
01179
01191 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01192 OSUINT32 nbits,
01193 const OSOCTET* data);
01194
01209 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01210 const OSUTF8CHAR* elemName,
01211 OSXMLNamespace* pNS);
01212
01223 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01224
01236 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01237 const OSUTF8CHAR* attrName,
01238 size_t attrNameLen);
01239
01250 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01251
01269 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01270 const OSUTF8CHAR* elemName,
01271 OSXMLNamespace* pNS);
01272
01286 EXTERNXML int rtXmlEncDateValue
01287 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01288
01312 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01313 const OSUTF8CHAR* elemName,
01314 OSXMLNamespace* pNS);
01315
01328 EXTERNXML int rtXmlEncTimeValue
01329 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01330
01346 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01347 const OSUTF8CHAR* elemName,
01348 OSXMLNamespace* pNS);
01349
01361 EXTERNXML int rtXmlEncDateTimeValue
01362 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01363
01378 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01379 const OSUTF8CHAR* elemName,
01380 OSXMLNamespace* pNS,
01381 const OSDecimalFmt* pFmtSpec);
01382
01395 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01396 const OSUTF8CHAR* attrName,
01397 size_t attrNameLen,
01398 const OSDecimalFmt* pFmtSpec);
01399
01417 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01418 const OSDecimalFmt* pFmtSpec,
01419 char* pDestBuf, size_t destBufSize);
01420
01435 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01436 const OSUTF8CHAR* elemName,
01437 OSXMLNamespace* pNS,
01438 const OSDoubleFmt* pFmtSpec);
01439
01452 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01453 const OSUTF8CHAR* attrName,
01454 size_t attrNameLen,
01455 const OSDoubleFmt* pFmtSpec);
01456
01470 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01471 const OSDoubleFmt* pFmtSpec,
01472 int defaultPrecision);
01473
01486 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01487 const OSUTF8CHAR* elemName,
01488 OSXMLNamespace* pNS,
01489 OSRTDList* pNSAttrs,
01490 OSBOOL terminate);
01491
01501 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01502
01513 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01514 const OSUTF8CHAR* elemName,
01515 OSXMLNamespace* pNS);
01516
01526 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01527
01539 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01540
01555 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01556 const OSUTF8CHAR* elemName,
01557 OSXMLNamespace* pNS,
01558 const OSDoubleFmt* pFmtSpec);
01559
01572 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01573 const OSUTF8CHAR* attrName,
01574 size_t attrNameLen,
01575 const OSDoubleFmt* pFmtSpec);
01576
01591 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01592 const OSUTF8CHAR* elemName,
01593 OSXMLNamespace* pNS);
01594
01609 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01610 const OSUTF8CHAR* elemName,
01611 OSXMLNamespace* pNS);
01612
01627 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01628 const OSUTF8CHAR* elemName,
01629 OSXMLNamespace* pNS);
01630
01645 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01646 const OSUTF8CHAR* elemName,
01647 OSXMLNamespace* pNS);
01648
01663 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01664 const OSUTF8CHAR* elemName,
01665 OSXMLNamespace* pNS);
01666
01678 EXTERNXML int rtXmlEncGYearValue
01679 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01680
01692 EXTERNXML int rtXmlEncGYearMonthValue
01693 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01694
01706 EXTERNXML int rtXmlEncGMonthValue
01707 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01708
01720 EXTERNXML int rtXmlEncGMonthDayValue
01721 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01722
01734 EXTERNXML int rtXmlEncGDayValue
01735 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01736
01751 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01752 const OSOCTET* value,
01753 const OSUTF8CHAR* elemName,
01754 OSXMLNamespace* pNS);
01755
01768 EXTERNXML int rtXmlEncHexBinaryAttr
01769 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01770 const OSUTF8CHAR* attrName, size_t attrNameLen);
01771
01783 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01784 OSUINT32 nocts,
01785 const OSOCTET* data);
01786
01797 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01798
01812 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01813 const OSUTF8CHAR* elemName,
01814 OSXMLNamespace* pNS);
01815
01826 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01827
01840 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01841 const OSUTF8CHAR* attrName,
01842 size_t attrNameLen);
01843
01859 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01860 const OSUTF8CHAR* elemName,
01861 OSXMLNamespace* pNS,
01862 const OSUTF8CHAR* pattern);
01863
01864 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01865 const OSUTF8CHAR* pattern);
01866
01867 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01868 const OSUTF8CHAR* elemName,
01869 OSXMLNamespace* pNS,
01870 const OSUTF8CHAR* pattern);
01871
01872 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01873 const OSUTF8CHAR* pattern);
01874
01889 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01890 const OSUTF8CHAR* elemName,
01891 OSXMLNamespace* pNS);
01892
01893 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01894 const OSUTF8CHAR* elemName,
01895 OSXMLNamespace* pNS,
01896 const OSUTF8CHAR* pattern);
01897
01909 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01910 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01911 const OSUTF8CHAR* pattern);
01912
01926 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01927 const OSUTF8CHAR* attrName,
01928 size_t attrNameLen);
01929
01948 EXTERNXML int rtXmlEncNamedBits
01949 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01950 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01951
01952 EXTERNXML int rtXmlEncNamedBitsValue
01953 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01954 const OSOCTET* pvalue);
01955
01969 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01970
01980 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
01981
01982
01983 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
01984
02001 EXTERNXML int rtXmlEncReal10
02002 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02003 OSXMLNamespace* pNS);
02004
02018 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02019 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02020 size_t itemCount);
02021
02022 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02023 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02024 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02025
02037 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02038
02049 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02064 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02065 const OSUTF8CHAR* elemName,
02066 OSXMLNamespace* pNS,
02067 OSRTDList* pNSAttrs,
02068 OSBOOL terminate);
02069
02081 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02082
02094 EXTERNXML int rtXmlEncStartSoapElems
02095 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02096
02110 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02111 OSXMLSTRING* pxmlstr,
02112 const OSUTF8CHAR* elemName,
02113 OSXMLNamespace* pNS);
02114
02124 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02125
02136 EXTERNXML int rtXmlEncStringValue2
02137 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02138
02149 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02150
02166 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02167 const OSUNICHAR* value,
02168 OSUINT32 nchars,
02169 const OSUTF8CHAR* elemName,
02170 OSXMLNamespace* pNS);
02171
02183 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02184 const OSUTF8CHAR* name,
02185 const OSUTF8CHAR* value);
02186
02200 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02201 const OSUTF8CHAR* name, size_t nameLen,
02202 const OSUTF8CHAR* value, size_t valueLen);
02203
02217 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02218 const OSUTF8CHAR* value,
02219 const OSUTF8CHAR* elemName,
02220 OSXMLNamespace* pNS);
02221
02235 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02236 const OSUTF8CHAR* elemName,
02237 OSXMLNamespace* pNS);
02238
02250 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02251
02264 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02265 const OSUTF8CHAR* attrName,
02266 size_t attrNameLen);
02267
02283 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02284 const OSUTF8CHAR* elemName,
02285 OSXMLNamespace* pNS);
02286
02287 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02288 const OSUTF8CHAR* elemName,
02289 OSXMLNamespace* pNS,
02290 const OSUTF8CHAR* pattern);
02291
02304 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02305 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02306 const OSUTF8CHAR* pattern);
02307
02321 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02322 const OSUTF8CHAR* attrName,
02323 size_t attrNameLen);
02324
02344 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02345
02356 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02357
02366 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02367
02378 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02379
02380 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02381
02382 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02383 const char* text2, size_t len);
02384
02385 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02386 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02387 (pMemBuf)->pctxt->buffer.size = \
02388 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02389 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02390 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02391 rtxMemBufReset (pMemBuf); \
02392 } while(0)
02393
02416 EXTERNXML int rtXmlSetEncBufPtr
02417 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02418
02427 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02428
02434 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02435
02436
02444 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02445
02446
02455 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02456
02465 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02478 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02479
02488 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02489
02500 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02501
02512 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02513
02514 EXTERNXML int rtXmlSetDigitsFacets
02515 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02516
02527 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02528
02538 EXTERNXML int rtXmlSetEncodingStr
02539 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02540
02556 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02557
02566 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02567
02576 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02577
02588 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02589
02599 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02600
02612 EXTERNXML int rtXmlSetSchemaLocation
02613 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02614
02626 EXTERNXML int rtXmlSetNoNSSchemaLocation
02627 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02628
02637 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02638
02649 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02650
02659 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02660
02661 #include "rtxmlsrc/rtXmlNamespace.h"
02662
02676 EXTERNXML int rtXmlMatchHexStr
02677 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02678
02692 EXTERNXML int rtXmlMatchBase64Str
02693 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02694
02706 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02707
02719 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02720
02732 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02733
02745 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02746
02758 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02759
02771 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02772
02784 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02785
02797 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02798
02811 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02812 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02813
02823 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02824 const OSOCTET* data1,
02825 const OSUTF8CHAR* data2);
02826
02836 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02837 const OSOCTET* data1,
02838 const OSUTF8CHAR* data2);
02839
02840 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02841
02842 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02843 size_t nAttr,
02844 const OSUTF8CHAR* attrNames[],
02845 OSUINT32 attrPresent[]);
02846
02859 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02860 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02861
02877 EXTERNXML OSINT16 rtSaxGetElemID
02878 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02879 #ifdef OSXMLNS12
02880 OSINT32 nsidx,
02881 #endif
02882 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02883 OSINT16 fstabRows, OSINT16 fstabCols);
02884
02900 EXTERNXML OSINT16 rtSaxGetElemID8
02901 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02902 #ifdef OSXMLNS12
02903 OSINT32 nsidx,
02904 #endif
02905 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02906 OSINT16 fstabRows, OSINT16 fstabCols);
02907
02908 EXTERNXML OSINT16 rtSaxFindElemID
02909 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02910 #ifdef OSXMLNS12
02911 OSINT32 nsidx,
02912 #endif
02913 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02914 OSINT16 fstabRows, OSINT16 fstabCols);
02915
02916 EXTERNXML OSINT16 rtSaxFindElemID8
02917 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02918 #ifdef OSXMLNS12
02919 OSINT32 nsidx,
02920 #endif
02921 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02922 OSINT16 fstabRows, OSINT16 fstabCols);
02923
02932 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02933
02941 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02942
02943 EXTERNXML OSINT16 rtSaxLookupElemID
02944 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02945 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02946 #ifdef OSXMLNS12
02947 OSINT32 nsidx,
02948 #endif
02949 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02950 OSINT16 fstabRows, OSINT16 fstabCols);
02951
02952 EXTERNXML OSINT16 rtSaxLookupElemID8
02953 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02954 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02955 #ifdef OSXMLNS12
02956 OSINT32 nsidx,
02957 #endif
02958 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02959 OSINT16 fstabRows, OSINT16 fstabCols);
02960
02972 EXTERNXML int rtSaxStrListParse
02973 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02974
02993 EXTERNXML int rtSaxSortAttrs
02994 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
02995
03003 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03004
03005 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03006 OSINT16 currElemIdx,
03007 const int* fstab,
03008 int fstabRows, int fstabCols);
03009
03010 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03011 OSINT16 currElemIdx,
03012 const OSINT8* fstab,
03013 int fstabRows, int fstabCols);
03014
03015 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03016
03017 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03018
03019 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03020
03021 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03022 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03023 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03024 const char* parentTypeName);
03025
03026 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03027
03028 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03029 const OSUTF8CHAR* const* attrs,
03030 const char* typeName);
03031
03044 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03045
03046 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03047
03048 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03049
03050 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03051
03056 EXTERNXML void rtErrXmlInit (void);
03057 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03058 EXTERNXML int rtXmlWriteChars
03059 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03060
03080 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03081
03098 EXTERNXML int rtXmlpDecAnyAttrStr
03099 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03100
03120 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03121
03147 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03148 OSUINT32* pnocts, OSINT32 bufsize);
03149
03173 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03174
03191 EXTERNXML int rtXmlpDecBitString
03192 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03193
03206 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03207
03220 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03221
03234 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03235
03254 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03255 int totalDigits, int fractionDigits);
03256
03269 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03270
03289 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03290
03304 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03305
03323 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03324
03342 EXTERNXML int rtXmlpDecDynUnicodeStr
03343 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03344
03358 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03359
03360
03374 EXTERNXML int rtXmlpDecUTF8Str
03375 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03376
03389 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03390
03403 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03404
03417 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03418
03431 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03432
03445 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03446
03471 EXTERNXML int rtXmlpDecHexStr
03472 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03473
03486 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03487
03501 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03502
03515 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03516
03529 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03530
03547 EXTERNXML int rtXmlpDecNamedBits
03548 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03549 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03550
03567 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03568
03587 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03588
03601 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03602
03616 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03617
03630 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03631
03644 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03645
03662 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03663
03680 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03681
03700 EXTERNXML int rtXmlpDecXSIAttr
03701 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03702
03724 EXTERNXML int rtXmlpDecXSITypeAttr
03725 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03726 const OSUTF8CHAR** ppAttrValue);
03727
03751 EXTERNXML int rtXmlpGetAttributeID
03752 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03753 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03754
03767 EXTERNXML int rtXmlpGetNextElem
03768 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03769
03785 EXTERNXML int rtXmlpGetNextElemID
03786 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03787 OSBOOL continueParse);
03788
03798 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03799
03815 EXTERNXML int rtXmlpMatchStartTag
03816 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03817
03828 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03829
03840 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03841
03850 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03851
03870 EXTERNXML int rtXmlpSelectAttribute
03871 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03872
03879 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03880
03891 EXTERNXML void rtXmlpSetWhiteSpaceMode
03892 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03893
03901 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03902 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03903
03909 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03910
03919 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03920
03930 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSUINT32* itemCnt);
03931
03947 EXTERNXML int rtXmlpGetNextSeqElemID
03948 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03949 int curID, int lastMandatoryID, OSBOOL groupMode);
03950
03966 EXTERNXML int rtXmlpGetNextAllElemID
03967 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03968 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03969
03986 EXTERNXML int rtXmlpGetNextAllElemID16
03987 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03988 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03989
03997 EXTERNXML void rtXmlpSetNamespaceTable
03998 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
03999
04008 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04009
04016 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04017
04026 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04027
04033 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04034
04040 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04041
04047 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04048
04065 EXTERNXML int rtXmlpGetXSITypeAttr
04066 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04067 size_t* pLocalOffs);
04068
04079 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04080
04090 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04091
04100 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04101
04110 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04111
04121 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04122
04131 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04132
04144 EXTERNXML int rtXmlpGetXSITypeIndex
04145 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04146
04160 EXTERNXML int rtXmlpLookupXSITypeIndex
04161 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04162 const OSXMLItemDescr typetab[], size_t typetabsiz);
04163
04171 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04172
04181 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04182
04192 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04193
04208 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04209
04214 #ifdef __cplusplus
04215 }
04216 #endif
04217
04218 #endif