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
00068
00069 #define OSXSIATTR 0x00000100
00070 #define OSXMLNOCMPNS 0x00000080
00071 #define OSXSINIL 0x00000040
00072 #define OSXMLNOBLANKS 0x00000020
00073 #define OSHASDEFAULT 0x00000010
00074
00075
00076
00077 #define OSASN1XER 0x00000008
00078
00079
00080
00081 typedef enum {
00082 OSXMLUTF8,
00083 OSXMLUTF16,
00084 OSXMLUTF16BE,
00085 OSXMLUTF16LE,
00086 OSXMLLATIN1
00087 } OSXMLEncoding;
00088
00089 typedef enum {
00090 OSSOAPNONE, OSSOAPHEADER, OSSOAPBODY, OSSOAPFAULT
00091 } OSXMLSOAPMsgType;
00092
00093 typedef enum {
00094 OSXMLBOM_NO_BOM,
00095 OSXMLBOM_UTF32_BE,
00096 OSXMLBOM_UTF32_LE,
00097 OSXMLBOM_UTF16_BE,
00098 OSXMLBOM_UTF16_LE,
00099 OSXMLBOM_UTF8,
00100 OSXMLBOM_CHECK
00101 } OSXMLBOM;
00102
00103 typedef struct OSXMLFacets {
00104 int totalDigits;
00105 int fractionDigits;
00106 } OSXMLFacets;
00107
00108 typedef struct {
00109 const OSUTF8CHAR* value;
00110 size_t length;
00111 } OSXMLStrFragment;
00112
00113 typedef struct {
00114 OSXMLStrFragment mQName;
00115 OSXMLStrFragment mLocalName;
00116 OSXMLStrFragment mPrefix;
00117 } OSXMLNameFragments;
00118
00119 typedef struct OSXMLItemDescr {
00120 OSXMLStrFragment localName;
00121 OSINT16 nsidx;
00122 } OSXMLItemDescr;
00123
00124 typedef OSXMLItemDescr OSXMLAttrDescr;
00125 typedef OSXMLItemDescr OSXMLElemDescr;
00126
00127 typedef struct OSXMLElemIDRec {
00128 OSXMLElemDescr descr;
00129 OSUINT16 id;
00130 } OSXMLElemIDRec;
00131
00142 typedef struct OSXMLGroupDesc {
00143
00144
00145
00146 int row;
00147
00148
00149
00150
00151 int num;
00152
00153
00154
00155
00156
00157 int anyCase;
00158 } OSXMLGroupDesc;
00159
00160 typedef struct OSXSDAnyType {
00161 OSXMLSTRING value;
00162 OSRTDList attrs;
00163 } OSXSDAnyType;
00164
00165 typedef enum {
00166 OSXMLNSI_UNQUALIFIED = 0,
00167 OSXMLNSI_UNKNOWN = -1,
00168 OSXMLNSI_UNCHECKED = -2,
00169 OSXMLNSI_XSI = -3,
00170 OSXMLNSI_XMLNS = -4,
00171 OSXMLNSI_XML = -5,
00172 OSXMLNSI_SOAP_ENVELOPE = -6,
00173 OSXMLNSI_XSD = -7
00174 } OSXMLNsIndex;
00175
00176 struct OSXMLReader;
00177
00178 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00179 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00180
00181 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00182 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00183
00184 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00185 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00186 OSUTF8LEN (str))
00187
00188 #define IS_XMLNSATTR(name) \
00189 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00190 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00191
00192 #define IS_XSIATTR(name) \
00193 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00194 name[2] == 'i' && name[3] == ':')
00195
00196
00197
00198 static const char OSXMLHDRUTF8 [] = "UTF-8";
00199 static const char OSXMLHDRUTF16 [] = "UTF-16";
00200 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00201 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00202 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00203
00204
00205
00206
00207
00208 typedef struct {
00209 OSFreeCtxtAppInfoPtr pFreeFunc;
00210 OSResetCtxtAppInfoPtr pResetFunc;
00211 OSUTF8CHAR* schemaLocation;
00212 OSUTF8CHAR* noNSSchemaLoc;
00213 OSUTF8CHAR* xsiTypeAttr;
00214 OSXMLEncoding encoding;
00215 OSRTDList namespaceList;
00216 OSRTDList encodedNSList;
00217 OSRTDList sortedAttrList;
00218 OSXMLNSPfxLinkStack nsPfxLinkStack;
00219 OSXMLNSURITable nsURITable;
00220 OSRTMEMBUF memBuf;
00221 OSINT32 mSaxLevel;
00222 OSINT32 mSkipLevel;
00223 OSUINT32 maxSaxErrors;
00224 OSUINT32 errorsCnt;
00225 OSUINT8 indent;
00226 OSBOOL mbCdataProcessed;
00227 char indentChar;
00228 OSUINT8 soapVersion;
00229 OSXMLFacets facets;
00230 const OSUTF8CHAR* encodingStr;
00231 OSXMLBOM byteOrderMark;
00232 struct OSXMLReader* pXmlPPReader;
00233
00234 OSRTBuffer savedBuffer;
00235 OSRTFLAGS savedFlags;
00236 OSOCTET* attrsBuff;
00237 size_t attrsBuffSize;
00238 size_t attrStartPos;
00239 } OSXMLCtxtInfo;
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250 typedef enum {
00251 OSXMLREALOBJSYS,
00252 OSXMLREALBXER,
00253 OSXMLREALEXERMODS,
00254 OSXMLREALEXERDEC
00255 } OSXMLREALEncoding;
00256
00257 typedef enum {
00258 OSXMLINIT,
00259 OSXMLHEADER,
00260 OSXMLSTART,
00261 OSXMLATTR,
00262 OSXMLDATA,
00263 OSXMLEND,
00264 OSXMLCOMMENT
00265 } OSXMLState;
00266
00267 typedef struct OSXMLQName {
00268 const OSUTF8CHAR* nsPrefix;
00269 const OSUTF8CHAR* ncName;
00270 } OSXMLQName;
00271
00272 struct OSSAXHandlerBase;
00273
00274 typedef struct OSIntegerFmt {
00275 OSINT8 integerMaxDigits;
00276
00277 OSBOOL signPresent;
00278
00279 } OSIntegerFmt;
00280
00281
00282 typedef struct {
00283 size_t offset;
00284 size_t length;
00285 size_t prefixLength;
00286 size_t nameLength;
00287 } OSXMLSortedAttrOffset;
00288
00289 #define OSXMLINDENT 3
00290
00291 #ifdef XML_UNICODE
00292 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00293 #else
00294 #define rtXmlErrAddStrParm rtxErrAddStrParm
00295 #endif
00296
00300 typedef enum {
00301 OSXMLWSM_PRESERVE = 0,
00302 OSXMLWSM_REPLACE,
00303 OSXMLWSM_COLLAPSE
00304 } OSXMLWhiteSpaceMode;
00305
00306 #ifdef __cplusplus
00307 extern "C" {
00308 #endif
00309
00310
00311
00312 #ifndef rtXmlInitContext
00313
00319 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00320 #endif
00321
00336 EXTERNXML int rtXmlInitContextUsingKey
00337 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00338
00345 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00346
00357 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00358
00359 EXTERNXML OSBOOL rtXmlCmpQName
00360 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00361
00362 EXTERNXML int rtXmlGetBase64StrDecodedLen
00363 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00364 size_t* pNumOcts, size_t* pSrcDataLen);
00365
00373 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00374
00395 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00396 const OSUTF8CHAR* inpdata,
00397 int length);
00398
00422 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00423 OSOCTET* pvalue, OSUINT32* pnocts,
00424 OSINT32 bufsize);
00425
00451 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00452 OSOCTET* pvalue, OSUINT32* pnocts,
00453 size_t bufSize, size_t srcDataLen);
00454
00476 EXTERNXML int rtXmlDecBigInt
00477 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00478
00489 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00490
00503 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00504
00523 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00524
00537 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00538
00551 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00552
00565 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00566
00583 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00584
00600 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00601
00616 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
00617
00631 EXTERNXML int rtXmlDecUTF8Str
00632 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00633
00634
00648 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00649
00668 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00669 const OSUTF8CHAR* inpdata,
00670 int length);
00671
00694 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00695 OSOCTET* pvalue, OSUINT32* pnocts,
00696 OSINT32 bufsize);
00697
00698 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00699 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00700 OSUINT32* pnbits, OSINT32 bufsize);
00701
00714 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00715
00728 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00729
00742 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00743
00756 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00757
00770 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00771
00784 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00785
00799 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00800
00813 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00814
00827 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00828
00841 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00842
00856 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00857
00870 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00871
00884 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00885
00904 EXTERNXML int rtXmlDecNSAttr
00905 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00906 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00907
00932 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00933 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00934
00947 EXTERNXML int rtXmlDecXSIAttr
00948 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00949
00964 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00965 const char* typeName);
00966
00983 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00984
00997 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00998
01011 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
01012
01038 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01039 const OSUTF8CHAR* elemName,
01040 OSXMLNamespace* pNS);
01041
01042 EXTERNXML int rtXmlEncAnyStr
01043 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01044 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01045
01057 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01058
01069 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01070
01085 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01086 const OSOCTET* value,
01087 const OSUTF8CHAR* elemName,
01088 OSXMLNamespace* pNS);
01089
01103 EXTERNXML int rtXmlEncBase64BinaryAttr
01104 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01105 const OSUTF8CHAR* attrName, size_t attrNameLen);
01106
01118 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01119 const OSOCTET* value);
01120
01144 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01145 const OSUTF8CHAR* elemName,
01146 OSXMLNamespace* pNS);
01147
01162 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01163 const OSUTF8CHAR* attrName, size_t attrNameLen);
01164
01178 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01179
01197 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01198 const OSOCTET* value,
01199 const OSUTF8CHAR* elemName,
01200 OSXMLNamespace* pNS);
01201
01213 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01214 OSUINT32 nbits,
01215 const OSOCTET* data);
01216
01231 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01232 const OSUTF8CHAR* elemName,
01233 OSXMLNamespace* pNS);
01234
01245 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01246
01258 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01259 const OSUTF8CHAR* attrName,
01260 size_t attrNameLen);
01261
01272 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01273
01291 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01292 const OSUTF8CHAR* elemName,
01293 OSXMLNamespace* pNS);
01294
01308 EXTERNXML int rtXmlEncDateValue
01309 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01310
01334 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01335 const OSUTF8CHAR* elemName,
01336 OSXMLNamespace* pNS);
01337
01350 EXTERNXML int rtXmlEncTimeValue
01351 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01352
01368 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01369 const OSUTF8CHAR* elemName,
01370 OSXMLNamespace* pNS);
01371
01383 EXTERNXML int rtXmlEncDateTimeValue
01384 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01385
01400 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01401 const OSUTF8CHAR* elemName,
01402 OSXMLNamespace* pNS,
01403 const OSDecimalFmt* pFmtSpec);
01404
01417 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01418 const OSUTF8CHAR* attrName,
01419 size_t attrNameLen,
01420 const OSDecimalFmt* pFmtSpec);
01421
01439 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01440 const OSDecimalFmt* pFmtSpec,
01441 char* pDestBuf, size_t destBufSize);
01442
01457 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01458 const OSUTF8CHAR* elemName,
01459 OSXMLNamespace* pNS,
01460 const OSDoubleFmt* pFmtSpec);
01461
01474 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01475 const OSUTF8CHAR* attrName,
01476 size_t attrNameLen,
01477 const OSDoubleFmt* pFmtSpec);
01478
01493 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
01494 const OSDoubleFmt* pFmtSpec,
01495 int defaultPrecision);
01496
01512 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01513 const OSDoubleFmt* pFmtSpec,
01514 int defaultPrecision);
01515
01528 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01529 const OSUTF8CHAR* elemName,
01530 OSXMLNamespace* pNS,
01531 OSRTDList* pNSAttrs,
01532 OSBOOL terminate);
01533
01543 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01544
01555 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01556 const OSUTF8CHAR* elemName,
01557 OSXMLNamespace* pNS);
01558
01568 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01569
01581 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01582
01597 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01598 const OSUTF8CHAR* elemName,
01599 OSXMLNamespace* pNS,
01600 const OSDoubleFmt* pFmtSpec);
01601
01614 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01615 const OSUTF8CHAR* attrName,
01616 size_t attrNameLen,
01617 const OSDoubleFmt* pFmtSpec);
01618
01633 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01634 const OSUTF8CHAR* elemName,
01635 OSXMLNamespace* pNS);
01636
01651 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01652 const OSUTF8CHAR* elemName,
01653 OSXMLNamespace* pNS);
01654
01669 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01670 const OSUTF8CHAR* elemName,
01671 OSXMLNamespace* pNS);
01672
01687 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01688 const OSUTF8CHAR* elemName,
01689 OSXMLNamespace* pNS);
01690
01705 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01706 const OSUTF8CHAR* elemName,
01707 OSXMLNamespace* pNS);
01708
01720 EXTERNXML int rtXmlEncGYearValue
01721 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01722
01734 EXTERNXML int rtXmlEncGYearMonthValue
01735 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01736
01748 EXTERNXML int rtXmlEncGMonthValue
01749 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01750
01762 EXTERNXML int rtXmlEncGMonthDayValue
01763 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01764
01776 EXTERNXML int rtXmlEncGDayValue
01777 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01778
01793 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01794 const OSOCTET* value,
01795 const OSUTF8CHAR* elemName,
01796 OSXMLNamespace* pNS);
01797
01810 EXTERNXML int rtXmlEncHexBinaryAttr
01811 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01812 const OSUTF8CHAR* attrName, size_t attrNameLen);
01813
01825 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01826 OSUINT32 nocts,
01827 const OSOCTET* data);
01828
01839 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01840
01854 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01855 const OSUTF8CHAR* elemName,
01856 OSXMLNamespace* pNS);
01857
01868 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01869
01882 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01883 const OSUTF8CHAR* attrName,
01884 size_t attrNameLen);
01885
01901 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01902 const OSUTF8CHAR* elemName,
01903 OSXMLNamespace* pNS,
01904 const OSUTF8CHAR* pattern);
01905
01906 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01907 const OSUTF8CHAR* pattern);
01908
01909 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01910 const OSUTF8CHAR* elemName,
01911 OSXMLNamespace* pNS,
01912 const OSUTF8CHAR* pattern);
01913
01914 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01915 const OSUTF8CHAR* pattern);
01916
01931 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01932 const OSUTF8CHAR* elemName,
01933 OSXMLNamespace* pNS);
01934
01935 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01936 const OSUTF8CHAR* elemName,
01937 OSXMLNamespace* pNS,
01938 const OSUTF8CHAR* pattern);
01939
01951 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01952 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01953 const OSUTF8CHAR* pattern);
01954
01968 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01969 const OSUTF8CHAR* attrName,
01970 size_t attrNameLen);
01971
01990 EXTERNXML int rtXmlEncNamedBits
01991 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01992 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01993
01994 EXTERNXML int rtXmlEncNamedBitsValue
01995 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01996 const OSOCTET* pvalue);
01997
02011 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02012
02022 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
02023
02024
02025 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
02026
02043 EXTERNXML int rtXmlEncReal10
02044 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02045 OSXMLNamespace* pNS);
02046
02060 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02061 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02062 size_t itemCount);
02063
02064 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02065 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02066 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02067
02079 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02080
02091 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02107 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02108 const OSUTF8CHAR* elemName,
02109 OSXMLNamespace* pNS,
02110 OSRTDList* pNSAttrs,
02111 OSBOOL terminate);
02112
02124 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02125
02137 EXTERNXML int rtXmlEncStartSoapElems
02138 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02139
02152 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02153 OSXMLSTRING* pxmlstr,
02154 const OSUTF8CHAR* elemName,
02155 OSXMLNamespace* pNS);
02156
02166 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02167
02178 EXTERNXML int rtXmlEncStringValue2
02179 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02180
02191 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02192
02208 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02209 const OSUNICHAR* value,
02210 OSUINT32 nchars,
02211 const OSUTF8CHAR* elemName,
02212 OSXMLNamespace* pNS);
02213
02225 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02226 const OSUTF8CHAR* name,
02227 const OSUTF8CHAR* value);
02228
02242 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02243 const OSUTF8CHAR* name, size_t nameLen,
02244 const OSUTF8CHAR* value, size_t valueLen);
02245
02259 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02260 const OSUTF8CHAR* value,
02261 const OSUTF8CHAR* elemName,
02262 OSXMLNamespace* pNS);
02263
02277 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02278 const OSUTF8CHAR* elemName,
02279 OSXMLNamespace* pNS);
02280
02292 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02293
02306 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02307 const OSUTF8CHAR* attrName,
02308 size_t attrNameLen);
02309
02325 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02326 const OSUTF8CHAR* elemName,
02327 OSXMLNamespace* pNS);
02328
02329 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02330 const OSUTF8CHAR* elemName,
02331 OSXMLNamespace* pNS,
02332 const OSUTF8CHAR* pattern);
02333
02346 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02347 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02348 const OSUTF8CHAR* pattern);
02349
02363 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02364 const OSUTF8CHAR* attrName,
02365 size_t attrNameLen);
02366
02386 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02387
02398 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02399
02412 EXTERNXML int rtXmlEncXSITypeAttr2 (OSCTXT* pctxt,
02413 const OSUTF8CHAR* typeNsUri,
02414 const OSUTF8CHAR* typeName);
02415
02424 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02425
02436 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02437
02438 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02439
02440 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02441 const char* text2, size_t len);
02442
02443 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02444 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02445 (pMemBuf)->pctxt->buffer.size = \
02446 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02447 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02448 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02449 rtxMemBufReset (pMemBuf); \
02450 } while(0)
02451
02474 EXTERNXML int rtXmlSetEncBufPtr
02475 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02476
02485 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02486
02492 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02493
02494
02502 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02503
02504
02513 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02514
02523 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02536 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02537
02546 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02547
02558 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02559
02570 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02571
02572 EXTERNXML int rtXmlSetDigitsFacets
02573 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02574
02585 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02586
02596 EXTERNXML int rtXmlSetEncodingStr
02597 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02598
02614 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02615
02624 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02625
02634 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02635
02646 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02647
02657 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02658
02670 EXTERNXML int rtXmlSetSchemaLocation
02671 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02672
02684 EXTERNXML int rtXmlSetNoNSSchemaLocation
02685 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02686
02695 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02696
02707 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02708
02717 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02718
02719 #include "rtxmlsrc/rtXmlNamespace.h"
02720
02734 EXTERNXML int rtXmlMatchHexStr
02735 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02736
02750 EXTERNXML int rtXmlMatchBase64Str
02751 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02752
02764 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02765
02777 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02778
02790 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02791
02803 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02804
02816 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02817
02829 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02830
02842 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02843
02855 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02856
02869 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02870 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02871
02881 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02882 const OSOCTET* data1,
02883 const OSUTF8CHAR* data2);
02884
02894 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02895 const OSOCTET* data1,
02896 const OSUTF8CHAR* data2);
02897
02898 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02899
02900 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02901 size_t nAttr,
02902 const OSUTF8CHAR* attrNames[],
02903 OSUINT32 attrPresent[]);
02904
02917 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02918 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02919
02935 EXTERNXML OSINT16 rtSaxGetElemID
02936 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02937 #ifdef OSXMLNS12
02938 OSINT32 nsidx,
02939 #endif
02940 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02941 OSINT16 fstabRows, OSINT16 fstabCols);
02942
02958 EXTERNXML OSINT16 rtSaxGetElemID8
02959 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02960 #ifdef OSXMLNS12
02961 OSINT32 nsidx,
02962 #endif
02963 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02964 OSINT16 fstabRows, OSINT16 fstabCols);
02965
02966 EXTERNXML OSINT16 rtSaxFindElemID
02967 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02968 #ifdef OSXMLNS12
02969 OSINT32 nsidx,
02970 #endif
02971 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02972 OSINT16 fstabRows, OSINT16 fstabCols);
02973
02974 EXTERNXML OSINT16 rtSaxFindElemID8
02975 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02976 #ifdef OSXMLNS12
02977 OSINT32 nsidx,
02978 #endif
02979 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02980 OSINT16 fstabRows, OSINT16 fstabCols);
02981
02990 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02991
02999 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
03000
03001 EXTERNXML OSINT16 rtSaxLookupElemID
03002 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03003 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03004 #ifdef OSXMLNS12
03005 OSINT32 nsidx,
03006 #endif
03007 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
03008 OSINT16 fstabRows, OSINT16 fstabCols);
03009
03010 EXTERNXML OSINT16 rtSaxLookupElemID8
03011 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
03012 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
03013 #ifdef OSXMLNS12
03014 OSINT32 nsidx,
03015 #endif
03016 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
03017 OSINT16 fstabRows, OSINT16 fstabCols);
03018
03030 EXTERNXML int rtSaxStrListParse
03031 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
03032
03051 EXTERNXML int rtSaxSortAttrs
03052 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
03053
03061 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03062
03063 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03064 OSINT16 currElemIdx,
03065 const int* fstab,
03066 int fstabRows, int fstabCols);
03067
03068 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03069 OSINT16 currElemIdx,
03070 const OSINT8* fstab,
03071 int fstabRows, int fstabCols);
03072
03073 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03074
03075 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03076
03077 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03078
03079 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03080 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03081 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03082 const char* parentTypeName);
03083
03084 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03085
03086 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03087 const OSUTF8CHAR* const* attrs,
03088 const char* typeName);
03089
03102 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03103
03104 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03105
03106 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03107
03108 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03109
03114 EXTERNXML void rtErrXmlInit (OSVOIDARG);
03115 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03116 EXTERNXML int rtXmlWriteChars
03117 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03118
03138 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03139
03153 EXTERNXML int rtXmlpDecAny2 (OSCTXT* pctxt, OSUTF8CHAR** pvalue);
03154
03171 EXTERNXML int rtXmlpDecAnyAttrStr
03172 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t attrIndex);
03173
03193 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03194
03220 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03221 OSUINT32* pnocts, OSINT32 bufsize);
03222
03246 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03247
03264 EXTERNXML int rtXmlpDecBitString
03265 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03266
03279 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03280
03293 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03294
03307 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03308
03327 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03328 int totalDigits, int fractionDigits);
03329
03342 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03343
03344 #define OSXMLREALENC_OBJSYS 0x1F
03345 #define OSXMLREALENC_BXER 0x10
03346 #define OSXMLREALENC_EXERMODS 0x1B
03347 #define OSXMLREALENC_EXERDECIMAL 0x03
03348
03369 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
03370 OSREAL* pvalue);
03371
03372
03391 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03392
03406 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03407
03425 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03426
03444 EXTERNXML int rtXmlpDecDynUnicodeStr
03445 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03446
03460 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03461
03462
03476 EXTERNXML int rtXmlpDecUTF8Str
03477 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03478
03491 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03492
03505 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03506
03519 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03520
03533 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03534
03547 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03548
03573 EXTERNXML int rtXmlpDecHexStr
03574 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03575
03588 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03589
03603 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03604
03617 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03618
03631 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03632
03649 EXTERNXML int rtXmlpDecNamedBits
03650 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03651 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03652
03669 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03670
03689 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03690
03703 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03704
03718 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03719
03732 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03733
03746 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03747
03764 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03765
03782 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03783
03801 EXTERNXML int rtXmlpDecXSIAttr
03802 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03803
03825 EXTERNXML int rtXmlpDecXSITypeAttr
03826 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03827 const OSUTF8CHAR** ppAttrValue);
03828
03852 EXTERNXML int rtXmlpGetAttributeID
03853 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03854 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03855
03868 EXTERNXML int rtXmlpGetNextElem
03869 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03870
03891 EXTERNXML int rtXmlpGetNextElemID
03892 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03893 OSBOOL continueParse);
03894
03904 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03905
03921 EXTERNXML int rtXmlpMatchStartTag
03922 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03923
03934 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03935
03946 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03947
03956 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03957
03976 EXTERNXML int rtXmlpSelectAttribute
03977 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t attrIndex);
03978
03985 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03986
03997 EXTERNXML void rtXmlpSetWhiteSpaceMode
03998 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03999
04007 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
04008 (OSCTXT* pctxt, OSBOOL mixedContentMode);
04009
04015 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
04016
04025 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
04026
04036 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
04037
04060 EXTERNXML int rtXmlpGetNextSeqElemID2
04061 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
04062 int groups, int curID, int lastMandatoryID, OSBOOL groupMode,
04063 OSBOOL checkRepeat);
04064
04099 EXTERNXML int rtXmlpGetNextSeqElemID
04100 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
04101 int curID, int lastMandatoryID, OSBOOL groupMode);
04102
04128 EXTERNXML int rtXmlpGetNextSeqElemIDExt
04129 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* ppGroup,
04130 const OSBOOL* extRequired, int postExtRootID,
04131 int curID, int lastMandatoryID, OSBOOL groupMode);
04132
04133
04149 EXTERNXML int rtXmlpGetNextAllElemID
04150 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04151 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04152
04169 EXTERNXML int rtXmlpGetNextAllElemID16
04170 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04171 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04172
04173
04189 EXTERNXML int rtXmlpGetNextAllElemID32
04190 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04191 const OSUINT32* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04192
04193
04201 EXTERNXML void rtXmlpSetNamespaceTable
04202 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
04203
04212 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04213
04220 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04221
04230 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04231
04237 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04238
04244 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04245
04251 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04252
04269 EXTERNXML int rtXmlpGetXSITypeAttr
04270 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04271 size_t* pLocalOffs);
04272
04283 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04284
04294 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04295
04304 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04305
04314 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04315
04325 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04326
04335 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04336
04348 EXTERNXML int rtXmlpGetXSITypeIndex
04349 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04350
04364 EXTERNXML int rtXmlpLookupXSITypeIndex
04365 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04366 const OSXMLItemDescr typetab[], size_t typetabsiz);
04367
04375 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04376
04385 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04386
04396 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04397
04412 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04413
04418 #ifdef __cplusplus
04419 }
04420 #endif
04421
04422 #endif