00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef _RTEXIENCODER_H_
00029 #define _RTEXIENCODER_H_
00030
00031 #include "rtexisrc/osrtexi.h"
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00052 EXTERNEXI int rtEXIEncAttribute
00053 (OSCTXT* pctxt, const OSUTF8CHAR* prefix, const OSUTF8CHAR* namespaceURI,
00054 const OSUTF8CHAR* localName, const OSUTF8CHAR* value);
00055
00066 EXTERNEXI int rtEXIEncBinary
00067 (OSCTXT* pctxt, OSUINT32 nocts, const OSOCTET* value);
00068
00078 EXTERNEXI int rtEXIEncBoolValue (OSCTXT* pctxt, OSBOOL value);
00079
00089 EXTERNEXI int rtEXIEncComment (OSCTXT* pctxt, const OSUTF8CHAR* data);
00090
00100 EXTERNEXI int rtEXIEncCharacters (OSCTXT* pctxt, const OSUTF8CHAR* text);
00101
00114 EXTERNEXI int rtEXIEncCharArray
00115 (OSCTXT* pctxt, const OSUTF8CHAR* text, OSUINT32 nbytes);
00116
00126 EXTERNEXI int rtEXIEncDate (OSCTXT* pctxt, const OSNumDateTime* pvalue);
00127
00143 EXTERNEXI int rtEXIEncDateString (OSCTXT* pctxt, const OSUTF8CHAR* pvalue);
00144
00157 EXTERNEXI int rtEXIEncDTD
00158 (OSCTXT* pctxt, const OSUTF8CHAR* name, const OSUTF8CHAR* publix,
00159 const OSUTF8CHAR* system, const OSUTF8CHAR* text);
00160
00169 EXTERNEXI int rtEXIEncEndDocument (OSCTXT* pctxt);
00170
00179 EXTERNEXI int rtEXIEncEndElement (OSCTXT* pctxt);
00180
00190 EXTERNEXI int rtEXIEncEntityRef (OSCTXT* pctxt, const OSUTF8CHAR* name);
00191
00207 EXTERNEXI int rtEXIEncEventCode
00208 (OSCTXT* pctxt, const char* name,
00209 OSINT32 part1, OSINT32 part2, OSINT32 part3,
00210 OSUINT32 nbits1, OSUINT32 nbits2, OSUINT32 nbits3);
00211
00212 #define rtEXIEncEventCode1(pctxt,name,part1,nbits1) \
00213 rtEXIEncEventCode (pctxt, name, part1, -1, -1, nbits1, 0, 0)
00214
00215 #define rtEXIEncEventCode2(pctxt,name,part1,part2,nbits1,nbits2) \
00216 rtEXIEncEventCode (pctxt, name, part1, part2, -1, nbits1, nbits2, 0)
00217
00228 EXTERNEXI int rtEXIEncIntCHEvent (OSCTXT* pctxt, OSINT32 value);
00229
00243 EXTERNEXI int rtEXIEncIntElem
00244 (OSCTXT* pctxt, OSINT32 value,
00245 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
00246
00256 EXTERNEXI int rtEXIEncIntValue (OSCTXT* pctxt, OSINT32 value);
00257
00269 EXTERNEXI int rtEXIEncNBitUIntValue
00270 (OSCTXT* pctxt, OSUINT32 value, OSUINT32 nbits);
00271
00285 EXTERNEXI int rtEXIEncNamespace
00286 (OSCTXT* pctxt, const OSUTF8CHAR* prefix, const OSUTF8CHAR* namespaceURI,
00287 OSBOOL indicator);
00288
00299 EXTERNEXI int rtEXIEncProcessingInstruction
00300 (OSCTXT* pctxt, const OSUTF8CHAR* target, const OSUTF8CHAR* data);
00301
00311 EXTERNEXI int rtEXIEncStartDocument (OSCTXT* pctxt);
00312
00326 EXTERNEXI int rtEXIEncStartElement
00327 (OSCTXT* pctxt, const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
00328
00341 EXTERNEXI int rtEXIEncString
00342 (OSCTXT* pctxt, const OSUTF8CHAR* value, const OSXMLFullQName* pqname);
00343
00354 EXTERNEXI int rtEXIEncStringCHEvent
00355 (OSCTXT* pctxt, const OSUTF8CHAR* value, const OSXMLFullQName* pqname);
00356
00370 EXTERNEXI int rtEXIEncStringElem
00371 (OSCTXT* pctxt, OSXMLSTRING* pxmlstr,
00372 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
00373
00384 EXTERNEXI int rtEXIEncUIntCHEvent (OSCTXT* pctxt, OSUINT32 value);
00385
00399 EXTERNEXI int rtEXIEncUIntElem
00400 (OSCTXT* pctxt, OSUINT32 value,
00401 const OSUTF8CHAR* elemName, OSXMLNamespace* pNS);
00402
00412 EXTERNEXI int rtEXIEncUIntValue (OSCTXT* pctxt, OSUINT32 value);
00413
00428 EXTERNEXI int rtEXIEncUTF8Str
00429 (OSCTXT* pctxt, const OSUTF8CHAR* value, size_t lengthIncr);
00430
00431 #define RTEXIENCCHEVENT(pctxt,encfunc,value,stat) \
00432 stat = rtEXIEncEventCode1 (pctxt, "CH", 0, 1); \
00433 if (0 == stat) stat = encfunc (pctxt, value);
00434
00435 #ifdef __cplusplus
00436 }
00437 #endif
00438
00439 #endif
00440