/* * Summary: Provide Canonical XML and Exclusive XML Canonicalization * Description: 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 * Copy: See Copyright for the status of this software. * * Author: Aleksey Sanin <aleksey@aleksey.com> */ #ifndef __XML_C14N_H__ #define __XML_C14N_H__ #ifdef LIBXML_C14N_ENABLED #ifdef LIBXML_OUTPUT_ENABLED #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include <libxml/xmlversion.h> #include <libxml/tree.h> #include <libxml/xpath.h> /* * XML Canonicazation * http://www.w3.org/TR/xml-c14n * * Exclusive XML Canonicazation * http://www.w3.org/TR/xml-exc-c14n * * Canonical form of an XML document could be created if and only if * a) default attributes (if any) are added to all nodes * b) all character and parsed entity references are resolved * In order to achive this in libxml2 the document MUST be loaded with * following global setings: * * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS; * xmlSubstituteEntitiesDefault(1); * * or corresponding parser context setting: * xmlParserCtxtPtr ctxt; * * ... * ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS; * ctxt->replaceEntities = 1; * ... */ /* * xmlC14NMode: * * Predefined values for C14N modes * */ typedef enum { XML_C14N_1_0 = 0, /* Origianal C14N 1.0 spec */ XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */ XML_C14N_1_1 = 2 /* C14N 1.1 spec */ } xmlC14NMode; XMLPUBFUN int XMLCALL xmlC14NDocSaveTo (xmlDocPtr doc, xmlNodeSetPtr nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBufferPtr buf); XMLPUBFUN int XMLCALL xmlC14NDocDumpMemory (xmlDocPtr doc, xmlNodeSetPtr nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlChar **doc_txt_ptr); XMLPUBFUN int XMLCALL xmlC14NDocSave (xmlDocPtr doc, xmlNodeSetPtr nodes, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, const char* filename, int compression); /** * This is the core C14N function */ /** * xmlC14NIsVisibleCallback: * @user_data: user data * @node: the curent node * @parent: the parent node * * Signature for a C14N callback on visible nodes * * Returns 1 if the node should be included */ typedef int (*xmlC14NIsVisibleCallback) (void* user_data, xmlNodePtr node, xmlNodePtr parent); XMLPUBFUN int XMLCALL xmlC14NExecute (xmlDocPtr doc, xmlC14NIsVisibleCallback is_visible_callback, void* user_data, int mode, /* a xmlC14NMode */ xmlChar **inclusive_ns_prefixes, int with_comments, xmlOutputBufferPtr buf); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* LIBXML_OUTPUT_ENABLED */ #endif /* LIBXML_C14N_ENABLED */ #endif /* __XML_C14N_H__ */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
DOCBparser.h | File | 3.08 KB | 0644 |
|
HTMLparser.h | File | 9.18 KB | 0644 |
|
HTMLtree.h | File | 3.56 KB | 0644 |
|
SAX.h | File | 4.24 KB | 0644 |
|
SAX2.h | File | 4.76 KB | 0644 |
|
c14n.h | File | 3.04 KB | 0644 |
|
catalog.h | File | 4.79 KB | 0644 |
|
chvalid.h | File | 5.04 KB | 0644 |
|
debugXML.h | File | 5.03 KB | 0644 |
|
dict.h | File | 1.8 KB | 0644 |
|
encoding.h | File | 8.11 KB | 0644 |
|
entities.h | File | 4.59 KB | 0644 |
|
globals.h | File | 14.31 KB | 0644 |
|
hash.h | File | 6.34 KB | 0644 |
|
list.h | File | 3.29 KB | 0644 |
|
nanoftp.h | File | 3.67 KB | 0644 |
|
nanohttp.h | File | 1.96 KB | 0644 |
|
parser.h | File | 38.79 KB | 0644 |
|
parserInternals.h | File | 17.01 KB | 0644 |
|
pattern.h | File | 2.53 KB | 0644 |
|
relaxng.h | File | 5.82 KB | 0644 |
|
schemasInternals.h | File | 25.41 KB | 0644 |
|
schematron.h | File | 4.27 KB | 0644 |
|
threads.h | File | 1.81 KB | 0644 |
|
tree.h | File | 37.03 KB | 0644 |
|
uri.h | File | 2.6 KB | 0644 |
|
valid.h | File | 13.3 KB | 0644 |
|
xinclude.h | File | 2.9 KB | 0644 |
|
xlink.h | File | 4.92 KB | 0644 |
|
xmlIO.h | File | 10.37 KB | 0644 |
|
xmlautomata.h | File | 3.86 KB | 0644 |
|
xmlerror.h | File | 35.96 KB | 0644 |
|
xmlexports.h | File | 3.83 KB | 0644 |
|
xmlmemory.h | File | 5.81 KB | 0644 |
|
xmlmodule.h | File | 1.14 KB | 0644 |
|
xmlreader.h | File | 12.31 KB | 0644 |
|
xmlregexp.h | File | 5.33 KB | 0644 |
|
xmlsave.h | File | 2.28 KB | 0644 |
|
xmlschemas.h | File | 6.9 KB | 0644 |
|
xmlschemastypes.h | File | 4.73 KB | 0644 |
|
xmlstring.h | File | 5.38 KB | 0644 |
|
xmlunicode.h | File | 9.76 KB | 0644 |
|
xmlversion.h | File | 7.93 KB | 0644 |
|
xmlwriter.h | File | 20.77 KB | 0644 |
|
xpath.h | File | 16.01 KB | 0644 |
|
xpathInternals.h | File | 18.9 KB | 0644 |
|
xpointer.h | File | 3.28 KB | 0644 |
|