nokogiri 1.10.10 → 1.14.3-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +44 -0
  3. data/LICENSE-DEPENDENCIES.md +1632 -1022
  4. data/LICENSE.md +1 -1
  5. data/README.md +185 -96
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +33 -66
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +819 -421
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +114 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  19. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  21. data/ext/nokogiri/include/libxml2/libxml/SAX.h +204 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +172 -0
  23. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
  24. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  25. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  26. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  27. data/ext/nokogiri/include/libxml2/libxml/dict.h +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +232 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +153 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +499 -0
  31. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  32. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  33. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1244 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +656 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +218 -0
  39. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  41. data/ext/nokogiri/include/libxml2/libxml/threads.h +91 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1312 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +463 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +947 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +226 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +503 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +575 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +137 -0
  65. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  66. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  67. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  68. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  69. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  70. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  71. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  72. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  73. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  74. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  75. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  76. data/ext/nokogiri/include/libxslt/security.h +104 -0
  77. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  78. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  79. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  80. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  81. data/ext/nokogiri/include/libxslt/xsltInternals.h +1982 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +179 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +310 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -104
  88. data/ext/nokogiri/nokogiri.h +204 -90
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +17 -17
  91. data/ext/nokogiri/xml_attribute_decl.c +22 -22
  92. data/ext/nokogiri/xml_cdata.c +15 -20
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +306 -225
  95. data/ext/nokogiri/xml_document_fragment.c +12 -16
  96. data/ext/nokogiri/xml_dtd.c +64 -58
  97. data/ext/nokogiri/xml_element_content.c +33 -28
  98. data/ext/nokogiri/xml_element_decl.c +26 -26
  99. data/ext/nokogiri/xml_encoding_handler.c +45 -20
  100. data/ext/nokogiri/xml_entity_decl.c +37 -35
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +136 -61
  103. data/ext/nokogiri/xml_node.c +1344 -672
  104. data/ext/nokogiri/xml_node_set.c +178 -168
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +316 -190
  107. data/ext/nokogiri/xml_relax_ng.c +52 -30
  108. data/ext/nokogiri/xml_sax_parser.c +130 -124
  109. data/ext/nokogiri/xml_sax_parser_context.c +110 -89
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -29
  111. data/ext/nokogiri/xml_schema.c +98 -50
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +14 -18
  114. data/ext/nokogiri/xml_xpath_context.c +263 -148
  115. data/ext/nokogiri/xslt_stylesheet.c +271 -178
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +111 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  120. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  123. data/lib/nokogiri/class_resolver.rb +67 -0
  124. data/lib/nokogiri/css/node.rb +10 -8
  125. data/lib/nokogiri/css/parser.rb +397 -377
  126. data/lib/nokogiri/css/parser.y +250 -245
  127. data/lib/nokogiri/css/parser_extras.rb +54 -49
  128. data/lib/nokogiri/css/syntax_error.rb +3 -1
  129. data/lib/nokogiri/css/tokenizer.rb +5 -3
  130. data/lib/nokogiri/css/tokenizer.rex +3 -2
  131. data/lib/nokogiri/css/xpath_visitor.rb +223 -94
  132. data/lib/nokogiri/css.rb +56 -17
  133. data/lib/nokogiri/decorators/slop.rb +9 -7
  134. data/lib/nokogiri/encoding_handler.rb +57 -0
  135. data/lib/nokogiri/extension.rb +32 -0
  136. data/lib/nokogiri/gumbo.rb +15 -0
  137. data/lib/nokogiri/html.rb +38 -27
  138. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  139. data/lib/nokogiri/html4/document.rb +214 -0
  140. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  141. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  142. data/lib/nokogiri/html4/element_description_defaults.rb +572 -0
  143. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  144. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  145. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  146. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  147. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  148. data/lib/nokogiri/html4.rb +47 -0
  149. data/lib/nokogiri/html5/document.rb +168 -0
  150. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  151. data/lib/nokogiri/html5/node.rb +98 -0
  152. data/lib/nokogiri/html5.rb +389 -0
  153. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  154. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  155. data/lib/nokogiri/syntax_error.rb +2 -0
  156. data/lib/nokogiri/version/constant.rb +6 -0
  157. data/lib/nokogiri/version/info.rb +223 -0
  158. data/lib/nokogiri/version.rb +3 -108
  159. data/lib/nokogiri/xml/attr.rb +55 -3
  160. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  161. data/lib/nokogiri/xml/builder.rb +75 -34
  162. data/lib/nokogiri/xml/cdata.rb +3 -1
  163. data/lib/nokogiri/xml/character_data.rb +2 -0
  164. data/lib/nokogiri/xml/document.rb +312 -126
  165. data/lib/nokogiri/xml/document_fragment.rb +93 -48
  166. data/lib/nokogiri/xml/dtd.rb +4 -2
  167. data/lib/nokogiri/xml/element_content.rb +2 -0
  168. data/lib/nokogiri/xml/element_decl.rb +3 -1
  169. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  170. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  171. data/lib/nokogiri/xml/namespace.rb +45 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +15 -8
  173. data/lib/nokogiri/xml/node.rb +1067 -406
  174. data/lib/nokogiri/xml/node_set.rb +135 -59
  175. data/lib/nokogiri/xml/notation.rb +13 -0
  176. data/lib/nokogiri/xml/parse_options.rb +145 -52
  177. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  178. data/lib/nokogiri/xml/pp/node.rb +27 -26
  179. data/lib/nokogiri/xml/pp.rb +4 -2
  180. data/lib/nokogiri/xml/processing_instruction.rb +4 -1
  181. data/lib/nokogiri/xml/reader.rb +21 -28
  182. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  183. data/lib/nokogiri/xml/sax/document.rb +45 -49
  184. data/lib/nokogiri/xml/sax/parser.rb +39 -36
  185. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  186. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  187. data/lib/nokogiri/xml/sax.rb +6 -4
  188. data/lib/nokogiri/xml/schema.rb +19 -9
  189. data/lib/nokogiri/xml/searchable.rb +112 -72
  190. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  191. data/lib/nokogiri/xml/text.rb +2 -0
  192. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  193. data/lib/nokogiri/xml/xpath.rb +15 -4
  194. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  195. data/lib/nokogiri/xml.rb +38 -37
  196. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  197. data/lib/nokogiri/xslt.rb +29 -20
  198. data/lib/nokogiri.rb +48 -72
  199. data/lib/xsd/xmlparser/nokogiri.rb +29 -25
  200. metadata +146 -307
  201. data/ext/nokogiri/html_document.c +0 -170
  202. data/ext/nokogiri/html_document.h +0 -10
  203. data/ext/nokogiri/html_element_description.c +0 -279
  204. data/ext/nokogiri/html_element_description.h +0 -10
  205. data/ext/nokogiri/html_entity_lookup.c +0 -32
  206. data/ext/nokogiri/html_entity_lookup.h +0 -8
  207. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  208. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  209. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  210. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  211. data/ext/nokogiri/xml_attr.h +0 -9
  212. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  213. data/ext/nokogiri/xml_cdata.h +0 -9
  214. data/ext/nokogiri/xml_comment.h +0 -9
  215. data/ext/nokogiri/xml_document.h +0 -23
  216. data/ext/nokogiri/xml_document_fragment.h +0 -10
  217. data/ext/nokogiri/xml_dtd.h +0 -10
  218. data/ext/nokogiri/xml_element_content.h +0 -10
  219. data/ext/nokogiri/xml_element_decl.h +0 -9
  220. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  221. data/ext/nokogiri/xml_entity_decl.h +0 -10
  222. data/ext/nokogiri/xml_entity_reference.h +0 -9
  223. data/ext/nokogiri/xml_io.c +0 -61
  224. data/ext/nokogiri/xml_io.h +0 -11
  225. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  226. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  227. data/ext/nokogiri/xml_namespace.h +0 -14
  228. data/ext/nokogiri/xml_node.h +0 -13
  229. data/ext/nokogiri/xml_node_set.h +0 -12
  230. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  231. data/ext/nokogiri/xml_reader.h +0 -10
  232. data/ext/nokogiri/xml_relax_ng.h +0 -9
  233. data/ext/nokogiri/xml_sax_parser.h +0 -39
  234. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  235. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  236. data/ext/nokogiri/xml_schema.h +0 -9
  237. data/ext/nokogiri/xml_syntax_error.h +0 -13
  238. data/ext/nokogiri/xml_text.h +0 -9
  239. data/ext/nokogiri/xml_xpath_context.h +0 -10
  240. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  241. data/lib/nokogiri/html/document.rb +0 -335
  242. data/lib/nokogiri/html/document_fragment.rb +0 -49
  243. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  244. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  245. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  246. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  247. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  248. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  249. data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  250. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  251. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Summary: library of generic URI related routines
