(root)/
gettext-0.22.4/
gnulib-local/
lib/
libxml/
xmlwriter.in.h
       1  /* libxml2 - Library for parsing XML documents
       2   * Copyright (C) 2006-2019 Free Software Foundation, Inc.
       3   *
       4   * This file is not part of the GNU gettext program, but is used with
       5   * GNU gettext.
       6   *
       7   * The original copyright notice is as follows:
       8   */
       9  
      10  /*
      11   * Copyright (C) 1998-2012 Daniel Veillard.  All Rights Reserved.
      12   *
      13   * Permission is hereby granted, free of charge, to any person obtaining a copy
      14   * of this software and associated documentation files (the "Software"), to deal
      15   * in the Software without restriction, including without limitation the rights
      16   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      17   * copies of the Software, and to permit persons to whom the Software is fur-
      18   * nished to do so, subject to the following conditions:
      19   *
      20   * The above copyright notice and this permission notice shall be included in
      21   * all copies or substantial portions of the Software.
      22   *
      23   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      24   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
      25   * NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
      26   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      27   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      28   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
      29   * THE SOFTWARE.
      30   *
      31   * Author: Alfred Mickautsch <alfred@mickautsch.de>
      32   */
      33  
      34  /*
      35   * Summary: text writing API for XML
      36   * Description: text writing API for XML
      37   */
      38  
      39  #ifndef __XML_XMLWRITER_H__
      40  #define __XML_XMLWRITER_H__
      41  
      42  #include <libxml/xmlversion.h>
      43  
      44  #ifdef LIBXML_WRITER_ENABLED
      45  
      46  #include <stdarg.h>
      47  #include <libxml/xmlIO.h>
      48  #include <libxml/list.h>
      49  #include <libxml/xmlstring.h>
      50  
      51  #ifdef __cplusplus
      52  extern "C" {
      53  #endif
      54  
      55      typedef struct _xmlTextWriter xmlTextWriter;
      56      typedef xmlTextWriter *xmlTextWriterPtr;
      57  
      58  /*
      59   * Constructors & Destructor
      60   */
      61      XMLPUBFUN xmlTextWriterPtr XMLCALL
      62          xmlNewTextWriter(xmlOutputBufferPtr out);
      63      XMLPUBFUN xmlTextWriterPtr XMLCALL
      64          xmlNewTextWriterFilename(const char *uri, int compression);
      65      XMLPUBFUN xmlTextWriterPtr XMLCALL
      66          xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
      67      XMLPUBFUN xmlTextWriterPtr XMLCALL
      68          xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
      69      XMLPUBFUN xmlTextWriterPtr XMLCALL
      70          xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
      71      XMLPUBFUN xmlTextWriterPtr XMLCALL
      72          xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
      73                               int compression);
      74      XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
      75  
      76  /*
      77   * Functions
      78   */
      79  
      80  
      81  /*
      82   * Document
      83   */
      84      XMLPUBFUN int XMLCALL
      85          xmlTextWriterStartDocument(xmlTextWriterPtr writer,
      86                                     const char *version,
      87                                     const char *encoding,
      88                                     const char *standalone);
      89      XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
      90                                                     writer);
      91  
      92  /*
      93   * Comments
      94   */
      95      XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
      96                                                      writer);
      97      XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
      98      XMLPUBFUN int XMLCALL
      99          xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
     100                                          const char *format, ...)
     101  					LIBXML_ATTR_FORMAT(2,3);
     102      XMLPUBFUN int XMLCALL
     103          xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
     104                                           const char *format,
     105                                           va_list argptr)
     106  					 LIBXML_ATTR_FORMAT(2,0);
     107      XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
     108                                                      writer,
     109                                                      const xmlChar *
     110                                                      content);
     111  
     112  /*
     113   * Elements
     114   */
     115      XMLPUBFUN int XMLCALL
     116          xmlTextWriterStartElement(xmlTextWriterPtr writer,
     117                                    const xmlChar * name);
     118      XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
     119                                                        writer,
     120                                                        const xmlChar *
     121                                                        prefix,
     122                                                        const xmlChar * name,
     123                                                        const xmlChar *
     124                                                        namespaceURI);
     125      XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
     126      XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
     127                                                        writer);
     128  
     129  /*
     130   * Elements conveniency functions
     131   */
     132      XMLPUBFUN int XMLCALL
     133          xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
     134                                          const xmlChar * name,
     135                                          const char *format, ...)
     136  					LIBXML_ATTR_FORMAT(3,4);
     137      XMLPUBFUN int XMLCALL
     138          xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
     139                                           const xmlChar * name,
     140                                           const char *format,
     141                                           va_list argptr)
     142  					 LIBXML_ATTR_FORMAT(3,0);
     143      XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
     144                                                      writer,
     145                                                      const xmlChar * name,
     146                                                      const xmlChar *
     147                                                      content);
     148      XMLPUBFUN int XMLCALL
     149          xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
     150                                            const xmlChar * prefix,
     151                                            const xmlChar * name,
     152                                            const xmlChar * namespaceURI,
     153                                            const char *format, ...)
     154  					  LIBXML_ATTR_FORMAT(5,6);
     155      XMLPUBFUN int XMLCALL
     156          xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
     157                                             const xmlChar * prefix,
     158                                             const xmlChar * name,
     159                                             const xmlChar * namespaceURI,
     160                                             const char *format,
     161                                             va_list argptr)
     162  					   LIBXML_ATTR_FORMAT(5,0);
     163      XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
     164                                                        writer,
     165                                                        const xmlChar *
     166                                                        prefix,
     167                                                        const xmlChar * name,
     168                                                        const xmlChar *
     169                                                        namespaceURI,
     170                                                        const xmlChar *
     171                                                        content);
     172  
     173  /*
     174   * Text
     175   */
     176      XMLPUBFUN int XMLCALL
     177          xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
     178                                      const char *format, ...)
     179  				    LIBXML_ATTR_FORMAT(2,3);
     180      XMLPUBFUN int XMLCALL
     181          xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
     182                                       const char *format, va_list argptr)
     183  				     LIBXML_ATTR_FORMAT(2,0);
     184      XMLPUBFUN int XMLCALL
     185          xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
     186                                   const xmlChar * content, int len);
     187      XMLPUBFUN int XMLCALL
     188          xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
     189                                const xmlChar * content);
     190      XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
     191                                                           writer,
     192                                                           const char
     193                                                           *format, ...)
     194  							 LIBXML_ATTR_FORMAT(2,3);
     195      XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
     196                                                            writer,
     197                                                            const char
     198                                                            *format,
     199                                                            va_list argptr)
     200  							  LIBXML_ATTR_FORMAT(2,0);
     201      XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
     202                                                     const xmlChar *
     203                                                     content);
     204      XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
     205                                                     const char *data,
     206                                                     int start, int len);
     207      XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
     208                                                     const char *data,
     209                                                     int start, int len);
     210  
     211  /*
     212   * Attributes
     213   */
     214      XMLPUBFUN int XMLCALL
     215          xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
     216                                      const xmlChar * name);
     217      XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
     218                                                          writer,
     219                                                          const xmlChar *
     220                                                          prefix,
     221                                                          const xmlChar *
     222                                                          name,
     223                                                          const xmlChar *
     224                                                          namespaceURI);
     225      XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
     226                                                      writer);
     227  
     228  /*
     229   * Attributes conveniency functions
     230   */
     231      XMLPUBFUN int XMLCALL
     232          xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
     233                                            const xmlChar * name,
     234                                            const char *format, ...)
     235  					  LIBXML_ATTR_FORMAT(3,4);
     236      XMLPUBFUN int XMLCALL
     237          xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
     238                                             const xmlChar * name,
     239                                             const char *format,
     240                                             va_list argptr)
     241  					   LIBXML_ATTR_FORMAT(3,0);
     242      XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
     243                                                        writer,
     244                                                        const xmlChar * name,
     245                                                        const xmlChar *
     246                                                        content);
     247      XMLPUBFUN int XMLCALL
     248          xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
     249                                              const xmlChar * prefix,
     250                                              const xmlChar * name,
     251                                              const xmlChar * namespaceURI,
     252                                              const char *format, ...)
     253  					    LIBXML_ATTR_FORMAT(5,6);
     254      XMLPUBFUN int XMLCALL
     255          xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
     256                                               const xmlChar * prefix,
     257                                               const xmlChar * name,
     258                                               const xmlChar * namespaceURI,
     259                                               const char *format,
     260                                               va_list argptr)
     261  					     LIBXML_ATTR_FORMAT(5,0);
     262      XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
     263                                                          writer,
     264                                                          const xmlChar *
     265                                                          prefix,
     266                                                          const xmlChar *
     267                                                          name,
     268                                                          const xmlChar *
     269                                                          namespaceURI,
     270                                                          const xmlChar *
     271                                                          content);
     272  
     273  /*
     274   * PI's
     275   */
     276      XMLPUBFUN int XMLCALL
     277          xmlTextWriterStartPI(xmlTextWriterPtr writer,
     278                               const xmlChar * target);
     279      XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
     280  
     281  /*
     282   * PI conveniency functions
     283   */
     284      XMLPUBFUN int XMLCALL
     285          xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
     286                                     const xmlChar * target,
     287                                     const char *format, ...)
     288  				   LIBXML_ATTR_FORMAT(3,4);
     289      XMLPUBFUN int XMLCALL
     290          xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
     291                                      const xmlChar * target,
     292                                      const char *format, va_list argptr)
     293  				    LIBXML_ATTR_FORMAT(3,0);
     294      XMLPUBFUN int XMLCALL
     295          xmlTextWriterWritePI(xmlTextWriterPtr writer,
     296                               const xmlChar * target,
     297                               const xmlChar * content);
     298  
     299  /**
     300   * xmlTextWriterWriteProcessingInstruction:
     301   *
     302   * This macro maps to xmlTextWriterWritePI
     303   */
     304  #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
     305  
     306  /*
     307   * CDATA
     308   */
     309      XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
     310      XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
     311  
     312  /*
     313   * CDATA conveniency functions
     314   */
     315      XMLPUBFUN int XMLCALL
     316          xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
     317                                        const char *format, ...)
     318  				      LIBXML_ATTR_FORMAT(2,3);
     319      XMLPUBFUN int XMLCALL
     320          xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
     321                                         const char *format, va_list argptr)
     322  				       LIBXML_ATTR_FORMAT(2,0);
     323      XMLPUBFUN int XMLCALL
     324          xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
     325                                  const xmlChar * content);
     326  
     327  /*
     328   * DTD
     329   */
     330      XMLPUBFUN int XMLCALL
     331          xmlTextWriterStartDTD(xmlTextWriterPtr writer,
     332                                const xmlChar * name,
     333                                const xmlChar * pubid,
     334                                const xmlChar * sysid);
     335      XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
     336  
     337  /*
     338   * DTD conveniency functions
     339   */
     340      XMLPUBFUN int XMLCALL
     341          xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
     342                                      const xmlChar * name,
     343                                      const xmlChar * pubid,
     344                                      const xmlChar * sysid,
     345                                      const char *format, ...)
     346  				    LIBXML_ATTR_FORMAT(5,6);
     347      XMLPUBFUN int XMLCALL
     348          xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
     349                                       const xmlChar * name,
     350                                       const xmlChar * pubid,
     351                                       const xmlChar * sysid,
     352                                       const char *format, va_list argptr)
     353  				     LIBXML_ATTR_FORMAT(5,0);
     354      XMLPUBFUN int XMLCALL
     355          xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
     356                                const xmlChar * name,
     357                                const xmlChar * pubid,
     358                                const xmlChar * sysid,
     359                                const xmlChar * subset);
     360  
     361  /**
     362   * xmlTextWriterWriteDocType:
     363   *
     364   * this macro maps to xmlTextWriterWriteDTD
     365   */
     366  #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
     367  
     368  /*
     369   * DTD element definition
     370   */
     371      XMLPUBFUN int XMLCALL
     372          xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
     373                                       const xmlChar * name);
     374      XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
     375                                                       writer);
     376  
     377  /*
     378   * DTD element definition conveniency functions
     379   */
     380      XMLPUBFUN int XMLCALL
     381          xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
     382                                             const xmlChar * name,
     383                                             const char *format, ...)
     384  					   LIBXML_ATTR_FORMAT(3,4);
     385      XMLPUBFUN int XMLCALL
     386          xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
     387                                              const xmlChar * name,
     388                                              const char *format,
     389                                              va_list argptr)
     390  					    LIBXML_ATTR_FORMAT(3,0);
     391      XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
     392                                                         writer,
     393                                                         const xmlChar *
     394                                                         name,
     395                                                         const xmlChar *
     396                                                         content);
     397  
     398  /*
     399   * DTD attribute list definition
     400   */
     401      XMLPUBFUN int XMLCALL
     402          xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
     403                                       const xmlChar * name);
     404      XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
     405                                                       writer);
     406  
     407  /*
     408   * DTD attribute list definition conveniency functions
     409   */
     410      XMLPUBFUN int XMLCALL
     411          xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
     412                                             const xmlChar * name,
     413                                             const char *format, ...)
     414  					   LIBXML_ATTR_FORMAT(3,4);
     415      XMLPUBFUN int XMLCALL
     416          xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
     417                                              const xmlChar * name,
     418                                              const char *format,
     419                                              va_list argptr)
     420  					    LIBXML_ATTR_FORMAT(3,0);
     421      XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
     422                                                         writer,
     423                                                         const xmlChar *
     424                                                         name,
     425                                                         const xmlChar *
     426                                                         content);
     427  
     428  /*
     429   * DTD entity definition
     430   */
     431      XMLPUBFUN int XMLCALL
     432          xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
     433                                      int pe, const xmlChar * name);
     434      XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
     435                                                      writer);
     436  
     437  /*
     438   * DTD entity definition conveniency functions
     439   */
     440      XMLPUBFUN int XMLCALL
     441          xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
     442                                                    int pe,
     443                                                    const xmlChar * name,
     444                                                    const char *format, ...)
     445  						  LIBXML_ATTR_FORMAT(4,5);
     446      XMLPUBFUN int XMLCALL
     447          xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
     448                                                     int pe,
     449                                                     const xmlChar * name,
     450                                                     const char *format,
     451                                                     va_list argptr)
     452  						   LIBXML_ATTR_FORMAT(4,0);
     453      XMLPUBFUN int XMLCALL
     454          xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
     455                                              int pe,
     456                                              const xmlChar * name,
     457                                              const xmlChar * content);
     458      XMLPUBFUN int XMLCALL
     459          xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
     460                                              int pe,
     461                                              const xmlChar * name,
     462                                              const xmlChar * pubid,
     463                                              const xmlChar * sysid,
     464                                              const xmlChar * ndataid);
     465      XMLPUBFUN int XMLCALL
     466          xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
     467                                                      writer,
     468                                                      const xmlChar * pubid,
     469                                                      const xmlChar * sysid,
     470                                                      const xmlChar *
     471                                                      ndataid);
     472      XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
     473                                                        writer, int pe,
     474                                                        const xmlChar * name,
     475                                                        const xmlChar *
     476                                                        pubid,
     477                                                        const xmlChar *
     478                                                        sysid,
     479                                                        const xmlChar *
     480                                                        ndataid,
     481                                                        const xmlChar *
     482                                                        content);
     483  
     484  /*
     485   * DTD notation definition
     486   */
     487      XMLPUBFUN int XMLCALL
     488          xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
     489                                        const xmlChar * name,
     490                                        const xmlChar * pubid,
     491                                        const xmlChar * sysid);
     492  
     493  /*
     494   * Indentation
     495   */
     496      XMLPUBFUN int XMLCALL
     497          xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
     498      XMLPUBFUN int XMLCALL
     499          xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
     500                                       const xmlChar * str);
     501  
     502      XMLPUBFUN int XMLCALL
     503          xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
     504  
     505  
     506  /*
     507   * misc
     508   */
     509      XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
     510  
     511  #ifdef __cplusplus
     512  }
     513  #endif
     514  
     515  #endif /* LIBXML_WRITER_ENABLED */
     516  
     517  #endif                          /* __XML_XMLWRITER_H__ */