00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00045 #ifndef _OSRTXML_H_
00046 #define _OSRTXML_H_
00047
00048 #define OSXMLNS12
00049
00050 #include "rtxsrc/rtxCommon.h"
00051 #include "rtxmlsrc/rtSaxDefs.h"
00052 #include "rtxsrc/rtxDList.h"
00053 #include "rtxsrc/rtxMemBuf.h"
00054 #include "rtxmlsrc/rtXmlExternDefs.h"
00055 #include "rtxmlsrc/rtXmlErrCodes.h"
00056 #include "rtxmlsrc/rtXmlNamespace.h"
00057
00058
00059
00060 #define OSUPCASE 0x00008000
00061 #define OSTERMSTART 0x00004000
00062 #define OSEMPTYELEM 0x00002000
00063 #define OSQUALATTR 0x00001000
00064 #define OSXMLFRAG 0x00000800
00065 #define OSXMLNSSET 0x00000400
00066 #define OSXMLC14N 0x00000200
00067 #define OSXSIATTR 0x00000100
00068 #define OSXMLNOCMPNS 0x00000080
00069 #define OSXSINIL 0x00000040
00070
00071 typedef enum {
00072 OSXMLUTF8,
00073 OSXMLUTF16,
00074 OSXMLUTF16BE,
00075 OSXMLUTF16LE,
00076 OSXMLLATIN1
00077 } OSXMLEncoding;
00078
00079 typedef enum {
00080 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00081 } OSXMLSOAPMsgType;
00082
00083 typedef enum {
00084 OSXMLBOM_NO_BOM,
00085 OSXMLBOM_UTF32_BE,
00086 OSXMLBOM_UTF32_LE,
00087 OSXMLBOM_UTF16_BE,
00088 OSXMLBOM_UTF16_LE,
00089 OSXMLBOM_UTF8,
00090 OSXMLBOM_CHECK
00091 } OSXMLBOM;
00092
00093 typedef struct OSXMLFacets {
00094 int totalDigits;
00095 int fractionDigits;
00096 } OSXMLFacets;
00097
00098 typedef struct {
00099 const OSUTF8CHAR* value;
00100 size_t length;
00101 } OSXMLStrFragment;
00102
00103 typedef struct {
00104 OSXMLStrFragment mQName;
00105 OSXMLStrFragment mLocalName;
00106 OSXMLStrFragment mPrefix;
00107 } OSXMLNameFragments;
00108
00109 typedef struct OSXMLItemDescr {
00110 OSXMLStrFragment localName;
00111 OSINT16 nsidx;
00112 } OSXMLItemDescr;
00113
00114 typedef OSXMLItemDescr OSXMLAttrDescr;
00115 typedef OSXMLItemDescr OSXMLElemDescr;
00116
00117 typedef struct OSXMLElemIDRec {
00118 OSXMLElemDescr descr;
00119 OSUINT16 id;
00120 } OSXMLElemIDRec;
00121
00122 typedef struct OSXMLGroupDesc {
00123 int row;
00124 int num;
00125 int anyCase;
00126 } OSXMLGroupDesc;
00127
00128 typedef struct OSXSDAnyType {
00129 OSXMLSTRING value;
00130 OSRTDList attrs;
00131 } OSXSDAnyType;
00132
00133 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00134 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00135
00136 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00137 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00138
00139 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00140 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00141 OSUTF8LEN (str))
00142
00143 #define IS_XMLNSATTR(name) \
00144 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00145 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00146
00147 #define IS_XSIATTR(name) \
00148 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00149 name[2] == 'i' && name[3] == ':')
00150
00151
00152
00153 static const char OSXMLHDRUTF8 [] = "UTF-8";
00154 static const char OSXMLHDRUTF16 [] = "UTF-16";
00155 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00156 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00157 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00158
00159
00160
00161
00162
00163 typedef struct {
00164 OSFreeCtxtAppInfoPtr pFreeFunc;
00165 OSResetCtxtAppInfoPtr pResetFunc;
00166 OSUTF8CHAR* schemaLocation;
00167 OSUTF8CHAR* noNSSchemaLoc;
00168 OSUTF8CHAR* xsiTypeAttr;
00169 OSXMLEncoding encoding;
00170 OSRTDList namespaceList;
00171 OSRTDList encodedNSList;
00172 OSRTDList sortedAttrList;
00173 OSXMLNSPfxLinkStack nsPfxLinkStack;
00174 OSXMLNSURITable nsURITable;
00175 OSRTMEMBUF memBuf;
00176 OSINT32 mSaxLevel;
00177 OSINT32 mSkipLevel;
00178 OSUINT32 maxSaxErrors;
00179 OSUINT32 errorsCnt;
00180 OSUINT8 indent;
00181 OSBOOL mbCdataProcessed;
00182 char indentChar;
00183 OSUINT8 soapVersion;
00184 OSXMLFacets facets;
00185 const OSUTF8CHAR* encodingStr;
00186 OSXMLBOM byteOrderMark;
00187 struct OSXMLReader* pXmlPPReader;
00188
00189 OSRTBuffer savedBuffer;
00190 OSRTFLAGS savedFlags;
00191 OSOCTET* attrsBuff;
00192 size_t attrsBuffSize;
00193 size_t attrStartPos;
00194 } OSXMLCtxtInfo;
00195
00196 typedef enum {
00197 OSXMLINIT,
00198 OSXMLHEADER,
00199 OSXMLSTART,
00200 OSXMLATTR,
00201 OSXMLDATA,
00202 OSXMLEND
00203 } OSXMLState;
00204
00205 typedef struct OSXMLQName {
00206 const OSUTF8CHAR* nsPrefix;
00207 const OSUTF8CHAR* ncName;
00208 } OSXMLQName;
00209
00210 struct OSSAXHandlerBase;
00211
00212 typedef struct OSIntegerFmt {
00213 OSINT8 integerMaxDigits;
00214
00215 OSBOOL signPresent;
00216
00217 } OSIntegerFmt;
00218
00219 typedef struct OSDecimalFmt {
00220 OSINT8 totalDigits;
00221 OSINT8 fractionDigits;
00222
00223 OSINT8 fractionMinDigits;
00224
00225
00226 OSINT8 integerMaxDigits;
00227
00228
00229 OSINT8 integerMinDigits;
00230
00231 OSBOOL signPresent;
00232
00233 OSBOOL pointPresent;
00234
00235 OSUINT8 nPatterns;
00236 const char* const* patterns;
00237
00238 } OSDecimalFmt;
00239
00240 typedef struct OSDoubleFmt {
00241 OSINT8 totalDigits;
00242 OSINT8 fractionDigits;
00243
00244 OSINT8 fractionMinDigits;
00245
00246
00247 OSINT8 integerMaxDigits;
00248
00249
00250 OSINT8 integerMinDigits;
00251
00252 OSINT8 expSymbol;
00253
00254 OSINT16 expMinValue;
00255 OSINT16 expMaxValue;
00256 OSINT8 expDigits;
00257
00258
00259 OSBOOL signPresent;
00260
00261 OSBOOL pointPresent;
00262
00263 OSBOOL expPresent;
00264
00265 OSBOOL expSignPresent;
00266
00267 } OSDoubleFmt;
00268
00269 typedef struct {
00270 size_t offset;
00271 size_t length;
00272 size_t prefixLength;
00273 size_t nameLength;
00274 } OSXMLSortedAttrOffset;
00275
00276 #define OSXMLINDENT 3
00277
00278 #ifdef XML_UNICODE
00279 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00280 #else
00281 #define rtXmlErrAddStrParm rtxErrAddStrParm
00282 #endif
00283
00287 typedef enum {
00288 OSXMLWSM_PRESERVE = 0,
00289 OSXMLWSM_REPLACE,
00290 OSXMLWSM_COLLAPSE
00291 } OSXMLWhiteSpaceMode;
00292
00293 #ifdef __cplusplus
00294 extern "C" {
00295 #endif
00296
00297
00298
00305 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00306
00321 EXTERNXML int rtXmlInitContextUsingKey
00322 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00323
00330 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00331
00342 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00343
00344 EXTERNXML OSBOOL rtXmlCmpQName
00345 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00346
00347 EXTERNXML int rtXmlGetBase64StrDecodedLen
00348 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00349 size_t* pNumOcts, size_t* pSrcDataLen);
00350
00358 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00359
00380 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00381 const OSUTF8CHAR* inpdata,
00382 int length);
00383
00407 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00408 OSOCTET* pvalue, OSUINT32* pnocts,
00409 OSINT32 bufsize);
00410
00436 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00437 OSOCTET* pvalue, OSUINT32* pnocts,
00438 size_t bufSize, size_t srcDataLen);
00439
00461 EXTERNXML int rtXmlDecBigInt
00462 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00463
00474 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00475
00488 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00489
00508 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00509
00522 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00523
00536 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00537
00550 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00551
00568 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00569
00585 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00586
00600 EXTERNXML int rtXmlDecUTF8Str
00601 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00602
00603
00617 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00618
00637 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00638 const OSUTF8CHAR* inpdata,
00639 int length);
00640
00663 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00664 OSOCTET* pvalue, OSUINT32* pnocts,
00665 OSINT32 bufsize);
00666
00667 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00668 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00669 OSUINT32* pnbits, OSINT32 bufsize);
00670
00683 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00684
00697 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00698
00711 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00712
00725 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00726
00739 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00740
00753 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00754
00768 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00769
00782 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00783
00796 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00797
00810 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00811
00825 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00826
00839 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00840
00853 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00854
00873 EXTERNXML int rtXmlDecNSAttr
00874 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00875 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00876
00901 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00902 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00903
00916 EXTERNXML int rtXmlDecXSIAttr
00917 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00918
00933 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00934 const char* typeName);
00935
00952 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00953
00966 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00967
00980 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00981
01007 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01008 const OSUTF8CHAR* elemName,
01009 OSXMLNamespace* pNS);
01010
01011 EXTERNXML int rtXmlEncAnyStr
01012 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01013 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01014
01026 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01027
01038 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01039
01054 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01055 const OSOCTET* value,
01056 const OSUTF8CHAR* elemName,
01057 OSXMLNamespace* pNS);
01058
01072 EXTERNXML int rtXmlEncBase64BinaryAttr
01073 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01074 const OSUTF8CHAR* attrName, size_t attrNameLen);
01075
01087 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01088 const OSOCTET* value);
01089
01113 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01114 const OSUTF8CHAR* elemName,
01115 OSXMLNamespace* pNS);
01116
01131 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01132 const OSUTF8CHAR* attrName, size_t attrNameLen);
01133
01147 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01148
01166 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01167 const OSOCTET* value,
01168 const OSUTF8CHAR* elemName,
01169 OSXMLNamespace* pNS);
01170
01182 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01183 OSUINT32 nbits,
01184 const OSOCTET* data);
01185
01200 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01201 const OSUTF8CHAR* elemName,
01202 OSXMLNamespace* pNS);
01203
01214 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01215
01227 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01228 const OSUTF8CHAR* attrName,
01229 size_t attrNameLen);
01230
01241 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01242
01260 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01261 const OSUTF8CHAR* elemName,
01262 OSXMLNamespace* pNS);
01263
01277 EXTERNXML int rtXmlEncDateValue
01278 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01279
01303 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01304 const OSUTF8CHAR* elemName,
01305 OSXMLNamespace* pNS);
01306
01319 EXTERNXML int rtXmlEncTimeValue
01320 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01321
01337 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01338 const OSUTF8CHAR* elemName,
01339 OSXMLNamespace* pNS);
01340
01352 EXTERNXML int rtXmlEncDateTimeValue
01353 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01354
01369 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01370 const OSUTF8CHAR* elemName,
01371 OSXMLNamespace* pNS,
01372 const OSDecimalFmt* pFmtSpec);
01373
01386 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01387 const OSUTF8CHAR* attrName,
01388 size_t attrNameLen,
01389 const OSDecimalFmt* pFmtSpec);
01390
01408 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01409 const OSDecimalFmt* pFmtSpec,
01410 char* pDestBuf, size_t destBufSize);
01411
01426 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01427 const OSUTF8CHAR* elemName,
01428 OSXMLNamespace* pNS,
01429 const OSDoubleFmt* pFmtSpec);
01430
01443 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01444 const OSUTF8CHAR* attrName,
01445 size_t attrNameLen,
01446 const OSDoubleFmt* pFmtSpec);
01447
01461 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01462 const OSDoubleFmt* pFmtSpec,
01463 int defaultPrecision);
01464
01477 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01478 const OSUTF8CHAR* elemName,
01479 OSXMLNamespace* pNS,
01480 OSRTDList* pNSAttrs,
01481 OSBOOL terminate);
01482
01492 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01493
01504 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01505 const OSUTF8CHAR* elemName,
01506 OSXMLNamespace* pNS);
01507
01517 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01518
01530 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01531
01546 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01547 const OSUTF8CHAR* elemName,
01548 OSXMLNamespace* pNS,
01549 const OSDoubleFmt* pFmtSpec);
01550
01563 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01564 const OSUTF8CHAR* attrName,
01565 size_t attrNameLen,
01566 const OSDoubleFmt* pFmtSpec);
01567
01582 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01583 const OSUTF8CHAR* elemName,
01584 OSXMLNamespace* pNS);
01585
01600 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01601 const OSUTF8CHAR* elemName,
01602 OSXMLNamespace* pNS);
01603
01618 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01619 const OSUTF8CHAR* elemName,
01620 OSXMLNamespace* pNS);
01621
01636 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01637 const OSUTF8CHAR* elemName,
01638 OSXMLNamespace* pNS);
01639
01654 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01655 const OSUTF8CHAR* elemName,
01656 OSXMLNamespace* pNS);
01657
01669 EXTERNXML int rtXmlEncGYearValue
01670 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01671
01683 EXTERNXML int rtXmlEncGYearMonthValue
01684 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01685
01697 EXTERNXML int rtXmlEncGMonthValue
01698 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01699
01711 EXTERNXML int rtXmlEncGMonthDayValue
01712 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01713
01725 EXTERNXML int rtXmlEncGDayValue
01726 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01727
01742 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01743 const OSOCTET* value,
01744 const OSUTF8CHAR* elemName,
01745 OSXMLNamespace* pNS);
01746
01759 EXTERNXML int rtXmlEncHexBinaryAttr
01760 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01761 const OSUTF8CHAR* attrName, size_t attrNameLen);
01762
01774 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01775 OSUINT32 nocts,
01776 const OSOCTET* data);
01777
01788 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01789
01803 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01804 const OSUTF8CHAR* elemName,
01805 OSXMLNamespace* pNS);
01806
01817 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01818
01831 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01832 const OSUTF8CHAR* attrName,
01833 size_t attrNameLen);
01834
01850 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01851 const OSUTF8CHAR* elemName,
01852 OSXMLNamespace* pNS,
01853 const OSUTF8CHAR* pattern);
01854
01855 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01856 const OSUTF8CHAR* pattern);
01857
01858 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01859 const OSUTF8CHAR* elemName,
01860 OSXMLNamespace* pNS,
01861 const OSUTF8CHAR* pattern);
01862
01863 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01864 const OSUTF8CHAR* pattern);
01865
01880 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01881 const OSUTF8CHAR* elemName,
01882 OSXMLNamespace* pNS);
01883
01884 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01885 const OSUTF8CHAR* elemName,
01886 OSXMLNamespace* pNS,
01887 const OSUTF8CHAR* pattern);
01888
01900 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01901 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01902 const OSUTF8CHAR* pattern);
01903
01917 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01918 const OSUTF8CHAR* attrName,
01919 size_t attrNameLen);
01920
01939 EXTERNXML int rtXmlEncNamedBits
01940 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01941 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01942
01943 EXTERNXML int rtXmlEncNamedBitsValue
01944 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01945 const OSOCTET* pvalue);
01946
01960 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01961
01971 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
01972
01973
01974 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
01975
01992 EXTERNXML int rtXmlEncReal10
01993 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
01994 OSXMLNamespace* pNS);
01995
02009 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02010 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02011 size_t itemCount);
02012
02013 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02014 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02015 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02016
02028 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02029
02040 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02055 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02056 const OSUTF8CHAR* elemName,
02057 OSXMLNamespace* pNS,
02058 OSRTDList* pNSAttrs,
02059 OSBOOL terminate);
02060
02072 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02073
02085 EXTERNXML int rtXmlEncStartSoapElems
02086 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02087
02101 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02102 OSXMLSTRING* pxmlstr,
02103 const OSUTF8CHAR* elemName,
02104 OSXMLNamespace* pNS);
02105
02115 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02116
02127 EXTERNXML int rtXmlEncStringValue2
02128 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02129
02140 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02141
02157 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02158 const OSUNICHAR* value,
02159 OSUINT32 nchars,
02160 const OSUTF8CHAR* elemName,
02161 OSXMLNamespace* pNS);
02162
02174 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02175 const OSUTF8CHAR* name,
02176 const OSUTF8CHAR* value);
02177
02191 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02192 const OSUTF8CHAR* name, size_t nameLen,
02193 const OSUTF8CHAR* value, size_t valueLen);
02194
02208 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02209 const OSUTF8CHAR* value,
02210 const OSUTF8CHAR* elemName,
02211 OSXMLNamespace* pNS);
02212
02226 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02227 const OSUTF8CHAR* elemName,
02228 OSXMLNamespace* pNS);
02229
02241 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02242
02255 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02256 const OSUTF8CHAR* attrName,
02257 size_t attrNameLen);
02258
02274 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02275 const OSUTF8CHAR* elemName,
02276 OSXMLNamespace* pNS);
02277
02278 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02279 const OSUTF8CHAR* elemName,
02280 OSXMLNamespace* pNS,
02281 const OSUTF8CHAR* pattern);
02282
02295 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02296 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02297 const OSUTF8CHAR* pattern);
02298
02312 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02313 const OSUTF8CHAR* attrName,
02314 size_t attrNameLen);
02315
02335 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02336
02347 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02348
02357 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02358
02369 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02370
02371 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02372
02373 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02374 const char* text2, size_t len);
02375
02376 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02377 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02378 (pMemBuf)->pctxt->buffer.size = \
02379 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02380 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02381 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02382 rtxMemBufReset (pMemBuf); \
02383 } while(0)
02384
02407 EXTERNXML int rtXmlSetEncBufPtr
02408 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02409
02418 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02419
02425 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02426
02427
02435 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02436
02437
02446 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02447
02456 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02469 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02470
02479 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02480
02491 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02492
02503 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02504
02505 EXTERNXML int rtXmlSetDigitsFacets
02506 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02507
02518 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02519
02529 EXTERNXML int rtXmlSetEncodingStr
02530 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02531
02547 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02548
02557 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02558
02567 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02568
02579 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02580
02590 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02591
02603 EXTERNXML int rtXmlSetSchemaLocation
02604 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02605
02617 EXTERNXML int rtXmlSetNoNSSchemaLocation
02618 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02619
02628 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02629
02640 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02641
02650 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02651
02652 #include "rtxmlsrc/rtXmlNamespace.h"
02653
02667 EXTERNXML int rtXmlMatchHexStr
02668 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02669
02683 EXTERNXML int rtXmlMatchBase64Str
02684 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02685
02697 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02698
02710 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02711
02723 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02724
02736 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02737
02749 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02750
02762 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02763
02775 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02776
02788 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02789
02802 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02803 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02804
02814 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02815 const OSOCTET* data1,
02816 const OSUTF8CHAR* data2);
02817
02827 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02828 const OSOCTET* data1,
02829 const OSUTF8CHAR* data2);
02830
02831 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02832
02833 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02834 size_t nAttr,
02835 const OSUTF8CHAR* attrNames[],
02836 OSUINT32 attrPresent[]);
02837
02850 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02851 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02852
02868 EXTERNXML OSINT16 rtSaxGetElemID
02869 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02870 #ifdef OSXMLNS12
02871 OSINT32 nsidx,
02872 #endif
02873 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02874 OSINT16 fstabRows, OSINT16 fstabCols);
02875
02891 EXTERNXML OSINT16 rtSaxGetElemID8
02892 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02893 #ifdef OSXMLNS12
02894 OSINT32 nsidx,
02895 #endif
02896 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02897 OSINT16 fstabRows, OSINT16 fstabCols);
02898
02899 EXTERNXML OSINT16 rtSaxFindElemID
02900 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02901 #ifdef OSXMLNS12
02902 OSINT32 nsidx,
02903 #endif
02904 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02905 OSINT16 fstabRows, OSINT16 fstabCols);
02906
02907 EXTERNXML OSINT16 rtSaxFindElemID8
02908 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02909 #ifdef OSXMLNS12
02910 OSINT32 nsidx,
02911 #endif
02912 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02913 OSINT16 fstabRows, OSINT16 fstabCols);
02914
02923 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02924
02932 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02933
02934 EXTERNXML OSINT16 rtSaxLookupElemID
02935 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02936 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02937 #ifdef OSXMLNS12
02938 OSINT32 nsidx,
02939 #endif
02940 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02941 OSINT16 fstabRows, OSINT16 fstabCols);
02942
02943 EXTERNXML OSINT16 rtSaxLookupElemID8
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 OSINT8* fstab,
02950 OSINT16 fstabRows, OSINT16 fstabCols);
02951
02963 EXTERNXML int rtSaxStrListParse
02964 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02965
02984 EXTERNXML int rtSaxSortAttrs
02985 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
02986
02994 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
02995
02996 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
02997 OSINT16 currElemIdx,
02998 const int* fstab,
02999 int fstabRows, int fstabCols);
03000
03001 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03002 OSINT16 currElemIdx,
03003 const OSINT8* fstab,
03004 int fstabRows, int fstabCols);
03005
03006 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03007
03008 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03009
03010 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03011
03012 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03013 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03014 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03015 const char* parentTypeName);
03016
03017 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03018
03019 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03020 const OSUTF8CHAR* const* attrs,
03021 const char* typeName);
03022
03035 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03036
03037 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03038
03039 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03040
03041 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03042
03047 EXTERNXML void rtErrXmlInit (void);
03048 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03049 EXTERNXML int rtXmlWriteChars
03050 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03051
03071 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03072
03089 EXTERNXML int rtXmlpDecAnyAttrStr
03090 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03091
03111 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03112
03138 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03139 OSUINT32* pnocts, OSINT32 bufsize);
03140
03164 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03165
03182 EXTERNXML int rtXmlpDecBitString
03183 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03184
03197 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03198
03211 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03212
03225 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03226
03245 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03246 int totalDigits, int fractionDigits);
03247
03260 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03261
03280 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03281
03295 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03296
03314 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03315
03333 EXTERNXML int rtXmlpDecDynUnicodeStr
03334 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03335
03349 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03350
03351
03365 EXTERNXML int rtXmlpDecUTF8Str
03366 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03367
03380 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03381
03394 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03395
03408 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03409
03422 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03423
03436 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03437
03462 EXTERNXML int rtXmlpDecHexStr
03463 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03464
03477 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03478
03492 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03493
03506 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03507
03520 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03521
03538 EXTERNXML int rtXmlpDecNamedBits
03539 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03540 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03541
03558 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03559
03578 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03579
03592 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03593
03607 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03608
03621 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03622
03635 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03636
03653 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03654
03671 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03672
03691 EXTERNXML int rtXmlpDecXSIAttr
03692 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03693
03715 EXTERNXML int rtXmlpDecXSITypeAttr
03716 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03717 const OSUTF8CHAR** ppAttrValue);
03718
03742 EXTERNXML int rtXmlpGetAttributeID
03743 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03744 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03745
03758 EXTERNXML int rtXmlpGetNextElem
03759 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03760
03776 EXTERNXML int rtXmlpGetNextElemID
03777 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03778 OSBOOL continueParse);
03779
03789 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03790
03806 EXTERNXML int rtXmlpMatchStartTag
03807 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03808
03819 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03820
03831 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03832
03841 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03842
03861 EXTERNXML int rtXmlpSelectAttribute
03862 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03863
03870 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03871
03882 EXTERNXML void rtXmlpSetWhiteSpaceMode
03883 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03884
03892 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03893 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03894
03900 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03901
03910 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03911
03921 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSUINT32* itemCnt);
03922
03938 EXTERNXML int rtXmlpGetNextSeqElemID
03939 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03940 int curID, int lastMandatoryID, OSBOOL groupMode);
03941
03957 EXTERNXML int rtXmlpGetNextAllElemID
03958 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03959 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03960
03977 EXTERNXML int rtXmlpGetNextAllElemID16
03978 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
03979 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
03980
03988 EXTERNXML void rtXmlpSetNamespaceTable
03989 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
03990
03999 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04000
04007 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04008
04017 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04018
04024 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04025
04031 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04032
04038 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04039
04056 EXTERNXML int rtXmlpGetXSITypeAttr
04057 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04058 size_t* pLocalOffs);
04059
04070 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04071
04081 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04082
04091 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04092
04101 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04102
04111 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04112
04124 EXTERNXML int rtXmlpGetXSITypeIndex
04125 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04126
04140 EXTERNXML int rtXmlpLookupXSITypeIndex
04141 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04142 const OSXMLItemDescr typetab[], size_t typetabsiz);
04143
04151 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04152
04161 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04162
04172 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04173
04188 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04189
04194 #ifdef __cplusplus
04195 }
04196 #endif
04197
04198 #endif