nokogiri 1.8.5 → 1.13.6

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 (356) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -21
  3. data/LICENSE-DEPENDENCIES.md +1159 -868
  4. data/LICENSE.md +5 -28
  5. data/README.md +196 -90
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +13 -59
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +750 -420
  10. data/ext/nokogiri/gumbo.c +584 -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 +119 -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 +228 -91
  18. data/ext/nokogiri/nokogiri.h +191 -89
  19. data/ext/nokogiri/test_global_handlers.c +40 -0
  20. data/ext/nokogiri/xml_attr.c +41 -36
  21. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  22. data/ext/nokogiri/xml_cdata.c +13 -18
  23. data/ext/nokogiri/xml_comment.c +19 -26
  24. data/ext/nokogiri/xml_document.c +291 -216
  25. data/ext/nokogiri/xml_document_fragment.c +12 -16
  26. data/ext/nokogiri/xml_dtd.c +56 -50
  27. data/ext/nokogiri/xml_element_content.c +31 -26
  28. data/ext/nokogiri/xml_element_decl.c +22 -22
  29. data/ext/nokogiri/xml_encoding_handler.c +43 -18
  30. data/ext/nokogiri/xml_entity_decl.c +32 -30
  31. data/ext/nokogiri/xml_entity_reference.c +16 -18
  32. data/ext/nokogiri/xml_namespace.c +61 -52
  33. data/ext/nokogiri/xml_node.c +1044 -616
  34. data/ext/nokogiri/xml_node_set.c +174 -162
  35. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  36. data/ext/nokogiri/xml_reader.c +226 -175
  37. data/ext/nokogiri/xml_relax_ng.c +52 -28
  38. data/ext/nokogiri/xml_sax_parser.c +112 -112
  39. data/ext/nokogiri/xml_sax_parser_context.c +112 -86
  40. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  41. data/ext/nokogiri/xml_schema.c +112 -33
  42. data/ext/nokogiri/xml_syntax_error.c +42 -21
  43. data/ext/nokogiri/xml_text.c +13 -17
  44. data/ext/nokogiri/xml_xpath_context.c +223 -115
  45. data/ext/nokogiri/xslt_stylesheet.c +265 -173
  46. data/gumbo-parser/CHANGES.md +63 -0
  47. data/gumbo-parser/Makefile +101 -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 +626 -0
  59. data/gumbo-parser/src/error.h +148 -0
  60. data/gumbo-parser/src/foreign_attrs.c +104 -0
  61. data/gumbo-parser/src/foreign_attrs.gperf +27 -0
  62. data/gumbo-parser/src/gumbo.h +943 -0
  63. data/gumbo-parser/src/insertion_mode.h +33 -0
  64. data/gumbo-parser/src/macros.h +91 -0
  65. data/gumbo-parser/src/parser.c +4875 -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 +222 -0
  76. data/gumbo-parser/src/tag_lookup.c +382 -0
  77. data/gumbo-parser/src/tag_lookup.gperf +169 -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 +68 -0
  88. data/gumbo-parser/src/util.h +30 -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 +218 -91
  100. data/lib/nokogiri/css.rb +50 -17
  101. data/lib/nokogiri/decorators/slop.rb +9 -7
  102. data/lib/nokogiri/extension.rb +31 -0
  103. data/lib/nokogiri/gumbo.rb +15 -0
  104. data/lib/nokogiri/html.rb +38 -27
  105. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  106. data/lib/nokogiri/{html → html4}/document.rb +103 -105
  107. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  108. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  109. data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
  110. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  111. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  112. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  113. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  114. data/lib/nokogiri/html4.rb +46 -0
  115. data/lib/nokogiri/html5/document.rb +91 -0
  116. data/lib/nokogiri/html5/document_fragment.rb +83 -0
  117. data/lib/nokogiri/html5/node.rb +100 -0
  118. data/lib/nokogiri/html5.rb +478 -0
  119. data/lib/nokogiri/jruby/dependencies.rb +21 -0
  120. data/lib/nokogiri/syntax_error.rb +2 -0
  121. data/lib/nokogiri/version/constant.rb +6 -0
  122. data/lib/nokogiri/version/info.rb +222 -0
  123. data/lib/nokogiri/version.rb +3 -108
  124. data/lib/nokogiri/xml/attr.rb +6 -3
  125. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  126. data/lib/nokogiri/xml/builder.rb +97 -53
  127. data/lib/nokogiri/xml/cdata.rb +3 -1
  128. data/lib/nokogiri/xml/character_data.rb +2 -0
  129. data/lib/nokogiri/xml/document.rb +224 -86
  130. data/lib/nokogiri/xml/document_fragment.rb +57 -44
  131. data/lib/nokogiri/xml/dtd.rb +4 -2
  132. data/lib/nokogiri/xml/element_content.rb +2 -0
  133. data/lib/nokogiri/xml/element_decl.rb +3 -1
  134. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  135. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  136. data/lib/nokogiri/xml/namespace.rb +3 -0
  137. data/lib/nokogiri/xml/node/save_options.rb +10 -5
  138. data/lib/nokogiri/xml/node.rb +895 -377
  139. data/lib/nokogiri/xml/node_set.rb +92 -65
  140. data/lib/nokogiri/xml/notation.rb +13 -0
  141. data/lib/nokogiri/xml/parse_options.rb +22 -8
  142. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  143. data/lib/nokogiri/xml/pp/node.rb +25 -26
  144. data/lib/nokogiri/xml/pp.rb +4 -2
  145. data/lib/nokogiri/xml/processing_instruction.rb +3 -1
  146. data/lib/nokogiri/xml/reader.rb +23 -28
  147. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  148. data/lib/nokogiri/xml/sax/document.rb +45 -49
  149. data/lib/nokogiri/xml/sax/parser.rb +38 -34
  150. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  151. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  152. data/lib/nokogiri/xml/sax.rb +6 -4
  153. data/lib/nokogiri/xml/schema.rb +19 -9
  154. data/lib/nokogiri/xml/searchable.rb +112 -72
  155. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  156. data/lib/nokogiri/xml/text.rb +2 -0
  157. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  158. data/lib/nokogiri/xml/xpath.rb +15 -4
  159. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  160. data/lib/nokogiri/xml.rb +38 -37
  161. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  162. data/lib/nokogiri/xslt.rb +29 -20
  163. data/lib/nokogiri.rb +49 -65
  164. data/lib/xsd/xmlparser/nokogiri.rb +26 -24
  165. data/patches/libxml2/0001-Remove-script-macro-support.patch +40 -0
  166. data/patches/libxml2/0002-Update-entities-to-remove-handling-of-ssi.patch +44 -0
  167. data/patches/libxml2/0003-libxml2.la-is-in-top_builddir.patch +25 -0
  168. data/patches/libxml2/0004-use-glibc-strlen.patch +53 -0
  169. data/patches/libxml2/0005-avoid-isnan-isinf.patch +81 -0
  170. data/patches/libxml2/0006-update-automake-files-for-arm64.patch +3040 -0
  171. data/patches/libxml2/0008-htmlParseComment-handle-abruptly-closed-comments.patch +61 -0
  172. data/patches/libxml2/0009-allow-wildcard-namespaces.patch +77 -0
  173. data/patches/libxslt/0001-update-automake-files-for-arm64.patch +3037 -0
  174. data/ports/archives/libxml2-2.9.14.tar.xz +0 -0
  175. data/ports/archives/libxslt-1.1.35.tar.xz +0 -0
  176. metadata +220 -266
  177. data/.autotest +0 -22
  178. data/.cross_rubies +0 -8
  179. data/.editorconfig +0 -17
  180. data/.gemtest +0 -0
  181. data/.travis.yml +0 -63
  182. data/CHANGELOG.md +0 -1368
  183. data/CONTRIBUTING.md +0 -42
  184. data/C_CODING_STYLE.rdoc +0 -33
  185. data/Gemfile-libxml-ruby +0 -3
  186. data/Manifest.txt +0 -370
  187. data/ROADMAP.md +0 -111
  188. data/Rakefile +0 -348
  189. data/SECURITY.md +0 -19
  190. data/STANDARD_RESPONSES.md +0 -47
  191. data/Y_U_NO_GEMSPEC.md +0 -155
  192. data/appveyor.yml +0 -29
  193. data/build_all +0 -44
  194. data/ext/nokogiri/html_document.c +0 -170
  195. data/ext/nokogiri/html_document.h +0 -10
  196. data/ext/nokogiri/html_element_description.c +0 -279
  197. data/ext/nokogiri/html_element_description.h +0 -10
  198. data/ext/nokogiri/html_entity_lookup.c +0 -32
  199. data/ext/nokogiri/html_entity_lookup.h +0 -8
  200. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  201. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  202. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  203. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  204. data/ext/nokogiri/xml_attr.h +0 -9
  205. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  206. data/ext/nokogiri/xml_cdata.h +0 -9
  207. data/ext/nokogiri/xml_comment.h +0 -9
  208. data/ext/nokogiri/xml_document.h +0 -23
  209. data/ext/nokogiri/xml_document_fragment.h +0 -10
  210. data/ext/nokogiri/xml_dtd.h +0 -10
  211. data/ext/nokogiri/xml_element_content.h +0 -10
  212. data/ext/nokogiri/xml_element_decl.h +0 -9
  213. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  214. data/ext/nokogiri/xml_entity_decl.h +0 -10
  215. data/ext/nokogiri/xml_entity_reference.h +0 -9
  216. data/ext/nokogiri/xml_io.c +0 -61
  217. data/ext/nokogiri/xml_io.h +0 -11
  218. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  219. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  220. data/ext/nokogiri/xml_namespace.h +0 -15
  221. data/ext/nokogiri/xml_node.h +0 -13
  222. data/ext/nokogiri/xml_node_set.h +0 -12
  223. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  224. data/ext/nokogiri/xml_reader.h +0 -10
  225. data/ext/nokogiri/xml_relax_ng.h +0 -9
  226. data/ext/nokogiri/xml_sax_parser.h +0 -39
  227. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  228. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  229. data/ext/nokogiri/xml_schema.h +0 -9
  230. data/ext/nokogiri/xml_syntax_error.h +0 -13
  231. data/ext/nokogiri/xml_text.h +0 -9
  232. data/ext/nokogiri/xml_xpath_context.h +0 -10
  233. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  234. data/lib/nokogiri/html/document_fragment.rb +0 -49
  235. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  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-Fix-nullptr-deref-with-XPath-logic-ops.patch +0 -54
  239. data/patches/libxml2/0003-Fix-infinite-loop-in-LZMA-decompression.patch +0 -50
  240. data/patches/sort-patches-by-date +0 -25
  241. data/ports/archives/libxml2-2.9.8.tar.gz +0 -0
  242. data/ports/archives/libxslt-1.1.32.tar.gz +0 -0
  243. data/suppressions/README.txt +0 -1
  244. data/suppressions/nokogiri_ruby-2.supp +0 -10
  245. data/tasks/test.rb +0 -100
  246. data/test/css/test_nthiness.rb +0 -226
  247. data/test/css/test_parser.rb +0 -386
  248. data/test/css/test_tokenizer.rb +0 -215
  249. data/test/css/test_xpath_visitor.rb +0 -96
  250. data/test/decorators/test_slop.rb +0 -23
  251. data/test/files/2ch.html +0 -108
  252. data/test/files/GH_1042.html +0 -18
  253. data/test/files/address_book.rlx +0 -12
  254. data/test/files/address_book.xml +0 -10
  255. data/test/files/atom.xml +0 -344
  256. data/test/files/bar/bar.xsd +0 -4
  257. data/test/files/bogus.xml +0 -0
  258. data/test/files/dont_hurt_em_why.xml +0 -422
  259. data/test/files/encoding.html +0 -82
  260. data/test/files/encoding.xhtml +0 -84
  261. data/test/files/exslt.xml +0 -8
  262. data/test/files/exslt.xslt +0 -35
  263. data/test/files/foo/foo.xsd +0 -4
  264. data/test/files/metacharset.html +0 -10
  265. data/test/files/namespace_pressure_test.xml +0 -1684
  266. data/test/files/noencoding.html +0 -47
  267. data/test/files/po.xml +0 -32
  268. data/test/files/po.xsd +0 -66
  269. data/test/files/saml/saml20assertion_schema.xsd +0 -283
  270. data/test/files/saml/saml20protocol_schema.xsd +0 -302
  271. data/test/files/saml/xenc_schema.xsd +0 -146
  272. data/test/files/saml/xmldsig_schema.xsd +0 -318
  273. data/test/files/shift_jis.html +0 -10
  274. data/test/files/shift_jis.xml +0 -5
  275. data/test/files/shift_jis_no_charset.html +0 -9
  276. data/test/files/slow-xpath.xml +0 -25509
  277. data/test/files/snuggles.xml +0 -3
  278. data/test/files/staff.dtd +0 -10
  279. data/test/files/staff.xml +0 -59
  280. data/test/files/staff.xslt +0 -32
  281. data/test/files/test_document_url/bar.xml +0 -2
  282. data/test/files/test_document_url/document.dtd +0 -4
  283. data/test/files/test_document_url/document.xml +0 -6
  284. data/test/files/tlm.html +0 -851
  285. data/test/files/to_be_xincluded.xml +0 -2
  286. data/test/files/valid_bar.xml +0 -2
  287. data/test/files/xinclude.xml +0 -4
  288. data/test/helper.rb +0 -271
  289. data/test/html/sax/test_parser.rb +0 -168
  290. data/test/html/sax/test_parser_context.rb +0 -46
  291. data/test/html/sax/test_parser_text.rb +0 -163
  292. data/test/html/sax/test_push_parser.rb +0 -87
  293. data/test/html/test_attributes.rb +0 -85
  294. data/test/html/test_builder.rb +0 -164
  295. data/test/html/test_document.rb +0 -712
  296. data/test/html/test_document_encoding.rb +0 -143
  297. data/test/html/test_document_fragment.rb +0 -310
  298. data/test/html/test_element_description.rb +0 -105
  299. data/test/html/test_named_characters.rb +0 -14
  300. data/test/html/test_node.rb +0 -212
  301. data/test/html/test_node_encoding.rb +0 -91
  302. data/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  303. data/test/namespaces/test_namespaces_aliased_default.rb +0 -24
  304. data/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  305. data/test/namespaces/test_namespaces_in_cloned_doc.rb +0 -31
  306. data/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  307. data/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -80
  308. data/test/namespaces/test_namespaces_preservation.rb +0 -31
  309. data/test/test_convert_xpath.rb +0 -135
  310. data/test/test_css_cache.rb +0 -47
  311. data/test/test_encoding_handler.rb +0 -48
  312. data/test/test_memory_leak.rb +0 -156
  313. data/test/test_nokogiri.rb +0 -138
  314. data/test/test_soap4r_sax.rb +0 -52
  315. data/test/test_xslt_transforms.rb +0 -314
  316. data/test/xml/node/test_save_options.rb +0 -28
  317. data/test/xml/node/test_subclass.rb +0 -44
  318. data/test/xml/sax/test_parser.rb +0 -402
  319. data/test/xml/sax/test_parser_context.rb +0 -115
  320. data/test/xml/sax/test_parser_text.rb +0 -202
  321. data/test/xml/sax/test_push_parser.rb +0 -265
  322. data/test/xml/test_attr.rb +0 -74
  323. data/test/xml/test_attribute_decl.rb +0 -86
  324. data/test/xml/test_builder.rb +0 -341
  325. data/test/xml/test_c14n.rb +0 -180
  326. data/test/xml/test_cdata.rb +0 -54
  327. data/test/xml/test_comment.rb +0 -40
  328. data/test/xml/test_document.rb +0 -982
  329. data/test/xml/test_document_encoding.rb +0 -31
  330. data/test/xml/test_document_fragment.rb +0 -298
  331. data/test/xml/test_dtd.rb +0 -187
  332. data/test/xml/test_dtd_encoding.rb +0 -31
  333. data/test/xml/test_element_content.rb +0 -56
  334. data/test/xml/test_element_decl.rb +0 -73
  335. data/test/xml/test_entity_decl.rb +0 -122
  336. data/test/xml/test_entity_reference.rb +0 -262
  337. data/test/xml/test_namespace.rb +0 -96
  338. data/test/xml/test_node.rb +0 -1325
  339. data/test/xml/test_node_attributes.rb +0 -115
  340. data/test/xml/test_node_encoding.rb +0 -75
  341. data/test/xml/test_node_inheritance.rb +0 -32
  342. data/test/xml/test_node_reparenting.rb +0 -592
  343. data/test/xml/test_node_set.rb +0 -809
  344. data/test/xml/test_parse_options.rb +0 -64
  345. data/test/xml/test_processing_instruction.rb +0 -30
  346. data/test/xml/test_reader.rb +0 -620
  347. data/test/xml/test_reader_encoding.rb +0 -134
  348. data/test/xml/test_relax_ng.rb +0 -60
  349. data/test/xml/test_schema.rb +0 -142
  350. data/test/xml/test_syntax_error.rb +0 -36
  351. data/test/xml/test_text.rb +0 -60
  352. data/test/xml/test_unparented_node.rb +0 -483
  353. data/test/xml/test_xinclude.rb +0 -83
  354. data/test/xml/test_xpath.rb +0 -470
  355. data/test/xslt/test_custom_functions.rb +0 -133
  356. 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?