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 OSXMLCOMMENT
00243 } OSXMLState;
00244
00245 typedef struct OSXMLQName {
00246 const OSUTF8CHAR* nsPrefix;
00247 const OSUTF8CHAR* ncName;
00248 } OSXMLQName;
00249
00250 struct OSSAXHandlerBase;
00251
00252 typedef struct OSIntegerFmt {
00253 OSINT8 integerMaxDigits;
00254
00255 OSBOOL signPresent;
00256
00257 } OSIntegerFmt;
00258
00259
00260 typedef struct {
00261 size_t offset;
00262 size_t length;
00263 size_t prefixLength;
00264 size_t nameLength;
00265 } OSXMLSortedAttrOffset;
00266
00267 #define OSXMLINDENT 3
00268
00269 #ifdef XML_UNICODE
00270 #define rtXmlErrAddStrParm rtxErrAddUniStrParm
00271 #else
00272 #define rtXmlErrAddStrParm rtxErrAddStrParm
00273 #endif
00274
00278 typedef enum {
00279 OSXMLWSM_PRESERVE = 0,
00280 OSXMLWSM_REPLACE,
00281 OSXMLWSM_COLLAPSE
00282 } OSXMLWhiteSpaceMode;
00283
00284 #ifdef __cplusplus
00285 extern "C" {
00286 #endif
00287
00288
00289
00290 #ifndef rtXmlInitContext
00291
00297 EXTERNXML int rtXmlInitContext (OSCTXT* pctxt);
00298 #endif
00299
00314 EXTERNXML int rtXmlInitContextUsingKey
00315 (OSCTXT* pctxt, const OSOCTET* key, size_t keylen);
00316
00323 EXTERNXML int rtXmlInitCtxtAppInfo (OSCTXT* pctxt);
00324
00335 EXTERNXML int rtXmlCreateFileInputSource (OSCTXT* pctxt, const char* filepath);
00336
00337 EXTERNXML OSBOOL rtXmlCmpQName
00338 (const OSUTF8CHAR* qname1, const OSUTF8CHAR* name2, const OSUTF8CHAR* nsPrefix2);
00339
00340 EXTERNXML int rtXmlGetBase64StrDecodedLen
00341 (const OSUTF8CHAR* inpdata, size_t srcDataSize,
00342 size_t* pNumOcts, size_t* pSrcDataLen);
00343
00351 EXTERNXML void rtXmlMemFreeAnyAttrs (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
00352
00373 EXTERNXML int rtXmlDecBase64Binary (OSRTMEMBUF* pMemBuf,
00374 const OSUTF8CHAR* inpdata,
00375 int length);
00376
00400 EXTERNXML int rtXmlDecBase64Str (OSCTXT* pctxt,
00401 OSOCTET* pvalue, OSUINT32* pnocts,
00402 OSINT32 bufsize);
00403
00429 EXTERNXML int rtXmlDecBase64StrValue (OSCTXT* pctxt,
00430 OSOCTET* pvalue, OSUINT32* pnocts,
00431 size_t bufSize, size_t srcDataLen);
00432
00454 EXTERNXML int rtXmlDecBigInt
00455 (OSCTXT* pctxt, const OSUTF8CHAR** ppvalue);
00456
00467 EXTERNXML int rtXmlDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
00468
00481 EXTERNXML int rtXmlDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00482
00501 EXTERNXML int rtXmlDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00502
00515 EXTERNXML int rtXmlDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00516
00529 EXTERNXML int rtXmlDecDecimal (OSCTXT* pctxt, OSREAL* pvalue);
00530
00543 EXTERNXML int rtXmlDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
00544
00561 EXTERNXML int rtXmlDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
00562
00578 EXTERNXML int rtXmlDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
00579
00594 EXTERNXML int rtXmlDecEmptyElement (OSCTXT* pctxt);
00595
00609 EXTERNXML int rtXmlDecUTF8Str
00610 (OSCTXT* pctxt, OSUTF8CHAR* outdata, size_t max_len);
00611
00612
00626 EXTERNXML int rtXmlDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
00627
00646 EXTERNXML int rtXmlDecHexBinary (OSRTMEMBUF* pMemBuf,
00647 const OSUTF8CHAR* inpdata,
00648 int length);
00649
00672 EXTERNXML int rtXmlDecHexStr (OSCTXT* pctxt,
00673 OSOCTET* pvalue, OSUINT32* pnocts,
00674 OSINT32 bufsize);
00675
00676 EXTERNXML int rtXmlDecHexStrValue (OSCTXT* pctxt,
00677 const OSUTF8CHAR* const inpdata, size_t nbytes, OSOCTET* pvalue,
00678 OSUINT32* pnbits, OSINT32 bufsize);
00679
00692 EXTERNXML int rtXmlDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00693
00706 EXTERNXML int rtXmlDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00707
00720 EXTERNXML int rtXmlDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00721
00734 EXTERNXML int rtXmlDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00735
00748 EXTERNXML int rtXmlDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
00749
00762 EXTERNXML int rtXmlDecInt (OSCTXT* pctxt, OSINT32* pvalue);
00763
00777 EXTERNXML int rtXmlDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
00778
00791 EXTERNXML int rtXmlDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
00792
00805 EXTERNXML int rtXmlDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
00806
00819 EXTERNXML int rtXmlDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
00820
00834 EXTERNXML int rtXmlDecUInt8 (OSCTXT* pctxt, OSUINT8* pvalue);
00835
00848 EXTERNXML int rtXmlDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
00849
00862 EXTERNXML int rtXmlDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
00863
00882 EXTERNXML int rtXmlDecNSAttr
00883 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue,
00884 OSRTDList* pNSAttrs, const OSUTF8CHAR* nsTable[], OSUINT32 nsTableRowCount);
00885
00910 EXTERNXML const OSUTF8CHAR* rtXmlDecQName
00911 (OSCTXT* pctxt, const OSUTF8CHAR* qname, const OSUTF8CHAR** prefix);
00912
00925 EXTERNXML int rtXmlDecXSIAttr
00926 (OSCTXT* pctxt, const OSUTF8CHAR* attrName, const OSUTF8CHAR* attrValue);
00927
00942 EXTERNXML int rtXmlDecXSIAttrs (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs,
00943 const char* typeName);
00944
00961 EXTERNXML int rtXmlDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
00962
00975 EXTERNXML int rtXmlParseElementName (OSCTXT* pctxt, OSUTF8CHAR** ppName);
00976
00989 EXTERNXML int rtXmlParseElemQName (OSCTXT* pctxt, OSXMLQName* pQName);
00990
01016 EXTERNXML int rtXmlEncAny (OSCTXT* pctxt, OSXMLSTRING* pvalue,
01017 const OSUTF8CHAR* elemName,
01018 OSXMLNamespace* pNS);
01019
01020 EXTERNXML int rtXmlEncAnyStr
01021 (OSCTXT* pctxt, const OSUTF8CHAR* pvalue,
01022 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01023
01035 EXTERNXML int rtXmlEncAnyTypeValue (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
01036
01047 EXTERNXML int rtXmlEncAnyAttr (OSCTXT* pctxt, OSRTDList* pAnyAttrList);
01048
01063 EXTERNXML int rtXmlEncBase64Binary (OSCTXT* pctxt, OSUINT32 nocts,
01064 const OSOCTET* value,
01065 const OSUTF8CHAR* elemName,
01066 OSXMLNamespace* pNS);
01067
01081 EXTERNXML int rtXmlEncBase64BinaryAttr
01082 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01083 const OSUTF8CHAR* attrName, size_t attrNameLen);
01084
01096 EXTERNXML int rtXmlEncBase64StrValue (OSCTXT* pctxt, OSUINT32 nocts,
01097 const OSOCTET* value);
01098
01122 EXTERNXML int rtXmlEncBigInt (OSCTXT* pctxt, const OSUTF8CHAR* value,
01123 const OSUTF8CHAR* elemName,
01124 OSXMLNamespace* pNS);
01125
01140 EXTERNXML int rtXmlEncBigIntAttr (OSCTXT* pctxt, const OSUTF8CHAR* value,
01141 const OSUTF8CHAR* attrName, size_t attrNameLen);
01142
01156 EXTERNXML int rtXmlEncBigIntValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
01157
01175 EXTERNXML int rtXmlEncBitString (OSCTXT* pctxt, OSUINT32 nbits,
01176 const OSOCTET* value,
01177 const OSUTF8CHAR* elemName,
01178 OSXMLNamespace* pNS);
01179
01191 EXTERNXML int rtXmlEncBinStrValue (OSCTXT* pctxt,
01192 OSUINT32 nbits,
01193 const OSOCTET* data);
01194
01209 EXTERNXML int rtXmlEncBool (OSCTXT* pctxt, OSBOOL value,
01210 const OSUTF8CHAR* elemName,
01211 OSXMLNamespace* pNS);
01212
01223 EXTERNXML int rtXmlEncBoolValue (OSCTXT* pctxt, OSBOOL value);
01224
01236 EXTERNXML int rtXmlEncBoolAttr (OSCTXT* pctxt, OSBOOL value,
01237 const OSUTF8CHAR* attrName,
01238 size_t attrNameLen);
01239
01250 EXTERNXML int rtXmlEncComment (OSCTXT* pctxt, const OSUTF8CHAR* comment);
01251
01269 EXTERNXML int rtXmlEncDate (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01270 const OSUTF8CHAR* elemName,
01271 OSXMLNamespace* pNS);
01272
01286 EXTERNXML int rtXmlEncDateValue
01287 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01288
01312 EXTERNXML int rtXmlEncTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01313 const OSUTF8CHAR* elemName,
01314 OSXMLNamespace* pNS);
01315
01328 EXTERNXML int rtXmlEncTimeValue
01329 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01330
01346 EXTERNXML int rtXmlEncDateTime (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01347 const OSUTF8CHAR* elemName,
01348 OSXMLNamespace* pNS);
01349
01361 EXTERNXML int rtXmlEncDateTimeValue
01362 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01363
01378 EXTERNXML int rtXmlEncDecimal (OSCTXT* pctxt, OSREAL value,
01379 const OSUTF8CHAR* elemName,
01380 OSXMLNamespace* pNS,
01381 const OSDecimalFmt* pFmtSpec);
01382
01395 EXTERNXML int rtXmlEncDecimalAttr (OSCTXT* pctxt, OSREAL value,
01396 const OSUTF8CHAR* attrName,
01397 size_t attrNameLen,
01398 const OSDecimalFmt* pFmtSpec);
01399
01417 EXTERNXML int rtXmlEncDecimalValue (OSCTXT* pctxt, OSREAL value,
01418 const OSDecimalFmt* pFmtSpec,
01419 char* pDestBuf, size_t destBufSize);
01420
01435 EXTERNXML int rtXmlEncDouble (OSCTXT* pctxt, OSREAL value,
01436 const OSUTF8CHAR* elemName,
01437 OSXMLNamespace* pNS,
01438 const OSDoubleFmt* pFmtSpec);
01439
01452 EXTERNXML int rtXmlEncDoubleAttr (OSCTXT* pctxt, OSREAL value,
01453 const OSUTF8CHAR* attrName,
01454 size_t attrNameLen,
01455 const OSDoubleFmt* pFmtSpec);
01456
01471 EXTERNXML int rtXmlEncDoubleNormalValue (OSCTXT* pctxt, OSREAL value,
01472 const OSDoubleFmt* pFmtSpec,
01473 int defaultPrecision);
01474
01490 EXTERNXML int rtXmlEncDoubleValue (OSCTXT* pctxt, OSREAL value,
01491 const OSDoubleFmt* pFmtSpec,
01492 int defaultPrecision);
01493
01506 EXTERNXML int rtXmlEncEmptyElement (OSCTXT* pctxt,
01507 const OSUTF8CHAR* elemName,
01508 OSXMLNamespace* pNS,
01509 OSRTDList* pNSAttrs,
01510 OSBOOL terminate);
01511
01521 EXTERNXML int rtXmlEncEndDocument (OSCTXT* pctxt);
01522
01533 EXTERNXML int rtXmlEncEndElement (OSCTXT* pctxt,
01534 const OSUTF8CHAR* elemName,
01535 OSXMLNamespace* pNS);
01536
01546 EXTERNXML int rtXmlEncEndSoapEnv (OSCTXT* pctxt);
01547
01559 EXTERNXML int rtXmlEncEndSoapElems (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
01560
01575 EXTERNXML int rtXmlEncFloat (OSCTXT* pctxt, OSREAL value,
01576 const OSUTF8CHAR* elemName,
01577 OSXMLNamespace* pNS,
01578 const OSDoubleFmt* pFmtSpec);
01579
01592 EXTERNXML int rtXmlEncFloatAttr (OSCTXT* pctxt, OSREAL value,
01593 const OSUTF8CHAR* attrName,
01594 size_t attrNameLen,
01595 const OSDoubleFmt* pFmtSpec);
01596
01611 EXTERNXML int rtXmlEncGYear (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01612 const OSUTF8CHAR* elemName,
01613 OSXMLNamespace* pNS);
01614
01629 EXTERNXML int rtXmlEncGYearMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01630 const OSUTF8CHAR* elemName,
01631 OSXMLNamespace* pNS);
01632
01647 EXTERNXML int rtXmlEncGMonth (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01648 const OSUTF8CHAR* elemName,
01649 OSXMLNamespace* pNS);
01650
01665 EXTERNXML int rtXmlEncGMonthDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01666 const OSUTF8CHAR* elemName,
01667 OSXMLNamespace* pNS);
01668
01683 EXTERNXML int rtXmlEncGDay (OSCTXT* pctxt, const OSXSDDateTime* pvalue,
01684 const OSUTF8CHAR* elemName,
01685 OSXMLNamespace* pNS);
01686
01698 EXTERNXML int rtXmlEncGYearValue
01699 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01700
01712 EXTERNXML int rtXmlEncGYearMonthValue
01713 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01714
01726 EXTERNXML int rtXmlEncGMonthValue
01727 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01728
01740 EXTERNXML int rtXmlEncGMonthDayValue
01741 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01742
01754 EXTERNXML int rtXmlEncGDayValue
01755 (OSCTXT* pctxt, const OSXSDDateTime* pvalue);
01756
01771 EXTERNXML int rtXmlEncHexBinary (OSCTXT* pctxt, OSUINT32 nocts,
01772 const OSOCTET* value,
01773 const OSUTF8CHAR* elemName,
01774 OSXMLNamespace* pNS);
01775
01788 EXTERNXML int rtXmlEncHexBinaryAttr
01789 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value,
01790 const OSUTF8CHAR* attrName, size_t attrNameLen);
01791
01803 EXTERNXML int rtXmlEncHexStrValue (OSCTXT* pctxt,
01804 OSUINT32 nocts,
01805 const OSOCTET* data);
01806
01817 EXTERNXML int rtXmlEncIndent (OSCTXT* pctxt);
01818
01832 EXTERNXML int rtXmlEncInt (OSCTXT* pctxt, OSINT32 value,
01833 const OSUTF8CHAR* elemName,
01834 OSXMLNamespace* pNS);
01835
01846 EXTERNXML int rtXmlEncIntValue (OSCTXT* pctxt, OSINT32 value);
01847
01860 EXTERNXML int rtXmlEncIntAttr (OSCTXT* pctxt, OSINT32 value,
01861 const OSUTF8CHAR* attrName,
01862 size_t attrNameLen);
01863
01879 EXTERNXML int rtXmlEncIntPattern (OSCTXT* pctxt, OSINT32 value,
01880 const OSUTF8CHAR* elemName,
01881 OSXMLNamespace* pNS,
01882 const OSUTF8CHAR* pattern);
01883
01884 EXTERNXML int rtXmlEncIntPatternValue (OSCTXT* pctxt, OSINT32 value,
01885 const OSUTF8CHAR* pattern);
01886
01887 EXTERNXML int rtXmlEncUIntPattern (OSCTXT* pctxt, OSUINT32 value,
01888 const OSUTF8CHAR* elemName,
01889 OSXMLNamespace* pNS,
01890 const OSUTF8CHAR* pattern);
01891
01892 EXTERNXML int rtXmlEncUIntPatternValue (OSCTXT* pctxt, OSUINT32 value,
01893 const OSUTF8CHAR* pattern);
01894
01909 EXTERNXML int rtXmlEncInt64 (OSCTXT* pctxt, OSINT64 value,
01910 const OSUTF8CHAR* elemName,
01911 OSXMLNamespace* pNS);
01912
01913 EXTERNXML int rtXmlEncInt64Pattern (OSCTXT* pctxt, OSINT64 value,
01914 const OSUTF8CHAR* elemName,
01915 OSXMLNamespace* pNS,
01916 const OSUTF8CHAR* pattern);
01917
01929 EXTERNXML int rtXmlEncInt64Value (OSCTXT* pctxt, OSINT64 value);
01930 EXTERNXML int rtXmlEncInt64PatternValue (OSCTXT* pctxt, OSINT64 value,
01931 const OSUTF8CHAR* pattern);
01932
01946 EXTERNXML int rtXmlEncInt64Attr (OSCTXT* pctxt, OSINT64 value,
01947 const OSUTF8CHAR* attrName,
01948 size_t attrNameLen);
01949
01968 EXTERNXML int rtXmlEncNamedBits
01969 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01970 const OSOCTET* pvalue, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
01971
01972 EXTERNXML int rtXmlEncNamedBitsValue
01973 (OSCTXT* pctxt, const OSBitMapItem* pBitMap, OSUINT32 nbits,
01974 const OSOCTET* pvalue);
01975
01989 EXTERNXML int rtXmlEncNSAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
01990
02000 EXTERNXML int rtXmlPrintNSAttrs (const char* name, const OSRTDList* data);
02001
02002
02003 #define rtxPrintNSAttrs(name,data) rtXmlPrintNSAttrs(name,&data)
02004
02021 EXTERNXML int rtXmlEncReal10
02022 (OSCTXT *pctxt, const OSUTF8CHAR *pvalue, const OSUTF8CHAR* elemName,
02023 OSXMLNamespace* pNS);
02024
02038 EXTERNXML int rtXmlEncSoapArrayTypeAttr
02039 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* value,
02040 size_t itemCount);
02041
02042 EXTERNXML int rtXmlEncSoapArrayTypeAttr2
02043 (OSCTXT* pctxt, const OSUTF8CHAR* name, size_t nameLen,
02044 const OSUTF8CHAR* value, size_t valueLen, size_t itemCount);
02045
02057 EXTERNXML int rtXmlEncStartDocument (OSCTXT* pctxt);
02058
02069 EXTERNXML int rtXmlEncBOM (OSCTXT* pctxt);
02085 EXTERNXML int rtXmlEncStartElement (OSCTXT* pctxt,
02086 const OSUTF8CHAR* elemName,
02087 OSXMLNamespace* pNS,
02088 OSRTDList* pNSAttrs,
02089 OSBOOL terminate);
02090
02102 EXTERNXML int rtXmlEncStartSoapEnv (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02103
02115 EXTERNXML int rtXmlEncStartSoapElems
02116 (OSCTXT* pctxt, OSXMLSOAPMsgType msgtype);
02117
02130 EXTERNXML int rtXmlEncString (OSCTXT* pctxt,
02131 OSXMLSTRING* pxmlstr,
02132 const OSUTF8CHAR* elemName,
02133 OSXMLNamespace* pNS);
02134
02144 EXTERNXML int rtXmlEncStringValue (OSCTXT* pctxt, const OSUTF8CHAR* value);
02145
02156 EXTERNXML int rtXmlEncStringValue2
02157 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t valueLen);
02158
02169 EXTERNXML int rtXmlEncTermStartElement (OSCTXT* pctxt);
02170
02186 EXTERNXML int rtXmlEncUnicodeStr (OSCTXT* pctxt,
02187 const OSUNICHAR* value,
02188 OSUINT32 nchars,
02189 const OSUTF8CHAR* elemName,
02190 OSXMLNamespace* pNS);
02191
02203 EXTERNXML int rtXmlEncUTF8Attr (OSCTXT* pctxt,
02204 const OSUTF8CHAR* name,
02205 const OSUTF8CHAR* value);
02206
02220 EXTERNXML int rtXmlEncUTF8Attr2 (OSCTXT* pctxt,
02221 const OSUTF8CHAR* name, size_t nameLen,
02222 const OSUTF8CHAR* value, size_t valueLen);
02223
02237 EXTERNXML int rtXmlEncUTF8Str (OSCTXT* pctxt,
02238 const OSUTF8CHAR* value,
02239 const OSUTF8CHAR* elemName,
02240 OSXMLNamespace* pNS);
02241
02255 EXTERNXML int rtXmlEncUInt (OSCTXT* pctxt, OSUINT32 value,
02256 const OSUTF8CHAR* elemName,
02257 OSXMLNamespace* pNS);
02258
02270 EXTERNXML int rtXmlEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
02271
02284 EXTERNXML int rtXmlEncUIntAttr (OSCTXT* pctxt, OSUINT32 value,
02285 const OSUTF8CHAR* attrName,
02286 size_t attrNameLen);
02287
02303 EXTERNXML int rtXmlEncUInt64 (OSCTXT* pctxt, OSUINT64 value,
02304 const OSUTF8CHAR* elemName,
02305 OSXMLNamespace* pNS);
02306
02307 EXTERNXML int rtXmlEncUInt64Pattern (OSCTXT* pctxt, OSUINT64 value,
02308 const OSUTF8CHAR* elemName,
02309 OSXMLNamespace* pNS,
02310 const OSUTF8CHAR* pattern);
02311
02324 EXTERNXML int rtXmlEncUInt64Value (OSCTXT* pctxt, OSUINT64 value);
02325 EXTERNXML int rtXmlEncUInt64PatternValue (OSCTXT* pctxt, OSUINT64 value,
02326 const OSUTF8CHAR* pattern);
02327
02341 EXTERNXML int rtXmlEncUInt64Attr (OSCTXT* pctxt, OSUINT64 value,
02342 const OSUTF8CHAR* attrName,
02343 size_t attrNameLen);
02344
02364 EXTERNXML int rtXmlEncXSIAttrs (OSCTXT* pctxt, OSBOOL needXSI);
02365
02376 EXTERNXML int rtXmlEncXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* value);
02377
02390 EXTERNXML int rtXmlEncXSITypeAttr2 (OSCTXT* pctxt,
02391 const OSUTF8CHAR* typeNsUri,
02392 const OSUTF8CHAR* typeName);
02393
02402 EXTERNXML int rtXmlEncXSINilAttr (OSCTXT* pctxt);
02403
02414 EXTERNXML int rtXmlFreeInputSource (OSCTXT* pctxt);
02415
02416 EXTERNXML OSBOOL rtXmlStrCmpAsc (const OSUTF8CHAR* text1, const char* text2);
02417
02418 EXTERNXML OSBOOL rtXmlStrnCmpAsc (const OSUTF8CHAR* text1,
02419 const char* text2, size_t len);
02420
02421 #define rtXmlFinalizeMemBuf(pMemBuf) do { \
02422 (pMemBuf)->pctxt->buffer.data = (pMemBuf)->buffer + (pMemBuf)->startidx; \
02423 (pMemBuf)->pctxt->buffer.size = \
02424 ((pMemBuf)->usedcnt - (pMemBuf)->startidx); \
02425 (pMemBuf)->pctxt->buffer.dynamic = FALSE; \
02426 (pMemBuf)->pctxt->buffer.byteIndex = 0; \
02427 rtxMemBufReset (pMemBuf); \
02428 } while(0)
02429
02452 EXTERNXML int rtXmlSetEncBufPtr
02453 (OSCTXT* pctxt, OSOCTET* bufaddr, size_t bufsiz);
02454
02463 #define rtXmlGetEncBufPtr(pctxt) (pctxt)->buffer.data
02464
02470 #define rtXmlGetEncBufLen(pctxt) (pctxt)->buffer.byteIndex
02471
02472
02480 EXTERNXML int rtXmlGetIndent (OSCTXT* pctxt);
02481
02482
02491 EXTERNXML OSBOOL rtXmlGetWriteBOM (OSCTXT* pctxt);
02492
02501 EXTERNXML int rtXmlGetIndentChar (OSCTXT* pctxt);
02514 EXTERNXML int rtXmlPrepareContext (OSCTXT* pctxt);
02515
02524 EXTERNXML int rtXmlSetEncC14N (OSCTXT* pctxt, OSBOOL value);
02525
02536 EXTERNXML int rtXmlSetEncXSINamespace (OSCTXT* pctxt, OSBOOL value);
02537
02548 EXTERNXML int rtXmlSetEncXSINilAttr (OSCTXT* pctxt, OSBOOL value);
02549
02550 EXTERNXML int rtXmlSetDigitsFacets
02551 (OSCTXT* pctxt, int totalDigits, int fractionDigits);
02552
02563 EXTERNXML int rtXmlSetEncDocHdr (OSCTXT* pctxt, OSBOOL value);
02564
02574 EXTERNXML int rtXmlSetEncodingStr
02575 (OSCTXT* pctxt, const OSUTF8CHAR* encodingStr);
02576
02592 EXTERNXML int rtXmlSetFormatting (OSCTXT* pctxt, OSBOOL doFormatting);
02593
02602 EXTERNXML int rtXmlSetIndent (OSCTXT* pctxt, OSUINT8 indent);
02603
02612 EXTERNXML int rtXmlSetIndentChar (OSCTXT* pctxt, char indentChar);
02613
02624 EXTERNXML void rtXmlSetNamespacesSet (OSCTXT* pctxt, OSBOOL value);
02625
02635 EXTERNXML int rtXmlSetNSPrefixLinks (OSCTXT* pctxt, OSRTDList* pNSAttrs);
02636
02648 EXTERNXML int rtXmlSetSchemaLocation
02649 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02650
02662 EXTERNXML int rtXmlSetNoNSSchemaLocation
02663 (OSCTXT* pctxt, const OSUTF8CHAR* schemaLocation);
02664
02673 EXTERNXML void rtXmlSetSoapVersion (OSCTXT* pctxt, OSUINT8 version);
02674
02685 EXTERNXML int rtXmlSetXSITypeAttr (OSCTXT* pctxt, const OSUTF8CHAR* xsiType);
02686
02695 EXTERNXML int rtXmlSetWriteBOM (OSCTXT* pctxt, OSBOOL write);
02696
02697 #include "rtxmlsrc/rtXmlNamespace.h"
02698
02712 EXTERNXML int rtXmlMatchHexStr
02713 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02714
02728 EXTERNXML int rtXmlMatchBase64Str
02729 (OSCTXT* pctxt, size_t minLength, size_t maxLength);
02730
02742 EXTERNXML int rtXmlMatchDate (OSCTXT* pctxt);
02743
02755 EXTERNXML int rtXmlMatchTime (OSCTXT* pctxt);
02756
02768 EXTERNXML int rtXmlMatchDateTime (OSCTXT* pctxt);
02769
02781 EXTERNXML int rtXmlMatchGYear (OSCTXT* pctxt);
02782
02794 EXTERNXML int rtXmlMatchGYearMonth (OSCTXT* pctxt);
02795
02807 EXTERNXML int rtXmlMatchGMonth (OSCTXT* pctxt);
02808
02820 EXTERNXML int rtXmlMatchGMonthDay (OSCTXT* pctxt);
02821
02833 EXTERNXML int rtXmlMatchGDay (OSCTXT* pctxt);
02834
02847 EXTERNXML OSUTF8CHAR* rtXmlNewQName
02848 (OSCTXT* pctxt, const OSUTF8CHAR* localName, const OSUTF8CHAR* prefix);
02849
02859 EXTERNXML OSBOOL rtXmlCmpBase64Str (OSUINT32 nocts1,
02860 const OSOCTET* data1,
02861 const OSUTF8CHAR* data2);
02862
02872 EXTERNXML OSBOOL rtXmlCmpHexStr (OSUINT32 nocts1,
02873 const OSOCTET* data1,
02874 const OSUTF8CHAR* data2);
02875
02876 EXTERNXML OSBOOL rtXmlCmpHexChar (OSUTF8CHAR ch, OSOCTET hexval);
02877
02878 EXTERNXML int rtSaxGetAttributeID (const OSUTF8CHAR* attrName,
02879 size_t nAttr,
02880 const OSUTF8CHAR* attrNames[],
02881 OSUINT32 attrPresent[]);
02882
02895 EXTERNXML const OSUTF8CHAR* rtSaxGetAttrValue
02896 (const OSUTF8CHAR* attrName, const OSUTF8CHAR* const* attrs);
02897
02913 EXTERNXML OSINT16 rtSaxGetElemID
02914 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02915 #ifdef OSXMLNS12
02916 OSINT32 nsidx,
02917 #endif
02918 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02919 OSINT16 fstabRows, OSINT16 fstabCols);
02920
02936 EXTERNXML OSINT16 rtSaxGetElemID8
02937 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02938 #ifdef OSXMLNS12
02939 OSINT32 nsidx,
02940 #endif
02941 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02942 OSINT16 fstabRows, OSINT16 fstabCols);
02943
02944 EXTERNXML OSINT16 rtSaxFindElemID
02945 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02946 #ifdef OSXMLNS12
02947 OSINT32 nsidx,
02948 #endif
02949 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02950 OSINT16 fstabRows, OSINT16 fstabCols);
02951
02952 EXTERNXML OSINT16 rtSaxFindElemID8
02953 (OSINT16* pState, OSINT16 prevElemIdx, const OSUTF8CHAR* localName,
02954 #ifdef OSXMLNS12
02955 OSINT32 nsidx,
02956 #endif
02957 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02958 OSINT16 fstabRows, OSINT16 fstabCols);
02959
02968 EXTERNXML OSBOOL rtSaxHasXMLNSAttrs (const OSUTF8CHAR* const* attrs);
02969
02977 EXTERNXML OSBOOL rtSaxIsEmptyBuffer (OSCTXT* pctxt);
02978
02979 EXTERNXML OSINT16 rtSaxLookupElemID
02980 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02981 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02982 #ifdef OSXMLNS12
02983 OSINT32 nsidx,
02984 #endif
02985 const OSSAXElemTableRec idtab[], const OSINT16* fstab,
02986 OSINT16 fstabRows, OSINT16 fstabCols);
02987
02988 EXTERNXML OSINT16 rtSaxLookupElemID8
02989 (OSCTXT* pctxt, OSINT16* pState, OSINT16 prevElemIdx,
02990 const OSUTF8CHAR* localName, const OSUTF8CHAR* qName,
02991 #ifdef OSXMLNS12
02992 OSINT32 nsidx,
02993 #endif
02994 const OSSAXElemTableRec idtab[], const OSINT8* fstab,
02995 OSINT16 fstabRows, OSINT16 fstabCols);
02996
03008 EXTERNXML int rtSaxStrListParse
03009 (OSCTXT* pctxt, OSRTMEMBUF *pMemBuf, OSRTDList* pvalue);
03010
03029 EXTERNXML int rtSaxSortAttrs
03030 (OSCTXT* pctxt, const OSUTF8CHAR* const* attrs, OSUINT16** order);
03031
03039 EXTERNXML int rtSaxStrListMatch (OSCTXT* pctxt);
03040
03041 EXTERNXML OSBOOL rtSaxTestFinal (OSINT16 state,
03042 OSINT16 currElemIdx,
03043 const int* fstab,
03044 int fstabRows, int fstabCols);
03045
03046 EXTERNXML OSBOOL rtSaxTestFinal8 (OSINT16 state,
03047 OSINT16 currElemIdx,
03048 const OSINT8* fstab,
03049 int fstabRows, int fstabCols);
03050
03051 EXTERNXML int rtSaxSetSkipLevelToCurrent (OSCTXT* pctxt, int stat);
03052
03053 EXTERNXML OSUINT32 rtSaxSetMaxErrors (OSCTXT* pctxt, OSUINT32 maxErrors);
03054
03055 EXTERNXML OSUINT32 rtSaxGetMaxErrors (OSCTXT* pctxt);
03056
03057 EXTERNXML int rtSaxTestAttributesPresent (OSCTXT* pctxt,
03058 const OSUINT32* attrPresent, const OSUINT32* reqAttrMask,
03059 const OSUTF8CHAR* const* attrNames, size_t numOfAttrs,
03060 const char* parentTypeName);
03061
03062 EXTERNXML OSBOOL rtSaxIncErrors (OSCTXT* pctxt);
03063
03064 EXTERNXML int rtSaxReportUnexpAttrs (OSCTXT* pctxt,
03065 const OSUTF8CHAR* const* attrs,
03066 const char* typeName);
03067
03080 EXTERNXML int rtXmlWriteToFile (OSCTXT* pctxt, const char* filename);
03081
03082 EXTERNXML int rtXmlWriteUTF16ToFile (OSCTXT* pctxt, const char* filename);
03083
03084 EXTERNXML void rtXmlTreatWhitespaces (OSCTXT* pctxt, int whiteSpaceType);
03085
03086 EXTERNXML int rtXmlCheckBuffer (OSCTXT* pctxt, size_t byte_count);
03087
03092 EXTERNXML void rtErrXmlInit (void);
03093 EXTERNXML int rtXmlPutChar (OSCTXT* pctxt, const OSUTF8CHAR value);
03094 EXTERNXML int rtXmlWriteChars
03095 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t len);
03096
03116 EXTERNXML int rtXmlpDecAny (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03117
03134 EXTERNXML int rtXmlpDecAnyAttrStr
03135 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrStr, size_t index);
03136
03156 EXTERNXML int rtXmlpDecAnyElem (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03157
03183 EXTERNXML int rtXmlpDecBase64Str (OSCTXT* pctxt, OSOCTET* pvalue,
03184 OSUINT32* pnocts, OSINT32 bufsize);
03185
03209 EXTERNXML int rtXmlpDecBigInt (OSCTXT* pctxt, const OSUTF8CHAR** pvalue);
03210
03227 EXTERNXML int rtXmlpDecBitString
03228 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03229
03242 EXTERNXML int rtXmlpDecBool (OSCTXT* pctxt, OSBOOL* pvalue);
03243
03256 EXTERNXML int rtXmlpDecDate (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03257
03270 EXTERNXML int rtXmlpDecDateTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03271
03290 EXTERNXML int rtXmlpDecDecimal (OSCTXT* pctxt, OSREAL* pvalue,
03291 int totalDigits, int fractionDigits);
03292
03305 EXTERNXML int rtXmlpDecDouble (OSCTXT* pctxt, OSREAL* pvalue);
03306
03307 #define OSXMLREALENC_OBJSYS 0x1F
03308 #define OSXMLREALENC_BXER 0x10
03309 #define OSXMLREALENC_EXERMODS 0x1B
03310 #define OSXMLREALENC_EXERDECIMAL 0x03
03311
03332 EXTERNXML int rtXmlpDecDoubleExt (OSCTXT* pctxt, OSUINT8 flags,
03333 OSREAL* pvalue);
03334
03335
03354 EXTERNXML int rtXmlpDecDynBase64Str (OSCTXT* pctxt, OSDynOctStr* pvalue);
03355
03369 EXTERNXML int rtXmlpDecDynBitString (OSCTXT* pctxt, OSDynOctStr* pvalue);
03370
03388 EXTERNXML int rtXmlpDecDynHexStr (OSCTXT* pctxt, OSDynOctStr* pvalue);
03389
03407 EXTERNXML int rtXmlpDecDynUnicodeStr
03408 (OSCTXT* pctxt, const OSUNICHAR** ppdata, OSUINT32* pnchars);
03409
03423 EXTERNXML int rtXmlpDecDynUTF8Str (OSCTXT* pctxt, const OSUTF8CHAR** outdata);
03424
03425
03439 EXTERNXML int rtXmlpDecUTF8Str
03440 (OSCTXT* pctxt, OSUTF8CHAR* out, size_t max_len);
03441
03454 EXTERNXML int rtXmlpDecGDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03455
03468 EXTERNXML int rtXmlpDecGMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03469
03482 EXTERNXML int rtXmlpDecGMonthDay (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03483
03496 EXTERNXML int rtXmlpDecGYear (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03497
03510 EXTERNXML int rtXmlpDecGYearMonth (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03511
03536 EXTERNXML int rtXmlpDecHexStr
03537 (OSCTXT* pctxt, OSOCTET* pvalue, OSUINT32* pnocts, OSINT32 bufsize);
03538
03551 EXTERNXML int rtXmlpDecInt (OSCTXT* pctxt, OSINT32* pvalue);
03552
03566 EXTERNXML int rtXmlpDecInt8 (OSCTXT* pctxt, OSINT8* pvalue);
03567
03580 EXTERNXML int rtXmlpDecInt16 (OSCTXT* pctxt, OSINT16* pvalue);
03581
03594 EXTERNXML int rtXmlpDecInt64 (OSCTXT* pctxt, OSINT64* pvalue);
03595
03612 EXTERNXML int rtXmlpDecNamedBits
03613 (OSCTXT* pctxt, const OSBitMapItem* pBitMap,
03614 OSOCTET* pvalue, OSUINT32* pnbits, OSUINT32 bufsize);
03615
03632 EXTERNXML int rtXmlpDecStrList (OSCTXT* pctxt, OSRTDList* plist);
03633
03652 EXTERNXML int rtXmlpDecTime (OSCTXT* pctxt, OSXSDDateTime* pvalue);
03653
03666 EXTERNXML int rtXmlpDecUInt (OSCTXT* pctxt, OSUINT32* pvalue);
03667
03681 EXTERNXML int rtXmlpDecUInt8 (OSCTXT* pctxt, OSOCTET* pvalue);
03682
03695 EXTERNXML int rtXmlpDecUInt16 (OSCTXT* pctxt, OSUINT16* pvalue);
03696
03709 EXTERNXML int rtXmlpDecUInt64 (OSCTXT* pctxt, OSUINT64* pvalue);
03710
03727 EXTERNXML int rtXmlpDecXmlStr (OSCTXT* pctxt, OSXMLSTRING* outdata);
03728
03745 EXTERNXML int rtXmlpDecXmlStrList (OSCTXT* pctxt, OSRTDList* plist);
03746
03764 EXTERNXML int rtXmlpDecXSIAttr
03765 (OSCTXT* pctxt, const OSXMLNameFragments* attrName);
03766
03788 EXTERNXML int rtXmlpDecXSITypeAttr
03789 (OSCTXT* pctxt, const OSXMLNameFragments* attrName,
03790 const OSUTF8CHAR** ppAttrValue);
03791
03815 EXTERNXML int rtXmlpGetAttributeID
03816 (const OSXMLStrFragment* attrName, OSINT16 nsidx,
03817 size_t nAttr, const OSXMLAttrDescr attrNames[], OSUINT32 attrPresent[]);
03818
03831 EXTERNXML int rtXmlpGetNextElem
03832 (OSCTXT* pctxt, OSXMLElemDescr* pElem, OSINT32 level);
03833
03849 EXTERNXML int rtXmlpGetNextElemID
03850 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows, OSINT32 level,
03851 OSBOOL continueParse);
03852
03862 EXTERNXML int rtXmlpMarkLastEventActive (OSCTXT* pctxt);
03863
03879 EXTERNXML int rtXmlpMatchStartTag
03880 (OSCTXT* pctxt, const OSUTF8CHAR* elemLocalName, OSINT16 nsidx);
03881
03892 EXTERNXML int rtXmlpMatchEndTag (OSCTXT* pctxt, OSINT32 level);
03893
03904 EXTERNXML OSBOOL rtXmlpHasAttributes (OSCTXT* pctxt);
03905
03914 EXTERNXML int rtXmlpGetAttributeCount (OSCTXT* pctxt);
03915
03934 EXTERNXML int rtXmlpSelectAttribute
03935 (OSCTXT* pctxt, OSXMLNameFragments* pAttr, OSINT16* nsidx, size_t index);
03936
03943 EXTERNXML OSINT32 rtXmlpGetCurrentLevel (OSCTXT* pctxt);
03944
03955 EXTERNXML void rtXmlpSetWhiteSpaceMode
03956 (OSCTXT* pctxt, OSXMLWhiteSpaceMode whiteSpaceMode);
03957
03965 EXTERNXML OSBOOL rtXmlpSetMixedContentMode
03966 (OSCTXT* pctxt, OSBOOL mixedContentMode);
03967
03973 EXTERNXML void rtXmlpSetListMode (OSCTXT* pctxt);
03974
03983 EXTERNXML OSBOOL rtXmlpListHasItem (OSCTXT* pctxt);
03984
03994 EXTERNXML void rtXmlpCountListItems (OSCTXT* pctxt, OSSIZE* itemCnt);
03995
04011 EXTERNXML int rtXmlpGetNextSeqElemID
04012 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, const OSXMLGroupDesc* pGroup,
04013 int curID, int lastMandatoryID, OSBOOL groupMode);
04014
04030 EXTERNXML int rtXmlpGetNextAllElemID
04031 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04032 const OSUINT8* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04033
04050 EXTERNXML int rtXmlpGetNextAllElemID16
04051 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04052 const OSUINT16* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04053
04054
04070 EXTERNXML int rtXmlpGetNextAllElemID32
04071 (OSCTXT* pctxt, const OSXMLElemIDRec* tab, size_t nrows,
04072 const OSUINT32* pOrder, OSUINT32 nOrder, OSUINT32 maxOrder, int anyID);
04073
04074
04082 EXTERNXML void rtXmlpSetNamespaceTable
04083 (OSCTXT* pctxt, const OSUTF8CHAR* namespaceTable[], size_t nmNamespaces);
04084
04093 EXTERNXML int rtXmlpCreateReader (OSCTXT* pctxt);
04094
04101 EXTERNXML void rtXmlpHideAttributes (OSCTXT* pctxt);
04102
04111 EXTERNXML OSBOOL rtXmlpNeedDecodeAttributes (OSCTXT* pctxt);
04112
04118 EXTERNXML void rtXmlpMarkPos (OSCTXT* pctxt);
04119
04125 EXTERNXML void rtXmlpRewindToMarkedPos (OSCTXT* pctxt);
04126
04132 EXTERNXML void rtXmlpResetMarkedPos (OSCTXT* pctxt);
04133
04150 EXTERNXML int rtXmlpGetXSITypeAttr
04151 (OSCTXT* pctxt, const OSUTF8CHAR** ppAttrValue, OSINT16* nsidx,
04152 size_t* pLocalOffs);
04153
04164 EXTERNXML int rtXmlpGetXmlnsAttrs (OSCTXT* pctxt, OSRTDList* pNSAttrs);
04165
04175 EXTERNXML int rtXmlpDecXSIAttrs (OSCTXT* pctxt);
04176
04185 EXTERNXML OSBOOL rtXmlpIsEmptyElement (OSCTXT* pctxt);
04186
04195 EXTERNXML int rtXmlEncAttrC14N (OSCTXT* pctxt);
04196
04206 EXTERNXML struct OSXMLReader* rtXmlpGetReader (OSCTXT* pctxt);
04207
04216 EXTERNXML OSBOOL rtXmlpIsLastEventDone (OSCTXT* pctxt);
04217
04229 EXTERNXML int rtXmlpGetXSITypeIndex
04230 (OSCTXT* pctxt, const OSXMLItemDescr typetab[], size_t typetabsiz);
04231
04245 EXTERNXML int rtXmlpLookupXSITypeIndex
04246 (OSCTXT* pctxt, const OSUTF8CHAR* pXsiType, OSINT16 xsiTypeIdx,
04247 const OSXMLItemDescr typetab[], size_t typetabsiz);
04248
04256 EXTERNXML void rtXmlpForceDecodeAsGroup (OSCTXT* pctxt);
04257
04266 EXTERNXML OSBOOL rtXmlpIsDecodeAsGroup (OSCTXT* pctxt);
04267
04277 EXTERNXML OSBOOL rtXmlpIsUTF8Encoding (OSCTXT* pctxt);
04278
04293 EXTERNXML int rtXmlpReadBytes (OSCTXT* pctxt, OSOCTET* pbuf, size_t nbytes);
04294
04299 #ifdef __cplusplus
04300 }
04301 #endif
04302
04303 #endif