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 22extern "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 86typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt; 87typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr; 88 89/* 90 * standalone processing 91 */ 92XMLPUBFUN int XMLCALL 93 xmlXIncludeProcess (xmlDocPtr doc); 94XMLPUBFUN int XMLCALL 95 xmlXIncludeProcessFlags (xmlDocPtr doc, 96 int flags); 97XMLPUBFUN int XMLCALL 98 xmlXIncludeProcessFlagsData(xmlDocPtr doc, 99 int flags, 100 void *data); 101XMLPUBFUN int XMLCALL 102 xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree, 103 int flags, 104 void *data); 105XMLPUBFUN int XMLCALL 106 xmlXIncludeProcessTree (xmlNodePtr tree); 107XMLPUBFUN int XMLCALL 108 xmlXIncludeProcessTreeFlags(xmlNodePtr tree, 109 int flags); 110/* 111 * contextual processing 112 */ 113XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL 114 xmlXIncludeNewContext (xmlDocPtr doc); 115XMLPUBFUN int XMLCALL 116 xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt, 117 int flags); 118XMLPUBFUN void XMLCALL 119 xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt); 120XMLPUBFUN 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