Files @ dcd49517f90b
Branch filter:

Location: EI/VirtualLeaf/lib/libxml2/include/libxml/c14n.h - annotation

Roeland Merks
Two last corrections:
- Viewport was not written during automatic export of XML files, because Virtualization of XMLSettingsTree did not work due to inconsistent function definition (const vs. non-const)
- Some of the default parameter-file had "Start saving movie frames" switched on by default, dramatically slowing down the example runs. Now it is switched off in all example XML files.

user: Roeland Merks <roeland.merks@cwi.nl>
branch 'default'
changed data/leaves/auxin_growth.xml
changed data/leaves/tutorial5_init.xml
changed src/VirtualLeaf.cpp
changed src/mainbase.cpp
changed src/mainbase.h
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
bc383c25c970
/*
 * 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__ */