deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xmlsave.html
| | | | | libxml2 Reference Manual |
xmlsave - the XML document serializer
API to save document or subtree of document
Author(s): Daniel Veillard
typedef enum[xmlSaveOption](#xmlSaveOption);
typedef struct _xmlSaveCtxt[xmlSaveCtxt](#xmlSaveCtxt);
typedef[xmlSaveCtxt](libxml2-xmlsave.html#xmlSaveCtxt)*[xmlSaveCtxtPtr](#xmlSaveCtxtPtr);[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)[xmlSaveToIO](#xmlSaveToIO)([xmlOutputWriteCallback](libxml2-xmlIO.html#xmlOutputWriteCallback)iowrite,
[xmlOutputCloseCallback](libxml2-xmlIO.html#xmlOutputCloseCallback)ioclose,
void * ioctx,
const char * encoding,
int options);[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)[xmlSaveToFd](#xmlSaveToFd)(int fd,
const char * encoding,
int options);
int[xmlSaveClose](#xmlSaveClose)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt);
int[xmlSaveSetAttrEscape](#xmlSaveSetAttrEscape)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlCharEncodingOutputFunc](libxml2-encoding.html#xmlCharEncodingOutputFunc)escape);[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)[xmlSaveToBuffer](#xmlSaveToBuffer)([xmlBufferPtr](libxml2-tree.html#xmlBufferPtr)buffer,
const char * encoding,
int options);[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)[xmlSaveToFilename](#xmlSaveToFilename)(const char * filename,
const char * encoding,
int options);
int[xmlSaveFlush](#xmlSaveFlush)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt);
long[xmlSaveDoc](#xmlSaveDoc)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc);
int[xmlSaveSetEscape](#xmlSaveSetEscape)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlCharEncodingOutputFunc](libxml2-encoding.html#xmlCharEncodingOutputFunc)escape);
long[xmlSaveTree](#xmlSaveTree)([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)node);
struct _xmlSaveCtxt {
The content of this structure is not made public by the API.
} xmlSaveCtxt;
[xmlSaveCtxt](libxml2-xmlsave.html#xmlSaveCtxt)* xmlSaveCtxtPtr;
enum[xmlSaveOption](#xmlSaveOption){XML\_SAVE\_FORMAT= 1 /* format save output */XML\_SAVE\_NO\_DECL= 2 /* drop the xml declaration */XML\_SAVE\_NO\_EMPTY= 4 /* no empty tags */XML\_SAVE\_NO\_XHTML= 8 /* disable XHTML1 specific rules */XML\_SAVE\_XHTML= 16 /* force XHTML1 specific rules */XML\_SAVE\_AS\_XML= 32 /* force XML serialization on HTML doc */XML\_SAVE\_AS\_HTML= 64 /* force HTML serialization on XML doc */XML\_SAVE\_WSNONSIG= 128 /* format with non-significant whitespace */
};
int xmlSaveClose ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt)
Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.
| ctxt: | a document saving context | | Returns: | the number of byte written or -1 in case of error. |
long xmlSaveDoc ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlDocPtr](libxml2-tree.html#xmlDocPtr)doc)
Save a full document to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead
| ctxt: | a document saving context | | doc: | a document | | Returns: | the number of byte written or -1 in case of error |
int xmlSaveFlush ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt)
Flush a document saving context, i.e. make sure that all bytes have been output.
| ctxt: | a document saving context | | Returns: | the number of byte written or -1 in case of error. |
int xmlSaveSetAttrEscape ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlCharEncodingOutputFunc](libxml2-encoding.html#xmlCharEncodingOutputFunc)escape)
Set a custom escaping function to be used for text in attribute content
| ctxt: | a document saving context | | escape: | the escaping function | | Returns: | 0 if successful or -1 in case of error. |
int xmlSaveSetEscape ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlCharEncodingOutputFunc](libxml2-encoding.html#xmlCharEncodingOutputFunc)escape)
Set a custom escaping function to be used for text in element content
| ctxt: | a document saving context | | escape: | the escaping function | | Returns: | 0 if successful or -1 in case of error. |
[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)xmlSaveToBuffer ([xmlBufferPtr](libxml2-tree.html#xmlBufferPtr)buffer,
const char * encoding,
int options)
Create a document saving context serializing to a buffer with the encoding and the options given
| buffer: | a buffer | | encoding: | the encoding name to use or NULL | | options: | a set of xmlSaveOptions | | Returns: | a new serialization context or NULL in case of error. |
[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)xmlSaveToFd (int fd,
const char * encoding,
int options)
Create a document saving context serializing to a file descriptor with the encoding and the options given.
| fd: | a file descriptor number | | encoding: | the encoding name to use or NULL | | options: | a set of xmlSaveOptions | | Returns: | a new serialization context or NULL in case of error. |
[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)xmlSaveToFilename (const char * filename,
const char * encoding,
int options)
Create a document saving context serializing to a filename or possibly to an URL (but this is less reliable) with the encoding and the options given.
| filename: | a file name or an URL | | encoding: | the encoding name to use or NULL | | options: | a set of xmlSaveOptions | | Returns: | a new serialization context or NULL in case of error. |
[xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)xmlSaveToIO ([xmlOutputWriteCallback](libxml2-xmlIO.html#xmlOutputWriteCallback)iowrite,
[xmlOutputCloseCallback](libxml2-xmlIO.html#xmlOutputCloseCallback)ioclose,
void * ioctx,
const char * encoding,
int options)
Create a document saving context serializing to a file descriptor with the encoding and the options given
| iowrite: | an I/O write function | | ioclose: | an I/O close function | | ioctx: | an I/O handler | | encoding: | the encoding name to use or NULL | | options: | a set of xmlSaveOptions | | Returns: | a new serialization context or NULL in case of error. |
long xmlSaveTree ([xmlSaveCtxtPtr](libxml2-xmlsave.html#xmlSaveCtxtPtr)ctxt,
[xmlNodePtr](libxml2-tree.html#xmlNodePtr)node)
Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead
| ctxt: | a document saving context | | node: | the top node of the subtree to save | | Returns: | the number of byte written or -1 in case of error |