Back to Turicreate

xmlsave: the XML document serializer

deps/src/libxml2-2.9.1/doc/devhelp/libxml2-xmlsave.html

6.4.17.2 KB
Original Source

| | | | | libxml2 Reference Manual |

xmlsave

xmlsave - the XML document serializer

API to save document or subtree of document

Author(s): Daniel Veillard

Synopsis

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);

Description

Details

Structure xmlSaveCtxt

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

Typedef xmlSaveCtxtPtr

[xmlSaveCtxt](libxml2-xmlsave.html#xmlSaveCtxt)* xmlSaveCtxtPtr;

Enum xmlSaveOption

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 */
};

xmlSaveClose ()

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. |


xmlSaveDoc ()

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 |


xmlSaveFlush ()

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. |


xmlSaveSetAttrEscape ()

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. |


xmlSaveSetEscape ()

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. |


xmlSaveToBuffer ()

[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. |


xmlSaveToFd ()

[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. |


xmlSaveToFilename ()

[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. |


xmlSaveToIO ()

[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. |


xmlSaveTree ()

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 |