3
+ * Description: library of generic URI related routines
4
+ * Implements RFC 2396
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_URI_H__
12
+ #define __XML_URI_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+ #include <libxml/tree.h>
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ * xmlURI:
23
+ *
24
+ * A parsed URI reference. This is a struct containing the various fields
25
+ * as described in RFC 2396 but separated for further processing.
26
+ *
27
+ * Note: query is a deprecated field which is incorrectly unescaped.
28
+ * query_raw takes precedence over query if the former is set.
29
+ * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
30
+ */
31
+ typedef struct _xmlURI xmlURI;
32
+ typedef xmlURI *xmlURIPtr;
33
+ struct _xmlURI {
34
+ char *scheme; /* the URI scheme */
35
+ char *opaque; /* opaque part */
36
+ char *authority; /* the authority part */
37
+ char *server; /* the server part */
38
+ char *user; /* the user part */
39
+ int port; /* the port number */
40
+ char *path; /* the path string */
41
+ char *query; /* the query string (deprecated - use with caution) */
42
+ char *fragment; /* the fragment identifier */
43
+ int cleanup; /* parsing potentially unclean URI */
44
+ char *query_raw; /* the query string (as it appears in the URI) */
45
+ };
46
+
47
+ /*
48
+ * This function is in tree.h:
49
+ * xmlChar * xmlNodeGetBase (xmlDocPtr doc,
50
+ * xmlNodePtr cur);
51
+ */
52
+ XMLPUBFUN xmlURIPtr XMLCALL
53
+ xmlCreateURI (void);
54
+ XMLPUBFUN xmlChar * XMLCALL
55
+ xmlBuildURI (const xmlChar *URI,
56
+ const xmlChar *base);
57
+ XMLPUBFUN xmlChar * XMLCALL
58
+ xmlBuildRelativeURI (const xmlChar *URI,
59
+ const xmlChar *base);
60
+ XMLPUBFUN xmlURIPtr XMLCALL
61
+ xmlParseURI (const char *str);
62
+ XMLPUBFUN xmlURIPtr XMLCALL
63
+ xmlParseURIRaw (const char *str,
64
+ int raw);
65
+ XMLPUBFUN int XMLCALL
66
+ xmlParseURIReference (xmlURIPtr uri,
67
+ const char *str);
68
+ XMLPUBFUN xmlChar * XMLCALL
69
+ xmlSaveUri (xmlURIPtr uri);
70
+ XMLPUBFUN void XMLCALL
71
+ xmlPrintURI (FILE *stream,
72
+ xmlURIPtr uri);
73
+ XMLPUBFUN xmlChar * XMLCALL
74
+ xmlURIEscapeStr (const xmlChar *str,
75
+ const xmlChar *list);
76
+ XMLPUBFUN char * XMLCALL
77
+ xmlURIUnescapeString (const char *str,
78
+ int len,
79
+ char *target);
80
+ XMLPUBFUN int XMLCALL
81
+ xmlNormalizeURIPath (char *path);
82
+ XMLPUBFUN xmlChar * XMLCALL
83
+ xmlURIEscape (const xmlChar *str);
84
+ XMLPUBFUN void XMLCALL
85
+ xmlFreeURI (xmlURIPtr uri);
86
+ XMLPUBFUN xmlChar* XMLCALL
87
+ xmlCanonicPath (const xmlChar *path);
88
+ XMLPUBFUN xmlChar* XMLCALL
89
+ xmlPathToURI (const xmlChar *path);
90
+
91
+ #ifdef __cplusplus
92
+ }
93
+ #endif
94
+ #endif /* __XML_URI_H__ */
@@ -0,0 +1,463 @@
1
+ /*
2
+ * Summary: The DTD validation
3
+ * Description: API for the DTD handling and the validity checking
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+
11
+ #ifndef __XML_VALID_H__
12
+ #define __XML_VALID_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+ #include <libxml/xmlerror.h>
16
+ #include <libxml/tree.h>
17
+ #include <libxml/list.h>
18
+ #include <libxml/xmlautomata.h>
19
+ #include <libxml/xmlregexp.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /*
26
+ * Validation state added for non-determinist content model.
27
+ */
28
+ typedef struct _xmlValidState xmlValidState;
29
+ typedef xmlValidState *xmlValidStatePtr;
30
+
31
+ /**
32
+ * xmlValidityErrorFunc:
33
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
34
+ * but comes from ctxt->userData (which normally contains such
35
+ * a pointer); ctxt->userData can be changed by the user.
36
+ * @msg: the string to format *printf like vararg
37
+ * @...: remaining arguments to the format
38
+ *
39
+ * Callback called when a validity error is found. This is a message
40
+ * oriented function similar to an *printf function.
41
+ */
42
+ typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
43
+ const char *msg,
44
+ ...) LIBXML_ATTR_FORMAT(2,3);
45
+
46
+ /**
47
+ * xmlValidityWarningFunc:
48
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
49
+ * but comes from ctxt->userData (which normally contains such
50
+ * a pointer); ctxt->userData can be changed by the user.
51
+ * @msg: the string to format *printf like vararg
52
+ * @...: remaining arguments to the format
53
+ *
54
+ * Callback called when a validity warning is found. This is a message
55
+ * oriented function similar to an *printf function.
56
+ */
57
+ typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
58
+ const char *msg,
59
+ ...) LIBXML_ATTR_FORMAT(2,3);
60
+
61
+ #ifdef IN_LIBXML
62
+ /**
63
+ * XML_VCTXT_DTD_VALIDATED:
64
+ *
65
+ * Set after xmlValidateDtdFinal was called.
66
+ */
67
+ #define XML_VCTXT_DTD_VALIDATED (1u << 0)
68
+ /**
69
+ * XML_VCTXT_USE_PCTXT:
70
+ *
71
+ * Set if the validation context is part of a parser context.
72
+ */
73
+ #define XML_VCTXT_USE_PCTXT (1u << 1)
74
+ #endif
75
+
76
+ /*
77
+ * xmlValidCtxt:
78
+ * An xmlValidCtxt is used for error reporting when validating.
79
+ */
80
+ typedef struct _xmlValidCtxt xmlValidCtxt;
81
+ typedef xmlValidCtxt *xmlValidCtxtPtr;
82
+ struct _xmlValidCtxt {
83
+ void *userData; /* user specific data block */
84
+ xmlValidityErrorFunc error; /* the callback in case of errors */
85
+ xmlValidityWarningFunc warning; /* the callback in case of warning */
86
+
87
+ /* Node analysis stack used when validating within entities */
88
+ xmlNodePtr node; /* Current parsed Node */
89
+ int nodeNr; /* Depth of the parsing stack */
90
+ int nodeMax; /* Max depth of the parsing stack */
91
+ xmlNodePtr *nodeTab; /* array of nodes */
92
+
93
+ unsigned int flags; /* internal flags */
94
+ xmlDocPtr doc; /* the document */
95
+ int valid; /* temporary validity check result */
96
+
97
+ /* state state used for non-determinist content validation */
98
+ xmlValidState *vstate; /* current state */
99
+ int vstateNr; /* Depth of the validation stack */
100
+ int vstateMax; /* Max depth of the validation stack */
101
+ xmlValidState *vstateTab; /* array of validation states */
102
+
103
+ #ifdef LIBXML_REGEXP_ENABLED
104
+ xmlAutomataPtr am; /* the automata */
105
+ xmlAutomataStatePtr state; /* used to build the automata */
106
+ #else
107
+ void *am;
108
+ void *state;
109
+ #endif
110
+ };
111
+
112
+ /*
113
+ * ALL notation declarations are stored in a table.
114
+ * There is one table per DTD.
115
+ */
116
+
117
+ typedef struct _xmlHashTable xmlNotationTable;
118
+ typedef xmlNotationTable *xmlNotationTablePtr;
119
+
120
+ /*
121
+ * ALL element declarations are stored in a table.
122
+ * There is one table per DTD.
123
+ */
124
+
125
+ typedef struct _xmlHashTable xmlElementTable;
126
+ typedef xmlElementTable *xmlElementTablePtr;
127
+
128
+ /*
129
+ * ALL attribute declarations are stored in a table.
130
+ * There is one table per DTD.
131
+ */
132
+
133
+ typedef struct _xmlHashTable xmlAttributeTable;
134
+ typedef xmlAttributeTable *xmlAttributeTablePtr;
135
+
136
+ /*
137
+ * ALL IDs attributes are stored in a table.
138
+ * There is one table per document.
139
+ */
140
+
141
+ typedef struct _xmlHashTable xmlIDTable;
142
+ typedef xmlIDTable *xmlIDTablePtr;
143
+
144
+ /*
145
+ * ALL Refs attributes are stored in a table.
146
+ * There is one table per document.
147
+ */
148
+
149
+ typedef struct _xmlHashTable xmlRefTable;
150
+ typedef xmlRefTable *xmlRefTablePtr;
151
+
152
+ /* Notation */
153
+ XMLPUBFUN xmlNotationPtr XMLCALL
154
+ xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
155
+ xmlDtdPtr dtd,
156
+ const xmlChar *name,
157
+ const xmlChar *PublicID,
158
+ const xmlChar *SystemID);
159
+ #ifdef LIBXML_TREE_ENABLED
160
+ XMLPUBFUN xmlNotationTablePtr XMLCALL
161
+ xmlCopyNotationTable (xmlNotationTablePtr table);
162
+ #endif /* LIBXML_TREE_ENABLED */
163
+ XMLPUBFUN void XMLCALL
164
+ xmlFreeNotationTable (xmlNotationTablePtr table);
165
+ #ifdef LIBXML_OUTPUT_ENABLED
166
+ XMLPUBFUN void XMLCALL
167
+ xmlDumpNotationDecl (xmlBufferPtr buf,
168
+ xmlNotationPtr nota);
169
+ XMLPUBFUN void XMLCALL
170
+ xmlDumpNotationTable (xmlBufferPtr buf,
171
+ xmlNotationTablePtr table);
172
+ #endif /* LIBXML_OUTPUT_ENABLED */
173
+
174
+ /* Element Content */
175
+ /* the non Doc version are being deprecated */
176
+ XMLPUBFUN xmlElementContentPtr XMLCALL
177
+ xmlNewElementContent (const xmlChar *name,
178
+ xmlElementContentType type);
179
+ XMLPUBFUN xmlElementContentPtr XMLCALL
180
+ xmlCopyElementContent (xmlElementContentPtr content);
181
+ XMLPUBFUN void XMLCALL
182
+ xmlFreeElementContent (xmlElementContentPtr cur);
183
+ /* the new versions with doc argument */
184
+ XMLPUBFUN xmlElementContentPtr XMLCALL
185
+ xmlNewDocElementContent (xmlDocPtr doc,
186
+ const xmlChar *name,
187
+ xmlElementContentType type);
188
+ XMLPUBFUN xmlElementContentPtr XMLCALL
189
+ xmlCopyDocElementContent(xmlDocPtr doc,
190
+ xmlElementContentPtr content);
191
+ XMLPUBFUN void XMLCALL
192
+ xmlFreeDocElementContent(xmlDocPtr doc,
193
+ xmlElementContentPtr cur);
194
+ XMLPUBFUN void XMLCALL
195
+ xmlSnprintfElementContent(char *buf,
196
+ int size,
197
+ xmlElementContentPtr content,
198
+ int englob);
199
+ #ifdef LIBXML_OUTPUT_ENABLED
200
+ /* DEPRECATED */
201
+ XMLPUBFUN void XMLCALL
202
+ xmlSprintfElementContent(char *buf,
203
+ xmlElementContentPtr content,
204
+ int englob);
205
+ #endif /* LIBXML_OUTPUT_ENABLED */
206
+ /* DEPRECATED */
207
+
208
+ /* Element */
209
+ XMLPUBFUN xmlElementPtr XMLCALL
210
+ xmlAddElementDecl (xmlValidCtxtPtr ctxt,
211
+ xmlDtdPtr dtd,
212
+ const xmlChar *name,
213
+ xmlElementTypeVal type,
214
+ xmlElementContentPtr content);
215
+ #ifdef LIBXML_TREE_ENABLED
216
+ XMLPUBFUN xmlElementTablePtr XMLCALL
217
+ xmlCopyElementTable (xmlElementTablePtr table);
218
+ #endif /* LIBXML_TREE_ENABLED */
219
+ XMLPUBFUN void XMLCALL
220
+ xmlFreeElementTable (xmlElementTablePtr table);
221
+ #ifdef LIBXML_OUTPUT_ENABLED
222
+ XMLPUBFUN void XMLCALL
223
+ xmlDumpElementTable (xmlBufferPtr buf,
224
+ xmlElementTablePtr table);
225
+ XMLPUBFUN void XMLCALL
226
+ xmlDumpElementDecl (xmlBufferPtr buf,
227
+ xmlElementPtr elem);
228
+ #endif /* LIBXML_OUTPUT_ENABLED */
229
+
230
+ /* Enumeration */
231
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
232
+ xmlCreateEnumeration (const xmlChar *name);
233
+ XMLPUBFUN void XMLCALL
234
+ xmlFreeEnumeration (xmlEnumerationPtr cur);
235
+ #ifdef LIBXML_TREE_ENABLED
236
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
237
+ xmlCopyEnumeration (xmlEnumerationPtr cur);
238
+ #endif /* LIBXML_TREE_ENABLED */
239
+
240
+ /* Attribute */
241
+ XMLPUBFUN xmlAttributePtr XMLCALL
242
+ xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
243
+ xmlDtdPtr dtd,
244
+ const xmlChar *elem,
245
+ const xmlChar *name,
246
+ const xmlChar *ns,
247
+ xmlAttributeType type,
248
+ xmlAttributeDefault def,
249
+ const xmlChar *defaultValue,
250
+ xmlEnumerationPtr tree);
251
+ #ifdef LIBXML_TREE_ENABLED
252
+ XMLPUBFUN xmlAttributeTablePtr XMLCALL
253
+ xmlCopyAttributeTable (xmlAttributeTablePtr table);
254
+ #endif /* LIBXML_TREE_ENABLED */
255
+ XMLPUBFUN void XMLCALL
256
+ xmlFreeAttributeTable (xmlAttributeTablePtr table);
257
+ #ifdef LIBXML_OUTPUT_ENABLED
258
+ XMLPUBFUN void XMLCALL
259
+ xmlDumpAttributeTable (xmlBufferPtr buf,
260
+ xmlAttributeTablePtr table);
261
+ XMLPUBFUN void XMLCALL
262
+ xmlDumpAttributeDecl (xmlBufferPtr buf,
263
+ xmlAttributePtr attr);
264
+ #endif /* LIBXML_OUTPUT_ENABLED */
265
+
266
+ /* IDs */
267
+ XMLPUBFUN xmlIDPtr XMLCALL
268
+ xmlAddID (xmlValidCtxtPtr ctxt,
269
+ xmlDocPtr doc,
270
+ const xmlChar *value,
271
+ xmlAttrPtr attr);
272
+ XMLPUBFUN void XMLCALL
273
+ xmlFreeIDTable (xmlIDTablePtr table);
274
+ XMLPUBFUN xmlAttrPtr XMLCALL
275
+ xmlGetID (xmlDocPtr doc,
276
+ const xmlChar *ID);
277
+ XMLPUBFUN int XMLCALL
278
+ xmlIsID (xmlDocPtr doc,
279
+ xmlNodePtr elem,
280
+ xmlAttrPtr attr);
281
+ XMLPUBFUN int XMLCALL
282
+ xmlRemoveID (xmlDocPtr doc,
283
+ xmlAttrPtr attr);
284
+
285
+ /* IDREFs */
286
+ XML_DEPRECATED
287
+ XMLPUBFUN xmlRefPtr XMLCALL
288
+ xmlAddRef (xmlValidCtxtPtr ctxt,
289
+ xmlDocPtr doc,
290
+ const xmlChar *value,
291
+ xmlAttrPtr attr);
292
+ XML_DEPRECATED
293
+ XMLPUBFUN void XMLCALL
294
+ xmlFreeRefTable (xmlRefTablePtr table);
295
+ XML_DEPRECATED
296
+ XMLPUBFUN int XMLCALL
297
+ xmlIsRef (xmlDocPtr doc,
298
+ xmlNodePtr elem,
299
+ xmlAttrPtr attr);
300
+ XML_DEPRECATED
301
+ XMLPUBFUN int XMLCALL
302
+ xmlRemoveRef (xmlDocPtr doc,
303
+ xmlAttrPtr attr);
304
+ XML_DEPRECATED
305
+ XMLPUBFUN xmlListPtr XMLCALL
306
+ xmlGetRefs (xmlDocPtr doc,
307
+ const xmlChar *ID);
308
+
309
+ /**
310
+ * The public function calls related to validity checking.
311
+ */
312
+ #ifdef LIBXML_VALID_ENABLED
313
+ /* Allocate/Release Validation Contexts */
314
+ XMLPUBFUN xmlValidCtxtPtr XMLCALL
315
+ xmlNewValidCtxt(void);
316
+ XMLPUBFUN void XMLCALL
317
+ xmlFreeValidCtxt(xmlValidCtxtPtr);
318
+
319
+ XMLPUBFUN int XMLCALL
320
+ xmlValidateRoot (xmlValidCtxtPtr ctxt,
321
+ xmlDocPtr doc);
322
+ XMLPUBFUN int XMLCALL
323
+ xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
324
+ xmlDocPtr doc,
325
+ xmlElementPtr elem);
326
+ XMLPUBFUN xmlChar * XMLCALL
327
+ xmlValidNormalizeAttributeValue(xmlDocPtr doc,
328
+ xmlNodePtr elem,
329
+ const xmlChar *name,
330
+ const xmlChar *value);
331
+ XMLPUBFUN xmlChar * XMLCALL
332
+ xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
333
+ xmlDocPtr doc,
334
+ xmlNodePtr elem,
335
+ const xmlChar *name,
336
+ const xmlChar *value);
337
+ XMLPUBFUN int XMLCALL
338
+ xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
339
+ xmlDocPtr doc,
340
+ xmlAttributePtr attr);
341
+ XMLPUBFUN int XMLCALL
342
+ xmlValidateAttributeValue(xmlAttributeType type,
343
+ const xmlChar *value);
344
+ XMLPUBFUN int XMLCALL
345
+ xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
346
+ xmlDocPtr doc,
347
+ xmlNotationPtr nota);
348
+ XMLPUBFUN int XMLCALL
349
+ xmlValidateDtd (xmlValidCtxtPtr ctxt,
350
+ xmlDocPtr doc,
351
+ xmlDtdPtr dtd);
352
+ XMLPUBFUN int XMLCALL
353
+ xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
354
+ xmlDocPtr doc);
355
+ XMLPUBFUN int XMLCALL
356
+ xmlValidateDocument (xmlValidCtxtPtr ctxt,
357
+ xmlDocPtr doc);
358
+ XMLPUBFUN int XMLCALL
359
+ xmlValidateElement (xmlValidCtxtPtr ctxt,
360
+ xmlDocPtr doc,
361
+ xmlNodePtr elem);
362
+ XMLPUBFUN int XMLCALL
363
+ xmlValidateOneElement (xmlValidCtxtPtr ctxt,
364
+ xmlDocPtr doc,
365
+ xmlNodePtr elem);
366
+ XMLPUBFUN int XMLCALL
367
+ xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
368
+ xmlDocPtr doc,
369
+ xmlNodePtr elem,
370
+ xmlAttrPtr attr,
371
+ const xmlChar *value);
372
+ XMLPUBFUN int XMLCALL
373
+ xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
374
+ xmlDocPtr doc,
375
+ xmlNodePtr elem,
376
+ const xmlChar *prefix,
377
+ xmlNsPtr ns,
378
+ const xmlChar *value);
379
+ XMLPUBFUN int XMLCALL
380
+ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
381
+ xmlDocPtr doc);
382
+ #endif /* LIBXML_VALID_ENABLED */
383
+
384
+ #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
385
+ XMLPUBFUN int XMLCALL
386
+ xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
387
+ xmlDocPtr doc,
388
+ const xmlChar *notationName);
389
+ #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
390
+
391
+ XMLPUBFUN int XMLCALL
392
+ xmlIsMixedElement (xmlDocPtr doc,
393
+ const xmlChar *name);
394
+ XMLPUBFUN xmlAttributePtr XMLCALL
395
+ xmlGetDtdAttrDesc (xmlDtdPtr dtd,
396
+ const xmlChar *elem,
397
+ const xmlChar *name);
398
+ XMLPUBFUN xmlAttributePtr XMLCALL
399
+ xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
400
+ const xmlChar *elem,
401
+ const xmlChar *name,
402
+ const xmlChar *prefix);
403
+ XMLPUBFUN xmlNotationPtr XMLCALL
404
+ xmlGetDtdNotationDesc (xmlDtdPtr dtd,
405
+ const xmlChar *name);
406
+ XMLPUBFUN xmlElementPtr XMLCALL
407
+ xmlGetDtdQElementDesc (xmlDtdPtr dtd,
408
+ const xmlChar *name,
409
+ const xmlChar *prefix);
410
+ XMLPUBFUN xmlElementPtr XMLCALL
411
+ xmlGetDtdElementDesc (xmlDtdPtr dtd,
412
+ const xmlChar *name);
413
+
414
+ #ifdef LIBXML_VALID_ENABLED
415
+
416
+ XMLPUBFUN int XMLCALL
417
+ xmlValidGetPotentialChildren(xmlElementContent *ctree,
418
+ const xmlChar **names,
419
+ int *len,
420
+ int max);
421
+
422
+ XMLPUBFUN int XMLCALL
423
+ xmlValidGetValidElements(xmlNode *prev,
424
+ xmlNode *next,
425
+ const xmlChar **names,
426
+ int max);
427
+ XMLPUBFUN int XMLCALL
428
+ xmlValidateNameValue (const xmlChar *value);
429
+ XMLPUBFUN int XMLCALL
430
+ xmlValidateNamesValue (const xmlChar *value);
431
+ XMLPUBFUN int XMLCALL
432
+ xmlValidateNmtokenValue (const xmlChar *value);
433
+ XMLPUBFUN int XMLCALL
434
+ xmlValidateNmtokensValue(const xmlChar *value);
435
+
436
+ #ifdef LIBXML_REGEXP_ENABLED
437
+ /*
438
+ * Validation based on the regexp support
439
+ */
440
+ XMLPUBFUN int XMLCALL
441
+ xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
442
+ xmlElementPtr elem);
443
+
444
+ XMLPUBFUN int XMLCALL
445
+ xmlValidatePushElement (xmlValidCtxtPtr ctxt,
446
+ xmlDocPtr doc,
447
+ xmlNodePtr elem,
448
+ const xmlChar *qname);
449
+ XMLPUBFUN int XMLCALL
450
+ xmlValidatePushCData (xmlValidCtxtPtr ctxt,
451
+ const xmlChar *data,
452
+ int len);
453
+ XMLPUBFUN int XMLCALL
454
+ xmlValidatePopElement (xmlValidCtxtPtr ctxt,
455
+ xmlDocPtr doc,
456
+ xmlNodePtr elem,
457
+ const xmlChar *qname);
458
+ #endif /* LIBXML_REGEXP_ENABLED */
459
+ #endif /* LIBXML_VALID_ENABLED */
460
+ #ifdef __cplusplus
461
+ }
462
+ #endif
463
+ #endif /* __XML_VALID_H__ */
@@ -0,0 +1,129 @@
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__ */