nokogiri 1.8.5 → 1.15.3

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 (358) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +40 -18
  3. data/LICENSE-DEPENDENCIES.md +1636 -1024
  4. data/LICENSE.md +5 -28
  5. data/README.md +203 -90
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +33 -61
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +867 -417
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +165 -0
  12. data/ext/nokogiri/html4_element_description.c +299 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +108 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  17. data/ext/nokogiri/nokogiri.c +251 -105
  18. data/ext/nokogiri/nokogiri.h +215 -90
  19. data/ext/nokogiri/test_global_handlers.c +40 -0
  20. data/ext/nokogiri/xml_attr.c +42 -37
  21. data/ext/nokogiri/xml_attribute_decl.c +22 -22
  22. data/ext/nokogiri/xml_cdata.c +40 -31
  23. data/ext/nokogiri/xml_comment.c +20 -27
  24. data/ext/nokogiri/xml_document.c +401 -237
  25. data/ext/nokogiri/xml_document_fragment.c +13 -17
  26. data/ext/nokogiri/xml_dtd.c +64 -58
  27. data/ext/nokogiri/xml_element_content.c +63 -55
  28. data/ext/nokogiri/xml_element_decl.c +31 -31
  29. data/ext/nokogiri/xml_encoding_handler.c +54 -21
  30. data/ext/nokogiri/xml_entity_decl.c +37 -35
  31. data/ext/nokogiri/xml_entity_reference.c +17 -19
  32. data/ext/nokogiri/xml_namespace.c +136 -62
  33. data/ext/nokogiri/xml_node.c +1387 -678
  34. data/ext/nokogiri/xml_node_set.c +246 -216
  35. data/ext/nokogiri/xml_processing_instruction.c +18 -20
  36. data/ext/nokogiri/xml_reader.c +347 -212
  37. data/ext/nokogiri/xml_relax_ng.c +86 -77
  38. data/ext/nokogiri/xml_sax_parser.c +149 -124
  39. data/ext/nokogiri/xml_sax_parser_context.c +145 -103
  40. data/ext/nokogiri/xml_sax_push_parser.c +64 -36
  41. data/ext/nokogiri/xml_schema.c +138 -81
  42. data/ext/nokogiri/xml_syntax_error.c +42 -21
  43. data/ext/nokogiri/xml_text.c +36 -26
  44. data/ext/nokogiri/xml_xpath_context.c +366 -178
  45. data/ext/nokogiri/xslt_stylesheet.c +335 -189
  46. data/gumbo-parser/CHANGES.md +63 -0
  47. data/gumbo-parser/Makefile +111 -0
  48. data/gumbo-parser/THANKS +27 -0
  49. data/gumbo-parser/src/Makefile +34 -0
  50. data/gumbo-parser/src/README.md +41 -0
  51. data/gumbo-parser/src/ascii.c +75 -0
  52. data/gumbo-parser/src/ascii.h +115 -0
  53. data/gumbo-parser/src/attribute.c +42 -0
  54. data/gumbo-parser/src/attribute.h +17 -0
  55. data/gumbo-parser/src/char_ref.c +22225 -0
  56. data/gumbo-parser/src/char_ref.h +29 -0
  57. data/gumbo-parser/src/char_ref.rl +2154 -0
  58. data/gumbo-parser/src/error.c +630 -0
  59. data/gumbo-parser/src/error.h +148 -0
  60. data/gumbo-parser/src/foreign_attrs.c +103 -0
  61. data/gumbo-parser/src/foreign_attrs.gperf +27 -0
  62. data/gumbo-parser/src/insertion_mode.h +33 -0
  63. data/gumbo-parser/src/macros.h +91 -0
  64. data/gumbo-parser/src/nokogiri_gumbo.h +944 -0
  65. data/gumbo-parser/src/parser.c +4891 -0
  66. data/gumbo-parser/src/parser.h +41 -0
  67. data/gumbo-parser/src/replacement.h +33 -0
  68. data/gumbo-parser/src/string_buffer.c +103 -0
  69. data/gumbo-parser/src/string_buffer.h +68 -0
  70. data/gumbo-parser/src/string_piece.c +48 -0
  71. data/gumbo-parser/src/svg_attrs.c +174 -0
  72. data/gumbo-parser/src/svg_attrs.gperf +77 -0
  73. data/gumbo-parser/src/svg_tags.c +137 -0
  74. data/gumbo-parser/src/svg_tags.gperf +55 -0
  75. data/gumbo-parser/src/tag.c +223 -0
  76. data/gumbo-parser/src/tag_lookup.c +382 -0
  77. data/gumbo-parser/src/tag_lookup.gperf +170 -0
  78. data/gumbo-parser/src/tag_lookup.h +13 -0
  79. data/gumbo-parser/src/token_buffer.c +79 -0
  80. data/gumbo-parser/src/token_buffer.h +71 -0
  81. data/gumbo-parser/src/token_type.h +17 -0
  82. data/gumbo-parser/src/tokenizer.c +3463 -0
  83. data/gumbo-parser/src/tokenizer.h +112 -0
  84. data/gumbo-parser/src/tokenizer_states.h +339 -0
  85. data/gumbo-parser/src/utf8.c +245 -0
  86. data/gumbo-parser/src/utf8.h +164 -0
  87. data/gumbo-parser/src/util.c +66 -0
  88. data/gumbo-parser/src/util.h +34 -0
  89. data/gumbo-parser/src/vector.c +111 -0
  90. data/gumbo-parser/src/vector.h +45 -0
  91. data/lib/nokogiri/class_resolver.rb +67 -0
  92. data/lib/nokogiri/css/node.rb +10 -8
  93. data/lib/nokogiri/css/parser.rb +397 -377
  94. data/lib/nokogiri/css/parser.y +250 -245
  95. data/lib/nokogiri/css/parser_extras.rb +54 -49
  96. data/lib/nokogiri/css/syntax_error.rb +3 -1
  97. data/lib/nokogiri/css/tokenizer.rb +107 -104
  98. data/lib/nokogiri/css/tokenizer.rex +3 -2
  99. data/lib/nokogiri/css/xpath_visitor.rb +224 -95
  100. data/lib/nokogiri/css.rb +56 -17
  101. data/lib/nokogiri/decorators/slop.rb +9 -7
  102. data/lib/nokogiri/encoding_handler.rb +57 -0
  103. data/lib/nokogiri/extension.rb +32 -0
  104. data/lib/nokogiri/gumbo.rb +15 -0
  105. data/lib/nokogiri/html.rb +38 -27
  106. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  107. data/lib/nokogiri/html4/document.rb +214 -0
  108. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  109. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  110. data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
  111. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  112. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  113. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  114. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  115. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  116. data/lib/nokogiri/html4.rb +47 -0
  117. data/lib/nokogiri/html5/document.rb +168 -0
  118. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  119. data/lib/nokogiri/html5/node.rb +103 -0
  120. data/lib/nokogiri/html5.rb +392 -0
  121. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  122. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  123. data/lib/nokogiri/syntax_error.rb +2 -0
  124. data/lib/nokogiri/version/constant.rb +6 -0
  125. data/lib/nokogiri/version/info.rb +223 -0
  126. data/lib/nokogiri/version.rb +3 -108
  127. data/lib/nokogiri/xml/attr.rb +55 -3
  128. data/lib/nokogiri/xml/attribute_decl.rb +6 -2
  129. data/lib/nokogiri/xml/builder.rb +98 -54
  130. data/lib/nokogiri/xml/cdata.rb +3 -1
  131. data/lib/nokogiri/xml/character_data.rb +2 -0
  132. data/lib/nokogiri/xml/document.rb +312 -126
  133. data/lib/nokogiri/xml/document_fragment.rb +104 -48
  134. data/lib/nokogiri/xml/dtd.rb +4 -2
  135. data/lib/nokogiri/xml/element_content.rb +12 -2
  136. data/lib/nokogiri/xml/element_decl.rb +6 -2
  137. data/lib/nokogiri/xml/entity_decl.rb +7 -3
  138. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  139. data/lib/nokogiri/xml/namespace.rb +45 -0
  140. data/lib/nokogiri/xml/node/save_options.rb +23 -8
  141. data/lib/nokogiri/xml/node.rb +1093 -411
  142. data/lib/nokogiri/xml/node_set.rb +173 -67
  143. data/lib/nokogiri/xml/notation.rb +13 -0
  144. data/lib/nokogiri/xml/parse_options.rb +145 -52
  145. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  146. data/lib/nokogiri/xml/pp/node.rb +42 -30
  147. data/lib/nokogiri/xml/pp.rb +4 -2
  148. data/lib/nokogiri/xml/processing_instruction.rb +4 -1
  149. data/lib/nokogiri/xml/reader.rb +21 -28
  150. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  151. data/lib/nokogiri/xml/sax/document.rb +45 -49
  152. data/lib/nokogiri/xml/sax/parser.rb +39 -36
  153. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  154. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  155. data/lib/nokogiri/xml/sax.rb +6 -4
  156. data/lib/nokogiri/xml/schema.rb +19 -9
  157. data/lib/nokogiri/xml/searchable.rb +120 -72
  158. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  159. data/lib/nokogiri/xml/text.rb +2 -0
  160. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  161. data/lib/nokogiri/xml/xpath.rb +15 -4
  162. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  163. data/lib/nokogiri/xml.rb +38 -37
  164. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  165. data/lib/nokogiri/xslt.rb +101 -22
  166. data/lib/nokogiri.rb +59 -75
  167. data/lib/xsd/xmlparser/nokogiri.rb +29 -25
  168. data/patches/libxml2/0001-Remove-script-macro-support.patch +40 -0
  169. data/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch +44 -0
  170. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +25 -0
  171. data/patches/libxml2/0009-allow-wildcard-namespaces.patch +77 -0
  172. data/patches/libxml2/0010-update-config.guess-and-config.sub-for-libxml2.patch +224 -0
  173. data/patches/libxml2/0011-rip-out-libxml2-s-libc_single_threaded-support.patch +30 -0
  174. data/patches/libxslt/0001-update-config.guess-and-config.sub-for-libxslt.patch +224 -0
  175. data/ports/archives/libxml2-2.11.4.tar.xz +0 -0
  176. data/ports/archives/libxslt-1.1.38.tar.xz +0 -0
  177. metadata +126 -399
  178. data/.autotest +0 -22
  179. data/.cross_rubies +0 -8
  180. data/.editorconfig +0 -17
  181. data/.gemtest +0 -0
  182. data/.travis.yml +0 -63
  183. data/CHANGELOG.md +0 -1368
  184. data/CONTRIBUTING.md +0 -42
  185. data/C_CODING_STYLE.rdoc +0 -33
  186. data/Gemfile-libxml-ruby +0 -3
  187. data/Manifest.txt +0 -370
  188. data/ROADMAP.md +0 -111
  189. data/Rakefile +0 -348
  190. data/SECURITY.md +0 -19
  191. data/STANDARD_RESPONSES.md +0 -47
  192. data/Y_U_NO_GEMSPEC.md +0 -155
  193. data/appveyor.yml +0 -29
  194. data/build_all +0 -44
  195. data/ext/nokogiri/html_document.c +0 -170
  196. data/ext/nokogiri/html_document.h +0 -10
  197. data/ext/nokogiri/html_element_description.c +0 -279
  198. data/ext/nokogiri/html_element_description.h +0 -10
  199. data/ext/nokogiri/html_entity_lookup.c +0 -32
  200. data/ext/nokogiri/html_entity_lookup.h +0 -8
  201. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  202. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  203. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  204. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  205. data/ext/nokogiri/xml_attr.h +0 -9
  206. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  207. data/ext/nokogiri/xml_cdata.h +0 -9
  208. data/ext/nokogiri/xml_comment.h +0 -9
  209. data/ext/nokogiri/xml_document.h +0 -23
  210. data/ext/nokogiri/xml_document_fragment.h +0 -10
  211. data/ext/nokogiri/xml_dtd.h +0 -10
  212. data/ext/nokogiri/xml_element_content.h +0 -10
  213. data/ext/nokogiri/xml_element_decl.h +0 -9
  214. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  215. data/ext/nokogiri/xml_entity_decl.h +0 -10
  216. data/ext/nokogiri/xml_entity_reference.h +0 -9
  217. data/ext/nokogiri/xml_io.c +0 -61
  218. data/ext/nokogiri/xml_io.h +0 -11
  219. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  220. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  221. data/ext/nokogiri/xml_namespace.h +0 -15
  222. data/ext/nokogiri/xml_node.h +0 -13
  223. data/ext/nokogiri/xml_node_set.h +0 -12
  224. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  225. data/ext/nokogiri/xml_reader.h +0 -10
  226. data/ext/nokogiri/xml_relax_ng.h +0 -9
  227. data/ext/nokogiri/xml_sax_parser.h +0 -39
  228. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  229. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  230. data/ext/nokogiri/xml_schema.h +0 -9
  231. data/ext/nokogiri/xml_syntax_error.h +0 -13
  232. data/ext/nokogiri/xml_text.h +0 -9
  233. data/ext/nokogiri/xml_xpath_context.h +0 -10
  234. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  235. data/lib/nokogiri/html/document.rb +0 -335
  236. data/lib/nokogiri/html/document_fragment.rb +0 -49
  237. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  238. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  239. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  240. data/patches/libxml2/0002-Fix-nullptr-deref-with-XPath-logic-ops.patch +0 -54
  241. data/patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch +0 -50
  242. data/patches/sort-patches-by-date +0 -25
  243. data/ports/archives/libxml2-2.9.8.tar.gz +0 -0
  244. data/ports/archives/libxslt-1.1.32.tar.gz +0 -0
  245. data/suppressions/README.txt +0 -1
  246. data/suppressions/nokogiri_ruby-2.supp +0 -10
  247. data/tasks/test.rb +0 -100
  248. data/test/css/test_nthiness.rb +0 -226
  249. data/test/css/test_parser.rb +0 -386
  250. data/test/css/test_tokenizer.rb +0 -215
  251. data/test/css/test_xpath_visitor.rb +0 -96
  252. data/test/decorators/test_slop.rb +0 -23
  253. data/test/files/2ch.html +0 -108
  254. data/test/files/GH_1042.html +0 -18
  255. data/test/files/address_book.rlx +0 -12
  256. data/test/files/address_book.xml +0 -10
  257. data/test/files/atom.xml +0 -344
  258. data/test/files/bar/bar.xsd +0 -4
  259. data/test/files/bogus.xml +0 -0
  260. data/test/files/dont_hurt_em_why.xml +0 -422
  261. data/test/files/encoding.html +0 -82
  262. data/test/files/encoding.xhtml +0 -84
  263. data/test/files/exslt.xml +0 -8
  264. data/test/files/exslt.xslt +0 -35
  265. data/test/files/foo/foo.xsd +0 -4
  266. data/test/files/metacharset.html +0 -10
  267. data/test/files/namespace_pressure_test.xml +0 -1684
  268. data/test/files/noencoding.html +0 -47
  269. data/test/files/po.xml +0 -32
  270. data/test/files/po.xsd +0 -66
  271. data/test/files/saml/saml20assertion_schema.xsd +0 -283
  272. data/test/files/saml/saml20protocol_schema.xsd +0 -302
  273. data/test/files/saml/xenc_schema.xsd +0 -146
  274. data/test/files/saml/xmldsig_schema.xsd +0 -318
  275. data/test/files/shift_jis.html +0 -10
  276. data/test/files/shift_jis.xml +0 -5
  277. data/test/files/shift_jis_no_charset.html +0 -9
  278. data/test/files/slow-xpath.xml +0 -25509
  279. data/test/files/snuggles.xml +0 -3
  280. data/test/files/staff.dtd +0 -10
  281. data/test/files/staff.xml +0 -59
  282. data/test/files/staff.xslt +0 -32
  283. data/test/files/test_document_url/bar.xml +0 -2
  284. data/test/files/test_document_url/document.dtd +0 -4
  285. data/test/files/test_document_url/document.xml +0 -6
  286. data/test/files/tlm.html +0 -851
  287. data/test/files/to_be_xincluded.xml +0 -2
  288. data/test/files/valid_bar.xml +0 -2
  289. data/test/files/xinclude.xml +0 -4
  290. data/test/helper.rb +0 -271
  291. data/test/html/sax/test_parser.rb +0 -168
  292. data/test/html/sax/test_parser_context.rb +0 -46
  293. data/test/html/sax/test_parser_text.rb +0 -163
  294. data/test/html/sax/test_push_parser.rb +0 -87
  295. data/test/html/test_attributes.rb +0 -85
  296. data/test/html/test_builder.rb +0 -164
  297. data/test/html/test_document.rb +0 -712
  298. data/test/html/test_document_encoding.rb +0 -143
  299. data/test/html/test_document_fragment.rb +0 -310
  300. data/test/html/test_element_description.rb +0 -105
  301. data/test/html/test_named_characters.rb +0 -14
  302. data/test/html/test_node.rb +0 -212
  303. data/test/html/test_node_encoding.rb +0 -91
  304. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  305. data/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  306. data/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  307. data/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  308. data/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  309. data/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  310. data/test/namespaces/test_namespaces_preservation.rb +0 -31
  311. data/test/test_convert_xpath.rb +0 -135
  312. data/test/test_css_cache.rb +0 -47
  313. data/test/test_encoding_handler.rb +0 -48
  314. data/test/test_memory_leak.rb +0 -156
  315. data/test/test_nokogiri.rb +0 -138
  316. data/test/test_soap4r_sax.rb +0 -52
  317. data/test/test_xslt_transforms.rb +0 -314
  318. data/test/xml/node/test_save_options.rb +0 -28
  319. data/test/xml/node/test_subclass.rb +0 -44
  320. data/test/xml/sax/test_parser.rb +0 -402
  321. data/test/xml/sax/test_parser_context.rb +0 -115
  322. data/test/xml/sax/test_parser_text.rb +0 -202
  323. data/test/xml/sax/test_push_parser.rb +0 -265
  324. data/test/xml/test_attr.rb +0 -74
  325. data/test/xml/test_attribute_decl.rb +0 -86
  326. data/test/xml/test_builder.rb +0 -341
  327. data/test/xml/test_c14n.rb +0 -180
  328. data/test/xml/test_cdata.rb +0 -54
  329. data/test/xml/test_comment.rb +0 -40
  330. data/test/xml/test_document.rb +0 -982
  331. data/test/xml/test_document_encoding.rb +0 -31
  332. data/test/xml/test_document_fragment.rb +0 -298
  333. data/test/xml/test_dtd.rb +0 -187
  334. data/test/xml/test_dtd_encoding.rb +0 -31
  335. data/test/xml/test_element_content.rb +0 -56
  336. data/test/xml/test_element_decl.rb +0 -73
  337. data/test/xml/test_entity_decl.rb +0 -122
  338. data/test/xml/test_entity_reference.rb +0 -262
  339. data/test/xml/test_namespace.rb +0 -96
  340. data/test/xml/test_node.rb +0 -1325
  341. data/test/xml/test_node_attributes.rb +0 -115
  342. data/test/xml/test_node_encoding.rb +0 -75
  343. data/test/xml/test_node_inheritance.rb +0 -32
  344. data/test/xml/test_node_reparenting.rb +0 -592
  345. data/test/xml/test_node_set.rb +0 -809
  346. data/test/xml/test_parse_options.rb +0 -64
  347. data/test/xml/test_processing_instruction.rb +0 -30
  348. data/test/xml/test_reader.rb +0 -620
  349. data/test/xml/test_reader_encoding.rb +0 -134
  350. data/test/xml/test_relax_ng.rb +0 -60
  351. data/test/xml/test_schema.rb +0 -142
  352. data/test/xml/test_syntax_error.rb +0 -36
  353. data/test/xml/test_text.rb +0 -60
  354. data/test/xml/test_unparented_node.rb +0 -483
  355. data/test/xml/test_xinclude.rb +0 -83
  356. data/test/xml/test_xpath.rb +0 -470
  357. data/test/xslt/test_custom_functions.rb +0 -133
  358. data/test/xslt/test_exception_handling.rb +0 -37
