xmlwriter: text writing API for XML

## xmlwriter

xmlwriter - text writing API for XML

text writing API for XML

Author(s): Alfred Mickautsch <alfred@mickautsch.de>

## Synopsis

    #define xmlTextWriterWriteProcessingInstruction;
    #define xmlTextWriterWriteDocType;
    typedef struct _xmlTextWriter xmlTextWriter;
    typedef xmlTextWriter * xmlTextWriterPtr;
    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer,
    					 const char * version,
    					 const char * encoding,
    					 const char * standalone);
    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer,
    					 const char * data,
    					 int start,
    					 int len);
    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer,
    					 const xmlChar * str);
    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer,
    					 const xmlChar * name);
    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer,
    					 const xmlChar * content,
    					 int len);
    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer,
    							 const xmlChar * pubid,
    							 const xmlChar * sysid,
    							 const xmlChar * ndataid);
    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr);
    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI);
    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt,
    							 int compression);
    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 ... ...);
    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer,
    					 int pe,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const xmlChar * ndataid,
    					 const xmlChar * content);
    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const char * format,
    					 va_list argptr);
    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer,
    					 const char * data,
    					 int start,
    					 int len);
    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer);
    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer,
    					 int indent);
    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content);
    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const char * format,
    					 va_list argptr);
    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer);
    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI);
    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer);
    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out);
    void	xmlFreeTextWriter		(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer,
    					 const xmlChar * target);
    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name);
    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer,
    						 int pe,
    						 const xmlChar * name,
    						 const xmlChar * pubid,
    						 const xmlChar * sysid,
    						 const xmlChar * ndataid);
    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer,
    					 const xmlChar * content);
    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer,
    							 int pe,
    							 const xmlChar * name,
    							 const char * format,
    							 va_list argptr);
    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer);
    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content);
    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer);
    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri,
    							 int compression);
    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI,
    					 const xmlChar * content);
    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const xmlChar * content);
    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer,
    							 int pe,
    							 const xmlChar * name,
    							 const char * format,
    							 ... ...);
    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr);
    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer,
    						 int pe,
    						 const xmlChar * name,
    						 const xmlChar * content);
    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid);
    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterSetQuoteChar	(xmlTextWriterPtr writer,
    					 xmlChar quotechar);
    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer,
    					 const xmlChar * content);
    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI,
    					 const xmlChar * content);
    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer);
    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterFlush		(xmlTextWriterPtr writer);
    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid);
    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content);
    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc,
    						 int compression);
    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...);
    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer);
    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc,
    						 xmlNodePtr node,
    						 int compression);
    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf,
    						 int compression);
    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer,
    					 const xmlChar * name);
    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer,
    					 const xmlChar * content);
    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr);
    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const char * format,
    					 ... ...);
    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...);
    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer,
    					 const xmlChar * content);
    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content);
    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const xmlChar * subset);
    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...);
    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer,
    					 int pe,
    					 const xmlChar * name);
    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr);
    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name);
    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 ... ...);

## Description

## Details

### Macro xmlTextWriterWriteDocType

    #define xmlTextWriterWriteDocType;

this macro maps to xmlTextWriterWriteDTD

### Macro xmlTextWriterWriteProcessingInstruction

    #define xmlTextWriterWriteProcessingInstruction;

This macro maps to xmlTextWriterWritePI

### Structure xmlTextWriter

    struct _xmlTextWriter {
    The content of this structure is not made public by the API.
    } xmlTextWriter;

### Typedef xmlTextWriterPtr

    xmlTextWriter * xmlTextWriterPtr;

### xmlFreeTextWriter ()

    void	xmlFreeTextWriter		(xmlTextWriterPtr writer)

Deallocate all the resources associated to the writer

`writer`: | the xmlTextWriterPtr

### xmlNewTextWriter ()

    xmlTextWriterPtr	xmlNewTextWriter	(xmlOutputBufferPtr out)

Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr NOTE: the @out parameter will be deallocated when the writer is closed (if the call succeed.)

`out`: | an xmlOutputBufferPtr
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlNewTextWriterDoc ()

    xmlTextWriterPtr	xmlNewTextWriterDoc	(xmlDocPtr * doc,
    						 int compression)

Create a new xmlNewTextWriter structure with @*doc as output

`doc`: | address of a xmlDocPtr to hold the new XML document tree
`compression`: | compress the output?
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlNewTextWriterFilename ()

    xmlTextWriterPtr	xmlNewTextWriterFilename	(const char * uri,
    							 int compression)

