1 /*
2  * Summary: implementation of XInclude
3  * Description: API to handle XInclude processing,
4  * implements the
5  * World Wide Web Consortium Last Call WorkingDraft 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 /** @file
14 @publishedAll
15 @released
16 */
17 
18 #ifndef XML_XINCLUDE_H
19 #define XML_XINCLUDE_H
20 
21 #include <libxml2_xmlversion.h>
22 #include <libxml2_tree.h>
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /**
29  * XINCLUDE_NS:
30  *
31  * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
32  */
33 #define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
34 /**
35  * XINCLUDE_OLD_NS:
36  *
37  * Macro defining the draftXinclude namespace: http://www.w3.org/2001/XInclude
38  */
39 #define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
40 /**
41  * XINCLUDE_NODE:
42  *
43  * Macro defining "include"
44  */
45 #define XINCLUDE_NODE (const xmlChar *) "include"
46 /**
47  * XINCLUDE_FALLBACK:
48  *
49  * Macro defining "fallback"
50  */
51 #define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
52 /**
53  * XINCLUDE_HREF:
54  *
55  * Macro defining "href"
56  */
57 #define XINCLUDE_HREF (const xmlChar *) "href"
58 /**
59  * XINCLUDE_PARSE:
60  *
61  * Macro defining "parse"
62  */
63 #define XINCLUDE_PARSE (const xmlChar *) "parse"
64 /**
65  * XINCLUDE_PARSE_XML:
66  *
67  * Macro defining "xml"
68  */
69 #define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
70 /**
71  * XINCLUDE_PARSE_TEXT:
72  *
73  * Macro defining "text"
74  */
75 #define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
76 /**
77  * XINCLUDE_PARSE_ENCODING:
78  *
79  * Macro defining "encoding"
80  */
81 #define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
82 /**
83  * XINCLUDE_PARSE_XPOINTER:
84  *
85  * Macro defining "xpointer"
86  */
87 #define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"
88 
89 typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
90 typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
91 
92 /*
93  * standalone processing
94  */
95 XMLPUBFUN int XMLCALL
96                 xmlXIncludeProcess      (xmlDocPtr doc);
97 XMLPUBFUN int XMLCALL
98                 xmlXIncludeProcessFlags (xmlDocPtr doc,
99                                          int flags);
100 XMLPUBFUN int XMLCALL
101                 xmlXIncludeProcessTree  (xmlNodePtr tree);
102 XMLPUBFUN int XMLCALL
103                 xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
104                                          int flags);
105 /*
106  * contextual processing
107  */
108 XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
109                 xmlXIncludeNewContext   (xmlDocPtr doc);
110 XMLPUBFUN int XMLCALL
111                 xmlXIncludeSetFlags     (xmlXIncludeCtxtPtr ctxt,
112                                          int flags);
113 XMLPUBFUN void XMLCALL
114                 xmlXIncludeFreeContext  (xmlXIncludeCtxtPtr ctxt);
115 XMLPUBFUN int XMLCALL
116                 xmlXIncludeProcessNode  (xmlXIncludeCtxtPtr ctxt,
117                                          xmlNodePtr tree);
118 #ifdef __cplusplus
119 }
120 #endif
121 #endif /* XML_XINCLUDE_H */
122