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
00072 typedef enum {
00073 OSXMLUTF8,
00074 OSXMLUTF16,
00075 OSXMLUTF16BE,
00076 OSXMLUTF16LE,
00077 OSXMLLATIN1
00078 } OSXMLEncoding;
00079
00080 typedef enum {
00081 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00082 } OSXMLSOAPMsgType;
00083
00084 typedef enum {
00085 OSXMLBOM_NO_BOM,
00086 OSXMLBOM_UTF32_BE,
00087 OSXMLBOM_UTF32_LE,
00088 OSXMLBOM_UTF16_BE,
00089 OSXMLBOM_UTF16_LE,
00090 OSXMLBOM_UTF8,
00091 OSXMLBOM_CHECK
00092 } OSXMLBOM;
00093
00094 typedef struct OSXMLFacets {
00095 int totalDigits;
00096 int fractionDigits;
00097 } OSXMLFacets;
00098
00099 typedef struct {
00100 const OSUTF8CHAR* value;
00101 size_t length;
00102 } OSXMLStrFragment;
00103
00104 typedef struct {
00105 OSXMLStrFragment mQName;
00106 OSXMLStrFragment mLocalName;
00107 OSXMLStrFragment mPrefix;
00108 } OSXMLNameFragments;
00109
00110 typedef struct OSXMLItemDescr {
00111 OSXMLStrFragment localName;
00112 OSINT16 nsidx;
00113 } OSXMLItemDescr;
00114
00115 typedef OSXMLItemDescr OSXMLAttrDescr;
00116 typedef OSXMLItemDescr OSXMLElemDescr;
00117
00118 typedef struct OSXMLElemIDRec {
00119 OSXMLElemDescr descr;
00120 OSUINT16 id;
00121 } OSXMLElemIDRec;
00122
00123 typedef struct OSXMLGroupDesc {
00124 int row;
00125 int num;
00126 int anyCase;
00127 } OSXMLGroupDesc;
00128
00129 typedef struct OSXSDAnyType {
00130 OSXMLSTRING value;
00131 OSRTDList attrs;
00132 } OSXSDAnyType;
00133
00134 struct OSXMLReader;
00135
00136 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00137 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00138
00139 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00140 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00141
00142 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00143 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00144 OSUTF8LEN (str))
00145
00146 #define IS_XMLNSATTR(name) \
00147 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00148 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00149
00150 #define IS_XSIATTR(name) \
00151 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00152 name[2] == 'i' && name[3] == ':')
00153
00154
00155
00156 static const char OSXMLHDRUTF8 [] = "UTF-8";
00157 static const char OSXMLHDRUTF16 [] = "UTF-16";
00158 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00159 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00160 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00161
00162
00163
00164
00165
00166 typedef struct {
00167 OSFreeCtxtAppInfoPtr pFreeFunc;
00168 OSResetCtxtAppInfoPtr pResetFunc;
00169 OSUTF8CHAR* schemaLocation;
00170 OSUTF8CHAR* noNSSchemaLoc;
00171 OSUTF8CHAR* xsiTypeAttr;
00172 OSXMLEncoding encoding;
00173 OSRTDList namespaceList;
00174 OSRTDList encodedNSList;
00175 OSRTDList sortedAttrList;
00176 OSXMLNSPfxLinkStack nsPfxLinkStack;
00177 OSXMLNSURITable nsURITable;
00178 OSRTMEMBUF memBuf;
00179 OSINT32 mSaxLevel;
00180 OSINT32 mSkipLevel;
00181 OSUINT32 maxSaxErrors;
00182 OSUINT32 errorsCnt;
00183 OSUINT8 indent;
00184 OSBOOL mbCdataProcessed;
00185 char indentChar;
00186 OSUINT8 soapVersion;
00187 OSXMLFacets facets;
00188 const OSUTF8CHAR* encodingStr;
00189 OSXMLBOM byteOrderMark;
00190 struct OSXMLReader* pXmlPPReader;
00191
00192 OSRTBuffer savedBuffer;
00193 OSRTFLAGS savedFlags;
00194 OSOCTET* attrsBuff;
00195 size_t attrsBuffSize;
00196 size_t attrStartPos;
00197 } OSXMLCtxtInfo;
00198
00199 typedef enum {
00200 OSXMLINIT,
00201 OSXMLHEADER,
00202 OSXMLSTART,
00203 OSXMLATTR,
00204 OSXMLDATA,
00205 OSXMLEND
00206 } OSXMLState;
00207
00208 typedef struct OSXMLQName {
00209 const OSUTF8CHAR* nsPrefix;
00210 const OSUTF8CHAR* ncName;
00211 } OSXMLQName;
00212
00213 struct OSSAXHandlerBase;
00214
00215 typedef struct OSIntegerFmt {
00216 OSINT8 integerMaxDigits;
00217
00218 OSBOOL signPresent;
00219
00220 } OSIntegerFmt;
00221
00222 typedef struct OSDecimalFmt {
00223 OSINT8 totalDigits;
00224 OSINT8 fractionDigits;
00225
00226 OSINT8 fractionMinDigits;
00227
00228
00229 OSINT8 integerMaxDigits;
00230
00231
00232 OSINT8 integerMinDigits;
00233
00234 OSBOOL signPresent;
00235
00236 OSBOOL pointPresent;
00237
00238 OSUINT8 nPatterns;
00239 const char* const* patterns;
00240
00241 } OSDecimalFmt;
00242
00243 typedef struct OSDoubleFmt {
00244 OSINT8 totalDigits;
00245 OSINT8 fractionDigits;
00246
00247 OSINT8 fractionMinDigits;
00248
00249
00250 OSINT8 integerMaxDigits;
00251
00252
00253 OSINT8 integerMinDigits;
00254
00255 OSINT8 expSymbol;
00256
00257 OSINT16 expMinValue;
00258 OSINT16 expMaxValue;
00259 OSINT8 expDigits;
00260
00261
00262 OSBOOL signPresent;
00263
00264 OSBOOL pointPresent;
00265
00266 OSBOOL expPresent;
00267
00268 OSBOOL expSignPresent;
00269
00270 } OSDoubleFmt;
00271
00272 typedef struct {
00273 size_t offset;
00274 size_t length;
00275 size_t prefixLength;
00276 size_t nameLength;
00277 } OSXMLSortedAttrOffset;
00278
00279 #define OSXMLINDENT 3
00280
00281 #ifdef XML_UNICODE
00282 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00283 #else
00284 #define rtXmlErrAddStrParm rtxErrAddStrParm
00285 #endif
00286
00290 typedef enum {
00291 OSXMLWSM_PRESERVE = 0,
00292 OSXMLWSM_REPLACE,
00293 OSXMLWSM_COLLAPSE
00294 } OSXMLWhiteSpaceMode;
00295
00296 #ifdef __cplusplus
00297 extern "C" {
00298 #endif
00299
00300
00301
00308 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00309
00324 EXTERNXML int rtXmlInitContextUsingKey
00325 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00326
00333 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00334
00345 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00346
00347 EXTERNXML OSBOOL rtXmlCmpQName
00348 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00349
00350 EXTERNXML int rtXmlGetBase64StrDecodedLen
00351 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00352 size_t* pNumOcts, size_t* pSrcDataLen);
00353
00361 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00362
00383 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00384 const OSUTF8CHAR* inpdata,
00385 int length);
00386
00410 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00411 OSOCTET* pvalue, OSUINT32* pnocts,
00412 OSINT32 bufsize);
00413
00439 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00440 OSOCTET* pvalue, OSUINT32* pnocts,
00441 size_t bufSize, size_t srcDataLen);
00442
00464 EXTERNXML int rtXmlDecBigInt
00465 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00466
00477 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00478
00491 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00492
00511 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00512
00525 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00526
00539 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00540
00553 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00554
00571 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00572
00588 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00589
00603 EXTERNXML int rtXmlDecUTF8Str
00604 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00605
00606
00620 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00621
00640 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00641 const OSUTF8CHAR* inpdata,
00642 int length);
00643
00666 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00667 OSOCTET* pvalue, OSUINT32* pnocts,
00668 OSINT32 bufsize);
00669
00670 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00671 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00672 OSUINT32* pnbits, OSINT32 bufsize);
00673
00686 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00687
00700 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00701
00714 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00715
00728 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00729
00742 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00743
00756 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00757
00771 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00772
00785 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00786
00799 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00800
00813 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00814
00828 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00829
00842 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00843
00856 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00857
00876 EXTERNXML int rtXmlDecNSAttr
00877 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00878 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00879
00904 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00905 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00906
00919 EXTERNXML int rtXmlDecXSIAttr
00920 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00921
00936 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00937 const char* typeName);
00938
00955 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00956
00969 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00970
00983 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00984
01010 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01011 const OSUTF8CHAR* elemName,
01012 OSXMLNamespace* pNS);
01013
01014 EXTERNXML int rtXmlEncAnyStr
01015 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01016 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01017
01029 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01030
01041 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01042
01057 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01058 const OSOCTET* value,
01059 const OSUTF8CHAR* elemName,
01060 OSXMLNamespace* pNS);
01061
01075 EXTERNXML int rtXmlEncBase64BinaryAttr
01076 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01077 const OSUTF8CHAR* attrName, size_t attrNameLen);
01078
01090 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01091 const OSOCTET* value);
01092
01116 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01117 const OSUTF8CHAR* elemName,
01118 OSXMLNamespace* pNS);
01119
01134 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01135 const OSUTF8CHAR* attrName, size_t attrNameLen);
01136
01150 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01151
01169 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01170 const OSOCTET* value,
01171 const OSUTF8CHAR* elemName,
01172 OSXMLNamespace* pNS);
01173
01185 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01186 OSUINT32 nbits,
01187 const OSOCTET* data);
01188
01203 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01204 const OSUTF8CHAR* elemName,
01205 OSXMLNamespace* pNS);
01206
01217 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01218
01230 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01231 const OSUTF8CHAR* attrName,
01232 size_t attrNameLen);
01233
01244 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01245
01263 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01264 const OSUTF8CHAR* elemName,
01265 OSXMLNamespace* pNS);
01266
01280 EXTERNXML int rtXmlEncDateValue
01281 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01282
01306 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01307 const OSUTF8CHAR* elemName,
01308 OSXMLNamespace* pNS);
01309
01322 EXTERNXML int rtXmlEncTimeValue
01323 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01324
01340 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01341 const OSUTF8CHAR* elemName,
01342 OSXMLNamespace* pNS);
01343
01355 EXTERNXML int rtXmlEncDateTimeValue
01356 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01357
01372 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01373 const OSUTF8CHAR* elemName,
01374 OSXMLNamespace* pNS,
01375 const OSDecimalFmt* pFmtSpec);
01376
01389 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01390 const OSUTF8CHAR* attrName,
01391 size_t attrNameLen,
01392 const OSDecimalFmt* pFmtSpec);
01393
01411 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01412 const OSDecimalFmt* pFmtSpec,
01413 char* pDestBuf, size_t destBufSize);
01414
01429 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01430 const OSUTF8CHAR* elemName,
01431 OSXMLNamespace* pNS,
01432 const OSDoubleFmt* pFmtSpec);
01433
01446 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01447 const OSUTF8CHAR* attrName,
01448 size_t attrNameLen,
01449 const OSDoubleFmt* pFmtSpec);
01450
01464 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01465 const OSDoubleFmt* pFmtSpec,
01466 int defaultPrecision);
01467
01480 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01481 const OSUTF8CHAR* elemName,
01482 OSXMLNamespace* pNS,
01483 OSRTDList* pNSAttrs,
01484 OSBOOL terminate);
01485
01495 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01496
01507 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01508 const OSUTF8CHAR* elemName,
01509 OSXMLNamespace* pNS);
01510
01520 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01521
01533 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01534
01549 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01550 const OSUTF8CHAR* elemName,
01551 OSXMLNamespace* pNS,
01552 const OSDoubleFmt* pFmtSpec);
01553
01566 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01567 const OSUTF8CHAR* attrName,
01568 size_t attrNameLen,
01569 const OSDoubleFmt* pFmtSpec);
01570
01585 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01586 const OSUTF8CHAR* elemName,
01587 OSXMLNamespace* pNS);
01588
01603 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01604 const OSUTF8CHAR* elemName,
01605 OSXMLNamespace* pNS);
01606
01621 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01622 const OSUTF8CHAR* elemName,
01623 OSXMLNamespace* pNS);
01624
01639 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01640 const OSUTF8CHAR* elemName,
01641 OSXMLNamespace* pNS);
01642
01657 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01658 const OSUTF8CHAR* elemName,
01659 OSXMLNamespace* pNS);
01660
01672 EXTERNXML int rtXmlEncGYearValue
01673 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01674
01686 EXTERNXML int rtXmlEncGYearMonthValue
01687 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01688
01700 EXTERNXML int rtXmlEncGMonthValue
01701 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01702
01714 EXTERNXML int rtXmlEncGMonthDayValue
01715 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01716
01728 EXTERNXML int rtXmlEncGDayValue
01729 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01730
01745 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01746 const OSOCTET* value,
01747 const OSUTF8CHAR* elemName,
01748 OSXMLNamespace* pNS);
01749
01762 EXTERNXML int rtXmlEncHexBinaryAttr
01763 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01764 const OSUTF8CHAR* attrName, size_t attrNameLen);
01765
01777 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01778 OSUINT32 nocts,
01779 const OSOCTET* data);
01780
01791 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01792
01806 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01807 const OSUTF8CHAR* elemName,
01808 OSXMLNamespace* pNS);
01809
01820 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01821
01834 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01835 const OSUTF8CHAR* attrName,
01836 size_t attrNameLen);
01837
01853 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01854 const OSUTF8CHAR* elemName,
01855 OSXMLNamespace* pNS,
01856 const OSUTF8CHAR* pattern);
01857
01858 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01859 const OSUTF8CHAR* pattern);
01860
01861 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01862 const OSUTF8CHAR* elemName,
01863 OSXMLNamespace* pNS,
01864 const OSUTF8CHAR* pattern);
01865
01866 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01867 const OSUTF8CHAR* pattern);
01868
01883 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01884 const OSUTF8CHAR* elemName,
01885 OSXMLNamespace* pNS);
01886
01887 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01888 const OSUTF8CHAR* elemName,
01889 OSXMLNamespace* pNS,
01890 const OSUTF8CHAR* pattern);
01891
01903 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01904 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01905 const OSUTF8CHAR* pattern);
01906
01920 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01921 const OSUTF8CHAR* attrName,
01922 size_t attrNameLen);
01923
01942 EXTERNXML int rtXmlEncNamedBits
01943 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01944 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01945
01946 EXTERNXML int rtXmlEncNamedBitsValue
01947 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01948 const OSOCTET* pvalue);
01949
01963 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01964
01974 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
01975
01976
01977 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
01978
01995 EXTERNXML int rtXmlEncReal10
01996 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
01997 OSXMLNamespace* pNS);
01998
02012 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02013 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02014 size_t itemCount);
02015
02016 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02017 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02018 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02019
02031 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02032
02043 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02058 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02059 const OSUTF8CHAR* elemName,
02060 OSXMLNamespace* pNS,
02061 OSRTDList* pNSAttrs,
02062 OSBOOL terminate);
02063
02075 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02076
02088 EXTERNXML int rtXmlEncStartSoapElems
02089 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02090
02104 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02105 OSXMLSTRING* pxmlstr,
02106 const OSUTF8CHAR* elemName,
02107 OSXMLNamespace* pNS);
02108
02118 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02119
02130 EXTERNXML int rtXmlEncStringValue2
02131 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02132
02143 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02144
02160 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02161 const OSUNICHAR* value,
02162 OSUINT32 nchars,
02163 const OSUTF8CHAR* elemName,
02164 OSXMLNamespace* pNS);
02165
02177 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02178 const OSUTF8CHAR* name,
02179 const OSUTF8CHAR* value);
02180
02194 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02195 const OSUTF8CHAR* name, size_t nameLen,
02196 const OSUTF8CHAR* value, size_t valueLen);
02197
02211 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02212 const OSUTF8CHAR* value,
02213 const OSUTF8CHAR* elemName,
02214 OSXMLNamespace* pNS);
02215
02229 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02230 const OSUTF8CHAR* elemName,
02231 OSXMLNamespace* pNS);
02232
02244 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02245
02258 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02259 const OSUTF8CHAR* attrName,
02260 size_t attrNameLen);
02261
02277 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02278 const OSUTF8CHAR* elemName,
02279 OSXMLNamespace* pNS);
02280
02281 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02282 const OSUTF8CHAR* elemName,
02283 OSXMLNamespace* pNS,
02284 const OSUTF8CHAR* pattern);
02285
02298 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02299 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02300 const OSUTF8CHAR* pattern);
02301
02315 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02316 const OSUTF8CHAR* attrName,
02317 size_t attrNameLen);
02318
02338 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02339
02350 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02351
02360 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02361
02372 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02373
02374 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02375
02376 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02377 const char* text2, size_t len);
02378
02379 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02380 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02381 (pMemBuf)->pctxt->buffer.size = \
02382 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02383 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02384 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02385 rtxMemBufReset (pMemBuf); \
02386 } while(0)
02387
02410 EXTERNXML int rtXmlSetEncBufPtr
02411 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02412
02421 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02422
02428 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02429
02430
02438 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02439
02440
02449 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02450
02459 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02472 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02473
02482 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02483
02494 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02495
02506 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02507
02508 EXTERNXML int rtXmlSetDigitsFacets
02509 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02510
02521 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02522
02532 EXTERNXML int rtXmlSetEncodingStr
02533 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02534
02550 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02551
02560 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02561
02570 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02571
02582 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02583
02593 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02594
02606 EXTERNXML int rtXmlSetSchemaLocation
02607 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02608
02620 EXTERNXML int rtXmlSetNoNSSchemaLocation
02621 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02622
02631 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02632
02643 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02644
02653 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02654
02655 #include "rtxmlsrc/rtXmlNamespace.h"
02656
02670 EXTERNXML int rtXmlMatchHexStr
02671 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02672
02686 EXTERNXML int rtXmlMatchBase64Str
02687 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02688
02700 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02701
02713 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02714
02726 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02727
02739 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02740
02752 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02753
02765 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02766
02778 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02779
02791 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02792
02805 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02806 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02807
02817 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02818 const OSOCTET* data1,
02819 const OSUTF8CHAR* data2);
02820
02830 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02831 const OSOCTET* data1,
02832 const OSUTF8CHAR* data2);
02833
02834 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02835
02836 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02837 size_t nAttr,
02838 const OSUTF8CHAR* attrNames[],
02839 OSUINT32 attrPresent[]);
02840
02853 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02854 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02855
02871 EXTERNXML OSINT16 rtSaxGetElemID
02872 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02873 #ifdef OSXMLNS12
02874 OSINT32 nsidx,
02875 #endif
02876 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02877 OSINT16 fstabRows, OSINT16 fstabCols);
02878
02894 EXTERNXML OSINT16 rtSaxGetElemID8
02895 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02896 #ifdef OSXMLNS12
02897 OSINT32 nsidx,
02898 #endif
02899 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02900 OSINT16 fstabRows, OSINT16 fstabCols);
02901
02902 EXTERNXML OSINT16 rtSaxFindElemID
02903 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02904 #ifdef OSXMLNS12
02905 OSINT32 nsidx,
02906 #endif
02907 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02908 OSINT16 fstabRows, OSINT16 fstabCols);
02909
02910 EXTERNXML OSINT16 rtSaxFindElemID8
02911 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02912 #ifdef OSXMLNS12
02913 OSINT32 nsidx,
02914 #endif
02915 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02916 OSINT16 fstabRows, OSINT16 fstabCols);
02917
02926 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02927
02935 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02936
02937 EXTERNXML OSINT16 rtSaxLookupElemID
02938 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02939 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02940 #ifdef OSXMLNS12
02941 OSINT32 nsidx,
02942 #endif
02943 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02944 OSINT16 fstabRows, OSINT16 fstabCols);
02945
02946 EXTERNXML OSINT16 rtSaxLookupElemID8
02947 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02948 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02949 #ifdef OSXMLNS12
02950 OSINT32 nsidx,
02951 #endif
02952 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02953 OSINT16 fstabRows, OSINT16 fstabCols);
02954
02966 EXTERNXML int rtSaxStrListParse
02967 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02968
02987 EXTERNXML int rtSaxSortAttrs
02988 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
02989
02997 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
02998
02999 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03000 OSINT16 currElemIdx,
03001 const int* fstab,
03002 int fstabRows, int fstabCols);
03003
03004 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03005 OSINT16 currElemIdx,
03006 const OSINT8* fstab,
03007 int fstabRows, int fstabCols);
03008
03009 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03010
03011 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03012
03013 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03014
03015 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03016 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03017 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03018 const char* parentTypeName);
03019
03020 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03021
03022 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03023 const OSUTF8CHAR* const* attrs,
03024 const char* typeName);
03025
03038 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03039
03040 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03041
03042 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03043
03044 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03045
03050 EXTERNXML void rtErrXmlInit (void);
03051 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03052 EXTERNXML int rtXmlWriteChars
03053 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03054
03074 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03075
03092 EXTERNXML int rtXmlpDecAnyAttrStr
03093 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03094
03114 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03115
03141 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03142 OSUINT32* pnocts, OSINT32 bufsize);
03143
03167 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03168
03185 EXTERNXML int rtXmlpDecBitString
03186 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03187
03200 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03201
03214 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03215
03228 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03229
03248 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03249 int totalDigits, int fractionDigits);
03250
03263 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03264
03283 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03284
03298 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03299
03317 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03318
03336 EXTERNXML int rtXmlpDecDynUnicodeStr
03337 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03338
03352 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03353
03354
03368 EXTERNXML int rtXmlpDecUTF8Str
03369 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03370
03383 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03384
03397 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03398
03411 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03412
03425 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03426
03439 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03440
03465 EXTERNXML int rtXmlpDecHexStr
03466 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03467
03480 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03481
03495 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03496
03509 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03510
03523 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03524
03541 EXTERNXML int rtXmlpDecNamedBits
03542 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03543 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03544
03561 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03562
03581 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03582
03595 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03596
03610 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03611
03624 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03625
03638 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03639
03656 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03657
03674 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03675
03694 EXTERNXML int rtXmlpDecXSIAttr
03695 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03696
03718 EXTERNXML int rtXmlpDecXSITypeAttr
03719 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03720 const OSUTF8CHAR** ppAttrValue);
03721
03745 EXTERNXML int rtXmlpGetAttributeID
03746 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03747 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03748
03761 EXTERNXML int rtXmlpGetNextElem
03762 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03763
03779 EXTERNXML int rtXmlpGetNextElemID
03780 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03781 OSBOOL continueParse);
03782
03792 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03793
03809 EXTERNXML int rtXmlpMatchStartTag
03810 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03811
03822 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03823
03834 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03835
03844 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03845
03864 EXTERNXML int rtXmlpSelectAttribute
03865 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03866
03873 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03874
03885 EXTERNXML void rtXmlpSetWhiteSpaceMode
03886 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03887
03895 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03896 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03897
03903 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03904
03913 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03914
03924 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSUINT32* itemCnt);
03925
03941 EXTERNXML int rtXmlpGetNextSeqElemID
03942 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03943 int curID, int lastMandatoryID, OSBOOL groupMode);
03944
03960 EXTERNXML int rtXmlpGetNextAllElemID
03961 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03962 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03963
03980 EXTERNXML int rtXmlpGetNextAllElemID16
03981 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03982 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03983
03991 EXTERNXML void rtXmlpSetNamespaceTable
03992 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
03993
04002 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04003
04010 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04011
04020 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04021
04027 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04028
04034 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04035
04041 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04042
04059 EXTERNXML int rtXmlpGetXSITypeAttr
04060 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04061 size_t* pLocalOffs);
04062
04073 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04074
04084 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04085
04094 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04095
04104 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04105
04115 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04116
04125 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04126
04138 EXTERNXML int rtXmlpGetXSITypeIndex
04139 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04140
04154 EXTERNXML int rtXmlpLookupXSITypeIndex
04155 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04156 const OSXMLItemDescr typetab[], size_t typetabsiz);
04157
04165 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04166
04175 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04176
04186 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04187
04202 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04203
04208 #ifdef __cplusplus
04209 }
04210 #endif
04211
04212 #endif