1 /* 2 * Summary: implementation of XInclude 3 * Description: API to handle XInclude processing, 4 * implements the 5 * World Wide Web Consortium Last Call Working Draft 10 November 2003 6 * http://www.w3.org/TR/2003/WD-xinclude-20031110 7 * 8 * Copy: See Copyright for the status of this software. 9 * 10 * Author: Daniel Veillard 11 */ 12 13 #ifndef __XML_XINCLUDE_H__ 14 #define __XML_XINCLUDE_H__ 15 16 #include <libxml/xmlversion.h> 17 #include <libxml/tree.h> 18 19 #ifdef LIBXML_XINCLUDE_ENABLED 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 /** 26 * XINCLUDE_NS: 27 * 28 * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude 29 */ 30 #define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude" 31 /** 32 * XINCLUDE_OLD_NS: 33 * 34 * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude 35 */ 36 #define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude" 37 /** 38 * XINCLUDE_NODE: 39 * 40 * Macro defining "include" 41 */ 42 #define XINCLUDE_NODE (const xmlChar *) "include" 43 /** 44 * XINCLUDE_FALLBACK: 45 * 46 * Macro defining "fallback" 47 */ 48 #define XINCLUDE_FALLBACK (const xmlChar *) "fallback" 49 /** 50 * XINCLUDE_HREF: 51 * 52 * Macro defining "href" 53 */ 54 #define XINCLUDE_HREF (const xmlChar *) "href" 55 /** 56 * XINCLUDE_PARSE: 57 * 58 * Macro defining "parse" 59 */ 60 #define XINCLUDE_PARSE (const xmlChar *) "parse" 61 /** 62 * XINCLUDE_PARSE_XML: 63 * 64 * Macro defining "xml" 65 */ 66 #define XINCLUDE_PARSE_XML (const xmlChar *) "xml" 67 /** 68 * XINCLUDE_PARSE_TEXT: 69 * 70 * Macro defining "text" 71 */ 72 #define XINCLUDE_PARSE_TEXT (const xmlChar *) "text" 73 /** 74 * XINCLUDE_PARSE_ENCODING: 75 * 76 * Macro defining "encoding" 77 */ 78 #define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding" 79 /** 80 * XINCLUDE_PARSE_XPOINTER: 81 * 82 * Macro defining "xpointer" 83 */ 84 #define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer" 85 86 typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; 87 typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; 88 89 /* 90 * standalone processing 91 */ 92 XMLPUBFUN int XMLCALL 93 xmlXIncludeProcess (xmlDocPtr doc); 94 XMLPUBFUN int XMLCALL 95 xmlXIncludeProcessFlags (xmlDocPtr doc, 96 int flags); 97 XMLPUBFUN int XMLCALL 98 xmlXIncludeProcessFlagsData(xmlDocPtr doc, 99 int flags, 100 void *data); 101 XMLPUBFUN int XMLCALL 102 xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, 103 int flags, 104 void *data); 105 XMLPUBFUN int XMLCALL 106 xmlXIncludeProcessTree (xmlNodePtr tree); 107 XMLPUBFUN int XMLCALL 108 xmlXIncludeProcessTreeFlags(xmlNodePtr tree, 109 int flags); 110 /* 111 * contextual processing 112 */ 113 XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL 114 xmlXIncludeNewContext (xmlDocPtr doc); 115 XMLPUBFUN int XMLCALL 116 xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, 117 int flags); 118 XMLPUBFUN void XMLCALL 119 xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); 120 XMLPUBFUN int XMLCALL 121 xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt, 122 xmlNodePtr tree); 123 #ifdef __cplusplus 124 } 125 #endif 126 127 #endif /* LIBXML_XINCLUDE_ENABLED */ 128 129 #endif /* __XML_XINCLUDE_H__ */ 130