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,236 @@
1
+ /*
2
+ * Summary: Chained hash tables
3
+ * Description: This module implements the hash table support used in
4
+ * various places in the library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Bjorn Reese <bjorn.reese@systematic.dk>
9
+ */
10
+
11
+ #ifndef __XML_HASH_H__
12
+ #define __XML_HASH_H__
13
+
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ /*
19
+ * The hash table.
20
+ */
21
+ typedef struct _xmlHashTable xmlHashTable;
22
+ typedef xmlHashTable *xmlHashTablePtr;
23
+
24
+ #ifdef __cplusplus
25
+ }
26
+ #endif
27
+
28
+ #include <libxml/xmlversion.h>
29
+ #include <libxml/parser.h>
30
+ #include <libxml/dict.h>
31
+
32
+ #ifdef __cplusplus
33
+ extern "C" {
34
+ #endif
35
+
36
+ /*
37
+ * Recent version of gcc produce a warning when a function pointer is assigned
38
+ * to an object pointer, or vice versa. The following macro is a dirty hack
39
+ * to allow suppression of the warning. If your architecture has function
40
+ * pointers which are a different size than a void pointer, there may be some
41
+ * serious trouble within the library.
42
+ */
43
+ /**
44
+ * XML_CAST_FPTR:
45
+ * @fptr: pointer to a function
46
+ *
47
+ * Macro to do a casting from an object pointer to a
48
+ * function pointer without encountering a warning from
49
+ * gcc
50
+ *
51
+ * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
52
+ * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
53
+ * so it is disabled now
54
+ */
55
+
56
+ #define XML_CAST_FPTR(fptr) fptr
57
+
58
+
59
+ /*
60
+ * function types:
61
+ */
62
+ /**
63
+ * xmlHashDeallocator:
64
+ * @payload: the data in the hash
65
+ * @name: the name associated
66
+ *
67
+ * Callback to free data from a hash.
68
+ */
69
+ typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
70
+ /**
71
+ * xmlHashCopier:
72
+ * @payload: the data in the hash
73
+ * @name: the name associated
74
+ *
75
+ * Callback to copy data from a hash.
76
+ *
77
+ * Returns a copy of the data or NULL in case of error.
78
+ */
79
+ typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
80
+ /**
81
+ * xmlHashScanner:
82
+ * @payload: the data in the hash
83
+ * @data: extra scanner data
84
+ * @name: the name associated
85
+ *
86
+ * Callback when scanning data in a hash with the simple scanner.
87
+ */
88
+ typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
89
+ /**
90
+ * xmlHashScannerFull:
91
+ * @payload: the data in the hash
92
+ * @data: extra scanner data
93
+ * @name: the name associated
94
+ * @name2: the second name associated
95
+ * @name3: the third name associated
96
+ *
97
+ * Callback when scanning data in a hash with the full scanner.
98
+ */
99
+ typedef void (*xmlHashScannerFull)(void *payload, void *data,
100
+ const xmlChar *name, const xmlChar *name2,
101
+ const xmlChar *name3);
102
+
103
+ /*
104
+ * Constructor and destructor.
105
+ */
106
+ XMLPUBFUN xmlHashTablePtr XMLCALL
107
+ xmlHashCreate (int size);
108
+ XMLPUBFUN xmlHashTablePtr XMLCALL
109
+ xmlHashCreateDict(int size,
110
+ xmlDictPtr dict);
111
+ XMLPUBFUN void XMLCALL
112
+ xmlHashFree (xmlHashTablePtr table,
113
+ xmlHashDeallocator f);
114
+ XMLPUBFUN void XMLCALL
115
+ xmlHashDefaultDeallocator(void *entry,
116
+ const xmlChar *name);
117
+
118
+ /*
119
+ * Add a new entry to the hash table.
120
+ */
121
+ XMLPUBFUN int XMLCALL
122
+ xmlHashAddEntry (xmlHashTablePtr table,
123
+ const xmlChar *name,
124
+ void *userdata);
125
+ XMLPUBFUN int XMLCALL
126
+ xmlHashUpdateEntry(xmlHashTablePtr table,
127
+ const xmlChar *name,
128
+ void *userdata,
129
+ xmlHashDeallocator f);
130
+ XMLPUBFUN int XMLCALL
131
+ xmlHashAddEntry2(xmlHashTablePtr table,
132
+ const xmlChar *name,
133
+ const xmlChar *name2,
134
+ void *userdata);
135
+ XMLPUBFUN int XMLCALL
136
+ xmlHashUpdateEntry2(xmlHashTablePtr table,
137
+ const xmlChar *name,
138
+ const xmlChar *name2,
139
+ void *userdata,
140
+ xmlHashDeallocator f);
141
+ XMLPUBFUN int XMLCALL
142
+ xmlHashAddEntry3(xmlHashTablePtr table,
143
+ const xmlChar *name,
144
+ const xmlChar *name2,
145
+ const xmlChar *name3,
146
+ void *userdata);
147
+ XMLPUBFUN int XMLCALL
148
+ xmlHashUpdateEntry3(xmlHashTablePtr table,
149
+ const xmlChar *name,
150
+ const xmlChar *name2,
151
+ const xmlChar *name3,
152
+ void *userdata,
153
+ xmlHashDeallocator f);
154
+
155
+ /*
156
+ * Remove an entry from the hash table.
157
+ */
158
+ XMLPUBFUN int XMLCALL
159
+ xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
160
+ xmlHashDeallocator f);
161
+ XMLPUBFUN int XMLCALL
162
+ xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
163
+ const xmlChar *name2, xmlHashDeallocator f);
164
+ XMLPUBFUN int XMLCALL
165
+ xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
166
+ const xmlChar *name2, const xmlChar *name3,
167
+ xmlHashDeallocator f);
168
+
169
+ /*
170
+ * Retrieve the userdata.
171
+ */
172
+ XMLPUBFUN void * XMLCALL
173
+ xmlHashLookup (xmlHashTablePtr table,
174
+ const xmlChar *name);
175
+ XMLPUBFUN void * XMLCALL
176
+ xmlHashLookup2 (xmlHashTablePtr table,
177
+ const xmlChar *name,
178
+ const xmlChar *name2);
179
+ XMLPUBFUN void * XMLCALL
180
+ xmlHashLookup3 (xmlHashTablePtr table,
181
+ const xmlChar *name,
182
+ const xmlChar *name2,
183
+ const xmlChar *name3);
184
+ XMLPUBFUN void * XMLCALL
185
+ xmlHashQLookup (xmlHashTablePtr table,
186
+ const xmlChar *name,
187
+ const xmlChar *prefix);
188
+ XMLPUBFUN void * XMLCALL
189
+ xmlHashQLookup2 (xmlHashTablePtr table,
190
+ const xmlChar *name,
191
+ const xmlChar *prefix,
192
+ const xmlChar *name2,
193
+ const xmlChar *prefix2);
194
+ XMLPUBFUN void * XMLCALL
195
+ xmlHashQLookup3 (xmlHashTablePtr table,
196
+ const xmlChar *name,
197
+ const xmlChar *prefix,
198
+ const xmlChar *name2,
199
+ const xmlChar *prefix2,
200
+ const xmlChar *name3,
201
+ const xmlChar *prefix3);
202
+
203
+ /*
204
+ * Helpers.
205
+ */
206
+ XMLPUBFUN xmlHashTablePtr XMLCALL
207
+ xmlHashCopy (xmlHashTablePtr table,
208
+ xmlHashCopier f);
209
+ XMLPUBFUN int XMLCALL
210
+ xmlHashSize (xmlHashTablePtr table);
211
+ XMLPUBFUN void XMLCALL
212
+ xmlHashScan (xmlHashTablePtr table,
213
+ xmlHashScanner f,
214
+ void *data);
215
+ XMLPUBFUN void XMLCALL
216
+ xmlHashScan3 (xmlHashTablePtr table,
217
+ const xmlChar *name,
218
+ const xmlChar *name2,
219
+ const xmlChar *name3,
220
+ xmlHashScanner f,
221
+ void *data);
222
+ XMLPUBFUN void XMLCALL
223
+ xmlHashScanFull (xmlHashTablePtr table,
224
+ xmlHashScannerFull f,
225
+ void *data);
226
+ XMLPUBFUN void XMLCALL
227
+ xmlHashScanFull3(xmlHashTablePtr table,
228
+ const xmlChar *name,
229
+ const xmlChar *name2,
230
+ const xmlChar *name3,
231
+ xmlHashScannerFull f,
232
+ void *data);
233
+ #ifdef __cplusplus
234
+ }
235
+ #endif
236
+ #endif /* ! __XML_HASH_H__ */
@@ -0,0 +1,137 @@
1
+ /*
2
+ * Summary: lists interfaces
3
+ * Description: this module implement the list support used in
4
+ * various place in the library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
9
+ */
10
+
11
+ #ifndef __XML_LINK_INCLUDE__
12
+ #define __XML_LINK_INCLUDE__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+ typedef struct _xmlLink xmlLink;
21
+ typedef xmlLink *xmlLinkPtr;
22
+
23
+ typedef struct _xmlList xmlList;
24
+ typedef xmlList *xmlListPtr;
25
+
26
+ /**
27
+ * xmlListDeallocator:
28
+ * @lk: the data to deallocate
29
+ *
30
+ * Callback function used to free data from a list.
31
+ */
32
+ typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
33
+ /**
34
+ * xmlListDataCompare:
35
+ * @data0: the first data
36
+ * @data1: the second data
37
+ *
38
+ * Callback function used to compare 2 data.
39
+ *
40
+ * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
41
+ */
42
+ typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
43
+ /**
44
+ * xmlListWalker:
45
+ * @data: the data found in the list
46
+ * @user: extra user provided data to the walker
47
+ *
48
+ * Callback function used when walking a list with xmlListWalk().
49
+ *
50
+ * Returns 0 to stop walking the list, 1 otherwise.
51
+ */
52
+ typedef int (*xmlListWalker) (const void *data, void *user);
53
+
54
+ /* Creation/Deletion */
55
+ XMLPUBFUN xmlListPtr XMLCALL
56
+ xmlListCreate (xmlListDeallocator deallocator,
57
+ xmlListDataCompare compare);
58
+ XMLPUBFUN void XMLCALL
59
+ xmlListDelete (xmlListPtr l);
60
+
61
+ /* Basic Operators */
62
+ XMLPUBFUN void * XMLCALL
63
+ xmlListSearch (xmlListPtr l,
64
+ void *data);
65
+ XMLPUBFUN void * XMLCALL
66
+ xmlListReverseSearch (xmlListPtr l,
67
+ void *data);
68
+ XMLPUBFUN int XMLCALL
69
+ xmlListInsert (xmlListPtr l,
70
+ void *data) ;
71
+ XMLPUBFUN int XMLCALL
72
+ xmlListAppend (xmlListPtr l,
73
+ void *data) ;
74
+ XMLPUBFUN int XMLCALL
75
+ xmlListRemoveFirst (xmlListPtr l,
76
+ void *data);
77
+ XMLPUBFUN int XMLCALL
78
+ xmlListRemoveLast (xmlListPtr l,
79
+ void *data);
80
+ XMLPUBFUN int XMLCALL
81
+ xmlListRemoveAll (xmlListPtr l,
82
+ void *data);
83
+ XMLPUBFUN void XMLCALL
84
+ xmlListClear (xmlListPtr l);
85
+ XMLPUBFUN int XMLCALL
86
+ xmlListEmpty (xmlListPtr l);
87
+ XMLPUBFUN xmlLinkPtr XMLCALL
88
+ xmlListFront (xmlListPtr l);
89
+ XMLPUBFUN xmlLinkPtr XMLCALL
90
+ xmlListEnd (xmlListPtr l);
91
+ XMLPUBFUN int XMLCALL
92
+ xmlListSize (xmlListPtr l);
93
+
94
+ XMLPUBFUN void XMLCALL
95
+ xmlListPopFront (xmlListPtr l);
96
+ XMLPUBFUN void XMLCALL
97
+ xmlListPopBack (xmlListPtr l);
98
+ XMLPUBFUN int XMLCALL
99
+ xmlListPushFront (xmlListPtr l,
100
+ void *data);
101
+ XMLPUBFUN int XMLCALL
102
+ xmlListPushBack (xmlListPtr l,
103
+ void *data);
104
+
105
+ /* Advanced Operators */
106
+ XMLPUBFUN void XMLCALL
107
+ xmlListReverse (xmlListPtr l);
108
+ XMLPUBFUN void XMLCALL
109
+ xmlListSort (xmlListPtr l);
110
+ XMLPUBFUN void XMLCALL
111
+ xmlListWalk (xmlListPtr l,
112
+ xmlListWalker walker,
113
+ void *user);
114
+ XMLPUBFUN void XMLCALL
115
+ xmlListReverseWalk (xmlListPtr l,
116
+ xmlListWalker walker,
117
+ void *user);
118
+ XMLPUBFUN void XMLCALL
119
+ xmlListMerge (xmlListPtr l1,
120
+ xmlListPtr l2);
121
+ XMLPUBFUN xmlListPtr XMLCALL
122
+ xmlListDup (const xmlListPtr old);
123
+ XMLPUBFUN int XMLCALL
124
+ xmlListCopy (xmlListPtr cur,
125
+ const xmlListPtr old);
126
+ /* Link operators */
127
+ XMLPUBFUN void * XMLCALL
128
+ xmlLinkGetData (xmlLinkPtr lk);
129
+
130
+ /* xmlListUnique() */
131
+ /* xmlListSwap */
132
+
133
+ #ifdef __cplusplus
134
+ }
135
+ #endif
136
+
137
+ #endif /* __XML_LINK_INCLUDE__ */
@@ -0,0 +1,186 @@
1
+ /*
2
+ * Summary: minimal FTP implementation
3
+ * Description: minimal FTP implementation allowing to fetch resources
4
+ * like external subset. This module is DEPRECATED, do not
5
+ * use any of its functions.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __NANO_FTP_H__
13
+ #define __NANO_FTP_H__
14
+
15
+ #include <libxml/xmlversion.h>
16
+
17
+ #ifdef LIBXML_FTP_ENABLED
18
+
19
+ /* Needed for portability to Windows 64 bits */
20
+ #if defined(_WIN32)
21
+ #include <winsock2.h>
22
+ #else
23
+ /**
24
+ * SOCKET:
25
+ *
26
+ * macro used to provide portability of code to windows sockets
27
+ */
28
+ #define SOCKET int
29
+ /**
30
+ * INVALID_SOCKET:
31
+ *
32
+ * macro used to provide portability of code to windows sockets
33
+ * the value to be used when the socket is not valid
34
+ */
35
+ #undef INVALID_SOCKET
36
+ #define INVALID_SOCKET (-1)
37
+ #endif
38
+
39
+ #ifdef __cplusplus
40
+ extern "C" {
41
+ #endif
42
+
43
+ /**
44
+ * ftpListCallback:
45
+ * @userData: user provided data for the callback
46
+ * @filename: the file name (including "->" when links are shown)
47
+ * @attrib: the attribute string
48
+ * @owner: the owner string
49
+ * @group: the group string
50
+ * @size: the file size
51
+ * @links: the link count
52
+ * @year: the year
53
+ * @month: the month
54
+ * @day: the day
55
+ * @hour: the hour
56
+ * @minute: the minute
57
+ *
58
+ * A callback for the xmlNanoFTPList command.
59
+ * Note that only one of year and day:minute are specified.
60
+ */
61
+ typedef void (*ftpListCallback) (void *userData,
62
+ const char *filename, const char *attrib,
63
+ const char *owner, const char *group,
64
+ unsigned long size, int links, int year,
65
+ const char *month, int day, int hour,
66
+ int minute);
67
+ /**
68
+ * ftpDataCallback:
69
+ * @userData: the user provided context
70
+ * @data: the data received
71
+ * @len: its size in bytes
72
+ *
73
+ * A callback for the xmlNanoFTPGet command.
74
+ */
75
+ typedef void (*ftpDataCallback) (void *userData,
76
+ const char *data,
77
+ int len);
78
+
79
+ /*
80
+ * Init
81
+ */
82
+ XML_DEPRECATED
83
+ XMLPUBFUN void XMLCALL
84
+ xmlNanoFTPInit (void);
85
+ XML_DEPRECATED
86
+ XMLPUBFUN void XMLCALL
87
+ xmlNanoFTPCleanup (void);
88
+
89
+ /*
90
+ * Creating/freeing contexts.
91
+ */
92
+ XML_DEPRECATED
93
+ XMLPUBFUN void * XMLCALL
94
+ xmlNanoFTPNewCtxt (const char *URL);
95
+ XML_DEPRECATED
96
+ XMLPUBFUN void XMLCALL
97
+ xmlNanoFTPFreeCtxt (void * ctx);
98
+ XML_DEPRECATED
99
+ XMLPUBFUN void * XMLCALL
100
+ xmlNanoFTPConnectTo (const char *server,
101
+ int port);
102
+ /*
103
+ * Opening/closing session connections.
104
+ */
105
+ XML_DEPRECATED
106
+ XMLPUBFUN void * XMLCALL
107
+ xmlNanoFTPOpen (const char *URL);
108
+ XML_DEPRECATED
109
+ XMLPUBFUN int XMLCALL
110
+ xmlNanoFTPConnect (void *ctx);
111
+ XML_DEPRECATED
112
+ XMLPUBFUN int XMLCALL
113
+ xmlNanoFTPClose (void *ctx);
114
+ XML_DEPRECATED
115
+ XMLPUBFUN int XMLCALL
116
+ xmlNanoFTPQuit (void *ctx);
117
+ XML_DEPRECATED
118
+ XMLPUBFUN void XMLCALL
119
+ xmlNanoFTPScanProxy (const char *URL);
120
+ XML_DEPRECATED
121
+ XMLPUBFUN void XMLCALL
122
+ xmlNanoFTPProxy (const char *host,
123
+ int port,
124
+ const char *user,
125
+ const char *passwd,
126
+ int type);
127
+ XML_DEPRECATED
128
+ XMLPUBFUN int XMLCALL
129
+ xmlNanoFTPUpdateURL (void *ctx,
130
+ const char *URL);
131
+
132
+ /*
133
+ * Rather internal commands.
134
+ */
135
+ XML_DEPRECATED
136
+ XMLPUBFUN int XMLCALL
137
+ xmlNanoFTPGetResponse (void *ctx);
138
+ XML_DEPRECATED
139
+ XMLPUBFUN int XMLCALL
140
+ xmlNanoFTPCheckResponse (void *ctx);
141
+
142
+ /*
143
+ * CD/DIR/GET handlers.
144
+ */
145
+ XML_DEPRECATED
146
+ XMLPUBFUN int XMLCALL
147
+ xmlNanoFTPCwd (void *ctx,
148
+ const char *directory);
149
+ XML_DEPRECATED
150
+ XMLPUBFUN int XMLCALL
151
+ xmlNanoFTPDele (void *ctx,
152
+ const char *file);
153
+
154
+ XML_DEPRECATED
155
+ XMLPUBFUN SOCKET XMLCALL
156
+ xmlNanoFTPGetConnection (void *ctx);
157
+ XML_DEPRECATED
158
+ XMLPUBFUN int XMLCALL
159
+ xmlNanoFTPCloseConnection(void *ctx);
160
+ XML_DEPRECATED
161
+ XMLPUBFUN int XMLCALL
162
+ xmlNanoFTPList (void *ctx,
163
+ ftpListCallback callback,
164
+ void *userData,
165
+ const char *filename);
166
+ XML_DEPRECATED
167
+ XMLPUBFUN SOCKET XMLCALL
168
+ xmlNanoFTPGetSocket (void *ctx,
169
+ const char *filename);
170
+ XML_DEPRECATED
171
+ XMLPUBFUN int XMLCALL
172
+ xmlNanoFTPGet (void *ctx,
173
+ ftpDataCallback callback,
174
+ void *userData,
175
+ const char *filename);
176
+ XML_DEPRECATED
177
+ XMLPUBFUN int XMLCALL
178
+ xmlNanoFTPRead (void *ctx,
179
+ void *dest,
180
+ int len);
181
+
182
+ #ifdef __cplusplus
183
+ }
184
+ #endif
185
+ #endif /* LIBXML_FTP_ENABLED */
186
+ #endif /* __NANO_FTP_H__ */
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Summary: minimal HTTP implementation
3
+ * Description: minimal HTTP implementation allowing to fetch resources
4
+ * like external subset.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __NANO_HTTP_H__
12
+ #define __NANO_HTTP_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef LIBXML_HTTP_ENABLED
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+ XMLPUBFUN void XMLCALL
22
+ xmlNanoHTTPInit (void);
23
+ XMLPUBFUN void XMLCALL
24
+ xmlNanoHTTPCleanup (void);
25
+ XMLPUBFUN void XMLCALL
26
+ xmlNanoHTTPScanProxy (const char *URL);
27
+ XMLPUBFUN int XMLCALL
28
+ xmlNanoHTTPFetch (const char *URL,
29
+ const char *filename,
30
+ char **contentType);
31
+ XMLPUBFUN void * XMLCALL
32
+ xmlNanoHTTPMethod (const char *URL,
33
+ const char *method,
34
+ const char *input,
35
+ char **contentType,
36
+ const char *headers,
37
+ int ilen);
38
+ XMLPUBFUN void * XMLCALL
39
+ xmlNanoHTTPMethodRedir (const char *URL,
40
+ const char *method,
41
+ const char *input,
42
+ char **contentType,
43
+ char **redir,
44
+ const char *headers,
45
+ int ilen);
46
+ XMLPUBFUN void * XMLCALL
47
+ xmlNanoHTTPOpen (const char *URL,
48
+ char **contentType);
49
+ XMLPUBFUN void * XMLCALL
50
+ xmlNanoHTTPOpenRedir (const char *URL,
51
+ char **contentType,
52
+ char **redir);
53
+ XMLPUBFUN int XMLCALL
54
+ xmlNanoHTTPReturnCode (void *ctx);
55
+ XMLPUBFUN const char * XMLCALL
56
+ xmlNanoHTTPAuthHeader (void *ctx);
57
+ XMLPUBFUN const char * XMLCALL
58
+ xmlNanoHTTPRedir (void *ctx);
59
+ XMLPUBFUN int XMLCALL
60
+ xmlNanoHTTPContentLength( void * ctx );
61
+ XMLPUBFUN const char * XMLCALL
62
+ xmlNanoHTTPEncoding (void *ctx);
63
+ XMLPUBFUN const char * XMLCALL
64
+ xmlNanoHTTPMimeType (void *ctx);
65
+ XMLPUBFUN int XMLCALL
66
+ xmlNanoHTTPRead (void *ctx,
67
+ void *dest,
68
+ int len);
69
+ #ifdef LIBXML_OUTPUT_ENABLED
70
+ XMLPUBFUN int XMLCALL
71
+ xmlNanoHTTPSave (void *ctxt,
72
+ const char *filename);
73
+ #endif /* LIBXML_OUTPUT_ENABLED */
74
+ XMLPUBFUN void XMLCALL
75
+ xmlNanoHTTPClose (void *ctx);
76
+ #ifdef __cplusplus
77
+ }
78
+ #endif
79
+
80
+ #endif /* LIBXML_HTTP_ENABLED */
81
+ #endif /* __NANO_HTTP_H__ */