11d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Summary: text writing API for XML
3be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Description: text writing API for XML
41d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard *
5be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Copy: See Copyright for the status of this software.
61d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard *
7be5869729a416032a4abb5a65430d25831828f75Daniel Veillard * Author: Alfred Mickautsch <alfred@mickautsch.de>
81d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
91d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
101d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#ifndef __XML_XMLWRITER_H__
111d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#define __XML_XMLWRITER_H__
121d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
13a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#include <libxml/xmlversion.h>
14a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
15a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#ifdef LIBXML_WRITER_ENABLED
16a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
175841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard#include <stdarg.h>
181d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#include <libxml/xmlIO.h>
191d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#include <libxml/list.h>
20a2e844a3b3503367a4418187e77ccc977f186909William M. Brack#include <libxml/xmlstring.h>
21a2e844a3b3503367a4418187e77ccc977f186909William M. Brack
22a2e844a3b3503367a4418187e77ccc977f186909William M. Brack#ifdef __cplusplus
23a2e844a3b3503367a4418187e77ccc977f186909William M. Brackextern "C" {
24a2e844a3b3503367a4418187e77ccc977f186909William M. Brack#endif
251d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
26ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    typedef struct _xmlTextWriter xmlTextWriter;
27ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    typedef xmlTextWriter *xmlTextWriterPtr;
281d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
291d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
301d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Constructors & Destructor
311d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
32ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
33ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlNewTextWriter(xmlOutputBufferPtr out);
34ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
355841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard        xmlNewTextWriterFilename(const char *uri, int compression);
36ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
375841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard        xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
38ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
395841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard        xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
40ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
415841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard        xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
42ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN xmlTextWriterPtr XMLCALL
43500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard        xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
44500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                             int compression);
45ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN void XMLCALL xmlFreeTextWriter(xmlTextWriterPtr writer);
461d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
471d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
481d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Functions
491d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
501d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
511d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
521d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
531d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Document
541d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
55ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
56ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartDocument(xmlTextWriterPtr writer,
57ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                   const char *version,
58ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                   const char *encoding,
59ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                   const char *standalone);
60500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndDocument(xmlTextWriterPtr
61500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   writer);
621d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
631d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
641d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Comments
651d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
66500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterStartComment(xmlTextWriterPtr
67500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer);
68ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndComment(xmlTextWriterPtr writer);
69ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
70ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
71f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                        const char *format, ...)
72f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					LIBXML_ATTR_FORMAT(2,3);
73ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
74ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
75ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                         const char *format,
76f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                         va_list argptr)
77f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					 LIBXML_ATTR_FORMAT(2,0);
78500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteComment(xmlTextWriterPtr
79500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer,
80500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar *
81500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    content);
821d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
831d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
841d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Elements
851d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
86ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
87ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartElement(xmlTextWriterPtr writer,
88ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                  const xmlChar * name);
89500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterStartElementNS(xmlTextWriterPtr
90500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      writer,
91500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
92500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      prefix,
93500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar * name,
94500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
95500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      namespaceURI);
965841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndElement(xmlTextWriterPtr writer);
97500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterFullEndElement(xmlTextWriterPtr
98500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      writer);
991d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
1001d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
1011d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Elements conveniency functions
1021d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
103ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
104ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
105ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                        const xmlChar * name,
106f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                        const char *format, ...)
107f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					LIBXML_ATTR_FORMAT(3,4);
108ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
109ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
110ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                         const xmlChar * name,
111ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                         const char *format,
112f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                         va_list argptr)
113f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					 LIBXML_ATTR_FORMAT(3,0);
114500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteElement(xmlTextWriterPtr
115500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer,
116500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar * name,
117500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar *
118500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    content);
119ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
120ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
121ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                          const xmlChar * prefix,
122ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                          const xmlChar * name,
123ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                          const xmlChar * namespaceURI,
124f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                          const char *format, ...)
125f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					  LIBXML_ATTR_FORMAT(5,6);
126ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
127ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
128ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * prefix,
129ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * name,
130ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * namespaceURI,
131ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const char *format,
132f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                           va_list argptr)
133f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					   LIBXML_ATTR_FORMAT(5,0);
134500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteElementNS(xmlTextWriterPtr
135500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      writer,
136500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
137500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      prefix,
138500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar * name,
139500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
140500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      namespaceURI,
141500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
142500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      content);
1431d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
1441d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
1451d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Text
1461d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
147ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
148ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
149f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                    const char *format, ...)
150f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				    LIBXML_ATTR_FORMAT(2,3);
151ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
152ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
153f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                     const char *format, va_list argptr)
154f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				     LIBXML_ATTR_FORMAT(2,0);
155ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
156ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
1575841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard                                 const xmlChar * content, int len);
158ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
159ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
160ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * content);
161500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteFormatString(xmlTextWriterPtr
162500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                         writer,
163500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                         const char
164f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                                         *format, ...)
165f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard							 LIBXML_ATTR_FORMAT(2,3);
166500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteVFormatString(xmlTextWriterPtr
167500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                          writer,
168500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                          const char
169500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                          *format,
170f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                                          va_list argptr)
171f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard							  LIBXML_ATTR_FORMAT(2,0);
172500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteString(xmlTextWriterPtr writer,
173500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   const xmlChar *
174500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   content);
175500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
176500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   const char *data,
177500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   int start, int len);
178500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
179500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   const char *data,
180500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                   int start, int len);
1811d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
1821d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
1831d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Attributes
1841d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
185ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
186ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
187ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                    const xmlChar * name);
188500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterStartAttributeNS(xmlTextWriterPtr
189500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        writer,
190500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
191500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        prefix,
192500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
193500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        name,
194500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
195500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        namespaceURI);
196500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndAttribute(xmlTextWriterPtr
197500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer);
1981d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
1991d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2001d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * Attributes conveniency functions
2011d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
202ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
203ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
204ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                          const xmlChar * name,
205f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                          const char *format, ...)
206f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					  LIBXML_ATTR_FORMAT(3,4);
207ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
208ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
209ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * name,
210ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const char *format,
211f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                           va_list argptr)
212f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					   LIBXML_ATTR_FORMAT(3,0);
213500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttribute(xmlTextWriterPtr
214500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      writer,
215500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar * name,
216500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
217500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      content);
218ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
219ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
220ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * prefix,
221ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * name,
222ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * namespaceURI,
223f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                            const char *format, ...)
224f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					    LIBXML_ATTR_FORMAT(5,6);
225ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
226ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
227ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                             const xmlChar * prefix,
228ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                             const xmlChar * name,
229ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                             const xmlChar * namespaceURI,
230ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                             const char *format,
231f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                             va_list argptr)
232f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					     LIBXML_ATTR_FORMAT(5,0);
233500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
234500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        writer,
235500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
236500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        prefix,
237500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
238500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        name,
239500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
240500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        namespaceURI,
241500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        const xmlChar *
242500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                        content);
2431d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
2441d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2451d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * PI's
2461d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
247ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
248ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartPI(xmlTextWriterPtr writer,
249ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                             const xmlChar * target);
250ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndPI(xmlTextWriterPtr writer);
2511d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
2521d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2531d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * PI conveniency functions
2541d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
255ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
256ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
257ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                   const xmlChar * target,
258f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                   const char *format, ...)
259f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				   LIBXML_ATTR_FORMAT(3,4);
260ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
261ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
262ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                    const xmlChar * target,
263f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                    const char *format, va_list argptr)
264f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				    LIBXML_ATTR_FORMAT(3,0);
265ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
266ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWritePI(xmlTextWriterPtr writer,
267ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                             const xmlChar * target,
268ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                             const xmlChar * content);
269ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard
2701e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard/**
2711e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * xmlTextWriterWriteProcessingInstruction:
2721e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard *
2731e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * This macro maps to xmlTextWriterWritePI
2741e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard */
2751d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
2761d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
2771d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2781d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * CDATA
2791d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
280ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
281ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
2821d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
2831d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2841d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * CDATA conveniency functions
2851d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
286ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
287ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
288f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                      const char *format, ...)
289f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				      LIBXML_ATTR_FORMAT(2,3);
290ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
291ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
292f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                       const char *format, va_list argptr)
293f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				       LIBXML_ATTR_FORMAT(2,0);
294ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
295ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
296ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                const xmlChar * content);
2971d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
2981d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
2991d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD
3001d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
301ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
302ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartDTD(xmlTextWriterPtr writer,
303ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * name,
304ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * pubid,
305ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * sysid);
306ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndDTD(xmlTextWriterPtr writer);
3071d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3081d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
3091d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD conveniency functions
3101d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
311ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
312ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
313ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                    const xmlChar * name,
314ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                    const xmlChar * pubid,
315ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                    const xmlChar * sysid,
316f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                    const char *format, ...)
317f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				    LIBXML_ATTR_FORMAT(5,6);
318ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
319ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
320ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * name,
321ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * pubid,
322ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * sysid,
323f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                     const char *format, va_list argptr)
324f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard				     LIBXML_ATTR_FORMAT(5,0);
325ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
326ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
327ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * name,
328ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * pubid,
329ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * sysid,
330ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                              const xmlChar * subset);
331ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard
3321e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard/**
3331e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * xmlTextWriterWriteDocType:
3341e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard *
3351e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard * this macro maps to xmlTextWriterWriteDTD
3361e90661bb817402f85103c3b9d3ce6ebab570f38Daniel Veillard */
3371d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
3381d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3391d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
3401d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD element definition
3411d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
342ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
343ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
344ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * name);
345500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDElement(xmlTextWriterPtr
346500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                     writer);
3471d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3481d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
3491d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD element definition conveniency functions
3501d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
351ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
352ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
353ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * name,
354f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                           const char *format, ...)
355f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					   LIBXML_ATTR_FORMAT(3,4);
356ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
357ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
358ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * name,
359ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const char *format,
360f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                            va_list argptr)
361f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					    LIBXML_ATTR_FORMAT(3,0);
362500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDElement(xmlTextWriterPtr
363500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       writer,
364500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       const xmlChar *
365500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       name,
366500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       const xmlChar *
367500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       content);
3681d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3691d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
3701d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD attribute list definition
3711d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
372ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
373ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
374ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * name);
375500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
376500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                     writer);
3771d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3781d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
3791d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD attribute list definition conveniency functions
3801d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
381ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
382ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
383ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                           const xmlChar * name,
384f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                           const char *format, ...)
385f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					   LIBXML_ATTR_FORMAT(3,4);
386ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
387ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
388ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * name,
389ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const char *format,
390f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                            va_list argptr)
391f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard					    LIBXML_ATTR_FORMAT(3,0);
392500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
393500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       writer,
394500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       const xmlChar *
395500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       name,
396500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       const xmlChar *
397500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                       content);
3981d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
3991d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
4001d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD entity definition
4011d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
402ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
403ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
4045841f0e0a44fdfaf6cee6511fbb71d5a76e3ff23Daniel Veillard                                    int pe, const xmlChar * name);
405500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterEndDTDEntity(xmlTextWriterPtr
406500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer);
4071d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
4081d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
4091d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD entity definition conveniency functions
4101d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
411ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
412ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
413ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                                  int pe,
414ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                                  const xmlChar * name,
415f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                                  const char *format, ...)
416f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard						  LIBXML_ATTR_FORMAT(4,5);
417ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
418ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
419ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                                   int pe,
420ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                                   const xmlChar * name,
421ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                                   const char *format,
422f63085de5e33a95e326d1d810fb18d979359012bDaniel Veillard                                                   va_list argptr)
423f076f348c4e7449f3f70b1e0f2137dccd0c2ba2eDaniel Veillard						   LIBXML_ATTR_FORMAT(4,0);
424ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
425ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
426ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            int pe,
427ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * name,
428ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * content);
429ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
430ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
431ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            int pe,
432ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * name,
433ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * pubid,
434ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * sysid,
435ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                            const xmlChar * ndataid);
436ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
437500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard        xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
438500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    writer,
439500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar * pubid,
440500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar * sysid,
441500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    const xmlChar *
442500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                    ndataid);
443500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
444500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      writer, int pe,
445500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar * name,
446500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
447500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      pubid,
448500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
449500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      sysid,
450500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
451500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      ndataid,
452500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      const xmlChar *
453500a1de533e2ea03f452844f537bb247b7e43af2Daniel Veillard                                                      content);
4541d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
4551d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
4561d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * DTD notation definition
4571d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
458ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
459ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
460ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                      const xmlChar * name,
461ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                      const xmlChar * pubid,
462ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                      const xmlChar * sysid);
463ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard
4642cca446b86a77022d5b847b106544aede7207dbcDaniel Veillard/*
4652cca446b86a77022d5b847b106544aede7207dbcDaniel Veillard * Indentation
4662cca446b86a77022d5b847b106544aede7207dbcDaniel Veillard */
467ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
468ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
469ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL
470ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard        xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
471ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard                                     const xmlChar * str);
4721d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
473429d3a0aae2eda7ba9451f9c9f8523c61cc0368bCsaba Raduly    XMLPUBFUN int XMLCALL
474429d3a0aae2eda7ba9451f9c9f8523c61cc0368bCsaba Raduly        xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
475429d3a0aae2eda7ba9451f9c9f8523c61cc0368bCsaba Raduly
476429d3a0aae2eda7ba9451f9c9f8523c61cc0368bCsaba Raduly
4771d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard/*
4781d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard * misc
4791d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard */
480ab69f366d0a9178749f2f0a888f6167605bf78f2Daniel Veillard    XMLPUBFUN int XMLCALL xmlTextWriterFlush(xmlTextWriterPtr writer);
4811d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard
4821d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#ifdef __cplusplus
4831d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard}
4841d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#endif
485a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
486a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard#endif /* LIBXML_WRITER_ENABLED */
487a2351322c89608d09ce1a99e5eccd62d00c79890Daniel Veillard
4881d211e227372e5ed75a69fbad5f50d185d0af936Daniel Veillard#endif                          /* __XML_XMLWRITER_H__ */
489