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 93 xmlXIncludeProcess (xmlDocPtr doc); 94 XMLPUBFUN int 95 xmlXIncludeProcessFlags (xmlDocPtr doc, 96 int flags); 97 XMLPUBFUN int 98 xmlXIncludeProcessFlagsData(xmlDocPtr doc, 99 int flags, 100 void *data); 101 XMLPUBFUN int 102 xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, 103 int flags, 104 void *data); 105 XMLPUBFUN int 106 xmlXIncludeProcessTree (xmlNodePtr tree); 107 XMLPUBFUN int 108 xmlXIncludeProcessTreeFlags(xmlNodePtr tree, 109 int flags); 110 /* 111 * contextual processing 112 */ 113 XMLPUBFUN xmlXIncludeCtxtPtr 114 xmlXIncludeNewContext (xmlDocPtr doc); 115 XMLPUBFUN int 116 xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, 117 int flags); 118 XMLPUBFUN void 119 xmlXIncludeSetErrorHandler(xmlXIncludeCtxtPtr ctxt, 120 xmlStructuredErrorFunc handler, 121 void *data); 122 XMLPUBFUN void 123 xmlXIncludeSetResourceLoader(xmlXIncludeCtxtPtr ctxt, 124 xmlResourceLoader loader, 125 void *data); 126 XMLPUBFUN int 127 xmlXIncludeGetLastError (xmlXIncludeCtxtPtr ctxt); 128 XMLPUBFUN void 129 xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); 130 XMLPUBFUN int 131 xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt, 132 xmlNodePtr tree); 133 #ifdef __cplusplus 134 } 135 #endif 136 137 #endif /* LIBXML_XINCLUDE_ENABLED */ 138 139 #endif /* __XML_XINCLUDE_H__ */ 140