browserutilities/feedsengine/FeedsServer/FolderHandler/inc/libxml2_xmlwriter.h
changeset 0 dd21522fd290
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     1 
       
     2 /*
       
     3  * Summary: text writing API for XML
       
     4  * Description: text writing API for XML
       
     5  *
       
     6  * Copy: See Copyright for the status of this software.
       
     7  *
       
     8  * Author: Alfred Mickautsch <alfred@mickautsch.de>
       
     9  */
       
    10 
       
    11 #ifndef __XML_XMLWRITER_H__
       
    12 #define __XML_XMLWRITER_H__
       
    13 
       
    14 #include <stdarg.h>
       
    15 #include "libxml2_xmlio.h"
       
    16 #include "libxml2_list.h"
       
    17 #include "libxml2_xmlstring.h"
       
    18 
       
    19 #ifdef LIBXML_WRITER_ENABLED
       
    20 
       
    21 #ifdef __cplusplus
       
    22 extern "C" {
       
    23 #endif
       
    24 
       
    25 typedef struct _xmlTextWriter xmlTextWriter;
       
    26 typedef xmlTextWriter *xmlTextWriterPtr;
       
    27 // Moved from Libxml2_xmlwriter.cpp
       
    28 struct _xmlTextWriter {
       
    29     xmlOutputBufferPtr out;     /* output buffer */
       
    30     xmlListPtr nodes;           /* element name stack */
       
    31     xmlListPtr nsstack;         /* name spaces stack */
       
    32     int level;
       
    33     int indent;                 /* enable indent */
       
    34     int doindent;               /* internal indent flag */
       
    35     xmlChar *ichar;             /* indent character */
       
    36     char qchar;                 /* character used for quoting attribute values */
       
    37     xmlParserCtxtPtr ctxt;
       
    38 };
       
    39 
       
    40 /*
       
    41  * Constructors & Destructor
       
    42  */
       
    43     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    44         xmlNewTextWriter(xmlOutputBufferPtr out);
       
    45     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    46         xmlNewTextWriterFilename(const char *uri, int compression);
       
    47     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    48         xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
       
    49     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    50         xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
       
    51     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    52         xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
       
    53     XMLPUBFUN xmlTextWriterPtr XMLCALL
       
    54         xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
       
    55                              int compression);
       
    56     XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
       
    57 
       
    58 /*
       
    59  * Functions
       
    60  */
       
    61 
       
    62 
       
    63 /*
       
    64  * Document
       
    65  */
       
    66     XMLPUBFUN int XMLCALL
       
    67         xmlTextWriterStartDocument(xmlTextWriterPtr writer,
       
    68                                    const char *version,
       
    69                                    const char *encoding,
       
    70                                    const char *standalone);
       
    71     XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
       
    72                                                    writer);
       
    73 
       
    74 /*
       
    75  * Comments
       
    76  */
       
    77     XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
       
    78                                                     writer);
       
    79     XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
       
    80     XMLPUBFUN int XMLCALL
       
    81         xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
       
    82                                         const char *format, ...);
       
    83     XMLPUBFUN int XMLCALL
       
    84         xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
       
    85                                          const char *format,
       
    86                                          va_list argptr);
       
    87     XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
       
    88                                                     writer,
       
    89                                                     const xmlChar *
       
    90                                                     content);
       
    91 
       
    92 /*
       
    93  * Elements
       
    94  */
       
    95     XMLPUBFUN int XMLCALL
       
    96         xmlTextWriterStartElement(xmlTextWriterPtr writer,
       
    97                                   const xmlChar * name);
       
    98     XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
       
    99                                                       writer,
       
   100                                                       const xmlChar *
       
   101                                                       prefix,
       
   102                                                       const xmlChar * name,
       
   103                                                       const xmlChar *
       
   104                                                       namespaceURI);
       
   105     XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
       
   106     XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
       
   107                                                       writer);
       
   108 
       
   109 /*
       
   110  * Elements conveniency functions
       
   111  */
       
   112     XMLPUBFUN int XMLCALL
       
   113         xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
       
   114                                         const xmlChar * name,
       
   115                                         const char *format, ...);
       
   116     XMLPUBFUN int XMLCALL
       
   117         xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
       
   118                                          const xmlChar * name,
       
   119                                          const char *format,
       
   120                                          va_list argptr);
       
   121     XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
       
   122                                                     writer,
       
   123                                                     const xmlChar * name,
       
   124                                                     const xmlChar *
       
   125                                                     content);
       
   126     XMLPUBFUN int XMLCALL
       
   127         xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
       
   128                                           const xmlChar * prefix,
       
   129                                           const xmlChar * name,
       
   130                                           const xmlChar * namespaceURI,
       
   131                                           const char *format, ...);
       
   132     XMLPUBFUN int XMLCALL
       
   133         xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
       
   134                                            const xmlChar * prefix,
       
   135                                            const xmlChar * name,
       
   136                                            const xmlChar * namespaceURI,
       
   137                                            const char *format,
       
   138                                            va_list argptr);
       
   139     XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
       
   140                                                       writer,
       
   141                                                       const xmlChar *
       
   142                                                       prefix,
       
   143                                                       const xmlChar * name,
       
   144                                                       const xmlChar *
       
   145                                                       namespaceURI,
       
   146                                                       const xmlChar *
       
   147                                                       content);
       
   148 
       
   149 /*
       
   150  * Text
       
   151  */
       
   152     XMLPUBFUN int XMLCALL
       
   153         xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
       
   154                                     const char *format, ...);
       
   155     XMLPUBFUN int XMLCALL
       
   156         xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
       
   157                                      const char *format, va_list argptr);
       
   158     XMLPUBFUN int XMLCALL
       
   159         xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
       
   160                                  const xmlChar * content, int len);
       
   161     XMLPUBFUN int XMLCALL
       
   162         xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
       
   163                               const xmlChar * content);
       
   164     XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
       
   165                                                          writer,
       
   166                                                          const char
       
   167                                                          *format, ...);
       
   168     XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
       
   169                                                           writer,
       
   170                                                           const char
       
   171                                                           *format,
       
   172                                                           va_list argptr);
       
   173     XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
       
   174                                                    const xmlChar *
       
   175                                                    content);
       
   176     XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
       
   177                                                    const char *data,
       
   178                                                    int start, int len);
       
   179     XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
       
   180                                                    const char *data,
       
   181                                                    int start, int len);
       
   182 
       
   183 /*
       
   184  * Attributes
       
   185  */
       
   186     XMLPUBFUN int XMLCALL
       
   187         xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
       
   188                                     const xmlChar * name);
       
   189     XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
       
   190                                                         writer,
       
   191                                                         const xmlChar *
       
   192                                                         prefix,
       
   193                                                         const xmlChar *
       
   194                                                         name,
       
   195                                                         const xmlChar *
       
   196                                                         namespaceURI);
       
   197     XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
       
   198                                                     writer);
       
   199 
       
   200 /*
       
   201  * Attributes conveniency functions
       
   202  */
       
   203     XMLPUBFUN int XMLCALL
       
   204         xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
       
   205                                           const xmlChar * name,
       
   206                                           const char *format, ...);
       
   207     XMLPUBFUN int XMLCALL
       
   208         xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
       
   209                                            const xmlChar * name,
       
   210                                            const char *format,
       
   211                                            va_list argptr);
       
   212     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
       
   213                                                       writer,
       
   214                                                       const xmlChar * name,
       
   215                                                       const xmlChar *
       
   216                                                       content);
       
   217     XMLPUBFUN int XMLCALL
       
   218         xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
       
   219                                             const xmlChar * prefix,
       
   220                                             const xmlChar * name,
       
   221                                             const xmlChar * namespaceURI,
       
   222                                             const char *format, ...);
       
   223     XMLPUBFUN int XMLCALL
       
   224         xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
       
   225                                              const xmlChar * prefix,
       
   226                                              const xmlChar * name,
       
   227                                              const xmlChar * namespaceURI,
       
   228                                              const char *format,
       
   229                                              va_list argptr);
       
   230     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
       
   231                                                         writer,
       
   232                                                         const xmlChar *
       
   233                                                         prefix,
       
   234                                                         const xmlChar *
       
   235                                                         name,
       
   236                                                         const xmlChar *
       
   237                                                         namespaceURI,
       
   238                                                         const xmlChar *
       
   239                                                         content);
       
   240 
       
   241 /*
       
   242  * PI's
       
   243  */
       
   244     XMLPUBFUN int XMLCALL
       
   245         xmlTextWriterStartPI(xmlTextWriterPtr writer,
       
   246                              const xmlChar * target);
       
   247     XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
       
   248 
       
   249 /*
       
   250  * PI conveniency functions
       
   251  */
       
   252     XMLPUBFUN int XMLCALL
       
   253         xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
       
   254                                    const xmlChar * target,
       
   255                                    const char *format, ...);
       
   256     XMLPUBFUN int XMLCALL
       
   257         xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
       
   258                                     const xmlChar * target,
       
   259                                     const char *format, va_list argptr);
       
   260     XMLPUBFUN int XMLCALL
       
   261         xmlTextWriterWritePI(xmlTextWriterPtr writer,
       
   262                              const xmlChar * target,
       
   263                              const xmlChar * content);
       
   264 
       
   265 /**
       
   266  * xmlTextWriterWriteProcessingInstruction:
       
   267  *
       
   268  * This macro maps to xmlTextWriterWritePI
       
   269  */
       
   270 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
       
   271 
       
   272 /*
       
   273  * CDATA
       
   274  */
       
   275     XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
       
   276     XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
       
   277 
       
   278 /*
       
   279  * CDATA conveniency functions
       
   280  */
       
   281     XMLPUBFUN int XMLCALL
       
   282         xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
       
   283                                       const char *format, ...);
       
   284     XMLPUBFUN int XMLCALL
       
   285         xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
       
   286                                        const char *format, va_list argptr);
       
   287     XMLPUBFUN int XMLCALL
       
   288         xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
       
   289                                 const xmlChar * content);
       
   290 
       
   291 /*
       
   292  * DTD
       
   293  */
       
   294     XMLPUBFUN int XMLCALL
       
   295         xmlTextWriterStartDTD(xmlTextWriterPtr writer,
       
   296                               const xmlChar * name,
       
   297                               const xmlChar * pubid,
       
   298                               const xmlChar * sysid);
       
   299     XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
       
   300 
       
   301 /*
       
   302  * DTD conveniency functions
       
   303  */
       
   304     XMLPUBFUN int XMLCALL
       
   305         xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
       
   306                                     const xmlChar * name,
       
   307                                     const xmlChar * pubid,
       
   308                                     const xmlChar * sysid,
       
   309                                     const char *format, ...);
       
   310     XMLPUBFUN int XMLCALL
       
   311         xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
       
   312                                      const xmlChar * name,
       
   313                                      const xmlChar * pubid,
       
   314                                      const xmlChar * sysid,
       
   315                                      const char *format, va_list argptr);
       
   316     XMLPUBFUN int XMLCALL
       
   317         xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
       
   318                               const xmlChar * name,
       
   319                               const xmlChar * pubid,
       
   320                               const xmlChar * sysid,
       
   321                               const xmlChar * subset);
       
   322 
       
   323 /**
       
   324  * xmlTextWriterWriteDocType:
       
   325  *
       
   326  * this macro maps to xmlTextWriterWriteDTD
       
   327  */
       
   328 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
       
   329 
       
   330 /*
       
   331  * DTD element definition
       
   332  */
       
   333     XMLPUBFUN int XMLCALL
       
   334         xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
       
   335                                      const xmlChar * name);
       
   336     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
       
   337                                                      writer);
       
   338 
       
   339 /*
       
   340  * DTD element definition conveniency functions
       
   341  */
       
   342     XMLPUBFUN int XMLCALL
       
   343         xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
       
   344                                            const xmlChar * name,
       
   345                                            const char *format, ...);
       
   346     XMLPUBFUN int XMLCALL
       
   347         xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
       
   348                                             const xmlChar * name,
       
   349                                             const char *format,
       
   350                                             va_list argptr);
       
   351     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
       
   352                                                        writer,
       
   353                                                        const xmlChar *
       
   354                                                        name,
       
   355                                                        const xmlChar *
       
   356                                                        content);
       
   357 
       
   358 /*
       
   359  * DTD attribute list definition
       
   360  */
       
   361     XMLPUBFUN int XMLCALL
       
   362         xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
       
   363                                      const xmlChar * name);
       
   364     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
       
   365                                                      writer);
       
   366 
       
   367 /*
       
   368  * DTD attribute list definition conveniency functions
       
   369  */
       
   370     XMLPUBFUN int XMLCALL
       
   371         xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
       
   372                                            const xmlChar * name,
       
   373                                            const char *format, ...);
       
   374     XMLPUBFUN int XMLCALL
       
   375         xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
       
   376                                             const xmlChar * name,
       
   377                                             const char *format,
       
   378                                             va_list argptr);
       
   379     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
       
   380                                                        writer,
       
   381                                                        const xmlChar *
       
   382                                                        name,
       
   383                                                        const xmlChar *
       
   384                                                        content);
       
   385 
       
   386 /*
       
   387  * DTD entity definition
       
   388  */
       
   389     XMLPUBFUN int XMLCALL
       
   390         xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
       
   391                                     int pe, const xmlChar * name);
       
   392     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
       
   393                                                     writer);
       
   394 
       
   395 /*
       
   396  * DTD entity definition conveniency functions
       
   397  */
       
   398     XMLPUBFUN int XMLCALL
       
   399         xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
       
   400                                                   int pe,
       
   401                                                   const xmlChar * name,
       
   402                                                   const char *format, ...);
       
   403     XMLPUBFUN int XMLCALL
       
   404         xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
       
   405                                                    int pe,
       
   406                                                    const xmlChar * name,
       
   407                                                    const char *format,
       
   408                                                    va_list argptr);
       
   409     XMLPUBFUN int XMLCALL
       
   410         xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
       
   411                                             int pe,
       
   412                                             const xmlChar * name,
       
   413                                             const xmlChar * content);
       
   414     XMLPUBFUN int XMLCALL
       
   415         xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
       
   416                                             int pe,
       
   417                                             const xmlChar * name,
       
   418                                             const xmlChar * pubid,
       
   419                                             const xmlChar * sysid,
       
   420                                             const xmlChar * ndataid);
       
   421     XMLPUBFUN int XMLCALL
       
   422         xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
       
   423                                                     writer,
       
   424                                                     const xmlChar * pubid,
       
   425                                                     const xmlChar * sysid,
       
   426                                                     const xmlChar *
       
   427                                                     ndataid);
       
   428     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
       
   429                                                       writer, int pe,
       
   430                                                       const xmlChar * name,
       
   431                                                       const xmlChar *
       
   432                                                       pubid,
       
   433                                                       const xmlChar *
       
   434                                                       sysid,
       
   435                                                       const xmlChar *
       
   436                                                       ndataid,
       
   437                                                       const xmlChar *
       
   438                                                       content);
       
   439 
       
   440 /*
       
   441  * DTD notation definition
       
   442  */
       
   443     XMLPUBFUN int XMLCALL
       
   444         xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
       
   445                                       const xmlChar * name,
       
   446                                       const xmlChar * pubid,
       
   447                                       const xmlChar * sysid);
       
   448 
       
   449 /*
       
   450  * Indentation
       
   451  */
       
   452     XMLPUBFUN int XMLCALL
       
   453         xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
       
   454     XMLPUBFUN int XMLCALL
       
   455         xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
       
   456                                      const xmlChar * str);
       
   457 
       
   458 /*
       
   459  * misc
       
   460  */
       
   461     XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
       
   462 
       
   463 #ifdef __cplusplus
       
   464 }
       
   465 #endif
       
   466 
       
   467 #endif /* LIBXML_WRITER_ENABLED */
       
   468 
       
   469 #endif                          /* __XML_XMLWRITER_H__ */
       
   470