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 typedef enum {
00078 OSXMLUTF8,
00079 OSXMLUTF16,
00080 OSXMLUTF16BE,
00081 OSXMLUTF16LE,
00082 OSXMLLATIN1
00083 } OSXMLEncoding;
00084
00085 typedef enum {
00086 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00087 } OSXMLSOAPMsgType;
00088
00089 typedef enum {
00090 OSXMLBOM_NO_BOM,
00091 OSXMLBOM_UTF32_BE,
00092 OSXMLBOM_UTF32_LE,
00093 OSXMLBOM_UTF16_BE,
00094 OSXMLBOM_UTF16_LE,
00095 OSXMLBOM_UTF8,
00096 OSXMLBOM_CHECK
00097 } OSXMLBOM;
00098
00099 typedef struct OSXMLFacets {
00100 int totalDigits;
00101 int fractionDigits;
00102 } OSXMLFacets;
00103
00104 typedef struct {
00105 const OSUTF8CHAR* value;
00106 size_t length;
00107 } OSXMLStrFragment;
00108
00109 typedef struct {
00110 OSXMLStrFragment mQName;
00111 OSXMLStrFragment mLocalName;
00112 OSXMLStrFragment mPrefix;
00113 } OSXMLNameFragments;
00114
00115 typedef struct OSXMLItemDescr {
00116 OSXMLStrFragment localName;
00117 OSINT16 nsidx;
00118 } OSXMLItemDescr;
00119
00120 typedef OSXMLItemDescr OSXMLAttrDescr;
00121 typedef OSXMLItemDescr OSXMLElemDescr;
00122
00123 typedef struct OSXMLElemIDRec {
00124 OSXMLElemDescr descr;
00125 OSUINT16 id;
00126 } OSXMLElemIDRec;
00127
00128 typedef struct OSXMLGroupDesc {
00129 int row;
00130 int num;
00131 int anyCase;
00132 } OSXMLGroupDesc;
00133
00134 typedef struct OSXSDAnyType {
00135 OSXMLSTRING value;
00136 OSRTDList attrs;
00137 } OSXSDAnyType;
00138
00139 struct OSXMLReader;
00140
00141 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00142 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00143
00144 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00145 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00146
00147 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00148 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00149 OSUTF8LEN (str))
00150
00151 #define IS_XMLNSATTR(name) \
00152 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00153 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00154
00155 #define IS_XSIATTR(name) \
00156 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00157 name[2] == 'i' && name[3] == ':')
00158
00159
00160
00161 static const char OSXMLHDRUTF8 [] = "UTF-8";
00162 static const char OSXMLHDRUTF16 [] = "UTF-16";
00163 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00164 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00165 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00166
00167
00168
00169
00170
00171 typedef struct {
00172 OSFreeCtxtAppInfoPtr pFreeFunc;
00173 OSResetCtxtAppInfoPtr pResetFunc;
00174 OSUTF8CHAR* schemaLocation;
00175 OSUTF8CHAR* noNSSchemaLoc;
00176 OSUTF8CHAR* xsiTypeAttr;
00177 OSXMLEncoding encoding;
00178 OSRTDList namespaceList;
00179 OSRTDList encodedNSList;
00180 OSRTDList sortedAttrList;
00181 OSXMLNSPfxLinkStack nsPfxLinkStack;
00182 OSXMLNSURITable nsURITable;
00183 OSRTMEMBUF memBuf;
00184 OSINT32 mSaxLevel;
00185 OSINT32 mSkipLevel;
00186 OSUINT32 maxSaxErrors;
00187 OSUINT32 errorsCnt;
00188 OSUINT8 indent;
00189 OSBOOL mbCdataProcessed;
00190 char indentChar;
00191 OSUINT8 soapVersion;
00192 OSXMLFacets facets;
00193 const OSUTF8CHAR* encodingStr;
00194 OSXMLBOM byteOrderMark;
00195 struct OSXMLReader* pXmlPPReader;
00196
00197 OSRTBuffer savedBuffer;
00198 OSRTFLAGS savedFlags;
00199 OSOCTET* attrsBuff;
00200 size_t attrsBuffSize;
00201 size_t attrStartPos;
00202 } OSXMLCtxtInfo;
00203
00204 typedef enum {
00205 OSXMLINIT,
00206 OSXMLHEADER,
00207 OSXMLSTART,
00208 OSXMLATTR,
00209 OSXMLDATA,
00210 OSXMLEND
00211 } OSXMLState;
00212
00213 typedef struct OSXMLQName {
00214 const OSUTF8CHAR* nsPrefix;
00215 const OSUTF8CHAR* ncName;
00216 } OSXMLQName;
00217
00218 struct OSSAXHandlerBase;
00219
00220 typedef struct OSIntegerFmt {
00221 OSINT8 integerMaxDigits;
00222
00223 OSBOOL signPresent;
00224
00225 } OSIntegerFmt;
00226
00227 typedef struct OSDecimalFmt {
00228 OSINT8 totalDigits;
00229 OSINT8 fractionDigits;
00230
00231 OSINT8 fractionMinDigits;
00232
00233
00234 OSINT8 integerMaxDigits;
00235
00236
00237 OSINT8 integerMinDigits;
00238
00239 OSBOOL signPresent;
00240
00241 OSBOOL pointPresent;
00242
00243 OSUINT8 nPatterns;
00244 const char* const* patterns;
00245
00246 } OSDecimalFmt;
00247
00248 typedef struct OSDoubleFmt {
00249 OSINT8 totalDigits;
00250 OSINT8 fractionDigits;
00251
00252 OSINT8 fractionMinDigits;
00253
00254
00255 OSINT8 integerMaxDigits;
00256
00257
00258 OSINT8 integerMinDigits;
00259
00260 OSINT8 expSymbol;
00261
00262 OSINT16 expMinValue;
00263 OSINT16 expMaxValue;
00264 OSINT8 expDigits;
00265
00266
00267 OSBOOL signPresent;
00268
00269 OSBOOL pointPresent;
00270
00271 OSBOOL expPresent;
00272
00273 OSBOOL expSignPresent;
00274
00275 } OSDoubleFmt;
00276
00277 typedef struct {
00278 size_t offset;
00279 size_t length;
00280 size_t prefixLength;
00281 size_t nameLength;
00282 } OSXMLSortedAttrOffset;
00283
00284 #define OSXMLINDENT 3
00285
00286 #ifdef XML_UNICODE
00287 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00288 #else
00289 #define rtXmlErrAddStrParm rtxErrAddStrParm
00290 #endif
00291
00295 typedef enum {
00296 OSXMLWSM_PRESERVE = 0,
00297 OSXMLWSM_REPLACE,
00298 OSXMLWSM_COLLAPSE
00299 } OSXMLWhiteSpaceMode;
00300
00301 #ifdef __cplusplus
00302 extern "C" {
00303 #endif
00304
00305
00306
00313 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00314
00329 EXTERNXML int rtXmlInitContextUsingKey
00330 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00331
00338 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00339
00350 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00351
00352 EXTERNXML OSBOOL rtXmlCmpQName
00353 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00354
00355 EXTERNXML int rtXmlGetBase64StrDecodedLen
00356 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00357 size_t* pNumOcts, size_t* pSrcDataLen);
00358
00366 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00367
00388 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00389 const OSUTF8CHAR* inpdata,
00390 int length);
00391
00415 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00416 OSOCTET* pvalue, OSUINT32* pnocts,
00417 OSINT32 bufsize);
00418
00444 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00445 OSOCTET* pvalue, OSUINT32* pnocts,
00446 size_t bufSize, size_t srcDataLen);
00447
00469 EXTERNXML int rtXmlDecBigInt
00470 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00471
00482 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00483
00496 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00497
00516 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00517
00530 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00531
00544 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00545
00558 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00559
00576 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00577
00593 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00594
00608 EXTERNXML int rtXmlDecUTF8Str
00609 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00610
00611
00625 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00626
00645 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00646 const OSUTF8CHAR* inpdata,
00647 int length);
00648
00671 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00672 OSOCTET* pvalue, OSUINT32* pnocts,
00673 OSINT32 bufsize);
00674
00675 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00676 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00677 OSUINT32* pnbits, OSINT32 bufsize);
00678
00691 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00692
00705 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00706
00719 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00720
00733 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00734
00747 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00748
00761 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00762
00776 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00777
00790 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00791
00804 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00805
00818 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00819
00833 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00834
00847 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00848
00861 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00862
00881 EXTERNXML int rtXmlDecNSAttr
00882 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00883 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00884
00909 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00910 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00911
00924 EXTERNXML int rtXmlDecXSIAttr
00925 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00926
00941 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00942 const char* typeName);
00943
00960 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00961
00974 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00975
00988 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00989
01015 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01016 const OSUTF8CHAR* elemName,
01017 OSXMLNamespace* pNS);
01018
01019 EXTERNXML int rtXmlEncAnyStr
01020 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01021 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01022
01034 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01035
01046 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01047
01062 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01063 const OSOCTET* value,
01064 const OSUTF8CHAR* elemName,
01065 OSXMLNamespace* pNS);
01066
01080 EXTERNXML int rtXmlEncBase64BinaryAttr
01081 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01082 const OSUTF8CHAR* attrName, size_t attrNameLen);
01083
01095 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01096 const OSOCTET* value);
01097
01121 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01122 const OSUTF8CHAR* elemName,
01123 OSXMLNamespace* pNS);
01124
01139 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01140 const OSUTF8CHAR* attrName, size_t attrNameLen);
01141
01155 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01156
01174 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01175 const OSOCTET* value,
01176 const OSUTF8CHAR* elemName,
01177 OSXMLNamespace* pNS);
01178
01190 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01191 OSUINT32 nbits,
01192 const OSOCTET* data);
01193
01208 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01209 const OSUTF8CHAR* elemName,
01210 OSXMLNamespace* pNS);
01211
01222 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01223
01235 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01236 const OSUTF8CHAR* attrName,
01237 size_t attrNameLen);
01238
01249 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01250
01268 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01269 const OSUTF8CHAR* elemName,
01270 OSXMLNamespace* pNS);
01271
01285 EXTERNXML int rtXmlEncDateValue
01286 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01287
01311 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01312 const OSUTF8CHAR* elemName,
01313 OSXMLNamespace* pNS);
01314
01327 EXTERNXML int rtXmlEncTimeValue
01328 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01329
01345 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01346 const OSUTF8CHAR* elemName,
01347 OSXMLNamespace* pNS);
01348
01360 EXTERNXML int rtXmlEncDateTimeValue
01361 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01362
01377 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01378 const OSUTF8CHAR* elemName,
01379 OSXMLNamespace* pNS,
01380 const OSDecimalFmt* pFmtSpec);
01381
01394 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01395 const OSUTF8CHAR* attrName,
01396 size_t attrNameLen,
01397 const OSDecimalFmt* pFmtSpec);
01398
01416 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01417 const OSDecimalFmt* pFmtSpec,
01418 char* pDestBuf, size_t destBufSize);
01419
01434 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01435 const OSUTF8CHAR* elemName,
01436 OSXMLNamespace* pNS,
01437 const OSDoubleFmt* pFmtSpec);
01438
01451 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01452 const OSUTF8CHAR* attrName,
01453 size_t attrNameLen,
01454 const OSDoubleFmt* pFmtSpec);
01455
01469 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01470 const OSDoubleFmt* pFmtSpec,
01471 int defaultPrecision);
01472
01485 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01486 const OSUTF8CHAR* elemName,
01487 OSXMLNamespace* pNS,
01488 OSRTDList* pNSAttrs,
01489 OSBOOL terminate);
01490
01500 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01501
01512 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01513 const OSUTF8CHAR* elemName,
01514 OSXMLNamespace* pNS);
01515
01525 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01526
01538 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01539
01554 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01555 const OSUTF8CHAR* elemName,
01556 OSXMLNamespace* pNS,
01557 const OSDoubleFmt* pFmtSpec);
01558
01571 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01572 const OSUTF8CHAR* attrName,
01573 size_t attrNameLen,
01574 const OSDoubleFmt* pFmtSpec);
01575
01590 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01591 const OSUTF8CHAR* elemName,
01592 OSXMLNamespace* pNS);
01593
01608 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01609 const OSUTF8CHAR* elemName,
01610 OSXMLNamespace* pNS);
01611
01626 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01627 const OSUTF8CHAR* elemName,
01628 OSXMLNamespace* pNS);
01629
01644 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01645 const OSUTF8CHAR* elemName,
01646 OSXMLNamespace* pNS);
01647
01662 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01663 const OSUTF8CHAR* elemName,
01664 OSXMLNamespace* pNS);
01665
01677 EXTERNXML int rtXmlEncGYearValue
01678 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01679
01691 EXTERNXML int rtXmlEncGYearMonthValue
01692 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01693
01705 EXTERNXML int rtXmlEncGMonthValue
01706 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01707
01719 EXTERNXML int rtXmlEncGMonthDayValue
01720 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01721
01733 EXTERNXML int rtXmlEncGDayValue
01734 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01735
01750 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01751 const OSOCTET* value,
01752 const OSUTF8CHAR* elemName,
01753 OSXMLNamespace* pNS);
01754
01767 EXTERNXML int rtXmlEncHexBinaryAttr
01768 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01769 const OSUTF8CHAR* attrName, size_t attrNameLen);
01770
01782 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01783 OSUINT32 nocts,
01784 const OSOCTET* data);
01785
01796 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01797
01811 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01812 const OSUTF8CHAR* elemName,
01813 OSXMLNamespace* pNS);
01814
01825 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01826
01839 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01840 const OSUTF8CHAR* attrName,
01841 size_t attrNameLen);
01842
01858 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01859 const OSUTF8CHAR* elemName,
01860 OSXMLNamespace* pNS,
01861 const OSUTF8CHAR* pattern);
01862
01863 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01864 const OSUTF8CHAR* pattern);
01865
01866 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01867 const OSUTF8CHAR* elemName,
01868 OSXMLNamespace* pNS,
01869 const OSUTF8CHAR* pattern);
01870
01871 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01872 const OSUTF8CHAR* pattern);
01873
01888 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01889 const OSUTF8CHAR* elemName,
01890 OSXMLNamespace* pNS);
01891
01892 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01893 const OSUTF8CHAR* elemName,
01894 OSXMLNamespace* pNS,
01895 const OSUTF8CHAR* pattern);
01896
01908 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01909 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01910 const OSUTF8CHAR* pattern);
01911
01925 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01926 const OSUTF8CHAR* attrName,
01927 size_t attrNameLen);
01928
01947 EXTERNXML int rtXmlEncNamedBits
01948 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01949 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01950
01951 EXTERNXML int rtXmlEncNamedBitsValue
01952 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01953 const OSOCTET* pvalue);
01954
01968 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01969
01979 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
01980
01981
01982 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
01983
02000 EXTERNXML int rtXmlEncReal10
02001 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02002 OSXMLNamespace* pNS);
02003
02017 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02018 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02019 size_t itemCount);
02020
02021 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02022 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02023 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02024
02036 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02037
02048 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02063 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02064 const OSUTF8CHAR* elemName,
02065 OSXMLNamespace* pNS,
02066 OSRTDList* pNSAttrs,
02067 OSBOOL terminate);
02068
02080 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02081
02093 EXTERNXML int rtXmlEncStartSoapElems
02094 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02095
02109 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02110 OSXMLSTRING* pxmlstr,
02111 const OSUTF8CHAR* elemName,
02112 OSXMLNamespace* pNS);
02113
02123 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02124
02135 EXTERNXML int rtXmlEncStringValue2
02136 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02137
02148 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02149
02165 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02166 const OSUNICHAR* value,
02167 OSUINT32 nchars,
02168 const OSUTF8CHAR* elemName,
02169 OSXMLNamespace* pNS);
02170
02182 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02183 const OSUTF8CHAR* name,
02184 const OSUTF8CHAR* value);
02185
02199 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02200 const OSUTF8CHAR* name, size_t nameLen,
02201 const OSUTF8CHAR* value, size_t valueLen);
02202
02216 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02217 const OSUTF8CHAR* value,
02218 const OSUTF8CHAR* elemName,
02219 OSXMLNamespace* pNS);
02220
02234 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02235 const OSUTF8CHAR* elemName,
02236 OSXMLNamespace* pNS);
02237
02249 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02250
02263 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02264 const OSUTF8CHAR* attrName,
02265 size_t attrNameLen);
02266
02282 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02283 const OSUTF8CHAR* elemName,
02284 OSXMLNamespace* pNS);
02285
02286 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02287 const OSUTF8CHAR* elemName,
02288 OSXMLNamespace* pNS,
02289 const OSUTF8CHAR* pattern);
02290
02303 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02304 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02305 const OSUTF8CHAR* pattern);
02306
02320 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02321 const OSUTF8CHAR* attrName,
02322 size_t attrNameLen);
02323
02343 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02344
02355 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02356
02365 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02366
02377 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02378
02379 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02380
02381 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02382 const char* text2, size_t len);
02383
02384 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02385 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02386 (pMemBuf)->pctxt->buffer.size = \
02387 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02388 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02389 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02390 rtxMemBufReset (pMemBuf); \
02391 } while(0)
02392
02415 EXTERNXML int rtXmlSetEncBufPtr
02416 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02417
02426 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02427
02433 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02434
02435
02443 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02444
02445
02454 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02455
02464 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02477 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02478
02487 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02488
02499 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02500
02511 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02512
02513 EXTERNXML int rtXmlSetDigitsFacets
02514 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02515
02526 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02527
02537 EXTERNXML int rtXmlSetEncodingStr
02538 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02539
02555 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02556
02565 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02566
02575 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02576
02587 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02588
02598 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02599
02611 EXTERNXML int rtXmlSetSchemaLocation
02612 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02613
02625 EXTERNXML int rtXmlSetNoNSSchemaLocation
02626 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02627
02636 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02637
02648 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02649
02658 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02659
02660 #include "rtxmlsrc/rtXmlNamespace.h"
02661
02675 EXTERNXML int rtXmlMatchHexStr
02676 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02677
02691 EXTERNXML int rtXmlMatchBase64Str
02692 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02693
02705 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02706
02718 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02719
02731 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02732
02744 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02745
02757 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02758
02770 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02771
02783 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02784
02796 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02797
02810 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02811 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02812
02822 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02823 const OSOCTET* data1,
02824 const OSUTF8CHAR* data2);
02825
02835 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02836 const OSOCTET* data1,
02837 const OSUTF8CHAR* data2);
02838
02839 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02840
02841 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02842 size_t nAttr,
02843 const OSUTF8CHAR* attrNames[],
02844 OSUINT32 attrPresent[]);
02845
02858 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02859 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02860
02876 EXTERNXML OSINT16 rtSaxGetElemID
02877 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02878 #ifdef OSXMLNS12
02879 OSINT32 nsidx,
02880 #endif
02881 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02882 OSINT16 fstabRows, OSINT16 fstabCols);
02883
02899 EXTERNXML OSINT16 rtSaxGetElemID8
02900 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02901 #ifdef OSXMLNS12
02902 OSINT32 nsidx,
02903 #endif
02904 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02905 OSINT16 fstabRows, OSINT16 fstabCols);
02906
02907 EXTERNXML OSINT16 rtSaxFindElemID
02908 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02909 #ifdef OSXMLNS12
02910 OSINT32 nsidx,
02911 #endif
02912 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02913 OSINT16 fstabRows, OSINT16 fstabCols);
02914
02915 EXTERNXML OSINT16 rtSaxFindElemID8
02916 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02917 #ifdef OSXMLNS12
02918 OSINT32 nsidx,
02919 #endif
02920 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02921 OSINT16 fstabRows, OSINT16 fstabCols);
02922
02931 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02932
02940 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02941
02942 EXTERNXML OSINT16 rtSaxLookupElemID
02943 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02944 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02945 #ifdef OSXMLNS12
02946 OSINT32 nsidx,
02947 #endif
02948 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02949 OSINT16 fstabRows, OSINT16 fstabCols);
02950
02951 EXTERNXML OSINT16 rtSaxLookupElemID8
02952 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02953 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02954 #ifdef OSXMLNS12
02955 OSINT32 nsidx,
02956 #endif
02957 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02958 OSINT16 fstabRows, OSINT16 fstabCols);
02959
02971 EXTERNXML int rtSaxStrListParse
02972 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02973
02992 EXTERNXML int rtSaxSortAttrs
02993 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
02994
03002 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03003
03004 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03005 OSINT16 currElemIdx,
03006 const int* fstab,
03007 int fstabRows, int fstabCols);
03008
03009 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03010 OSINT16 currElemIdx,
03011 const OSINT8* fstab,
03012 int fstabRows, int fstabCols);
03013
03014 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03015
03016 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03017
03018 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03019
03020 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03021 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03022 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03023 const char* parentTypeName);
03024
03025 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03026
03027 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03028 const OSUTF8CHAR* const* attrs,
03029 const char* typeName);
03030
03043 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03044
03045 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03046
03047 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03048
03049 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03050
03055 EXTERNXML void rtErrXmlInit (void);
03056 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03057 EXTERNXML int rtXmlWriteChars
03058 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03059
03079 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03080
03097 EXTERNXML int rtXmlpDecAnyAttrStr
03098 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03099
03119 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03120
03146 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03147 OSUINT32* pnocts, OSINT32 bufsize);
03148
03172 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03173
03190 EXTERNXML int rtXmlpDecBitString
03191 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03192
03205 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03206
03219 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03220
03233 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03234
03253 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03254 int totalDigits, int fractionDigits);
03255
03268 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03269
03288 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03289
03303 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03304
03322 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03323
03341 EXTERNXML int rtXmlpDecDynUnicodeStr
03342 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03343
03357 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03358
03359
03373 EXTERNXML int rtXmlpDecUTF8Str
03374 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03375
03388 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03389
03402 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03403
03416 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03417
03430 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03431
03444 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03445
03470 EXTERNXML int rtXmlpDecHexStr
03471 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03472
03485 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03486
03500 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03501
03514 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03515
03528 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03529
03546 EXTERNXML int rtXmlpDecNamedBits
03547 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03548 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03549
03566 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03567
03586 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03587
03600 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03601
03615 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03616
03629 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03630
03643 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03644
03661 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03662
03679 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03680
03699 EXTERNXML int rtXmlpDecXSIAttr
03700 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03701
03723 EXTERNXML int rtXmlpDecXSITypeAttr
03724 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03725 const OSUTF8CHAR** ppAttrValue);
03726
03750 EXTERNXML int rtXmlpGetAttributeID
03751 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03752 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03753
03766 EXTERNXML int rtXmlpGetNextElem
03767 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03768
03784 EXTERNXML int rtXmlpGetNextElemID
03785 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03786 OSBOOL continueParse);
03787
03797 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03798
03814 EXTERNXML int rtXmlpMatchStartTag
03815 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03816
03827 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03828
03839 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03840
03849 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03850
03869 EXTERNXML int rtXmlpSelectAttribute
03870 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03871
03878 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03879
03890 EXTERNXML void rtXmlpSetWhiteSpaceMode
03891 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03892
03900 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03901 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03902
03908 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03909
03918 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03919
03929 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSUINT32* itemCnt);
03930
03946 EXTERNXML int rtXmlpGetNextSeqElemID
03947 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03948 int curID, int lastMandatoryID, OSBOOL groupMode);
03949
03965 EXTERNXML int rtXmlpGetNextAllElemID
03966 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03967 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03968
03985 EXTERNXML int rtXmlpGetNextAllElemID16
03986 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03987 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03988
03996 EXTERNXML void rtXmlpSetNamespaceTable
03997 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
03998
04007 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04008
04015 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04016
04025 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04026
04032 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04033
04039 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04040
04046 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04047
04064 EXTERNXML int rtXmlpGetXSITypeAttr
04065 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04066 size_t* pLocalOffs);
04067
04078 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04079
04089 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04090
04099 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04100
04109 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04110
04120 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04121
04130 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04131
04143 EXTERNXML int rtXmlpGetXSITypeIndex
04144 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04145
04159 EXTERNXML int rtXmlpLookupXSITypeIndex
04160 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04161 const OSXMLItemDescr typetab[], size_t typetabsiz);
04162
04170 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04171
04180 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04181
04191 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04192
04207 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04208
04213 #ifdef __cplusplus
04214 }
04215 #endif
04216
04217 #endif