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
00132 typedef struct OSXMLGroupDesc {
00133 int row;
00134 int num;
00135 int anyCase;
00136 } OSXMLGroupDesc;
00137
00138 typedef struct OSXSDAnyType {
00139 OSXMLSTRING value;
00140 OSRTDList attrs;
00141 } OSXSDAnyType;
00142
00143 typedef enum {
00144 OSXMLNSI_UNQUALIFIED = 0,
00145 OSXMLNSI_UNKNOWN = -1,
00146 OSXMLNSI_UNCHECKED = -2,
00147 OSXMLNSI_XSI = -3,
00148 OSXMLNSI_XMLNS = -4,
00149 OSXMLNSI_XML = -5,
00150 OSXMLNSI_SOAP_ENVELOPE = -6,
00151 OSXMLNSI_XSD = -7
00152 } OSXMLNsIndex;
00153
00154 struct OSXMLReader;
00155
00156 #define OSXMLFRAGSEQUAL(frag1,frag2) \
00157 (frag1.length==frag2.length && !memcmp(frag1.value,frag2.value,frag1.length))
00158
00159 #define OSXMLQNAMEEQUALS(xnamefrag,qnametext) rtxUTF8StrnEqual \
00160 (xnamefrag.mQName.value, OSUTF8(qnametext), xnamefrag.mQName.length)
00161
00162 #define OSXMLSETUTF8DECPTR(pctxt,str) \
00163 rtxInitContextBuffer (pctxt, OSRTSAFECONSTCAST (OSOCTET*, str), \
00164 OSUTF8LEN (str))
00165
00166 #define IS_XMLNSATTR(name) \
00167 ((OSUTF8LEN(name) >= 5) && name[0] == 'x' && name[1] == 'm' && \
00168 name[2] == 'l' && name[3] == 'n' && name[4] == 's')
00169
00170 #define IS_XSIATTR(name) \
00171 ((OSUTF8LEN(name) >= 4) && name[0] == 'x' && name[1] == 's' && \
00172 name[2] == 'i' && name[3] == ':')
00173
00174
00175
00176 static const char OSXMLHDRUTF8 [] = "UTF-8";
00177 static const char OSXMLHDRUTF16 [] = "UTF-16";
00178 static const char OSXMLHDRUTF16BE [] = "UTF-16BE";
00179 static const char OSXMLHDRUTF16LE [] = "UTF-16LE";
00180 static const char OSXMLHDRLATIN1 [] = "ISO-8859-1";
00181
00182
00183
00184
00185
00186 typedef struct {
00187 OSFreeCtxtAppInfoPtr pFreeFunc;
00188 OSResetCtxtAppInfoPtr pResetFunc;
00189 OSUTF8CHAR* schemaLocation;
00190 OSUTF8CHAR* noNSSchemaLoc;
00191 OSUTF8CHAR* xsiTypeAttr;
00192 OSXMLEncoding encoding;
00193 OSRTDList namespaceList;
00194 OSRTDList encodedNSList;
00195 OSRTDList sortedAttrList;
00196 OSXMLNSPfxLinkStack nsPfxLinkStack;
00197 OSXMLNSURITable nsURITable;
00198 OSRTMEMBUF memBuf;
00199 OSINT32 mSaxLevel;
00200 OSINT32 mSkipLevel;
00201 OSUINT32 maxSaxErrors;
00202 OSUINT32 errorsCnt;
00203 OSUINT8 indent;
00204 OSBOOL mbCdataProcessed;
00205 char indentChar;
00206 OSUINT8 soapVersion;
00207 OSXMLFacets facets;
00208 const OSUTF8CHAR* encodingStr;
00209 OSXMLBOM byteOrderMark;
00210 struct OSXMLReader* pXmlPPReader;
00211
00212 OSRTBuffer savedBuffer;
00213 OSRTFLAGS savedFlags;
00214 OSOCTET* attrsBuff;
00215 size_t attrsBuffSize;
00216 size_t attrStartPos;
00217 } OSXMLCtxtInfo;
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228 typedef enum {
00229 OSXMLREALOBJSYS,
00230 OSXMLREALBXER,
00231 OSXMLREALEXERMODS,
00232 OSXMLREALEXERDEC
00233 } OSXMLREALEncoding;
00234
00235 typedef enum {
00236 OSXMLINIT,
00237 OSXMLHEADER,
00238 OSXMLSTART,
00239 OSXMLATTR,
00240 OSXMLDATA,
00241 OSXMLEND
00242 } OSXMLState;
00243
00244 typedef struct OSXMLQName {
00245 const OSUTF8CHAR* nsPrefix;
00246 const OSUTF8CHAR* ncName;
00247 } OSXMLQName;
00248
00249 struct OSSAXHandlerBase;
00250
00251 typedef struct OSIntegerFmt {
00252 OSINT8 integerMaxDigits;
00253
00254 OSBOOL signPresent;
00255
00256 } OSIntegerFmt;
00257
00258
00259 typedef struct {
00260 size_t offset;
00261 size_t length;
00262 size_t prefixLength;
00263 size_t nameLength;
00264 } OSXMLSortedAttrOffset;
00265
00266 #define OSXMLINDENT 3
00267
00268 #ifdef XML_UNICODE
00269 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00270 #else
00271 #define rtXmlErrAddStrParm rtxErrAddStrParm
00272 #endif
00273
00277 typedef enum {
00278 OSXMLWSM_PRESERVE = 0,
00279 OSXMLWSM_REPLACE,
00280 OSXMLWSM_COLLAPSE
00281 } OSXMLWhiteSpaceMode;
00282
00283 #ifdef __cplusplus
00284 extern "C" {
00285 #endif
00286
00287
00288
00289 #ifndef rtXmlInitContext
00290
00296 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00297 #endif
00298
00313 EXTERNXML int rtXmlInitContextUsingKey
00314 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00315
00322 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00323
00334 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00335
00336 EXTERNXML OSBOOL rtXmlCmpQName
00337 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00338
00339 EXTERNXML int rtXmlGetBase64StrDecodedLen
00340 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00341 size_t* pNumOcts, size_t* pSrcDataLen);
00342
00350 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00351
00372 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00373 const OSUTF8CHAR* inpdata,
00374 int length);
00375
00399 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00400 OSOCTET* pvalue, OSUINT32* pnocts,
00401 OSINT32 bufsize);
00402
00428 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00429 OSOCTET* pvalue, OSUINT32* pnocts,
00430 size_t bufSize, size_t srcDataLen);
00431
00453 EXTERNXML int rtXmlDecBigInt
00454 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00455
00466 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00467
00480 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00481
00500 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00501
00514 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00515
00528 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00529
00542 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00543
00560 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00561
00577 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00578
00593 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
00594
00608 EXTERNXML int rtXmlDecUTF8Str
00609 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00610
00611
00625 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00626
00645 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00646 const OSUTF8CHAR* inpdata,
00647 int length);
00648
00671 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00672 OSOCTET* pvalue, OSUINT32* pnocts,
00673 OSINT32 bufsize);
00674
00675 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00676 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00677 OSUINT32* pnbits, OSINT32 bufsize);
00678
00691 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00692
00705 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00706
00719 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00720
00733 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00734
00747 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00748
00761 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00762
00776 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00777
00790 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00791
00804 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00805
00818 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00819
00833 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00834
00847 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00848
00861 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00862
00881 EXTERNXML int rtXmlDecNSAttr
00882 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00883 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00884
00909 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00910 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00911
00924 EXTERNXML int rtXmlDecXSIAttr
00925 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00926
00941 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00942 const char* typeName);
00943
00960 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00961
00974 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00975
00988 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00989
01015 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01016 const OSUTF8CHAR* elemName,
01017 OSXMLNamespace* pNS);
01018
01019 EXTERNXML int rtXmlEncAnyStr
01020 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01021 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01022
01034 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01035
01046 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01047
01062 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01063 const OSOCTET* value,
01064 const OSUTF8CHAR* elemName,
01065 OSXMLNamespace* pNS);
01066
01080 EXTERNXML int rtXmlEncBase64BinaryAttr
01081 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01082 const OSUTF8CHAR* attrName, size_t attrNameLen);
01083
01095 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01096 const OSOCTET* value);
01097
01121 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01122 const OSUTF8CHAR* elemName,
01123 OSXMLNamespace* pNS);
01124
01139 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01140 const OSUTF8CHAR* attrName, size_t attrNameLen);
01141
01155 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01156
01174 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01175 const OSOCTET* value,
01176 const OSUTF8CHAR* elemName,
01177 OSXMLNamespace* pNS);
01178
01190 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01191 OSUINT32 nbits,
01192 const OSOCTET* data);
01193
01208 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01209 const OSUTF8CHAR* elemName,
01210 OSXMLNamespace* pNS);
01211
01222 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01223
01235 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01236 const OSUTF8CHAR* attrName,
01237 size_t attrNameLen);
01238
01249 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01250
01268 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01269 const OSUTF8CHAR* elemName,
01270 OSXMLNamespace* pNS);
01271
01285 EXTERNXML int rtXmlEncDateValue
01286 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01287
01311 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01312 const OSUTF8CHAR* elemName,
01313 OSXMLNamespace* pNS);
01314
01327 EXTERNXML int rtXmlEncTimeValue
01328 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01329
01345 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01346 const OSUTF8CHAR* elemName,
01347 OSXMLNamespace* pNS);
01348
01360 EXTERNXML int rtXmlEncDateTimeValue
01361 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01362
01377 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01378 const OSUTF8CHAR* elemName,
01379 OSXMLNamespace* pNS,
01380 const OSDecimalFmt* pFmtSpec);
01381
01394 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01395 const OSUTF8CHAR* attrName,
01396 size_t attrNameLen,
01397 const OSDecimalFmt* pFmtSpec);
01398
01416 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01417 const OSDecimalFmt* pFmtSpec,
01418 char* pDestBuf, size_t destBufSize);
01419
01434 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01435 const OSUTF8CHAR* elemName,
01436 OSXMLNamespace* pNS,
01437 const OSDoubleFmt* pFmtSpec);
01438
01451 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01452 const OSUTF8CHAR* attrName,
01453 size_t attrNameLen,
01454 const OSDoubleFmt* pFmtSpec);
01455
01470 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
01471 const OSDoubleFmt* pFmtSpec,
01472 int defaultPrecision);
01473
01489 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01490 const OSDoubleFmt* pFmtSpec,
01491 int defaultPrecision);
01492
01505 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01506 const OSUTF8CHAR* elemName,
01507 OSXMLNamespace* pNS,
01508 OSRTDList* pNSAttrs,
01509 OSBOOL terminate);
01510
01520 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01521
01532 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01533 const OSUTF8CHAR* elemName,
01534 OSXMLNamespace* pNS);
01535
01545 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01546
01558 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01559
01574 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01575 const OSUTF8CHAR* elemName,
01576 OSXMLNamespace* pNS,
01577 const OSDoubleFmt* pFmtSpec);
01578
01591 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01592 const OSUTF8CHAR* attrName,
01593 size_t attrNameLen,
01594 const OSDoubleFmt* pFmtSpec);
01595
01610 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01611 const OSUTF8CHAR* elemName,
01612 OSXMLNamespace* pNS);
01613
01628 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01629 const OSUTF8CHAR* elemName,
01630 OSXMLNamespace* pNS);
01631
01646 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01647 const OSUTF8CHAR* elemName,
01648 OSXMLNamespace* pNS);
01649
01664 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01665 const OSUTF8CHAR* elemName,
01666 OSXMLNamespace* pNS);
01667
01682 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01683 const OSUTF8CHAR* elemName,
01684 OSXMLNamespace* pNS);
01685
01697 EXTERNXML int rtXmlEncGYearValue
01698 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01699
01711 EXTERNXML int rtXmlEncGYearMonthValue
01712 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01713
01725 EXTERNXML int rtXmlEncGMonthValue
01726 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01727
01739 EXTERNXML int rtXmlEncGMonthDayValue
01740 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01741
01753 EXTERNXML int rtXmlEncGDayValue
01754 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01755
01770 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01771 const OSOCTET* value,
01772 const OSUTF8CHAR* elemName,
01773 OSXMLNamespace* pNS);
01774
01787 EXTERNXML int rtXmlEncHexBinaryAttr
01788 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01789 const OSUTF8CHAR* attrName, size_t attrNameLen);
01790
01802 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01803 OSUINT32 nocts,
01804 const OSOCTET* data);
01805
01816 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01817
01831 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01832 const OSUTF8CHAR* elemName,
01833 OSXMLNamespace* pNS);
01834
01845 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01846
01859 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01860 const OSUTF8CHAR* attrName,
01861 size_t attrNameLen);
01862
01878 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01879 const OSUTF8CHAR* elemName,
01880 OSXMLNamespace* pNS,
01881 const OSUTF8CHAR* pattern);
01882
01883 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01884 const OSUTF8CHAR* pattern);
01885
01886 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01887 const OSUTF8CHAR* elemName,
01888 OSXMLNamespace* pNS,
01889 const OSUTF8CHAR* pattern);
01890
01891 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01892 const OSUTF8CHAR* pattern);
01893
01908 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01909 const OSUTF8CHAR* elemName,
01910 OSXMLNamespace* pNS);
01911
01912 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01913 const OSUTF8CHAR* elemName,
01914 OSXMLNamespace* pNS,
01915 const OSUTF8CHAR* pattern);
01916
01928 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01929 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01930 const OSUTF8CHAR* pattern);
01931
01945 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01946 const OSUTF8CHAR* attrName,
01947 size_t attrNameLen);
01948
01967 EXTERNXML int rtXmlEncNamedBits
01968 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01969 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01970
01971 EXTERNXML int rtXmlEncNamedBitsValue
01972 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01973 const OSOCTET* pvalue);
01974
01988 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01989
01999 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
02000
02001
02002 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
02003
02020 EXTERNXML int rtXmlEncReal10
02021 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02022 OSXMLNamespace* pNS);
02023
02037 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02038 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02039 size_t itemCount);
02040
02041 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02042 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02043 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02044
02056 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02057
02068 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02083 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02084 const OSUTF8CHAR* elemName,
02085 OSXMLNamespace* pNS,
02086 OSRTDList* pNSAttrs,
02087 OSBOOL terminate);
02088
02100 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02101
02113 EXTERNXML int rtXmlEncStartSoapElems
02114 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02115
02129 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02130 OSXMLSTRING* pxmlstr,
02131 const OSUTF8CHAR* elemName,
02132 OSXMLNamespace* pNS);
02133
02143 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02144
02155 EXTERNXML int rtXmlEncStringValue2
02156 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02157
02168 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02169
02185 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02186 const OSUNICHAR* value,
02187 OSUINT32 nchars,
02188 const OSUTF8CHAR* elemName,
02189 OSXMLNamespace* pNS);
02190
02202 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02203 const OSUTF8CHAR* name,
02204 const OSUTF8CHAR* value);
02205
02219 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02220 const OSUTF8CHAR* name, size_t nameLen,
02221 const OSUTF8CHAR* value, size_t valueLen);
02222
02236 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02237 const OSUTF8CHAR* value,
02238 const OSUTF8CHAR* elemName,
02239 OSXMLNamespace* pNS);
02240
02254 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02255 const OSUTF8CHAR* elemName,
02256 OSXMLNamespace* pNS);
02257
02269 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02270
02283 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02284 const OSUTF8CHAR* attrName,
02285 size_t attrNameLen);
02286
02302 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02303 const OSUTF8CHAR* elemName,
02304 OSXMLNamespace* pNS);
02305
02306 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02307 const OSUTF8CHAR* elemName,
02308 OSXMLNamespace* pNS,
02309 const OSUTF8CHAR* pattern);
02310
02323 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02324 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02325 const OSUTF8CHAR* pattern);
02326
02340 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02341 const OSUTF8CHAR* attrName,
02342 size_t attrNameLen);
02343
02363 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02364
02375 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02376
02385 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02386
02397 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02398
02399 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02400
02401 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02402 const char* text2, size_t len);
02403
02404 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02405 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02406 (pMemBuf)->pctxt->buffer.size = \
02407 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02408 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02409 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02410 rtxMemBufReset (pMemBuf); \
02411 } while(0)
02412
02435 EXTERNXML int rtXmlSetEncBufPtr
02436 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02437
02446 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02447
02453 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02454
02455
02463 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02464
02465
02474 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02475
02484 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02497 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02498
02507 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02508
02519 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02520
02531 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02532
02533 EXTERNXML int rtXmlSetDigitsFacets
02534 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02535
02546 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02547
02557 EXTERNXML int rtXmlSetEncodingStr
02558 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02559
02575 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02576
02585 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02586
02595 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02596
02607 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02608
02618 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02619
02631 EXTERNXML int rtXmlSetSchemaLocation
02632 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02633
02645 EXTERNXML int rtXmlSetNoNSSchemaLocation
02646 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02647
02656 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02657
02668 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02669
02678 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02679
02680 #include "rtxmlsrc/rtXmlNamespace.h"
02681
02695 EXTERNXML int rtXmlMatchHexStr
02696 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02697
02711 EXTERNXML int rtXmlMatchBase64Str
02712 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02713
02725 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02726
02738 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02739
02751 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02752
02764 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02765
02777 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02778
02790 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02791
02803 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02804
02816 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02817
02830 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02831 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02832
02842 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02843 const OSOCTET* data1,
02844 const OSUTF8CHAR* data2);
02845
02855 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02856 const OSOCTET* data1,
02857 const OSUTF8CHAR* data2);
02858
02859 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02860
02861 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02862 size_t nAttr,
02863 const OSUTF8CHAR* attrNames[],
02864 OSUINT32 attrPresent[]);
02865
02878 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02879 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02880
02896 EXTERNXML OSINT16 rtSaxGetElemID
02897 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02898 #ifdef OSXMLNS12
02899 OSINT32 nsidx,
02900 #endif
02901 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02902 OSINT16 fstabRows, OSINT16 fstabCols);
02903
02919 EXTERNXML OSINT16 rtSaxGetElemID8
02920 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02921 #ifdef OSXMLNS12
02922 OSINT32 nsidx,
02923 #endif
02924 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02925 OSINT16 fstabRows, OSINT16 fstabCols);
02926
02927 EXTERNXML OSINT16 rtSaxFindElemID
02928 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02929 #ifdef OSXMLNS12
02930 OSINT32 nsidx,
02931 #endif
02932 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02933 OSINT16 fstabRows, OSINT16 fstabCols);
02934
02935 EXTERNXML OSINT16 rtSaxFindElemID8
02936 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02937 #ifdef OSXMLNS12
02938 OSINT32 nsidx,
02939 #endif
02940 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02941 OSINT16 fstabRows, OSINT16 fstabCols);
02942
02951 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02952
02960 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02961
02962 EXTERNXML OSINT16 rtSaxLookupElemID
02963 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02964 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02965 #ifdef OSXMLNS12
02966 OSINT32 nsidx,
02967 #endif
02968 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02969 OSINT16 fstabRows, OSINT16 fstabCols);
02970
02971 EXTERNXML OSINT16 rtSaxLookupElemID8
02972 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02973 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02974 #ifdef OSXMLNS12
02975 OSINT32 nsidx,
02976 #endif
02977 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02978 OSINT16 fstabRows, OSINT16 fstabCols);
02979
02991 EXTERNXML int rtSaxStrListParse
02992 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
02993
03012 EXTERNXML int rtSaxSortAttrs
03013 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
03014
03022 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03023
03024 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03025 OSINT16 currElemIdx,
03026 const int* fstab,
03027 int fstabRows, int fstabCols);
03028
03029 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03030 OSINT16 currElemIdx,
03031 const OSINT8* fstab,
03032 int fstabRows, int fstabCols);
03033
03034 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03035
03036 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03037
03038 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03039
03040 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03041 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03042 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03043 const char* parentTypeName);
03044
03045 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03046
03047 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03048 const OSUTF8CHAR* const* attrs,
03049 const char* typeName);
03050
03063 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03064
03065 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03066
03067 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03068
03069 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03070
03075 EXTERNXML void rtErrXmlInit (void);
03076 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03077 EXTERNXML int rtXmlWriteChars
03078 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03079
03099 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03100
03117 EXTERNXML int rtXmlpDecAnyAttrStr
03118 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03119
03139 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03140
03166 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03167 OSUINT32* pnocts, OSINT32 bufsize);
03168
03192 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03193
03210 EXTERNXML int rtXmlpDecBitString
03211 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03212
03225 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03226
03239 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03240
03253 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03254
03273 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03274 int totalDigits, int fractionDigits);
03275
03288 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03289
03290 #define OSXMLREALENC_OBJSYS 0x1F //Obj-Sys XML encoding rules
03291 #define OSXMLREALENC_BXER 0x10 //basic-XER
03292 #define OSXMLREALENC_EXERMODS 0x1B //extended-XER with MODIFIED-ENCODINGS
03293 #define OSXMLREALENC_EXERDECIMAL 0x03 //extended-XER with DECIMAL
03294
03315 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
03316 OSREAL* pvalue);
03317
03318
03337 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03338
03352 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03353
03371 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03372
03390 EXTERNXML int rtXmlpDecDynUnicodeStr
03391 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03392
03406 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03407
03408
03422 EXTERNXML int rtXmlpDecUTF8Str
03423 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03424
03437 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03438
03451 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03452
03465 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03466
03479 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03480
03493 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03494
03519 EXTERNXML int rtXmlpDecHexStr
03520 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03521
03534 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03535
03549 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03550
03563 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03564
03577 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03578
03595 EXTERNXML int rtXmlpDecNamedBits
03596 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03597 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03598
03615 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03616
03635 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03636
03649 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03650
03664 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03665
03678 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03679
03692 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03693
03710 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03711
03728 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03729
03748 EXTERNXML int rtXmlpDecXSIAttr
03749 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03750
03772 EXTERNXML int rtXmlpDecXSITypeAttr
03773 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03774 const OSUTF8CHAR** ppAttrValue);
03775
03799 EXTERNXML int rtXmlpGetAttributeID
03800 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03801 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03802
03815 EXTERNXML int rtXmlpGetNextElem
03816 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03817
03833 EXTERNXML int rtXmlpGetNextElemID
03834 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03835 OSBOOL continueParse);
03836
03846 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03847
03863 EXTERNXML int rtXmlpMatchStartTag
03864 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03865
03876 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03877
03888 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03889
03898 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03899
03918 EXTERNXML int rtXmlpSelectAttribute
03919 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03920
03927 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03928
03939 EXTERNXML void rtXmlpSetWhiteSpaceMode
03940 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03941
03949 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03950 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03951
03957 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03958
03967 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03968
03978 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
03979
03995 EXTERNXML int rtXmlpGetNextSeqElemID
03996 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
03997 int curID, int lastMandatoryID, OSBOOL groupMode);
03998
04014 EXTERNXML int rtXmlpGetNextAllElemID
04015 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04016 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04017
04034 EXTERNXML int rtXmlpGetNextAllElemID16
04035 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04036 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04037
04038
04054 EXTERNXML int rtXmlpGetNextAllElemID32
04055 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04056 const OSUINT32* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04057
04058
04066 EXTERNXML void rtXmlpSetNamespaceTable
04067 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
04068
04077 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04078
04085 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04086
04095 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04096
04102 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04103
04109 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04110
04116 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04117
04134 EXTERNXML int rtXmlpGetXSITypeAttr
04135 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04136 size_t* pLocalOffs);
04137
04148 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04149
04159 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04160
04169 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04170
04179 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04180
04190 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04191
04200 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04201
04213 EXTERNXML int rtXmlpGetXSITypeIndex
04214 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04215
04229 EXTERNXML int rtXmlpLookupXSITypeIndex
04230 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04231 const OSXMLItemDescr typetab[], size_t typetabsiz);
04232
04240 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04241
04250 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04251
04261 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04262
04277 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04278
04283 #ifdef __cplusplus
04284 }
04285 #endif
04286
04287 #endif