Create a new xmlNewTextWriter structure with @uri as output

`uri`: | the URI of the resource for the output
`compression`: | compress the output?
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlNewTextWriterMemory ()

    xmlTextWriterPtr	xmlNewTextWriterMemory	(xmlBufferPtr buf,
    						 int compression)

Create a new xmlNewTextWriter structure with @buf as output TODO: handle compression

`buf`: | xmlBufferPtr
`compression`: | compress the output?
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlNewTextWriterPushParser ()

    xmlTextWriterPtr	xmlNewTextWriterPushParser	(xmlParserCtxtPtr ctxt,
    							 int compression)

Create a new xmlNewTextWriter structure with @ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: handle compression

`ctxt`: | xmlParserCtxtPtr to hold the new XML document tree
`compression`: | compress the output?
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlNewTextWriterTree ()

    xmlTextWriterPtr	xmlNewTextWriterTree	(xmlDocPtr doc,
    						 xmlNodePtr node,
    						 int compression)

Create a new xmlNewTextWriter structure with @doc as output starting at @node

`doc`: | xmlDocPtr
`node`: | xmlNodePtr or NULL for doc->children
`compression`: | compress the output?
`Returns`: | the new xmlTextWriterPtr or NULL in case of error

### xmlTextWriterEndAttribute ()

    int	xmlTextWriterEndAttribute	(xmlTextWriterPtr writer)

End the current xml element.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndCDATA ()

    int	xmlTextWriterEndCDATA		(xmlTextWriterPtr writer)

End an xml CDATA section.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndComment ()

    int	xmlTextWriterEndComment		(xmlTextWriterPtr writer)

End the current xml comment.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndDTD ()

    int	xmlTextWriterEndDTD		(xmlTextWriterPtr writer)

End an xml DTD.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndDTDAttlist ()

    int	xmlTextWriterEndDTDAttlist	(xmlTextWriterPtr writer)

End an xml DTD attribute list.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndDTDElement ()

    int	xmlTextWriterEndDTDElement	(xmlTextWriterPtr writer)

End an xml DTD element.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndDTDEntity ()

    int	xmlTextWriterEndDTDEntity	(xmlTextWriterPtr writer)

End an xml DTD entity.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndDocument ()

    int	xmlTextWriterEndDocument	(xmlTextWriterPtr writer)

End an xml document. All open elements are closed, and the content is flushed to the output.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written or -1 in case of error

### xmlTextWriterEndElement ()

    int	xmlTextWriterEndElement		(xmlTextWriterPtr writer)

End the current xml element.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterEndPI ()

    int	xmlTextWriterEndPI		(xmlTextWriterPtr writer)

End the current xml PI.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterFlush ()

    int	xmlTextWriterFlush		(xmlTextWriterPtr writer)

Flush the output buffer.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterFullEndElement ()

    int	xmlTextWriterFullEndElement	(xmlTextWriterPtr writer)

End the current xml element. Writes an end tag even if the element is empty

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterSetIndent ()

    int	xmlTextWriterSetIndent		(xmlTextWriterPtr writer,
    					 int indent)

Set indentation output. indent = 0 do not indentation. indent > 0 do indentation.

`writer`: | the xmlTextWriterPtr
`indent`: | do indentation?
`Returns`: | -1 on error or 0 otherwise.

### xmlTextWriterSetIndentString ()

    int	xmlTextWriterSetIndentString	(xmlTextWriterPtr writer,
    					 const xmlChar * str)

Set string indentation.

`writer`: | the xmlTextWriterPtr
`str`: | the xmlChar string
`Returns`: | -1 on error or 0 otherwise.

### xmlTextWriterSetQuoteChar ()

    int	xmlTextWriterSetQuoteChar	(xmlTextWriterPtr writer,
    					 xmlChar quotechar)

Set the character used for quoting attributes.

`writer`: | the xmlTextWriterPtr
`quotechar`: | the quote character
`Returns`: | -1 on error or 0 otherwise.

### xmlTextWriterStartAttribute ()

    int	xmlTextWriterStartAttribute	(xmlTextWriterPtr writer,
    					 const xmlChar * name)

Start an xml attribute.

`writer`: | the xmlTextWriterPtr
`name`: | element name
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartAttributeNS ()

    int	xmlTextWriterStartAttributeNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI)

