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