xmlwriter.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Summary: text writing API for XML
00004  * Description: text writing API for XML
00005  *
00006  * Copy: See Copyright for the status of this software.
00007  *
00008  * Author: Alfred Mickautsch <alfred@mickautsch.de>
00009  */
00010 
00011 #ifndef __XML_XMLWRITER_H__
00012 #define __XML_XMLWRITER_H__
00013 
00014 #include <libxml/xmlversion.h>
00015 
00016 #ifdef LIBXML_WRITER_ENABLED
00017 
00018 #include <stdarg.h>
00019 #include <libxml/xmlIO.h>
00020 #include <libxml/list.h>
00021 #include <libxml/xmlstring.h>
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027     typedef struct _xmlTextWriter xmlTextWriter;
00028     typedef xmlTextWriter *xmlTextWriterPtr;
00029 
00030 /*
00031  * Constructors & Destructor
00032  */
00033     XMLPUBFUN xmlTextWriterPtr XMLCALL
00034         xmlNewTextWriter(xmlOutputBufferPtr out);
00035     XMLPUBFUN xmlTextWriterPtr XMLCALL
00036         xmlNewTextWriterFilename(const char *uri, int compression);
00037     XMLPUBFUN xmlTextWriterPtr XMLCALL
00038         xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
00039     XMLPUBFUN xmlTextWriterPtr XMLCALL
00040         xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
00041     XMLPUBFUN xmlTextWriterPtr XMLCALL
00042         xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
00043     XMLPUBFUN xmlTextWriterPtr XMLCALL
00044         xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
00045                              int compression);
00046     XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
00047 
00048 /*
00049  * Functions
00050  */
00051 
00052 
00053 /*
00054  * Document
00055  */
00056     XMLPUBFUN int XMLCALL
00057         xmlTextWriterStartDocument(xmlTextWriterPtr writer,
00058                                    const char *version,
00059                                    const char *encoding,
00060                                    const char *standalone);
00061     XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
00062                                                    writer);
00063 
00064 /*
00065  * Comments
00066  */
00067     XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
00068                                                     writer);
00069     XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
00070     XMLPUBFUN int XMLCALL
00071         xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
00072                                         const char *format, ...);
00073     XMLPUBFUN int XMLCALL
00074         xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
00075                                          const char *format,
00076                                          va_list argptr);
00077     XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
00078                                                     writer,
00079                                                     const xmlChar *
00080                                                     content);
00081 
00082 /*
00083  * Elements
00084  */
00085     XMLPUBFUN int XMLCALL
00086         xmlTextWriterStartElement(xmlTextWriterPtr writer,
00087                                   const xmlChar * name);
00088     XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
00089                                                       writer,
00090                                                       const xmlChar *
00091                                                       prefix,
00092                                                       const xmlChar * name,
00093                                                       const xmlChar *
00094                                                       namespaceURI);
00095     XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
00096     XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
00097                                                       writer);
00098 
00099 /*
00100  * Elements conveniency functions
00101  */
00102     XMLPUBFUN int XMLCALL
00103         xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
00104                                         const xmlChar * name,
00105                                         const char *format, ...);
00106     XMLPUBFUN int XMLCALL
00107         xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
00108                                          const xmlChar * name,
00109                                          const char *format,
00110                                          va_list argptr);
00111     XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
00112                                                     writer,
00113                                                     const xmlChar * name,
00114                                                     const xmlChar *
00115                                                     content);
00116     XMLPUBFUN int XMLCALL
00117         xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
00118                                           const xmlChar * prefix,
00119                                           const xmlChar * name,
00120                                           const xmlChar * namespaceURI,
00121                                           const char *format, ...);
00122     XMLPUBFUN int XMLCALL
00123         xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
00124                                            const xmlChar * prefix,
00125                                            const xmlChar * name,
00126                                            const xmlChar * namespaceURI,
00127                                            const char *format,
00128                                            va_list argptr);
00129     XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
00130                                                       writer,
00131                                                       const xmlChar *
00132                                                       prefix,
00133                                                       const xmlChar * name,
00134                                                       const xmlChar *
00135                                                       namespaceURI,
00136                                                       const xmlChar *
00137                                                       content);
00138 
00139 /*
00140  * Text
00141  */
00142     XMLPUBFUN int XMLCALL
00143         xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
00144                                     const char *format, ...);
00145     XMLPUBFUN int XMLCALL
00146         xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
00147                                      const char *format, va_list argptr);
00148     XMLPUBFUN int XMLCALL
00149         xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
00150                                  const xmlChar * content, int len);
00151     XMLPUBFUN int XMLCALL
00152         xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
00153                               const xmlChar * content);
00154     XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
00155                                                          writer,
00156                                                          const char
00157                                                          *format, ...);
00158     XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
00159                                                           writer,
00160                                                           const char
00161                                                           *format,
00162                                                           va_list argptr);
00163     XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
00164                                                    const xmlChar *
00165                                                    content);
00166     XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
00167                                                    const char *data,
00168                                                    int start, int len);
00169     XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
00170                                                    const char *data,
00171                                                    int start, int len);
00172 
00173 /*
00174  * Attributes
00175  */
00176     XMLPUBFUN int XMLCALL
00177         xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
00178                                     const xmlChar * name);
00179     XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
00180                                                         writer,
00181                                                         const xmlChar *
00182                                                         prefix,
00183                                                         const xmlChar *
00184                                                         name,
00185                                                         const xmlChar *
00186                                                         namespaceURI);
00187     XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
00188                                                     writer);
00189 
00190 /*
00191  * Attributes conveniency functions
00192  */
00193     XMLPUBFUN int XMLCALL
00194         xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
00195                                           const xmlChar * name,
00196                                           const char *format, ...);
00197     XMLPUBFUN int XMLCALL
00198         xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
00199                                            const xmlChar * name,
00200                                            const char *format,
00201                                            va_list argptr);
00202     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
00203                                                       writer,
00204                                                       const xmlChar * name,
00205                                                       const xmlChar *
00206                                                       content);
00207     XMLPUBFUN int XMLCALL
00208         xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
00209                                             const xmlChar * prefix,
00210                                             const xmlChar * name,
00211                                             const xmlChar * namespaceURI,
00212                                             const char *format, ...);
00213     XMLPUBFUN int XMLCALL
00214         xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
00215                                              const xmlChar * prefix,
00216                                              const xmlChar * name,
00217                                              const xmlChar * namespaceURI,
00218                                              const char *format,
00219                                              va_list argptr);
00220     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
00221                                                         writer,
00222                                                         const xmlChar *
00223                                                         prefix,
00224                                                         const xmlChar *
00225                                                         name,
00226                                                         const xmlChar *
00227                                                         namespaceURI,
00228                                                         const xmlChar *
00229                                                         content);
00230 
00231 /*
00232  * PI's
00233  */
00234     XMLPUBFUN int XMLCALL
00235         xmlTextWriterStartPI(xmlTextWriterPtr writer,
00236                              const xmlChar * target);
00237     XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
00238 
00239 /*
00240  * PI conveniency functions
00241  */
00242     XMLPUBFUN int XMLCALL
00243         xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
00244                                    const xmlChar * target,
00245                                    const char *format, ...);
00246     XMLPUBFUN int XMLCALL
00247         xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
00248                                     const xmlChar * target,
00249                                     const char *format, va_list argptr);
00250     XMLPUBFUN int XMLCALL
00251         xmlTextWriterWritePI(xmlTextWriterPtr writer,
00252                              const xmlChar * target,
00253                              const xmlChar * content);
00254 
00260 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
00261 
00262 /*
00263  * CDATA
00264  */
00265     XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
00266     XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
00267 
00268 /*
00269  * CDATA conveniency functions
00270  */
00271     XMLPUBFUN int XMLCALL
00272         xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
00273                                       const char *format, ...);
00274     XMLPUBFUN int XMLCALL
00275         xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
00276                                        const char *format, va_list argptr);
00277     XMLPUBFUN int XMLCALL
00278         xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
00279                                 const xmlChar * content);
00280 
00281 /*
00282  * DTD
00283  */
00284     XMLPUBFUN int XMLCALL
00285         xmlTextWriterStartDTD(xmlTextWriterPtr writer,
00286                               const xmlChar * name,
00287                               const xmlChar * pubid,
00288                               const xmlChar * sysid);
00289     XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
00290 
00291 /*
00292  * DTD conveniency functions
00293  */
00294     XMLPUBFUN int XMLCALL
00295         xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
00296                                     const xmlChar * name,
00297                                     const xmlChar * pubid,
00298                                     const xmlChar * sysid,
00299                                     const char *format, ...);
00300     XMLPUBFUN int XMLCALL
00301         xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
00302                                      const xmlChar * name,
00303                                      const xmlChar * pubid,
00304                                      const xmlChar * sysid,
00305                                      const char *format, va_list argptr);
00306     XMLPUBFUN int XMLCALL
00307         xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
00308                               const xmlChar * name,
00309                               const xmlChar * pubid,
00310                               const xmlChar * sysid,
00311                               const xmlChar * subset);
00312 
00318 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
00319 
00320 /*
00321  * DTD element definition
00322  */
00323     XMLPUBFUN int XMLCALL
00324         xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
00325                                      const xmlChar * name);
00326     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
00327                                                      writer);
00328 
00329 /*
00330  * DTD element definition conveniency functions
00331  */
00332     XMLPUBFUN int XMLCALL
00333         xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
00334                                            const xmlChar * name,
00335                                            const char *format, ...);
00336     XMLPUBFUN int XMLCALL
00337         xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
00338                                             const xmlChar * name,
00339                                             const char *format,
00340                                             va_list argptr);
00341     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
00342                                                        writer,
00343                                                        const xmlChar *
00344                                                        name,
00345                                                        const xmlChar *
00346                                                        content);
00347 
00348 /*
00349  * DTD attribute list definition
00350  */
00351     XMLPUBFUN int XMLCALL
00352         xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
00353                                      const xmlChar * name);
00354     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
00355                                                      writer);
00356 
00357 /*
00358  * DTD attribute list definition conveniency functions
00359  */
00360     XMLPUBFUN int XMLCALL
00361         xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
00362                                            const xmlChar * name,
00363                                            const char *format, ...);
00364     XMLPUBFUN int XMLCALL
00365         xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
00366                                             const xmlChar * name,
00367                                             const char *format,
00368                                             va_list argptr);
00369     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
00370                                                        writer,
00371                                                        const xmlChar *
00372                                                        name,
00373                                                        const xmlChar *
00374                                                        content);
00375 
00376 /*
00377  * DTD entity definition
00378  */
00379     XMLPUBFUN int XMLCALL
00380         xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
00381                                     int pe, const xmlChar * name);
00382     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
00383                                                     writer);
00384 
00385 /*
00386  * DTD entity definition conveniency functions
00387  */
00388     XMLPUBFUN int XMLCALL
00389         xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
00390                                                   int pe,
00391                                                   const xmlChar * name,
00392                                                   const char *format, ...);
00393     XMLPUBFUN int XMLCALL
00394         xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
00395                                                    int pe,
00396                                                    const xmlChar * name,
00397                                                    const char *format,
00398                                                    va_list argptr);
00399     XMLPUBFUN int XMLCALL
00400         xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
00401                                             int pe,
00402                                             const xmlChar * name,
00403                                             const xmlChar * content);
00404     XMLPUBFUN int XMLCALL
00405         xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
00406                                             int pe,
00407                                             const xmlChar * name,
00408                                             const xmlChar * pubid,
00409                                             const xmlChar * sysid,
00410                                             const xmlChar * ndataid);
00411     XMLPUBFUN int XMLCALL
00412         xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
00413                                                     writer,
00414                                                     const xmlChar * pubid,
00415                                                     const xmlChar * sysid,
00416                                                     const xmlChar *
00417                                                     ndataid);
00418     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
00419                                                       writer, int pe,
00420                                                       const xmlChar * name,
00421                                                       const xmlChar *
00422                                                       pubid,
00423                                                       const xmlChar *
00424                                                       sysid,
00425                                                       const xmlChar *
00426                                                       ndataid,
00427                                                       const xmlChar *
00428                                                       content);
00429 
00430 /*
00431  * DTD notation definition
00432  */
00433     XMLPUBFUN int XMLCALL
00434         xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
00435                                       const xmlChar * name,
00436                                       const xmlChar * pubid,
00437                                       const xmlChar * sysid);
00438 
00439 /*
00440  * Indentation
00441  */
00442     XMLPUBFUN int XMLCALL
00443         xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
00444     XMLPUBFUN int XMLCALL
00445         xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
00446                                      const xmlChar * str);
00447 
00448 /*
00449  * misc
00450  */
00451     XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
00452 
00453 #ifdef __cplusplus
00454 }
00455 #endif
00456 
00457 #endif /* LIBXML_WRITER_ENABLED */
00458 
00459 #endif                          /* __XML_XMLWRITER_H__ */
footer
 SourceForge.net Logo