ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

c14n.h
Go to the documentation of this file.
00001 /*
00002  * Summary: Provide Canonical XML and Exclusive XML Canonicalization
00003  * Description: the c14n modules provides a
00004  *
00005  * "Canonical XML" implementation
00006  * http://www.w3.org/TR/xml-c14n
00007  *
00008  * and an
00009  *
00010  * "Exclusive XML Canonicalization" implementation
00011  * http://www.w3.org/TR/xml-exc-c14n
00012 
00013  * Copy: See Copyright for the status of this software.
00014  *
00015  * Author: Aleksey Sanin <aleksey@aleksey.com>
00016  */
00017 #ifndef __XML_C14N_H__
00018 #define __XML_C14N_H__
00019 #ifdef LIBXML_C14N_ENABLED
00020 #ifdef LIBXML_OUTPUT_ENABLED
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif /* __cplusplus */
00025 
00026 #include <libxml/xmlversion.h>
00027 #include <libxml/tree.h>
00028 #include <libxml/xpath.h>
00029 
00030 /*
00031  * XML Canonicazation
00032  * http://www.w3.org/TR/xml-c14n
00033  *
00034  * Exclusive XML Canonicazation
00035  * http://www.w3.org/TR/xml-exc-c14n
00036  *
00037  * Canonical form of an XML document could be created if and only if
00038  *  a) default attributes (if any) are added to all nodes
00039  *  b) all character and parsed entity references are resolved
00040  * In order to achive this in libxml2 the document MUST be loaded with
00041  * following global setings:
00042  *
00043  *    xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
00044  *    xmlSubstituteEntitiesDefault(1);
00045  *
00046  * or corresponding parser context setting:
00047  *    xmlParserCtxtPtr ctxt;
00048  *
00049  *    ...
00050  *    ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
00051  *    ctxt->replaceEntities = 1;
00052  *    ...
00053  */
00054 
00055 /*
00056  * xmlC14NMode:
00057  * 
00058  * Predefined values for C14N modes
00059  *
00060  */
00061 typedef enum {
00062     XML_C14N_1_0            = 0,    /* Origianal C14N 1.0 spec */
00063     XML_C14N_EXCLUSIVE_1_0  = 1,    /* Exclusive C14N 1.0 spec */
00064     XML_C14N_1_1            = 2     /* C14N 1.1 spec */
00065 } xmlC14NMode;
00066 
00067 XMLPUBFUN int XMLCALL
00068         xmlC14NDocSaveTo    (xmlDocPtr doc,
00069                      xmlNodeSetPtr nodes,
00070                      int mode, /* a xmlC14NMode */
00071                      xmlChar **inclusive_ns_prefixes,
00072                      int with_comments,
00073                      xmlOutputBufferPtr buf);
00074 
00075 XMLPUBFUN int XMLCALL
00076         xmlC14NDocDumpMemory    (xmlDocPtr doc,
00077                      xmlNodeSetPtr nodes,
00078                      int mode, /* a xmlC14NMode */
00079                      xmlChar **inclusive_ns_prefixes,
00080                      int with_comments,
00081                      xmlChar **doc_txt_ptr);
00082 
00083 XMLPUBFUN int XMLCALL
00084         xmlC14NDocSave      (xmlDocPtr doc,
00085                      xmlNodeSetPtr nodes,
00086                      int mode, /* a xmlC14NMode */
00087                      xmlChar **inclusive_ns_prefixes,
00088                      int with_comments,
00089                      const char* filename,
00090                      int compression);
00091 
00092 
00106 typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
00107                      xmlNodePtr node,
00108                      xmlNodePtr parent);
00109 
00110 XMLPUBFUN int XMLCALL
00111         xmlC14NExecute      (xmlDocPtr doc,
00112                      xmlC14NIsVisibleCallback is_visible_callback,
00113                      void* user_data,
00114                      int mode, /* a xmlC14NMode */
00115                      xmlChar **inclusive_ns_prefixes,
00116                      int with_comments,
00117                      xmlOutputBufferPtr buf);
00118 
00119 #ifdef __cplusplus
00120 }
00121 #endif /* __cplusplus */
00122 
00123 #endif /* LIBXML_OUTPUT_ENABLED */
00124 #endif /* LIBXML_C14N_ENABLED */
00125 #endif /* __XML_C14N_H__ */
00126 

Generated on Sat May 26 2012 04:31:59 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.