epoc32/include/stdapis/libxml2/libxml2_xmlwriter.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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