nokogiri 1.10.7 → 1.12.5-arm64-darwin

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1173 -884
  4. data/LICENSE.md +1 -1
  5. data/README.md +176 -96
  6. data/dependencies.yml +12 -12
  7. data/ext/nokogiri/depend +38 -358
  8. data/ext/nokogiri/extconf.rb +716 -414
  9. data/ext/nokogiri/gumbo.c +584 -0
  10. data/ext/nokogiri/html4_document.c +166 -0
  11. data/ext/nokogiri/html4_element_description.c +294 -0
  12. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  13. data/ext/nokogiri/html4_sax_parser_context.c +120 -0
  14. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  15. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  16. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  17. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  18. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -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 +173 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -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 +79 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -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 +163 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -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 +89 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -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 +945 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -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 +151 -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 +485 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -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 +1978 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -91
  88. data/ext/nokogiri/nokogiri.h +191 -89
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +15 -15
  91. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  92. data/ext/nokogiri/xml_cdata.c +13 -18
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +267 -195
  95. data/ext/nokogiri/xml_document_fragment.c +13 -15
  96. data/ext/nokogiri/xml_dtd.c +54 -48
  97. data/ext/nokogiri/xml_element_content.c +31 -26
  98. data/ext/nokogiri/xml_element_decl.c +22 -22
  99. data/ext/nokogiri/xml_encoding_handler.c +28 -17
  100. data/ext/nokogiri/xml_entity_decl.c +32 -30
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +60 -51
  103. data/ext/nokogiri/xml_node.c +493 -407
  104. data/ext/nokogiri/xml_node_set.c +174 -162
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +197 -172
  107. data/ext/nokogiri/xml_relax_ng.c +52 -28
  108. data/ext/nokogiri/xml_sax_parser.c +112 -112
  109. data/ext/nokogiri/xml_sax_parser_context.c +105 -86
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  111. data/ext/nokogiri/xml_schema.c +112 -33
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +13 -17
  114. data/ext/nokogiri/xml_xpath_context.c +158 -73
  115. data/ext/nokogiri/xslt_stylesheet.c +158 -164
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +101 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.5/nokogiri.bundle +0 -0
  120. data/lib/nokogiri/2.6/nokogiri.bundle +0 -0
  121. data/lib/nokogiri/2.7/nokogiri.bundle +0 -0
  122. data/lib/nokogiri/3.0/nokogiri.bundle +0 -0
  123. data/lib/nokogiri/css/node.rb +1 -0
  124. data/lib/nokogiri/css/parser.rb +64 -63
  125. data/lib/nokogiri/css/parser.y +3 -3
  126. data/lib/nokogiri/css/parser_extras.rb +39 -36
  127. data/lib/nokogiri/css/syntax_error.rb +2 -1
  128. data/lib/nokogiri/css/tokenizer.rb +1 -0
  129. data/lib/nokogiri/css/xpath_visitor.rb +73 -43
  130. data/lib/nokogiri/css.rb +15 -14
  131. data/lib/nokogiri/decorators/slop.rb +1 -0
  132. data/lib/nokogiri/extension.rb +31 -0
  133. data/lib/nokogiri/gumbo.rb +14 -0
  134. data/lib/nokogiri/html.rb +32 -27
  135. data/lib/nokogiri/{html → html4}/builder.rb +3 -2
  136. data/lib/nokogiri/{html → html4}/document.rb +17 -30
  137. data/lib/nokogiri/{html → html4}/document_fragment.rb +18 -17
  138. data/lib/nokogiri/{html → html4}/element_description.rb +2 -1
  139. data/lib/nokogiri/{html → html4}/element_description_defaults.rb +2 -1
  140. data/lib/nokogiri/{html → html4}/entity_lookup.rb +2 -1
  141. data/lib/nokogiri/{html → html4}/sax/parser.rb +12 -14
  142. data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
  143. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +6 -5
  144. data/lib/nokogiri/html4.rb +40 -0
  145. data/lib/nokogiri/html5/document.rb +74 -0
  146. data/lib/nokogiri/html5/document_fragment.rb +80 -0
  147. data/lib/nokogiri/html5/node.rb +93 -0
  148. data/lib/nokogiri/html5.rb +473 -0
  149. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  150. data/lib/nokogiri/syntax_error.rb +1 -0
  151. data/lib/nokogiri/version/constant.rb +5 -0
  152. data/lib/nokogiri/version/info.rb +215 -0
  153. data/lib/nokogiri/version.rb +3 -109
  154. data/lib/nokogiri/xml/attr.rb +1 -0
  155. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  156. data/lib/nokogiri/xml/builder.rb +41 -2
  157. data/lib/nokogiri/xml/cdata.rb +1 -0
  158. data/lib/nokogiri/xml/character_data.rb +1 -0
  159. data/lib/nokogiri/xml/document.rb +138 -41
  160. data/lib/nokogiri/xml/document_fragment.rb +5 -6
  161. data/lib/nokogiri/xml/dtd.rb +1 -0
  162. data/lib/nokogiri/xml/element_content.rb +1 -0
  163. data/lib/nokogiri/xml/element_decl.rb +1 -0
  164. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  165. data/lib/nokogiri/xml/entity_reference.rb +1 -0
  166. data/lib/nokogiri/xml/namespace.rb +1 -0
  167. data/lib/nokogiri/xml/node/save_options.rb +2 -1
  168. data/lib/nokogiri/xml/node.rb +629 -293
  169. data/lib/nokogiri/xml/node_set.rb +1 -0
  170. data/lib/nokogiri/xml/notation.rb +1 -0
  171. data/lib/nokogiri/xml/parse_options.rb +12 -3
  172. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  173. data/lib/nokogiri/xml/pp/node.rb +1 -0
  174. data/lib/nokogiri/xml/pp.rb +3 -2
  175. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  176. data/lib/nokogiri/xml/reader.rb +9 -12
  177. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  178. data/lib/nokogiri/xml/sax/document.rb +25 -30
  179. data/lib/nokogiri/xml/sax/parser.rb +1 -0
  180. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  181. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  182. data/lib/nokogiri/xml/sax.rb +5 -4
  183. data/lib/nokogiri/xml/schema.rb +13 -4
  184. data/lib/nokogiri/xml/searchable.rb +25 -16
  185. data/lib/nokogiri/xml/syntax_error.rb +1 -0
  186. data/lib/nokogiri/xml/text.rb +1 -0
  187. data/lib/nokogiri/xml/xpath/syntax_error.rb +2 -1
  188. data/lib/nokogiri/xml/xpath.rb +4 -5
  189. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  190. data/lib/nokogiri/xml.rb +36 -36
  191. data/lib/nokogiri/xslt/stylesheet.rb +2 -1
  192. data/lib/nokogiri/xslt.rb +17 -16
  193. data/lib/nokogiri.rb +32 -51
  194. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  195. metadata +182 -193
  196. data/ext/nokogiri/html_document.c +0 -170
  197. data/ext/nokogiri/html_document.h +0 -10
  198. data/ext/nokogiri/html_element_description.c +0 -279
  199. data/ext/nokogiri/html_element_description.h +0 -10
  200. data/ext/nokogiri/html_entity_lookup.c +0 -32
  201. data/ext/nokogiri/html_entity_lookup.h +0 -8
  202. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  203. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  204. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  205. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  206. data/ext/nokogiri/xml_attr.h +0 -9
  207. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  208. data/ext/nokogiri/xml_cdata.h +0 -9
  209. data/ext/nokogiri/xml_comment.h +0 -9
  210. data/ext/nokogiri/xml_document.h +0 -23
  211. data/ext/nokogiri/xml_document_fragment.h +0 -10
  212. data/ext/nokogiri/xml_dtd.h +0 -10
  213. data/ext/nokogiri/xml_element_content.h +0 -10
  214. data/ext/nokogiri/xml_element_decl.h +0 -9
  215. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  216. data/ext/nokogiri/xml_entity_decl.h +0 -10
  217. data/ext/nokogiri/xml_entity_reference.h +0 -9
  218. data/ext/nokogiri/xml_io.c +0 -61
  219. data/ext/nokogiri/xml_io.h +0 -11
  220. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  221. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  222. data/ext/nokogiri/xml_namespace.h +0 -14
  223. data/ext/nokogiri/xml_node.h +0 -13
  224. data/ext/nokogiri/xml_node_set.h +0 -12
  225. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  226. data/ext/nokogiri/xml_reader.h +0 -10
  227. data/ext/nokogiri/xml_relax_ng.h +0 -9
  228. data/ext/nokogiri/xml_sax_parser.h +0 -39
  229. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  230. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  231. data/ext/nokogiri/xml_schema.h +0 -9
  232. data/ext/nokogiri/xml_syntax_error.h +0 -13
  233. data/ext/nokogiri/xml_text.h +0 -9
  234. data/ext/nokogiri/xml_xpath_context.h +0 -10
  235. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  236. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  237. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  238. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  239. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  240. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  241. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  242. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,147 @@