Start an xml attribute with namespace support.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix or NULL
`name`: | element local name
`namespaceURI`: | namespace URI or NULL
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartCDATA ()

    int	xmlTextWriterStartCDATA		(xmlTextWriterPtr writer)

Start an xml CDATA section.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartComment ()

    int	xmlTextWriterStartComment	(xmlTextWriterPtr writer)

Start an xml comment.

`writer`: | the xmlTextWriterPtr
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartDTD ()

    int	xmlTextWriterStartDTD		(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid)

Start an xml DTD.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartDTDAttlist ()

    int	xmlTextWriterStartDTDAttlist	(xmlTextWriterPtr writer,
    					 const xmlChar * name)

Start an xml DTD ATTLIST.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD ATTLIST
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartDTDElement ()

    int	xmlTextWriterStartDTDElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name)

Start an xml DTD element.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD element
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartDTDEntity ()

    int	xmlTextWriterStartDTDEntity	(xmlTextWriterPtr writer,
    					 int pe,
    					 const xmlChar * name)

Start an xml DTD ATTLIST.

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD ATTLIST
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartDocument ()

    int	xmlTextWriterStartDocument	(xmlTextWriterPtr writer,
    					 const char * version,
    					 const char * encoding,
    					 const char * standalone)

Start a new xml document

`writer`: | the xmlTextWriterPtr
`version`: | the xml version ("1.0") or NULL for default ("1.0")
`encoding`: | the encoding or NULL for default
`standalone`: | "yes" or "no" or NULL for default
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartElement ()

    int	xmlTextWriterStartElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name)

Start an xml element.

`writer`: | the xmlTextWriterPtr
`name`: | element name
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartElementNS ()

    int	xmlTextWriterStartElementNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI)

Start an xml element with namespace support.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix or NULL
`name`: | element local name
`namespaceURI`: | namespace URI or NULL
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterStartPI ()

    int	xmlTextWriterStartPI		(xmlTextWriterPtr writer,
    					 const xmlChar * target)

Start an xml PI.

`writer`: | the xmlTextWriterPtr
`target`: | PI target
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteAttribute ()

    int	xmlTextWriterWriteAttribute	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content)

Write an xml attribute.

`writer`: | the xmlTextWriterPtr
`name`: | attribute name
`content`: | attribute content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteAttributeNS ()

    int	xmlTextWriterWriteAttributeNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI,
    					 const xmlChar * content)

Write an xml attribute.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | attribute local name
`namespaceURI`: | namespace URI
`content`: | attribute content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteBase64 ()

    int	xmlTextWriterWriteBase64	(xmlTextWriterPtr writer,
    					 const char * data,
    					 int start,
    					 int len)

Write an base64 encoded xml text.

`writer`: | the xmlTextWriterPtr
`data`: | binary data
`start`: | the position within the data of the first byte to encode
`len`: | the number of bytes to encode
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteBinHex ()

    int	xmlTextWriterWriteBinHex	(xmlTextWriterPtr writer,
    					 const char * data,
    					 int start,
    					 int len)

Write a BinHex encoded xml text.

`writer`: | the xmlTextWriterPtr
`data`: | binary data
`start`: | the position within the data of the first byte to encode
`len`: | the number of bytes to encode
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteCDATA ()

    int	xmlTextWriterWriteCDATA		(xmlTextWriterPtr writer,
    					 const xmlChar * content)

Write an xml CDATA.

`writer`: | the xmlTextWriterPtr
`content`: | CDATA content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteComment ()

    int	xmlTextWriterWriteComment	(xmlTextWriterPtr writer,
    					 const xmlChar * content)

Write an xml comment.

`writer`: | the xmlTextWriterPtr
`content`: | comment string
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTD ()

    int	xmlTextWriterWriteDTD		(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const xmlChar * subset)

Write a DTD.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`subset`: | string content of the DTD
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDAttlist ()

    int	xmlTextWriterWriteDTDAttlist	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content)

Write a DTD ATTLIST.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD ATTLIST
`content`: | content of the ATTLIST
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDElement ()

    int	xmlTextWriterWriteDTDElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content)

Write a DTD element.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD element
`content`: | content of the element
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDEntity ()

    int	xmlTextWriterWriteDTDEntity	(xmlTextWriterPtr writer,
    					 int pe,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const xmlChar * ndataid,
    					 const xmlChar * content)