data/CONTRIBUTING.md DELETED
@@ -1,42 +0,0 @@
1
- # Issue and Pull Request Guidelines
2
-
3
- Thank you for getting involved in making Nokogiri better!
4
-
5
-
6
- ## Code of Conduct
7
-
8
- For best results, be nice. Remember that Nokogiri maintainers are
9
- volunteers, and treat them with respect.
10
-
11
- Do not act entitled to service. Do not be rude. Do not use judgmental
12
- or foul language.
13
-
14
- The maintainers reserve the right to delete comments that are rude, or
15
- that contain foul language. The maintainers reserve the right to
16
- delete comments that they deem harassing or offensive.
17
-
18
-
19
- ## Issues
20
-
21
- Please read the
22
- ["Getting Help" tutorial](http://www.nokogiri.org/tutorials/getting_help.html)
23
- at the [nokogiri.org](http://nokogiri.org) site.
24
-
25
- If you're reporting an issue, it must contain:
26
-
27
- * Example code that reproduces the **observed** behavior.
28
- * An explanation of what the **expected** behavior is.
29
-
30
- That's it. If you don't provide that information, we'll ask you for
31
- it, tag the story "needs more information", and then after a time will
32
- close it if the information isn't provided.
33
-
34
-
35
- ## Pull Requests
36
-
37
- Pull requests must always contain a test to prevent
38
- regressions. Preferably, the test should demonstrate the __intent__ of
39
- the code.
40
-
41
- We may ask you for clarification if we don't understand the intent of
42
- the change.
data/C_CODING_STYLE.rdoc DELETED
@@ -1,33 +0,0 @@
1
- = C/C++ mode style for Nokogiri
2
-
3
- Please don't propose commits that only change whitespace. However, if your
4
- commit touches a function or section that is not using MRI Ruby conventions,
5
- feel free to update whitespace in the surrounding code.
6
-
7
-
8
- = WHITESPACE:
9
-
10
- * indent level: 2
11
- * indent type: Always spaces
12
- * line Breaks: LF
13
-
14
- This style can be automatically applied by running:
15
-
16
- astyle --indent=spaces=2 --style=1tbs --keep-one-line-blocks $(ack -f --type=cpp --type=cc ext/nokogiri)
17
-
18
-
19
- = FUNCTION DECLARATION:
20
-
21
- ANSI C style:
22
-
23
- type name(args)
24
- {
25
- declarations
26
-
27
- code
28
- }
29
-
30
- = SOURCES:
31
-
32
- * <3<3<3
33
-
data/Gemfile-libxml-ruby DELETED
@@ -1,3 +0,0 @@
1
- ENV['TEST_NOKOGIRI_WITH_LIBXML_RUBY'] = "1"
2
- gem "libxml-ruby", :platform => :mri, :require => false
3
- eval_gemfile File.join(File.dirname(ENV['BUNDLE_GEMFILE']),"Gemfile")
data/Manifest.txt DELETED
@@ -1,370 +0,0 @@
1
- .autotest
2
- .cross_rubies
3
- .editorconfig
4
- .gemtest
5
- .travis.yml
6
- CHANGELOG.md
7
- CONTRIBUTING.md
8
- C_CODING_STYLE.rdoc
9
- Gemfile
10
- Gemfile-libxml-ruby
11
- LICENSE-DEPENDENCIES.md
12
- LICENSE.md
13
- Manifest.txt
14
- README.md
15
- ROADMAP.md
16
- Rakefile
17
- SECURITY.md
18
- STANDARD_RESPONSES.md
19
- Y_U_NO_GEMSPEC.md
20
- appveyor.yml
21
- bin/nokogiri
22
- build_all
23
- dependencies.yml
24
- ext/java/nokogiri/EncodingHandler.java
25
- ext/java/nokogiri/HtmlDocument.java
26
- ext/java/nokogiri/HtmlElementDescription.java
27
- ext/java/nokogiri/HtmlEntityLookup.java
28
- ext/java/nokogiri/HtmlSaxParserContext.java
29
- ext/java/nokogiri/HtmlSaxPushParser.java
30
- ext/java/nokogiri/NokogiriService.java
31
- ext/java/nokogiri/XmlAttr.java
32
- ext/java/nokogiri/XmlAttributeDecl.java
33
- ext/java/nokogiri/XmlCdata.java
34
- ext/java/nokogiri/XmlComment.java
35
- ext/java/nokogiri/XmlDocument.java
36
- ext/java/nokogiri/XmlDocumentFragment.java
37
- ext/java/nokogiri/XmlDtd.java
38
- ext/java/nokogiri/XmlElement.java
39
- ext/java/nokogiri/XmlElementContent.java
40
- ext/java/nokogiri/XmlElementDecl.java
41
- ext/java/nokogiri/XmlEntityDecl.java
42
- ext/java/nokogiri/XmlEntityReference.java
43
- ext/java/nokogiri/XmlNamespace.java
44
- ext/java/nokogiri/XmlNode.java
45
- ext/java/nokogiri/XmlNodeSet.java
46
- ext/java/nokogiri/XmlProcessingInstruction.java
47
- ext/java/nokogiri/XmlReader.java
48
- ext/java/nokogiri/XmlRelaxng.java
49
- ext/java/nokogiri/XmlSaxParserContext.java
50
- ext/java/nokogiri/XmlSaxPushParser.java
51
- ext/java/nokogiri/XmlSchema.java
52
- ext/java/nokogiri/XmlSyntaxError.java
53
- ext/java/nokogiri/XmlText.java
54
- ext/java/nokogiri/XmlXpathContext.java
55
- ext/java/nokogiri/XsltStylesheet.java
56
- ext/java/nokogiri/internals/ClosedStreamException.java
57
- ext/java/nokogiri/internals/HtmlDomParserContext.java
58
- ext/java/nokogiri/internals/IgnoreSchemaErrorsErrorHandler.java
59
- ext/java/nokogiri/internals/NokogiriBlockingQueueInputStream.java
60
- ext/java/nokogiri/internals/NokogiriDomParser.java
61
- ext/java/nokogiri/internals/NokogiriEncodingReaderWrapper.java
62
- ext/java/nokogiri/internals/NokogiriEntityResolver.java
63
- ext/java/nokogiri/internals/NokogiriErrorHandler.java
64
- ext/java/nokogiri/internals/NokogiriHandler.java
65
- ext/java/nokogiri/internals/NokogiriHelpers.java
66
- ext/java/nokogiri/internals/NokogiriNamespaceCache.java
67
- ext/java/nokogiri/internals/NokogiriNamespaceContext.java
68
- ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler.java
69
- ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler4NekoHtml.java
70
- ext/java/nokogiri/internals/NokogiriStrictErrorHandler.java
71
- ext/java/nokogiri/internals/NokogiriXPathFunction.java
72
- ext/java/nokogiri/internals/NokogiriXPathFunctionResolver.java
73
- ext/java/nokogiri/internals/NokogiriXPathVariableResolver.java
74
- ext/java/nokogiri/internals/NokogiriXsltErrorListener.java
75
- ext/java/nokogiri/internals/ParserContext.java
76
- ext/java/nokogiri/internals/ReaderNode.java
77
- ext/java/nokogiri/internals/SaveContextVisitor.java
78
- ext/java/nokogiri/internals/SchemaErrorHandler.java
79
- ext/java/nokogiri/internals/UncloseableInputStream.java
80
- ext/java/nokogiri/internals/XalanDTMManagerPatch.java
81
- ext/java/nokogiri/internals/XmlDeclHandler.java
82
- ext/java/nokogiri/internals/XmlDomParserContext.java
83
- ext/java/nokogiri/internals/XmlSaxParser.java
84
- ext/java/nokogiri/internals/c14n/AttrCompare.java
85
- ext/java/nokogiri/internals/c14n/C14nHelper.java
86
- ext/java/nokogiri/internals/c14n/CanonicalFilter.java
87
- ext/java/nokogiri/internals/c14n/CanonicalizationException.java
88
- ext/java/nokogiri/internals/c14n/Canonicalizer.java
89
- ext/java/nokogiri/internals/c14n/Canonicalizer11.java
90
- ext/java/nokogiri/internals/c14n/Canonicalizer11_OmitComments.java
91
- ext/java/nokogiri/internals/c14n/Canonicalizer11_WithComments.java
92
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315.java
93
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315Excl.java
94
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315ExclOmitComments.java
95
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315ExclWithComments.java
96
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315OmitComments.java
97
- ext/java/nokogiri/internals/c14n/Canonicalizer20010315WithComments.java
98
- ext/java/nokogiri/internals/c14n/CanonicalizerBase.java
99
- ext/java/nokogiri/internals/c14n/CanonicalizerPhysical.java
100
- ext/java/nokogiri/internals/c14n/CanonicalizerSpi.java
101
- ext/java/nokogiri/internals/c14n/Constants.java
102
- ext/java/nokogiri/internals/c14n/ElementProxy.java
103
- ext/java/nokogiri/internals/c14n/HelperNodeList.java
104
- ext/java/nokogiri/internals/c14n/IgnoreAllErrorHandler.java
105
- ext/java/nokogiri/internals/c14n/InclusiveNamespaces.java
106
- ext/java/nokogiri/internals/c14n/InvalidCanonicalizerException.java
107
- ext/java/nokogiri/internals/c14n/NameSpaceSymbTable.java
108
- ext/java/nokogiri/internals/c14n/NodeFilter.java
109
- ext/java/nokogiri/internals/c14n/UtfHelpper.java
110
- ext/java/nokogiri/internals/c14n/XMLUtils.java
111
- ext/java/org/apache/xml/dtm/ref/dom2dtm/DOM2DTMExt.java
112
- ext/nokogiri/depend
113
- ext/nokogiri/extconf.rb
114
- ext/nokogiri/html_document.c
115
- ext/nokogiri/html_document.h
116
- ext/nokogiri/html_element_description.c
117
- ext/nokogiri/html_element_description.h
118
- ext/nokogiri/html_entity_lookup.c
119
- ext/nokogiri/html_entity_lookup.h
120
- ext/nokogiri/html_sax_parser_context.c
121
- ext/nokogiri/html_sax_parser_context.h
122
- ext/nokogiri/html_sax_push_parser.c
123
- ext/nokogiri/html_sax_push_parser.h
124
- ext/nokogiri/nokogiri.c
125
- ext/nokogiri/nokogiri.h
126
- ext/nokogiri/xml_attr.c
127
- ext/nokogiri/xml_attr.h
128
- ext/nokogiri/xml_attribute_decl.c
129
- ext/nokogiri/xml_attribute_decl.h
130
- ext/nokogiri/xml_cdata.c
131
- ext/nokogiri/xml_cdata.h
132
- ext/nokogiri/xml_comment.c
133
- ext/nokogiri/xml_comment.h
134
- ext/nokogiri/xml_document.c
135
- ext/nokogiri/xml_document.h
136
- ext/nokogiri/xml_document_fragment.c
137
- ext/nokogiri/xml_document_fragment.h
138
- ext/nokogiri/xml_dtd.c
139
- ext/nokogiri/xml_dtd.h
140
- ext/nokogiri/xml_element_content.c
141
- ext/nokogiri/xml_element_content.h
142
- ext/nokogiri/xml_element_decl.c
143
- ext/nokogiri/xml_element_decl.h
144
- ext/nokogiri/xml_encoding_handler.c
145
- ext/nokogiri/xml_encoding_handler.h
146
- ext/nokogiri/xml_entity_decl.c
147
- ext/nokogiri/xml_entity_decl.h
148
- ext/nokogiri/xml_entity_reference.c
149
- ext/nokogiri/xml_entity_reference.h
150
- ext/nokogiri/xml_io.c
151
- ext/nokogiri/xml_io.h
152
- ext/nokogiri/xml_libxml2_hacks.c
153
- ext/nokogiri/xml_libxml2_hacks.h
154
- ext/nokogiri/xml_namespace.c
155
- ext/nokogiri/xml_namespace.h
156
- ext/nokogiri/xml_node.c
157
- ext/nokogiri/xml_node.h
158
- ext/nokogiri/xml_node_set.c
159
- ext/nokogiri/xml_node_set.h
160
- ext/nokogiri/xml_processing_instruction.c
161
- ext/nokogiri/xml_processing_instruction.h
162
- ext/nokogiri/xml_reader.c
163
- ext/nokogiri/xml_reader.h
164
- ext/nokogiri/xml_relax_ng.c
165
- ext/nokogiri/xml_relax_ng.h
166
- ext/nokogiri/xml_sax_parser.c
167
- ext/nokogiri/xml_sax_parser.h
168
- ext/nokogiri/xml_sax_parser_context.c
169
- ext/nokogiri/xml_sax_parser_context.h
170
- ext/nokogiri/xml_sax_push_parser.c
171
- ext/nokogiri/xml_sax_push_parser.h
172
- ext/nokogiri/xml_schema.c
173
- ext/nokogiri/xml_schema.h
174
- ext/nokogiri/xml_syntax_error.c
175
- ext/nokogiri/xml_syntax_error.h
176
- ext/nokogiri/xml_text.c
177
- ext/nokogiri/xml_text.h
178
- ext/nokogiri/xml_xpath_context.c
179
- ext/nokogiri/xml_xpath_context.h
180
- ext/nokogiri/xslt_stylesheet.c
181
- ext/nokogiri/xslt_stylesheet.h
182
- lib/isorelax.jar
183
- lib/jing.jar
184
- lib/nekodtd.jar
185
- lib/nekohtml.jar
186
- lib/nokogiri.rb
187
- lib/nokogiri/css.rb
188
- lib/nokogiri/css/node.rb
189
- lib/nokogiri/css/parser.rb
190
- lib/nokogiri/css/parser.y
191
- lib/nokogiri/css/parser_extras.rb
192
- lib/nokogiri/css/syntax_error.rb
193
- lib/nokogiri/css/tokenizer.rb
194
- lib/nokogiri/css/tokenizer.rex
195
- lib/nokogiri/css/xpath_visitor.rb
196
- lib/nokogiri/decorators/slop.rb
197
- lib/nokogiri/html.rb
198
- lib/nokogiri/html/builder.rb
199
- lib/nokogiri/html/document.rb
200
- lib/nokogiri/html/document_fragment.rb
201
- lib/nokogiri/html/element_description.rb
202
- lib/nokogiri/html/element_description_defaults.rb
203
- lib/nokogiri/html/entity_lookup.rb
204
- lib/nokogiri/html/sax/parser.rb
205
- lib/nokogiri/html/sax/parser_context.rb
206
- lib/nokogiri/html/sax/push_parser.rb
207
- lib/nokogiri/syntax_error.rb
208
- lib/nokogiri/version.rb
209
- lib/nokogiri/xml.rb
210
- lib/nokogiri/xml/attr.rb
211
- lib/nokogiri/xml/attribute_decl.rb
212
- lib/nokogiri/xml/builder.rb
213
- lib/nokogiri/xml/cdata.rb
214
- lib/nokogiri/xml/character_data.rb
215
- lib/nokogiri/xml/document.rb
216
- lib/nokogiri/xml/document_fragment.rb
217
- lib/nokogiri/xml/dtd.rb
218
- lib/nokogiri/xml/element_content.rb
219
- lib/nokogiri/xml/element_decl.rb
220
- lib/nokogiri/xml/entity_decl.rb
221
- lib/nokogiri/xml/entity_reference.rb
222
- lib/nokogiri/xml/namespace.rb
223
- lib/nokogiri/xml/node.rb
224
- lib/nokogiri/xml/node/save_options.rb
225
- lib/nokogiri/xml/node_set.rb
226
- lib/nokogiri/xml/notation.rb
227
- lib/nokogiri/xml/parse_options.rb
228
- lib/nokogiri/xml/pp.rb
229
- lib/nokogiri/xml/pp/character_data.rb
230
- lib/nokogiri/xml/pp/node.rb
231
- lib/nokogiri/xml/processing_instruction.rb
232
- lib/nokogiri/xml/reader.rb
233
- lib/nokogiri/xml/relax_ng.rb
234
- lib/nokogiri/xml/sax.rb
235
- lib/nokogiri/xml/sax/document.rb
236
- lib/nokogiri/xml/sax/parser.rb
237
- lib/nokogiri/xml/sax/parser_context.rb
238
- lib/nokogiri/xml/sax/push_parser.rb
239
- lib/nokogiri/xml/schema.rb
240
- lib/nokogiri/xml/searchable.rb
241
- lib/nokogiri/xml/syntax_error.rb
242
- lib/nokogiri/xml/text.rb
243
- lib/nokogiri/xml/xpath.rb
244
- lib/nokogiri/xml/xpath/syntax_error.rb
245
- lib/nokogiri/xml/xpath_context.rb
246
- lib/nokogiri/xslt.rb
247
- lib/nokogiri/xslt/stylesheet.rb
248
- lib/serializer.jar
249
- lib/xalan.jar
250
- lib/xercesImpl.jar
251
- lib/xml-apis.jar
252
- lib/xsd/xmlparser/nokogiri.rb
253
- patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
254
- patches/libxml2/0002-Fix-nullptr-deref-with-XPath-logic-ops.patch
255
- patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch
256
- patches/sort-patches-by-date
257
- suppressions/README.txt
258
- suppressions/nokogiri_ruby-2.supp
259
- tasks/test.rb
260
- test/css/test_nthiness.rb
261
- test/css/test_parser.rb
262
- test/css/test_tokenizer.rb
263
- test/css/test_xpath_visitor.rb
264
- test/decorators/test_slop.rb
265
- test/files/2ch.html
266
- test/files/GH_1042.html
267
- test/files/address_book.rlx
268
- test/files/address_book.xml
269
- test/files/atom.xml
270
- test/files/bar/bar.xsd
271
- test/files/bogus.xml
272
- test/files/dont_hurt_em_why.xml
273
- test/files/encoding.html
274
- test/files/encoding.xhtml
275
- test/files/exslt.xml
276
- test/files/exslt.xslt
277
- test/files/foo/foo.xsd
278
- test/files/metacharset.html
279
- test/files/namespace_pressure_test.xml
280
- test/files/noencoding.html
281
- test/files/po.xml
282
- test/files/po.xsd
283
- test/files/saml/saml20assertion_schema.xsd
284
- test/files/saml/saml20protocol_schema.xsd
285
- test/files/saml/xenc_schema.xsd
286
- test/files/saml/xmldsig_schema.xsd
287
- test/files/shift_jis.html
288
- test/files/shift_jis.xml
289
- test/files/shift_jis_no_charset.html
290
- test/files/slow-xpath.xml
291
- test/files/snuggles.xml
292
- test/files/staff.dtd
293
- test/files/staff.xml
294
- test/files/staff.xslt
295
- test/files/test_document_url/bar.xml
296
- test/files/test_document_url/document.dtd
297
- test/files/test_document_url/document.xml
298
- test/files/tlm.html
299
- test/files/to_be_xincluded.xml
300
- test/files/valid_bar.xml
301
- test/files/xinclude.xml
302
- test/helper.rb
303
- test/html/sax/test_parser.rb
304
- test/html/sax/test_parser_context.rb
305
- test/html/sax/test_parser_text.rb
306
- test/html/sax/test_push_parser.rb
307
- test/html/test_attributes.rb
308
- test/html/test_builder.rb
309
- test/html/test_document.rb
310
- test/html/test_document_encoding.rb
311
- test/html/test_document_fragment.rb
312
- test/html/test_element_description.rb
313
- test/html/test_named_characters.rb
314
- test/html/test_node.rb
315
- test/html/test_node_encoding.rb
316
- test/namespaces/test_additional_namespaces_in_builder_doc.rb
317
- test/namespaces/test_namespaces_aliased_default.rb
318
- test/namespaces/test_namespaces_in_builder_doc.rb
319
- test/namespaces/test_namespaces_in_cloned_doc.rb
320
- test/namespaces/test_namespaces_in_created_doc.rb
321
- test/namespaces/test_namespaces_in_parsed_doc.rb
322
- test/namespaces/test_namespaces_preservation.rb
323
- test/test_convert_xpath.rb
324
- test/test_css_cache.rb
325
- test/test_encoding_handler.rb
326
- test/test_memory_leak.rb
327
- test/test_nokogiri.rb
328
- test/test_soap4r_sax.rb
329
- test/test_xslt_transforms.rb
330
- test/xml/node/test_save_options.rb
331
- test/xml/node/test_subclass.rb
332
- test/xml/sax/test_parser.rb
333
- test/xml/sax/test_parser_context.rb
334
- test/xml/sax/test_parser_text.rb
335
- test/xml/sax/test_push_parser.rb
336
- test/xml/test_attr.rb
337
- test/xml/test_attribute_decl.rb
338
- test/xml/test_builder.rb
339
- test/xml/test_c14n.rb
340
- test/xml/test_cdata.rb
341
- test/xml/test_comment.rb
342
- test/xml/test_document.rb
343
- test/xml/test_document_encoding.rb
344
- test/xml/test_document_fragment.rb
345
- test/xml/test_dtd.rb
346
- test/xml/test_dtd_encoding.rb
347
- test/xml/test_element_content.rb
348
- test/xml/test_element_decl.rb
349
- test/xml/test_entity_decl.rb
350
- test/xml/test_entity_reference.rb
351
- test/xml/test_namespace.rb
352
- test/xml/test_node.rb
353
- test/xml/test_node_attributes.rb
354
- test/xml/test_node_encoding.rb
355
- test/xml/test_node_inheritance.rb
356
- test/xml/test_node_reparenting.rb
357
- test/xml/test_node_set.rb
358
- test/xml/test_parse_options.rb
359
- test/xml/test_processing_instruction.rb
360
- test/xml/test_reader.rb
361
- test/xml/test_reader_encoding.rb
362
- test/xml/test_relax_ng.rb
363
- test/xml/test_schema.rb
364
- test/xml/test_syntax_error.rb
365
- test/xml/test_text.rb
366
- test/xml/test_unparented_node.rb
367
- test/xml/test_xinclude.rb
368
- test/xml/test_xpath.rb
369
- test/xslt/test_custom_functions.rb
370
- test/xslt/test_exception_handling.rb
data/ROADMAP.md DELETED
@@ -1,111 +0,0 @@
1
- # Roadmap for API Changes
2
-
3
- ## overhaul serialize/pretty printing API
4
-
5
- * https://github.com/sparklemotion/nokogiri/issues/530
6
- XHTML formatting can't be turned off
7
-
8
- * https://github.com/sparklemotion/nokogiri/issues/415
9
- XML formatting should be no formatting
10
-
11
-
12
- ## overhaul and optimize the SAX parsing
13
-
14
- * see fairy wing throwdown - SAX parsing is wicked slow.
15
-
16
-
17
- ## Node should not be Enumerable; and should have a better attributes API
18
-
19
- * https://github.com/sparklemotion/nokogiri/issues/679
20
- Mixing in Enumerable has some unintended consequences; plus we want to improve the attributes API
21
-
22
- * Some ideas for a better attributes API?
23
- * (closed) https://github.com/sparklemotion/nokogiri/issues/666
24
- * https://github.com/sparklemotion/nokogiri/issues/765
25
-
26
-
27
- ## improve CSS query parsing
28
-
29
- * https://github.com/sparklemotion/nokogiri/issues/528
30
- support `:not()` with a nontrivial argument, like `:not(div p.c)`
31
-
32
- * https://github.com/sparklemotion/nokogiri/issues/451
33
- chained :not pseudoselectors
34
-
35
- * better jQuery selector and CSS pseudo-selector support:
36
- * https://github.com/sparklemotion/nokogiri/issues/621
37
- * https://github.com/sparklemotion/nokogiri/issues/342
38
- * https://github.com/sparklemotion/nokogiri/issues/628
39
- * https://github.com/sparklemotion/nokogiri/issues/652
40
- * https://github.com/sparklemotion/nokogiri/issues/688
41
-
42
- * https://github.com/sparklemotion/nokogiri/issues/394
43
- nth-of-type is wrong, and possibly other selectors as well
44
-
45
- * https://github.com/sparklemotion/nokogiri/issues/309
46
- incorrect query being executed
47
-
48
- * https://github.com/sparklemotion/nokogiri/issues/350
49
- :has is wrong?
50
-
51
-
52
- ## DocumentFragment
53
-
54
- * there are a few tickets about searches not working properly if you
55
- use or do not use the context node as part of the search.
56
- - https://github.com/sparklemotion/nokogiri/issues/213
57
- - https://github.com/sparklemotion/nokogiri/issues/370
58
- - https://github.com/sparklemotion/nokogiri/issues/454
59
- - https://github.com/sparklemotion/nokogiri/issues/572
60
- could we fix this by making DocumentFragment be a subclass of NodeSet?
61
-
62
-
63
- ## Better Syntax for custom XPath function handler
64
-
65
- * https://github.com/sparklemotion/nokogiri/pull/464
66
-
67
-
68
- ## Better Syntax around Node#xpath and NodeSet#xpath
69
-
70
- * look at those methods, and use of Node#extract_params in Node#{css,search}
71
- * we should standardize on a hash of options for these and other calls
72
- * what should NodeSet#xpath return?
73
- * https://github.com/sparklemotion/nokogiri/issues/656
74
-
75
- ## Encoding
76
-
77
- We have a lot of issues open around encoding. How bad are things?
78
- Somebody who knows encoding well should head this up.
79
-
80
- * Extract EncodingReader as a real object that can be injected
81
- https://groups.google.com/forum/#!msg/nokogiri-talk/arJeAtMqvkg/tGihB-iBRSAJ
82
-
83
-
84
- ## Reader
85
-
86
- It's fundamentally broken, in that we can't stop people from crashing
87
- their application if they want to use object reference unsafely.
88
-
89
-
90
- ## Class methods that require Document
91
-
92
- There are a few methods, like `Nokogiri::XML::Comment.new` that
93
- require a Document object.
94
-
95
- We should probably make Document instance methods to wrap this, since
96
- it's a non-obvious expectation and thus fails as a convention.
97
-
98
- So, instead, let's make alternative methods like
99
- `Nokogiri::XML::Document#new_comment`, and recommend those as the
100
- proper convention.
101
-
102
-
103
- ## `collect_namespaces` is just broken
104
-
105
- `collect_namespaces` is returning a hash, which means it can't return
106
- namespaces with the same prefix. See this issue for background:
107
-
108
- > https://github.com/sparklemotion/nokogiri/issues/885
109
-
110
- Do we care? This seems like a useless method, but then again I hate
111
- XML, so what do I know?