| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489 |
- /*
- * Summary: text writing API for XML
- * Description: text writing API for XML
- *
- * Copy: See Copyright for the status of this software.
- *
- * Author: Alfred Mickautsch <alfred@mickautsch.de>
- */
- #ifndef __XML_XMLWRITER_H__
- #define __XML_XMLWRITER_H__
- #include <libxml/xmlversion.h>
- #ifdef LIBXML_WRITER_ENABLED
- #include <stdarg.h>
- #include <libxml/xmlIO.h>
- #include <libxml/list.h>
- #include <libxml/xmlstring.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct _xmlTextWriter xmlTextWriter;
- typedef xmlTextWriter *xmlTextWriterPtr;
- /*
- * Constructors & Destructor
- */
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriter(xmlOutputBufferPtr out);
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriterFilename(const char *uri, int compression);
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriterMemory(xmlBufferPtr buf, int compression);
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriterPushParser(xmlParserCtxtPtr ctxt, int compression);
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriterDoc(xmlDocPtr * doc, int compression);
- XMLPUBFUN xmlTextWriterPtr
- xmlNewTextWriterTree(xmlDocPtr doc, xmlNodePtr node,
- int compression);
- XMLPUBFUN void xmlFreeTextWriter(xmlTextWriterPtr writer);
- /*
- * Functions
- */
- /*
- * Document
- */
- XMLPUBFUN int
- xmlTextWriterStartDocument(xmlTextWriterPtr writer,
- const char *version,
- const char *encoding,
- const char *standalone);
- XMLPUBFUN int xmlTextWriterEndDocument(xmlTextWriterPtr
- writer);
- /*
- * Comments
- */
- XMLPUBFUN int xmlTextWriterStartComment(xmlTextWriterPtr
- writer);
- XMLPUBFUN int xmlTextWriterEndComment(xmlTextWriterPtr writer);
- XMLPUBFUN int
- xmlTextWriterWriteFormatComment(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatComment(xmlTextWriterPtr writer,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int xmlTextWriterWriteComment(xmlTextWriterPtr
- writer,
- const xmlChar *
- content);
- /*
- * Elements
- */
- XMLPUBFUN int
- xmlTextWriterStartElement(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int xmlTextWriterStartElementNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar * name,
- const xmlChar *
- namespaceURI);
- XMLPUBFUN int xmlTextWriterEndElement(xmlTextWriterPtr writer);
- XMLPUBFUN int xmlTextWriterFullEndElement(xmlTextWriterPtr
- writer);
- /*
- * Elements conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int xmlTextWriterWriteElement(xmlTextWriterPtr
- writer,
- const xmlChar * name,
- const xmlChar *
- content);
- XMLPUBFUN int
- xmlTextWriterWriteFormatElementNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatElementNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(5,0);
- XMLPUBFUN int xmlTextWriterWriteElementNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar * name,
- const xmlChar *
- namespaceURI,
- const xmlChar *
- content);
- /*
- * Text
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatRaw(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatRaw(xmlTextWriterPtr writer,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int
- xmlTextWriterWriteRawLen(xmlTextWriterPtr writer,
- const xmlChar * content, int len);
- XMLPUBFUN int
- xmlTextWriterWriteRaw(xmlTextWriterPtr writer,
- const xmlChar * content);
- XMLPUBFUN int xmlTextWriterWriteFormatString(xmlTextWriterPtr
- writer,
- const char
- *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int xmlTextWriterWriteVFormatString(xmlTextWriterPtr
- writer,
- const char
- *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int xmlTextWriterWriteString(xmlTextWriterPtr writer,
- const xmlChar *
- content);
- XMLPUBFUN int xmlTextWriterWriteBase64(xmlTextWriterPtr writer,
- const char *data,
- int start, int len);
- XMLPUBFUN int xmlTextWriterWriteBinHex(xmlTextWriterPtr writer,
- const char *data,
- int start, int len);
- /*
- * Attributes
- */
- XMLPUBFUN int
- xmlTextWriterStartAttribute(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int xmlTextWriterStartAttributeNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar *
- name,
- const xmlChar *
- namespaceURI);
- XMLPUBFUN int xmlTextWriterEndAttribute(xmlTextWriterPtr
- writer);
- /*
- * Attributes conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatAttribute(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatAttribute(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int xmlTextWriterWriteAttribute(xmlTextWriterPtr
- writer,
- const xmlChar * name,
- const xmlChar *
- content);
- XMLPUBFUN int
- xmlTextWriterWriteFormatAttributeNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatAttributeNS(xmlTextWriterPtr writer,
- const xmlChar * prefix,
- const xmlChar * name,
- const xmlChar * namespaceURI,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(5,0);
- XMLPUBFUN int xmlTextWriterWriteAttributeNS(xmlTextWriterPtr
- writer,
- const xmlChar *
- prefix,
- const xmlChar *
- name,
- const xmlChar *
- namespaceURI,
- const xmlChar *
- content);
- /*
- * PI's
- */
- XMLPUBFUN int
- xmlTextWriterStartPI(xmlTextWriterPtr writer,
- const xmlChar * target);
- XMLPUBFUN int xmlTextWriterEndPI(xmlTextWriterPtr writer);
- /*
- * PI conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatPI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatPI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int
- xmlTextWriterWritePI(xmlTextWriterPtr writer,
- const xmlChar * target,
- const xmlChar * content);
- /**
- * xmlTextWriterWriteProcessingInstruction:
- *
- * This macro maps to xmlTextWriterWritePI
- */
- #define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
- /*
- * CDATA
- */
- XMLPUBFUN int xmlTextWriterStartCDATA(xmlTextWriterPtr writer);
- XMLPUBFUN int xmlTextWriterEndCDATA(xmlTextWriterPtr writer);
- /*
- * CDATA conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatCDATA(xmlTextWriterPtr writer,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(2,3);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatCDATA(xmlTextWriterPtr writer,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(2,0);
- XMLPUBFUN int
- xmlTextWriterWriteCDATA(xmlTextWriterPtr writer,
- const xmlChar * content);
- /*
- * DTD
- */
- XMLPUBFUN int
- xmlTextWriterStartDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid);
- XMLPUBFUN int xmlTextWriterEndDTD(xmlTextWriterPtr writer);
- /*
- * DTD conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(5,6);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const char *format, va_list argptr)
- LIBXML_ATTR_FORMAT(5,0);
- XMLPUBFUN int
- xmlTextWriterWriteDTD(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const xmlChar * subset);
- /**
- * xmlTextWriterWriteDocType:
- *
- * this macro maps to xmlTextWriterWriteDTD
- */
- #define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
- /*
- * DTD element definition
- */
- XMLPUBFUN int
- xmlTextWriterStartDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int xmlTextWriterEndDTDElement(xmlTextWriterPtr
- writer);
- /*
- * DTD element definition conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatDTDElement(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int xmlTextWriterWriteDTDElement(xmlTextWriterPtr
- writer,
- const xmlChar *
- name,
- const xmlChar *
- content);
- /*
- * DTD attribute list definition
- */
- XMLPUBFUN int
- xmlTextWriterStartDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name);
- XMLPUBFUN int xmlTextWriterEndDTDAttlist(xmlTextWriterPtr
- writer);
- /*
- * DTD attribute list definition conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(3,4);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatDTDAttlist(xmlTextWriterPtr writer,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(3,0);
- XMLPUBFUN int xmlTextWriterWriteDTDAttlist(xmlTextWriterPtr
- writer,
- const xmlChar *
- name,
- const xmlChar *
- content);
- /*
- * DTD entity definition
- */
- XMLPUBFUN int
- xmlTextWriterStartDTDEntity(xmlTextWriterPtr writer,
- int pe, const xmlChar * name);
- XMLPUBFUN int xmlTextWriterEndDTDEntity(xmlTextWriterPtr
- writer);
- /*
- * DTD entity definition conveniency functions
- */
- XMLPUBFUN int
- xmlTextWriterWriteFormatDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const char *format, ...)
- LIBXML_ATTR_FORMAT(4,5);
- XMLPUBFUN int
- xmlTextWriterWriteVFormatDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const char *format,
- va_list argptr)
- LIBXML_ATTR_FORMAT(4,0);
- XMLPUBFUN int
- xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const xmlChar * content);
- XMLPUBFUN int
- xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
- int pe,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const xmlChar * ndataid);
- XMLPUBFUN int
- xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
- writer,
- const xmlChar * pubid,
- const xmlChar * sysid,
- const xmlChar *
- ndataid);
- XMLPUBFUN int xmlTextWriterWriteDTDEntity(xmlTextWriterPtr
- writer, int pe,
- const xmlChar * name,
- const xmlChar *
- pubid,
- const xmlChar *
- sysid,
- const xmlChar *
- ndataid,
- const xmlChar *
- content);
- /*
- * DTD notation definition
- */
- XMLPUBFUN int
- xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
- const xmlChar * name,
- const xmlChar * pubid,
- const xmlChar * sysid);
- /*
- * Indentation
- */
- XMLPUBFUN int
- xmlTextWriterSetIndent(xmlTextWriterPtr writer, int indent);
- XMLPUBFUN int
- xmlTextWriterSetIndentString(xmlTextWriterPtr writer,
- const xmlChar * str);
- XMLPUBFUN int
- xmlTextWriterSetQuoteChar(xmlTextWriterPtr writer, xmlChar quotechar);
- /*
- * misc
- */
- XMLPUBFUN int xmlTextWriterFlush(xmlTextWriterPtr writer);
- XMLPUBFUN int xmlTextWriterClose(xmlTextWriterPtr writer);
- #ifdef __cplusplus
- }
- #endif
- #endif /* LIBXML_WRITER_ENABLED */
- #endif /* __XML_XMLWRITER_H__ */
|