Write a DTD entity.

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD entity
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`ndataid`: | the xml notation name.
`content`: | content of the entity
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDExternalEntity ()

    int	xmlTextWriterWriteDTDExternalEntity	(xmlTextWriterPtr writer,
    						 int pe,
    						 const xmlChar * name,
    						 const xmlChar * pubid,
    						 const xmlChar * sysid,
    						 const xmlChar * ndataid)

Write a DTD external entity. The entity must have been started with xmlTextWriterStartDTDEntity

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD entity
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`ndataid`: | the xml notation name.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDExternalEntityContents ()

    int	xmlTextWriterWriteDTDExternalEntityContents	(xmlTextWriterPtr writer,
    							 const xmlChar * pubid,
    							 const xmlChar * sysid,
    							 const xmlChar * ndataid)

Write the contents of a DTD external entity.

`writer`: | the xmlTextWriterPtr
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`ndataid`: | the xml notation name.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDInternalEntity ()

    int	xmlTextWriterWriteDTDInternalEntity	(xmlTextWriterPtr writer,
    						 int pe,
    						 const xmlChar * name,
    						 const xmlChar * content)

Write a DTD internal entity.

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD entity
`content`: | content of the entity
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteDTDNotation ()

    int	xmlTextWriterWriteDTDNotation	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid)

Write a DTD entity.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the xml notation
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteElement ()

    int	xmlTextWriterWriteElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * content)

Write an xml element.

`writer`: | the xmlTextWriterPtr
`name`: | element name
`content`: | element content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteElementNS ()

    int	xmlTextWriterWriteElementNS	(xmlTextWriterPtr writer,
    					 const xmlChar * prefix,
    					 const xmlChar * name,
    					 const xmlChar * namespaceURI,
    					 const xmlChar * content)

Write an xml element with namespace support.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | element local name
`namespaceURI`: | namespace URI
`content`: | element content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatAttribute ()

    int	xmlTextWriterWriteFormatAttribute	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...)

Write a formatted xml attribute.

`writer`: | the xmlTextWriterPtr
`name`: | attribute name
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatAttributeNS ()

    int	xmlTextWriterWriteFormatAttributeNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 ... ...)

Write a formatted xml attribute.with namespace support

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | attribute local name
`namespaceURI`: | namespace URI
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatCDATA ()

    int	xmlTextWriterWriteFormatCDATA	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...)

Write a formatted xml CDATA.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatComment ()

    int	xmlTextWriterWriteFormatComment	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...)

Write an xml comment.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatDTD ()

    int	xmlTextWriterWriteFormatDTD	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const char * format,
    					 ... ...)

Write a DTD with a formatted markup declarations part.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatDTDAttlist ()

    int	xmlTextWriterWriteFormatDTDAttlist	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...)

Write a formatted DTD ATTLIST.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD ATTLIST
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatDTDElement ()

    int	xmlTextWriterWriteFormatDTDElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 ... ...)

Write a formatted DTD element.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD element
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatDTDInternalEntity ()

    int	xmlTextWriterWriteFormatDTDInternalEntity	(xmlTextWriterPtr writer,
    							 int pe,
    							 const xmlChar * name,
    							 const char * format,
    							 ... ...)

Write a formatted DTD internal entity.

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD entity
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatElement ()

    int	xmlTextWriterWriteFormatElement	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const char * format,
    					 ... ...)

Write a formatted xml element.

`writer`: | the xmlTextWriterPtr
`name`: | element name
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatElementNS ()

    int	xmlTextWriterWriteFormatElementNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 ... ...)

Write a formatted xml element with namespace support.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | element local name
`namespaceURI`: | namespace URI
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatPI ()

    int	xmlTextWriterWriteFormatPI	(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const char * format,
    					 ... ...)

Write a formatted PI.

`writer`: | the xmlTextWriterPtr
`target`: | PI target
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatRaw ()

    int	xmlTextWriterWriteFormatRaw	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...)

Write a formatted raw xml text.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteFormatString ()

    int	xmlTextWriterWriteFormatString	(xmlTextWriterPtr writer,
    					 const char * format,
    					 ... ...)

Write a formatted xml text.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`...`: | extra parameters for the format
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWritePI ()

    int	xmlTextWriterWritePI		(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const xmlChar * content)

Write an xml PI.

