libxml2

Loading...
Searching...
No Matches
Typedefs | Enumerations | Functions
c14n.h File Reference

Provide Canonical XML and Exclusive XML Canonicalization. More...

## Typedefs
typedef int(* | xmlC14NIsVisibleCallback) (void *user_data, xmlNode *node, xmlNode *parent)
| This is the core C14N function.

## Enumerations
enum | xmlC14NMode
| Predefined values for C14N modes. More...

## Functions
int | xmlC14NDocSaveTo (xmlDoc *doc, xmlNodeSet *nodes, int mode, xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBuffer *buf)
| Dumps the canonized image of given XML document into the provided buffer.
int | xmlC14NDocDumpMemory (xmlDoc *doc, xmlNodeSet *nodes, int mode, xmlChar **inclusive_ns_prefixes, int with_comments, xmlChar **doc_txt_ptr)
| Dumps the canonized image of given XML document into memory.
int | xmlC14NDocSave (xmlDoc *doc, xmlNodeSet *nodes, int mode, xmlChar **inclusive_ns_prefixes, int with_comments, const char *filename, int compression)
| Dumps the canonized image of given XML document into the file.
int | xmlC14NExecute (xmlDoc *doc, xmlC14NIsVisibleCallback is_visible_callback, void *user_data, int mode, xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBuffer *buf)
| Dumps the canonized image of given XML document into the provided buffer.

## Detailed Description

Provide Canonical XML and Exclusive XML Canonicalization.

the c14n modules provides a

"Canonical XML" implementation http://www.w3.org/TR/xml-c14n

and an

"Exclusive XML Canonicalization" implementation http://www.w3.org/TR/xml-exc-c14n

Copyright
  See Copyright for the status of this software.

Author
  Aleksey Sanin

## Typedef Documentation

## ◆ xmlC14NIsVisibleCallback

typedef int(* xmlC14NIsVisibleCallback) (void *user_data, xmlNode *node, xmlNode *parent)

This is the core C14N function.

Signature for a C14N callback on visible nodes

Parameters

  user_data | user data
  node | the current node
  parent | the parent node

Returns
  1 if the node should be included

## Enumeration Type Documentation

## ◆ xmlC14NMode

enum xmlC14NMode

Predefined values for C14N modes.

Enumerator
XML_C14N_1_0 | Original C14N 1.0 spec.
XML_C14N_EXCLUSIVE_1_0 | Exclusive C14N 1.0 spec.
XML_C14N_1_1 | C14N 1.1 spec.

## Function Documentation

## ◆ xmlC14NDocDumpMemory()

int xmlC14NDocDumpMemory | ( | xmlDoc * | doc,
|  | xmlNodeSet * | nodes,
|  | int | mode,
|  | xmlChar ** | inclusive_ns_prefixes,
|  | int | with_comments,
|  | xmlChar ** | doc_txt_ptr
| ) |  |

Dumps the canonized image of given XML document into memory.

For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

Parameters

  doc | the XML document for canonization
  nodes | the nodes set to be included in the canonized image or NULL if all document nodes should be included
  mode | the c14n mode (see `xmlC14NMode`)
  inclusive_ns_prefixes | the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
  with_comments | include comments in the result (!=0) or not (==0)
  doc_txt_ptr | the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory

Returns
  the number of bytes written on success or a negative value on fail

## ◆ xmlC14NDocSave()

int xmlC14NDocSave | ( | xmlDoc * | doc,
|  | xmlNodeSet * | nodes,
|  | int | mode,
|  | xmlChar ** | inclusive_ns_prefixes,
|  | int | with_comments,
|  | const char * | filename,
|  | int | compression
| ) |  |

Dumps the canonized image of given XML document into the file.

For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

Parameters

  doc | the XML document for canonization
  nodes | the nodes set to be included in the canonized image or NULL if all document nodes should be included
  mode | the c14n mode (see `xmlC14NMode`)
  inclusive_ns_prefixes | the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
  with_comments | include comments in the result (!=0) or not (==0)
  filename | the filename to store canonical XML image
  compression | the compression level (zlib required): -1 - libxml default, 0 - uncompressed, >0 - compression level

Returns
  the number of bytes written success or a negative value on fail

## ◆ xmlC14NDocSaveTo()

int xmlC14NDocSaveTo | ( | xmlDoc * | doc,
|  | xmlNodeSet * | nodes,
|  | int | mode,
|  | xmlChar ** | inclusive_ns_prefixes,
|  | int | with_comments,
|  | xmlOutputBuffer * | buf
| ) |  |

Dumps the canonized image of given XML document into the provided buffer.

For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

Parameters

  doc | the XML document for canonization
  nodes | the nodes set to be included in the canonized image or NULL if all document nodes should be included
  mode | the c14n mode (see `xmlC14NMode`)
  inclusive_ns_prefixes | the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
  with_comments | include comments in the result (!=0) or not (==0)
  buf | the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output

Returns
  non-negative value on success or a negative value on fail

## ◆ xmlC14NExecute()

int xmlC14NExecute | ( | xmlDoc * | doc,
|  | xmlC14NIsVisibleCallback | is_visible_callback,
|  | void * | user_data,
|  | int | mode,
|  | xmlChar ** | inclusive_ns_prefixes,
|  | int | with_comments,
|  | xmlOutputBuffer * | buf
| ) |  |

Dumps the canonized image of given XML document into the provided buffer.

For details see "Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)

Parameters

  doc | the XML document for canonization
  is_visible_callback | the function to use to determine is node visible or not
  user_data | the first parameter for `is_visible_callback` function (in most cases, it is nodes set)
  mode | the c14n mode (see `xmlC14NMode`)
  inclusive_ns_prefixes | the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored otherwise)
  with_comments | include comments in the result (!=0) or not (==0)
  buf | the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output

Returns
  non-negative value on success or a negative value on fail