xmlwriter.h

00001 
00002 
00003 /*
00004 
00005  * Summary: text writing API for XML
00006 
00007  * Description: text writing API for XML
00008 
00009  *
00010 
00011  * Copy: See Copyright for the status of this software.
00012 
00013  *
00014 
00015  * Author: Alfred Mickautsch <alfred@mickautsch.de>
00016 
00017  */
00018 
00019 
00020 
00021 #ifndef __XML_XMLWRITER_H__
00022 
00023 #define __XML_XMLWRITER_H__
00024 
00025 
00026 
00027 #include <libxml/xmlversion.h>
00028 
00029 
00030 
00031 #ifdef LIBXML_WRITER_ENABLED
00032 
00033 
00034 
00035 #include <stdarg.h>
00036 
00037 #include <libxml/xmlIO.h>
00038 
00039 #include <libxml/list.h>
00040 
00041 #include <libxml/xmlstring.h>
00042 
00043 
00044 
00045 #ifdef __cplusplus
00046 
00047 extern "C" {
00048 
00049 #endif
00050 
00051 
00052 
00053     typedef struct _xmlTextWriter xmlTextWriter;
00054 
00055     typedef xmlTextWriter *xmlTextWriterPtr;
00056 
00057 
00058 
00059 /*
00060 
00061  * Constructors & Destructor
00062 
00063  */
00064 
00065     XMLPUBFUN xmlTextWriterPtr XMLCALL
00066 
00067         xmlNewTextWriter(xmlOutputBufferPtr out);
00068 
00069     XMLPUBFUN xmlTextWriterPtr XMLCALL
00070 
00071         xmlNewTextWriterFilename(const char *uri, int compression);
00072 
00073     XMLPUBFUN xmlTextWriterPtr XMLCALL
00074 
00075         xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
00076 
00077     XMLPUBFUN xmlTextWriterPtr XMLCALL
00078 
00079         xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
00080 
00081     XMLPUBFUN xmlTextWriterPtr XMLCALL
00082 
00083         xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
00084 
00085     XMLPUBFUN xmlTextWriterPtr XMLCALL
00086 
00087         xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
00088 
00089                              int compression);
00090 
00091     XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
00092 
00093 
00094 
00095 /*
00096 
00097  * Functions
00098 
00099  */
00100 
00101 
00102 
00103 
00104 
00105 /*
00106 
00107  * Document
00108 
00109  */
00110 
00111     XMLPUBFUN int XMLCALL
00112 
00113         xmlTextWriterStartDocument(xmlTextWriterPtr writer,
00114 
00115                                    const char *version,
00116 
00117                                    const char *encoding,
00118 
00119                                    const char *standalone);
00120 
00121     XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
00122 
00123                                                    writer);
00124 
00125 
00126 
00127 /*
00128 
00129  * Comments
00130 
00131  */
00132 
00133     XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
00134 
00135                                                     writer);
00136 
00137     XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
00138 
00139     XMLPUBFUN int XMLCALL
00140 
00141         xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
00142 
00143                                         const char *format, ...);
00144 
00145     XMLPUBFUN int XMLCALL
00146 
00147         xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
00148 
00149                                          const char *format,
00150 
00151                                          va_list argptr);
00152 
00153     XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
00154 
00155                                                     writer,
00156 
00157                                                     const xmlChar *
00158 
00159                                                     content);
00160 
00161 
00162 
00163 /*
00164 
00165  * Elements
00166 
00167  */
00168 
00169     XMLPUBFUN int XMLCALL
00170 
00171         xmlTextWriterStartElement(xmlTextWriterPtr writer,
00172 
00173                                   const xmlChar * name);
00174 
00175     XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
00176 
00177                                                       writer,
00178 
00179                                                       const xmlChar *
00180 
00181                                                       prefix,
00182 
00183                                                       const xmlChar * name,
00184 
00185                                                       const xmlChar *
00186 
00187                                                       namespaceURI);
00188 
00189     XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
00190 
00191     XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
00192 
00193                                                       writer);
00194 
00195 
00196 
00197 /*
00198 
00199  * Elements conveniency functions
00200 
00201  */
00202 
00203     XMLPUBFUN int XMLCALL
00204 
00205         xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
00206 
00207                                         const xmlChar * name,
00208 
00209                                         const char *format, ...);
00210 
00211     XMLPUBFUN int XMLCALL
00212 
00213         xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
00214 
00215                                          const xmlChar * name,
00216 
00217                                          const char *format,
00218 
00219                                          va_list argptr);
00220 
00221     XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
00222 
00223                                                     writer,
00224 
00225                                                     const xmlChar * name,
00226 
00227                                                     const xmlChar *
00228 
00229                                                     content);
00230 
00231     XMLPUBFUN int XMLCALL
00232 
00233         xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
00234 
00235                                           const xmlChar * prefix,
00236 
00237                                           const xmlChar * name,
00238 
00239                                           const xmlChar * namespaceURI,
00240 
00241                                           const char *format, ...);
00242 
00243     XMLPUBFUN int XMLCALL
00244 
00245         xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
00246 
00247                                            const xmlChar * prefix,
00248 
00249                                            const xmlChar * name,
00250 
00251                                            const xmlChar * namespaceURI,
00252 
00253                                            const char *format,
00254 
00255                                            va_list argptr);
00256 
00257     XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
00258 
00259                                                       writer,
00260 
00261                                                       const xmlChar *
00262 
00263                                                       prefix,
00264 
00265                                                       const xmlChar * name,
00266 
00267                                                       const xmlChar *
00268 
00269                                                       namespaceURI,
00270 
00271                                                       const xmlChar *
00272 
00273                                                       content);
00274 
00275 
00276 
00277 /*
00278 
00279  * Text
00280 
00281  */
00282 
00283     XMLPUBFUN int XMLCALL
00284 
00285         xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
00286 
00287                                     const char *format, ...);
00288 
00289     XMLPUBFUN int XMLCALL
00290 
00291         xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
00292 
00293                                      const char *format, va_list argptr);
00294 
00295     XMLPUBFUN int XMLCALL
00296 
00297         xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
00298 
00299                                  const xmlChar * content, int len);
00300 
00301     XMLPUBFUN int XMLCALL
00302 
00303         xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
00304 
00305                               const xmlChar * content);
00306 
00307     XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
00308 
00309                                                          writer,
00310 
00311                                                          const char
00312 
00313                                                          *format, ...);
00314 
00315     XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
00316 
00317                                                           writer,
00318 
00319                                                           const char
00320 
00321                                                           *format,
00322 
00323                                                           va_list argptr);
00324 
00325     XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
00326 
00327                                                    const xmlChar *
00328 
00329                                                    content);
00330 
00331     XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
00332 
00333                                                    const char *data,
00334 
00335                                                    int start, int len);
00336 
00337     XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
00338 
00339                                                    const char *data,
00340 
00341                                                    int start, int len);
00342 
00343 
00344 
00345 /*
00346 
00347  * Attributes
00348 
00349  */
00350 
00351     XMLPUBFUN int XMLCALL
00352 
00353         xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
00354 
00355                                     const xmlChar * name);
00356 
00357     XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
00358 
00359                                                         writer,
00360 
00361                                                         const xmlChar *
00362 
00363                                                         prefix,
00364 
00365                                                         const xmlChar *
00366 
00367                                                         name,
00368 
00369                                                         const xmlChar *
00370 
00371                                                         namespaceURI);
00372 
00373     XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
00374 
00375                                                     writer);
00376 
00377 
00378 
00379 /*
00380 
00381  * Attributes conveniency functions
00382 
00383  */
00384 
00385     XMLPUBFUN int XMLCALL
00386 
00387         xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
00388 
00389                                           const xmlChar * name,
00390 
00391                                           const char *format, ...);
00392 
00393     XMLPUBFUN int XMLCALL
00394 
00395         xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
00396 
00397                                            const xmlChar * name,
00398 
00399                                            const char *format,
00400 
00401                                            va_list argptr);
00402 
00403     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
00404 
00405                                                       writer,
00406 
00407                                                       const xmlChar * name,
00408 
00409                                                       const xmlChar *
00410 
00411                                                       content);
00412 
00413     XMLPUBFUN int XMLCALL
00414 
00415         xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
00416 
00417                                             const xmlChar * prefix,
00418 
00419                                             const xmlChar * name,
00420 
00421                                             const xmlChar * namespaceURI,
00422 
00423                                             const char *format, ...);
00424 
00425     XMLPUBFUN int XMLCALL
00426 
00427         xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
00428 
00429                                              const xmlChar * prefix,
00430 
00431                                              const xmlChar * name,
00432 
00433                                              const xmlChar * namespaceURI,
00434 
00435                                              const char *format,
00436 
00437                                              va_list argptr);
00438 
00439     XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
00440 
00441                                                         writer,
00442 
00443                                                         const xmlChar *
00444 
00445                                                         prefix,
00446 
00447                                                         const xmlChar *
00448 
00449                                                         name,
00450 
00451                                                         const xmlChar *
00452 
00453                                                         namespaceURI,
00454 
00455                                                         const xmlChar *
00456 
00457                                                         content);
00458 
00459 
00460 
00461 /*
00462 
00463  * PI's
00464 
00465  */
00466 
00467     XMLPUBFUN int XMLCALL
00468 
00469         xmlTextWriterStartPI(xmlTextWriterPtr writer,
00470 
00471                              const xmlChar * target);
00472 
00473     XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
00474 
00475 
00476 
00477 /*
00478 
00479  * PI conveniency functions
00480 
00481  */
00482 
00483     XMLPUBFUN int XMLCALL
00484 
00485         xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
00486 
00487                                    const xmlChar * target,
00488 
00489                                    const char *format, ...);
00490 
00491     XMLPUBFUN int XMLCALL
00492 
00493         xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
00494 
00495                                     const xmlChar * target,
00496 
00497                                     const char *format, va_list argptr);
00498 
00499     XMLPUBFUN int XMLCALL
00500 
00501         xmlTextWriterWritePI(xmlTextWriterPtr writer,
00502 
00503                              const xmlChar * target,
00504 
00505                              const xmlChar * content);
00506 
00507 
00508 
00519 #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
00520 
00521 
00522 
00523 /*
00524 
00525  * CDATA
00526 
00527  */
00528 
00529     XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
00530 
00531     XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
00532 
00533 
00534 
00535 /*
00536 
00537  * CDATA conveniency functions
00538 
00539  */
00540 
00541     XMLPUBFUN int XMLCALL
00542 
00543         xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
00544 
00545                                       const char *format, ...);
00546 
00547     XMLPUBFUN int XMLCALL
00548 
00549         xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
00550 
00551                                        const char *format, va_list argptr);
00552 
00553     XMLPUBFUN int XMLCALL
00554 
00555         xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
00556 
00557                                 const xmlChar * content);
00558 
00559 
00560 
00561 /*
00562 
00563  * DTD
00564 
00565  */
00566 
00567     XMLPUBFUN int XMLCALL
00568 
00569         xmlTextWriterStartDTD(xmlTextWriterPtr writer,
00570 
00571                               const xmlChar * name,
00572 
00573                               const xmlChar * pubid,
00574 
00575                               const xmlChar * sysid);
00576 
00577     XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
00578 
00579 
00580 
00581 /*
00582 
00583  * DTD conveniency functions
00584 
00585  */
00586 
00587     XMLPUBFUN int XMLCALL
00588 
00589         xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
00590 
00591                                     const xmlChar * name,
00592 
00593                                     const xmlChar * pubid,
00594 
00595                                     const xmlChar * sysid,
00596 
00597                                     const char *format, ...);
00598 
00599     XMLPUBFUN int XMLCALL
00600 
00601         xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
00602 
00603                                      const xmlChar * name,
00604 
00605                                      const xmlChar * pubid,
00606 
00607                                      const xmlChar * sysid,
00608 
00609                                      const char *format, va_list argptr);
00610 
00611     XMLPUBFUN int XMLCALL
00612 
00613         xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
00614 
00615                               const xmlChar * name,
00616 
00617                               const xmlChar * pubid,
00618 
00619                               const xmlChar * sysid,
00620 
00621                               const xmlChar * subset);
00622 
00623 
00624 
00635 #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
00636 
00637 
00638 
00639 /*
00640 
00641  * DTD element definition
00642 
00643  */
00644 
00645     XMLPUBFUN int XMLCALL
00646 
00647         xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
00648 
00649                                      const xmlChar * name);
00650 
00651     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
00652 
00653                                                      writer);
00654 
00655 
00656 
00657 /*
00658 
00659  * DTD element definition conveniency functions
00660 
00661  */
00662 
00663     XMLPUBFUN int XMLCALL
00664 
00665         xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
00666 
00667                                            const xmlChar * name,
00668 
00669                                            const char *format, ...);
00670 
00671     XMLPUBFUN int XMLCALL
00672 
00673         xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
00674 
00675                                             const xmlChar * name,
00676 
00677                                             const char *format,
00678 
00679                                             va_list argptr);
00680 
00681     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
00682 
00683                                                        writer,
00684 
00685                                                        const xmlChar *
00686 
00687                                                        name,
00688 
00689                                                        const xmlChar *
00690 
00691                                                        content);
00692 
00693 
00694 
00695 /*
00696 
00697  * DTD attribute list definition
00698 
00699  */
00700 
00701     XMLPUBFUN int XMLCALL
00702 
00703         xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
00704 
00705                                      const xmlChar * name);
00706 
00707     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
00708 
00709                                                      writer);
00710 
00711 
00712 
00713 /*
00714 
00715  * DTD attribute list definition conveniency functions
00716 
00717  */
00718 
00719     XMLPUBFUN int XMLCALL
00720 
00721         xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
00722 
00723                                            const xmlChar * name,
00724 
00725                                            const char *format, ...);
00726 
00727     XMLPUBFUN int XMLCALL
00728 
00729         xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
00730 
00731                                             const xmlChar * name,
00732 
00733                                             const char *format,
00734 
00735                                             va_list argptr);
00736 
00737     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
00738 
00739                                                        writer,
00740 
00741                                                        const xmlChar *
00742 
00743                                                        name,
00744 
00745                                                        const xmlChar *
00746 
00747                                                        content);
00748 
00749 
00750 
00751 /*
00752 
00753  * DTD entity definition
00754 
00755  */
00756 
00757     XMLPUBFUN int XMLCALL
00758 
00759         xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
00760 
00761                                     int pe, const xmlChar * name);
00762 
00763     XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
00764 
00765                                                     writer);
00766 
00767 
00768 
00769 /*
00770 
00771  * DTD entity definition conveniency functions
00772 
00773  */
00774 
00775     XMLPUBFUN int XMLCALL
00776 
00777         xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
00778 
00779                                                   int pe,
00780 
00781                                                   const xmlChar * name,
00782 
00783                                                   const char *format, ...);
00784 
00785     XMLPUBFUN int XMLCALL
00786 
00787         xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
00788 
00789                                                    int pe,
00790 
00791                                                    const xmlChar * name,
00792 
00793                                                    const char *format,
00794 
00795                                                    va_list argptr);
00796 
00797     XMLPUBFUN int XMLCALL
00798 
00799         xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
00800 
00801                                             int pe,
00802 
00803                                             const xmlChar * name,
00804 
00805                                             const xmlChar * content);
00806 
00807     XMLPUBFUN int XMLCALL
00808 
00809         xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
00810 
00811                                             int pe,
00812 
00813                                             const xmlChar * name,
00814 
00815                                             const xmlChar * pubid,
00816 
00817                                             const xmlChar * sysid,
00818 
00819                                             const xmlChar * ndataid);
00820 
00821     XMLPUBFUN int XMLCALL
00822 
00823         xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
00824 
00825                                                     writer,
00826 
00827                                                     const xmlChar * pubid,
00828 
00829                                                     const xmlChar * sysid,
00830 
00831                                                     const xmlChar *
00832 
00833                                                     ndataid);
00834 
00835     XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
00836 
00837                                                       writer, int pe,
00838 
00839                                                       const xmlChar * name,
00840 
00841                                                       const xmlChar *
00842 
00843                                                       pubid,
00844 
00845                                                       const xmlChar *
00846 
00847                                                       sysid,
00848 
00849                                                       const xmlChar *
00850 
00851                                                       ndataid,
00852 
00853                                                       const xmlChar *
00854 
00855                                                       content);
00856 
00857 
00858 
00859 /*
00860 
00861  * DTD notation definition
00862 
00863  */
00864 
00865     XMLPUBFUN int XMLCALL
00866 
00867         xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
00868 
00869                                       const xmlChar * name,
00870 
00871                                       const xmlChar * pubid,
00872 
00873                                       const xmlChar * sysid);
00874 
00875 
00876 
00877 /*
00878 
00879  * Indentation
00880 
00881  */
00882 
00883     XMLPUBFUN int XMLCALL
00884 
00885         xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
00886 
00887     XMLPUBFUN int XMLCALL
00888 
00889         xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
00890 
00891                                      const xmlChar * str);
00892 
00893 
00894 
00895 /*
00896 
00897  * misc
00898 
00899  */
00900 
00901     XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
00902 
00903 
00904 
00905 #ifdef __cplusplus
00906 
00907 }
00908 
00909 #endif
00910 
00911 
00912 
00913 #endif /* LIBXML_WRITER_ENABLED */
00914 
00915 
00916 
00917 #endif                          /* __XML_XMLWRITER_H__ */
00918 

Generated on Wed Jul 26 13:30:47 2006 for XSB by  doxygen 1.4.5