`writer`: | the xmlTextWriterPtr
`target`: | PI target
`content`: | PI content
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteRaw ()

    int	xmlTextWriterWriteRaw		(xmlTextWriterPtr writer,
    					 const xmlChar * content)

Write a raw xml text.

`writer`: | the xmlTextWriterPtr
`content`: | text string
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteRawLen ()

    int	xmlTextWriterWriteRawLen	(xmlTextWriterPtr writer,
    					 const xmlChar * content,
    					 int len)

Write an xml text. TODO: what about entities and special chars??

`writer`: | the xmlTextWriterPtr
`content`: | text string
`len`: | length of the text string
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteString ()

    int	xmlTextWriterWriteString	(xmlTextWriterPtr writer,
    					 const xmlChar * content)

Write an xml text.

`writer`: | the xmlTextWriterPtr
`content`: | text string
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatAttribute ()

    int	xmlTextWriterWriteVFormatAttribute	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr)

Write a formatted xml attribute.

`writer`: | the xmlTextWriterPtr
`name`: | attribute name
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatAttributeNS ()

    int	xmlTextWriterWriteVFormatAttributeNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 va_list argptr)

Write a formatted xml attribute.with namespace support

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | attribute local name
`namespaceURI`: | namespace URI
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatCDATA ()

    int	xmlTextWriterWriteVFormatCDATA	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr)

Write a formatted xml CDATA.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatComment ()

    int	xmlTextWriterWriteVFormatComment	(xmlTextWriterPtr writer,
    						 const char * format,
    						 va_list argptr)

Write an xml comment.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatDTD ()

    int	xmlTextWriterWriteVFormatDTD	(xmlTextWriterPtr writer,
    					 const xmlChar * name,
    					 const xmlChar * pubid,
    					 const xmlChar * sysid,
    					 const char * format,
    					 va_list argptr)

Write a DTD with a formatted markup declarations part.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD
`pubid`: | the public identifier, which is an alternative to the system identifier
`sysid`: | the system identifier, which is the URI of the DTD
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatDTDAttlist ()

    int	xmlTextWriterWriteVFormatDTDAttlist	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr)

Write a formatted DTD ATTLIST.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD ATTLIST
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatDTDElement ()

    int	xmlTextWriterWriteVFormatDTDElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr)

Write a formatted DTD element.

`writer`: | the xmlTextWriterPtr
`name`: | the name of the DTD element
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatDTDInternalEntity ()

    int	xmlTextWriterWriteVFormatDTDInternalEntity	(xmlTextWriterPtr writer,
    							 int pe,
    							 const xmlChar * name,
    							 const char * format,
    							 va_list argptr)

Write a formatted DTD internal entity.

`writer`: | the xmlTextWriterPtr
`pe`: | TRUE if this is a parameter entity, FALSE if not
`name`: | the name of the DTD entity
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatElement ()

    int	xmlTextWriterWriteVFormatElement	(xmlTextWriterPtr writer,
    						 const xmlChar * name,
    						 const char * format,
    						 va_list argptr)

Write a formatted xml element.

`writer`: | the xmlTextWriterPtr
`name`: | element name
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatElementNS ()

    int	xmlTextWriterWriteVFormatElementNS	(xmlTextWriterPtr writer,
    						 const xmlChar * prefix,
    						 const xmlChar * name,
    						 const xmlChar * namespaceURI,
    						 const char * format,
    						 va_list argptr)

Write a formatted xml element with namespace support.

`writer`: | the xmlTextWriterPtr
`prefix`: | namespace prefix
`name`: | element local name
`namespaceURI`: | namespace URI
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatPI ()

    int	xmlTextWriterWriteVFormatPI	(xmlTextWriterPtr writer,
    					 const xmlChar * target,
    					 const char * format,
    					 va_list argptr)

Write a formatted xml PI.

`writer`: | the xmlTextWriterPtr
`target`: | PI target
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatRaw ()

    int	xmlTextWriterWriteVFormatRaw	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr)

Write a formatted raw xml text.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error

### xmlTextWriterWriteVFormatString ()

    int	xmlTextWriterWriteVFormatString	(xmlTextWriterPtr writer,
    					 const char * format,
    					 va_list argptr)

Write a formatted xml text.

`writer`: | the xmlTextWriterPtr
`format`: | format string (see printf)
`argptr`: | pointer to the first member of the variable argument list.
`Returns`: | the bytes written (may be 0 because of buffering) or -1 in case of error