1
+ /*
2
+ * Summary: specific APIs to process HTML tree, especially serialization
3
+ * Description: this module implements a few function needed to process
4
+ * tree in an HTML specific way.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __HTML_TREE_H__
12
+ #define __HTML_TREE_H__
13
+
14
+ #include <stdio.h>
15
+ #include <libxml/xmlversion.h>
16
+ #include <libxml/tree.h>
17
+ #include <libxml/HTMLparser.h>
18
+
19
+ #ifdef LIBXML_HTML_ENABLED
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+
26
+ /**
27
+ * HTML_TEXT_NODE:
28
+ *
29
+ * Macro. A text node in a HTML document is really implemented
30
+ * the same way as a text node in an XML document.
31
+ */
32
+ #define HTML_TEXT_NODE XML_TEXT_NODE
33
+ /**
34
+ * HTML_ENTITY_REF_NODE:
35
+ *
36
+ * Macro. An entity reference in a HTML document is really implemented
37
+ * the same way as an entity reference in an XML document.
38
+ */
39
+ #define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE
40
+ /**
41
+ * HTML_COMMENT_NODE:
42
+ *
43
+ * Macro. A comment in a HTML document is really implemented
44
+ * the same way as a comment in an XML document.
45
+ */
46
+ #define HTML_COMMENT_NODE XML_COMMENT_NODE
47
+ /**
48
+ * HTML_PRESERVE_NODE:
49
+ *
50
+ * Macro. A preserved node in a HTML document is really implemented
51
+ * the same way as a CDATA section in an XML document.
52
+ */
53
+ #define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE
54
+ /**
55
+ * HTML_PI_NODE:
56
+ *
57
+ * Macro. A processing instruction in a HTML document is really implemented
58
+ * the same way as a processing instruction in an XML document.
59
+ */
60
+ #define HTML_PI_NODE XML_PI_NODE
61
+
62
+ XMLPUBFUN htmlDocPtr XMLCALL
63
+ htmlNewDoc (const xmlChar *URI,
64
+ const xmlChar *ExternalID);
65
+ XMLPUBFUN htmlDocPtr XMLCALL
66
+ htmlNewDocNoDtD (const xmlChar *URI,
67
+ const xmlChar *ExternalID);
68
+ XMLPUBFUN const xmlChar * XMLCALL
69
+ htmlGetMetaEncoding (htmlDocPtr doc);
70
+ XMLPUBFUN int XMLCALL
71
+ htmlSetMetaEncoding (htmlDocPtr doc,
72
+ const xmlChar *encoding);
73
+ #ifdef LIBXML_OUTPUT_ENABLED
74
+ XMLPUBFUN void XMLCALL
75
+ htmlDocDumpMemory (xmlDocPtr cur,
76
+ xmlChar **mem,
77
+ int *size);
78
+ XMLPUBFUN void XMLCALL
79
+ htmlDocDumpMemoryFormat (xmlDocPtr cur,
80
+ xmlChar **mem,
81
+ int *size,
82
+ int format);
83
+ XMLPUBFUN int XMLCALL
84
+ htmlDocDump (FILE *f,
85
+ xmlDocPtr cur);
86
+ XMLPUBFUN int XMLCALL
87
+ htmlSaveFile (const char *filename,
88
+ xmlDocPtr cur);
89
+ XMLPUBFUN int XMLCALL
90
+ htmlNodeDump (xmlBufferPtr buf,
91
+ xmlDocPtr doc,
92
+ xmlNodePtr cur);
93
+ XMLPUBFUN void XMLCALL
94
+ htmlNodeDumpFile (FILE *out,
95
+ xmlDocPtr doc,
96
+ xmlNodePtr cur);
97
+ XMLPUBFUN int XMLCALL
98
+ htmlNodeDumpFileFormat (FILE *out,
99
+ xmlDocPtr doc,
100
+ xmlNodePtr cur,
101
+ const char *encoding,
102
+ int format);
103
+ XMLPUBFUN int XMLCALL
104
+ htmlSaveFileEnc (const char *filename,
105
+ xmlDocPtr cur,
106
+ const char *encoding);
107
+ XMLPUBFUN int XMLCALL
108
+ htmlSaveFileFormat (const char *filename,
109
+ xmlDocPtr cur,
110
+ const char *encoding,
111
+ int format);
112
+
113
+ XMLPUBFUN void XMLCALL
114
+ htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
115
+ xmlDocPtr doc,
116
+ xmlNodePtr cur,
117
+ const char *encoding,
118
+ int format);
119
+ XMLPUBFUN void XMLCALL
120
+ htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
121
+ xmlDocPtr cur,
122
+ const char *encoding);
123
+ XMLPUBFUN void XMLCALL
124
+ htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
125
+ xmlDocPtr cur,
126
+ const char *encoding,
127
+ int format);
128
+ XMLPUBFUN void XMLCALL
129
+ htmlNodeDumpOutput (xmlOutputBufferPtr buf,
130
+ xmlDocPtr doc,
131
+ xmlNodePtr cur,
132
+ const char *encoding);
133
+
134
+ #endif /* LIBXML_OUTPUT_ENABLED */
135
+
136
+ XMLPUBFUN int XMLCALL
137
+ htmlIsBooleanAttr (const xmlChar *name);
138
+
139
+
140
+ #ifdef __cplusplus
141
+ }
142
+ #endif
143
+
144
+ #endif /* LIBXML_HTML_ENABLED */
145
+
146
+ #endif /* __HTML_TREE_H__ */
147
+
@@ -0,0 +1,173 @@
1
+ /*
2
+ * Summary: Old SAX version 1 handler, deprecated
3
+ * Description: DEPRECATED set of SAX version 1 interfaces used to
4
+ * build the DOM tree.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SAX_H__
13
+ #define __XML_SAX_H__
14
+
15
+ #include <stdio.h>
16
+ #include <stdlib.h>
17
+ #include <libxml/xmlversion.h>
18
+ #include <libxml/parser.h>
19
+ #include <libxml/xlink.h>
20
+
21
+ #ifdef LIBXML_LEGACY_ENABLED
22
+
23
+ #ifdef __cplusplus
24
+ extern "C" {
25
+ #endif
26
+ XMLPUBFUN const xmlChar * XMLCALL
27
+ getPublicId (void *ctx);
28
+ XMLPUBFUN const xmlChar * XMLCALL
29
+ getSystemId (void *ctx);
30
+ XMLPUBFUN void XMLCALL
31
+ setDocumentLocator (void *ctx,
32
+ xmlSAXLocatorPtr loc);
33
+
34
+ XMLPUBFUN int XMLCALL
35
+ getLineNumber (void *ctx);
36
+ XMLPUBFUN int XMLCALL
37
+ getColumnNumber (void *ctx);
38
+
39
+ XMLPUBFUN int XMLCALL
40
+ isStandalone (void *ctx);
41
+ XMLPUBFUN int XMLCALL
42
+ hasInternalSubset (void *ctx);
43
+ XMLPUBFUN int XMLCALL
44
+ hasExternalSubset (void *ctx);
45
+
46
+ XMLPUBFUN void XMLCALL
47
+ internalSubset (void *ctx,
48
+ const xmlChar *name,
49
+ const xmlChar *ExternalID,
50
+ const xmlChar *SystemID);
51
+ XMLPUBFUN void XMLCALL
52
+ externalSubset (void *ctx,
53
+ const xmlChar *name,
54
+ const xmlChar *ExternalID,
55
+ const xmlChar *SystemID);
56
+ XMLPUBFUN xmlEntityPtr XMLCALL
57
+ getEntity (void *ctx,
58
+ const xmlChar *name);
59
+ XMLPUBFUN xmlEntityPtr XMLCALL
60
+ getParameterEntity (void *ctx,
61
+ const xmlChar *name);
62
+ XMLPUBFUN xmlParserInputPtr XMLCALL
63
+ resolveEntity (void *ctx,
64
+ const xmlChar *publicId,
65
+ const xmlChar *systemId);
66
+
67
+ XMLPUBFUN void XMLCALL
68
+ entityDecl (void *ctx,
69
+ const xmlChar *name,
70
+ int type,
71
+ const xmlChar *publicId,
72
+ const xmlChar *systemId,
73
+ xmlChar *content);
74
+ XMLPUBFUN void XMLCALL
75
+ attributeDecl (void *ctx,
76
+ const xmlChar *elem,
77
+ const xmlChar *fullname,
78
+ int type,
79
+ int def,
80
+ const xmlChar *defaultValue,
81
+ xmlEnumerationPtr tree);
82
+ XMLPUBFUN void XMLCALL
83
+ elementDecl (void *ctx,
84
+ const xmlChar *name,
85
+ int type,
86
+ xmlElementContentPtr content);
87
+ XMLPUBFUN void XMLCALL
88
+ notationDecl (void *ctx,
89
+ const xmlChar *name,
90
+ const xmlChar *publicId,
91
+ const xmlChar *systemId);
92
+ XMLPUBFUN void XMLCALL
93
+ unparsedEntityDecl (void *ctx,
94
+ const xmlChar *name,
95
+ const xmlChar *publicId,
96
+ const xmlChar *systemId,
97
+ const xmlChar *notationName);
98
+
99
+ XMLPUBFUN void XMLCALL
100
+ startDocument (void *ctx);
101
+ XMLPUBFUN void XMLCALL
102
+ endDocument (void *ctx);
103
+ XMLPUBFUN void XMLCALL
104
+ attribute (void *ctx,
105
+ const xmlChar *fullname,
106
+ const xmlChar *value);
107
+ XMLPUBFUN void XMLCALL
108
+ startElement (void *ctx,
109
+ const xmlChar *fullname,
110
+ const xmlChar **atts);
111
+ XMLPUBFUN void XMLCALL
112
+ endElement (void *ctx,
113
+ const xmlChar *name);
114
+ XMLPUBFUN void XMLCALL
115
+ reference (void *ctx,
116
+ const xmlChar *name);
117
+ XMLPUBFUN void XMLCALL
118
+ characters (void *ctx,
119
+ const xmlChar *ch,
120
+ int len);
121
+ XMLPUBFUN void XMLCALL
122
+ ignorableWhitespace (void *ctx,
123
+ const xmlChar *ch,
124
+ int len);
125
+ XMLPUBFUN void XMLCALL
126
+ processingInstruction (void *ctx,
127
+ const xmlChar *target,
128
+ const xmlChar *data);
129
+ XMLPUBFUN void XMLCALL
130
+ globalNamespace (void *ctx,
131
+ const xmlChar *href,
132
+ const xmlChar *prefix);
133
+ XMLPUBFUN void XMLCALL
134
+ setNamespace (void *ctx,
135
+ const xmlChar *name);
136
+ XMLPUBFUN xmlNsPtr XMLCALL
137
+ getNamespace (void *ctx);
138
+ XMLPUBFUN int XMLCALL
139
+ checkNamespace (void *ctx,
140
+ xmlChar *nameSpace);
141
+ XMLPUBFUN void XMLCALL
142
+ namespaceDecl (void *ctx,
143
+ const xmlChar *href,
144
+ const xmlChar *prefix);
145
+ XMLPUBFUN void XMLCALL
146
+ comment (void *ctx,
147
+ const xmlChar *value);
148
+ XMLPUBFUN void XMLCALL
149
+ cdataBlock (void *ctx,
150
+ const xmlChar *value,
151
+ int len);
152
+
153
+ #ifdef LIBXML_SAX1_ENABLED
154
+ XMLPUBFUN void XMLCALL
155
+ initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr,
156
+ int warning);
157
+ #ifdef LIBXML_HTML_ENABLED
158
+ XMLPUBFUN void XMLCALL
159
+ inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
160
+ #endif
161
+ #ifdef LIBXML_DOCB_ENABLED
162
+ XMLPUBFUN void XMLCALL
163
+ initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
164
+ #endif
165
+ #endif /* LIBXML_SAX1_ENABLED */
166
+
167
+ #ifdef __cplusplus
168
+ }
169
+ #endif
170
+
171
+ #endif /* LIBXML_LEGACY_ENABLED */
172
+
173
+ #endif /* __XML_SAX_H__ */
@@ -0,0 +1,178 @@
1
+ /*
2
+ * Summary: SAX2 parser interface used to build the DOM tree
3
+ * Description: those are the default SAX2 interfaces used by
4
+ * the library when building DOM tree.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SAX2_H__
13
+ #define __XML_SAX2_H__
14
+
15
+ #include <stdio.h>
16
+ #include <stdlib.h>
17
+ #include <libxml/xmlversion.h>
18
+ #include <libxml/parser.h>
19
+ #include <libxml/xlink.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+ XMLPUBFUN const xmlChar * XMLCALL
25
+ xmlSAX2GetPublicId (void *ctx);
26
+ XMLPUBFUN const xmlChar * XMLCALL
27
+ xmlSAX2GetSystemId (void *ctx);
28
+ XMLPUBFUN void XMLCALL
29
+ xmlSAX2SetDocumentLocator (void *ctx,
30
+ xmlSAXLocatorPtr loc);
31
+
32
+ XMLPUBFUN int XMLCALL
33
+ xmlSAX2GetLineNumber (void *ctx);
34
+ XMLPUBFUN int XMLCALL
35
+ xmlSAX2GetColumnNumber (void *ctx);
36
+
37
+ XMLPUBFUN int XMLCALL
38
+ xmlSAX2IsStandalone (void *ctx);
39
+ XMLPUBFUN int XMLCALL
40
+ xmlSAX2HasInternalSubset (void *ctx);
41
+ XMLPUBFUN int XMLCALL
42
+ xmlSAX2HasExternalSubset (void *ctx);
43
+
44
+ XMLPUBFUN void XMLCALL
45
+ xmlSAX2InternalSubset (void *ctx,
46
+ const xmlChar *name,
47
+ const xmlChar *ExternalID,
48
+ const xmlChar *SystemID);
49
+ XMLPUBFUN void XMLCALL
50
+ xmlSAX2ExternalSubset (void *ctx,
51
+ const xmlChar *name,
52
+ const xmlChar *ExternalID,
53
+ const xmlChar *SystemID);
54
+ XMLPUBFUN xmlEntityPtr XMLCALL
55
+ xmlSAX2GetEntity (void *ctx,
56
+ const xmlChar *name);
57
+ XMLPUBFUN xmlEntityPtr XMLCALL
58
+ xmlSAX2GetParameterEntity (void *ctx,
59
+ const xmlChar *name);
60
+ XMLPUBFUN xmlParserInputPtr XMLCALL
61
+ xmlSAX2ResolveEntity (void *ctx,
62
+ const xmlChar *publicId,
63
+ const xmlChar *systemId);
64
+
65
+ XMLPUBFUN void XMLCALL
66
+ xmlSAX2EntityDecl (void *ctx,
67
+ const xmlChar *name,
68
+ int type,
69
+ const xmlChar *publicId,
70
+ const xmlChar *systemId,
71
+ xmlChar *content);
72
+ XMLPUBFUN void XMLCALL
73
+ xmlSAX2AttributeDecl (void *ctx,
74
+ const xmlChar *elem,
75
+ const xmlChar *fullname,
76
+ int type,
77
+ int def,
78
+ const xmlChar *defaultValue,
79
+ xmlEnumerationPtr tree);
80
+ XMLPUBFUN void XMLCALL
81
+ xmlSAX2ElementDecl (void *ctx,
82
+ const xmlChar *name,
83
+ int type,
84
+ xmlElementContentPtr content);
85
+ XMLPUBFUN void XMLCALL
86
+ xmlSAX2NotationDecl (void *ctx,
87
+ const xmlChar *name,
88
+ const xmlChar *publicId,
89
+ const xmlChar *systemId);
90
+ XMLPUBFUN void XMLCALL
91
+ xmlSAX2UnparsedEntityDecl (void *ctx,
92
+ const xmlChar *name,
93
+ const xmlChar *publicId,
94
+ const xmlChar *systemId,
95
+ const xmlChar *notationName);
96
+
97
+ XMLPUBFUN void XMLCALL
98
+ xmlSAX2StartDocument (void *ctx);
99
+ XMLPUBFUN void XMLCALL
100
+ xmlSAX2EndDocument (void *ctx);
101
+ #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
102
+ defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
103
+ defined(LIBXML_LEGACY_ENABLED)
104
+ XMLPUBFUN void XMLCALL
105
+ xmlSAX2StartElement (void *ctx,
106
+ const xmlChar *fullname,
107
+ const xmlChar **atts);
108
+ XMLPUBFUN void XMLCALL
109
+ xmlSAX2EndElement (void *ctx,
110
+ const xmlChar *name);
111
+ #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
112
+ XMLPUBFUN void XMLCALL
113
+ xmlSAX2StartElementNs (void *ctx,
114
+ const xmlChar *localname,
115
+ const xmlChar *prefix,
116
+ const xmlChar *URI,
117
+ int nb_namespaces,
118
+ const xmlChar **namespaces,
119
+ int nb_attributes,
120
+ int nb_defaulted,
121
+ const xmlChar **attributes);
122
+ XMLPUBFUN void XMLCALL
123
+ xmlSAX2EndElementNs (void *ctx,
124
+ const xmlChar *localname,
125
+ const xmlChar *prefix,
126
+ const xmlChar *URI);
127
+ XMLPUBFUN void XMLCALL
128
+ xmlSAX2Reference (void *ctx,
129
+ const xmlChar *name);
130
+ XMLPUBFUN void XMLCALL
131
+ xmlSAX2Characters (void *ctx,
132
+ const xmlChar *ch,
133
+ int len);
134
+ XMLPUBFUN void XMLCALL
135
+ xmlSAX2IgnorableWhitespace (void *ctx,
136
+ const xmlChar *ch,
137
+ int len);
138
+ XMLPUBFUN void XMLCALL
139
+ xmlSAX2ProcessingInstruction (void *ctx,
140
+ const xmlChar *target,
141
+ const xmlChar *data);
142
+ XMLPUBFUN void XMLCALL
143
+ xmlSAX2Comment (void *ctx,
144
+ const xmlChar *value);
145
+ XMLPUBFUN void XMLCALL
146
+ xmlSAX2CDataBlock (void *ctx,
147
+ const xmlChar *value,
148
+ int len);
149
+
150
+ #ifdef LIBXML_SAX1_ENABLED
151
+ XMLPUBFUN int XMLCALL
152
+ xmlSAXDefaultVersion (int version);
153
+ #endif /* LIBXML_SAX1_ENABLED */
154
+
155
+ XMLPUBFUN int XMLCALL
156
+ xmlSAXVersion (xmlSAXHandler *hdlr,
157
+ int version);
158
+ XMLPUBFUN void XMLCALL
159
+ xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
160
+ int warning);
161
+ #ifdef LIBXML_HTML_ENABLED
162
+ XMLPUBFUN void XMLCALL
163
+ xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
164
+ XMLPUBFUN void XMLCALL
165
+ htmlDefaultSAXHandlerInit (void);
166
+ #endif
167
+ #ifdef LIBXML_DOCB_ENABLED
168
+ XMLPUBFUN void XMLCALL
169
+ xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
170
+ XMLPUBFUN void XMLCALL
171
+ docbDefaultSAXHandlerInit (void);
172
+ #endif
173
+ XMLPUBFUN void XMLCALL
174
+ xmlDefaultSAXHandlerInit (void);
175
+ #ifdef __cplusplus
176
+ }
177
+ #endif
178
+ #endif /* __XML_SAX2_H__ */
@@ -0,0 +1,128 @@
1
+ /*
2
+ * Summary: Provide Canonical XML and Exclusive XML Canonicalization
3
+ * Description: the c14n modules provides a
4
+ *
5
+ * "Canonical XML" implementation
6
+ * http://www.w3.org/TR/xml-c14n
7
+ *
8
+ * and an
9
+ *
10
+ * "Exclusive XML Canonicalization" implementation
11
+ * http://www.w3.org/TR/xml-exc-c14n
12
+
13
+ * Copy: See Copyright for the status of this software.
14
+ *
15
+ * Author: Aleksey Sanin <aleksey@aleksey.com>
16
+ */
17
+ #ifndef __XML_C14N_H__
18
+ #define __XML_C14N_H__
19
+
20
+ #include <libxml/xmlversion.h>
21
+
22
+ #ifdef LIBXML_C14N_ENABLED
23
+ #ifdef LIBXML_OUTPUT_ENABLED
24
+
25
+ #include <libxml/tree.h>
26
+ #include <libxml/xpath.h>
27
+
28
+ #ifdef __cplusplus
29
+ extern "C" {
30
+ #endif /* __cplusplus */
31
+
32
+ /*
33
+ * XML Canonicalization
34
+ * http://www.w3.org/TR/xml-c14n
35
+ *
36
+ * Exclusive XML Canonicalization
37
+ * http://www.w3.org/TR/xml-exc-c14n
38
+ *
39
+ * Canonical form of an XML document could be created if and only if
40
+ * a) default attributes (if any) are added to all nodes
41
+ * b) all character and parsed entity references are resolved
42
+ * In order to achieve this in libxml2 the document MUST be loaded with
43
+ * following global settings:
44
+ *
45
+ * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
46
+ * xmlSubstituteEntitiesDefault(1);
47
+ *
48
+ * or corresponding parser context setting:
49
+ * xmlParserCtxtPtr ctxt;
50
+ *
51
+ * ...
52
+ * ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
53
+ * ctxt->replaceEntities = 1;
54
+ * ...
55
+ */
56
+
57
+ /*
58
+ * xmlC14NMode:
59
+ *
60
+ * Predefined values for C14N modes
61
+ *
62
+ */
63
+ typedef enum {
64
+ XML_C14N_1_0 = 0, /* Original C14N 1.0 spec */
65
+ XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */
66
+ XML_C14N_1_1 = 2 /* C14N 1.1 spec */
67
+ } xmlC14NMode;
68
+
69
+ XMLPUBFUN int XMLCALL
70
+ xmlC14NDocSaveTo (xmlDocPtr doc,
71
+ xmlNodeSetPtr nodes,
72
+ int mode, /* a xmlC14NMode */
73
+ xmlChar **inclusive_ns_prefixes,
74
+ int with_comments,
75
+ xmlOutputBufferPtr buf);
76
+
77
+ XMLPUBFUN int XMLCALL
78
+ xmlC14NDocDumpMemory (xmlDocPtr doc,
79
+ xmlNodeSetPtr nodes,
80
+ int mode, /* a xmlC14NMode */
81
+ xmlChar **inclusive_ns_prefixes,
82
+ int with_comments,
83
+ xmlChar **doc_txt_ptr);
84
+
85
+ XMLPUBFUN int XMLCALL
86
+ xmlC14NDocSave (xmlDocPtr doc,
87
+ xmlNodeSetPtr nodes,
88
+ int mode, /* a xmlC14NMode */
89
+ xmlChar **inclusive_ns_prefixes,
90
+ int with_comments,
91
+ const char* filename,
92
+ int compression);
93
+
94
+
95
+ /**
96
+ * This is the core C14N function
97
+ */
98
+ /**
99
+ * xmlC14NIsVisibleCallback:
100
+ * @user_data: user data
101
+ * @node: the current node
102
+ * @parent: the parent node
103
+ *
104
+ * Signature for a C14N callback on visible nodes
105
+ *
106
+ * Returns 1 if the node should be included
107
+ */
108
+ typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
109
+ xmlNodePtr node,
110
+ xmlNodePtr parent);
111
+
112
+ XMLPUBFUN int XMLCALL
113
+ xmlC14NExecute (xmlDocPtr doc,
114
+ xmlC14NIsVisibleCallback is_visible_callback,
115
+ void* user_data,
116
+ int mode, /* a xmlC14NMode */
117
+ xmlChar **inclusive_ns_prefixes,
118
+ int with_comments,
119
+ xmlOutputBufferPtr buf);
120
+
121
+ #ifdef __cplusplus
122
+ }
123
+ #endif /* __cplusplus */
124
+
125
+ #endif /* LIBXML_OUTPUT_ENABLED */
126
+ #endif /* LIBXML_C14N_ENABLED */
127
+ #endif /* __XML_C14N_H__ */
128
+