nokogiri 1.2.3-x86-mswin32-60 → 1.4.5-x86-mswin32-60

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 (319) hide show
  1. data/.autotest +18 -7
  2. data/.gemtest +0 -0
  3. data/CHANGELOG.ja.rdoc +297 -3
  4. data/CHANGELOG.rdoc +289 -0
  5. data/Manifest.txt +148 -37
  6. data/README.ja.rdoc +20 -20
  7. data/README.rdoc +53 -22
  8. data/Rakefile +127 -211
  9. data/bin/nokogiri +54 -0
  10. data/ext/nokogiri/depend +358 -0
  11. data/ext/nokogiri/extconf.rb +89 -54
  12. data/ext/nokogiri/html_document.c +34 -27
  13. data/ext/nokogiri/html_document.h +1 -1
  14. data/ext/nokogiri/html_element_description.c +276 -0
  15. data/ext/nokogiri/html_element_description.h +10 -0
  16. data/ext/nokogiri/html_entity_lookup.c +7 -5
  17. data/ext/nokogiri/html_entity_lookup.h +1 -1
  18. data/ext/nokogiri/html_sax_parser_context.c +94 -0
  19. data/ext/nokogiri/html_sax_parser_context.h +11 -0
  20. data/ext/nokogiri/{native.c → nokogiri.c} +31 -7
  21. data/ext/nokogiri/{native.h → nokogiri.h} +68 -41
  22. data/ext/nokogiri/xml_attr.c +20 -9
  23. data/ext/nokogiri/xml_attr.h +1 -1
  24. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  25. data/ext/nokogiri/xml_attribute_decl.h +9 -0
  26. data/ext/nokogiri/xml_cdata.c +21 -9
  27. data/ext/nokogiri/xml_cdata.h +1 -1
  28. data/ext/nokogiri/xml_comment.c +18 -6
  29. data/ext/nokogiri/xml_comment.h +1 -1
  30. data/ext/nokogiri/xml_document.c +247 -68
  31. data/ext/nokogiri/xml_document.h +5 -3
  32. data/ext/nokogiri/xml_document_fragment.c +15 -7
  33. data/ext/nokogiri/xml_document_fragment.h +1 -1
  34. data/ext/nokogiri/xml_dtd.c +110 -10
  35. data/ext/nokogiri/xml_dtd.h +3 -1
  36. data/ext/nokogiri/xml_element_content.c +123 -0
  37. data/ext/nokogiri/xml_element_content.h +10 -0
  38. data/ext/nokogiri/xml_element_decl.c +69 -0
  39. data/ext/nokogiri/xml_element_decl.h +9 -0
  40. data/ext/nokogiri/xml_encoding_handler.c +79 -0
  41. data/ext/nokogiri/xml_encoding_handler.h +8 -0
  42. data/ext/nokogiri/xml_entity_decl.c +110 -0
  43. data/ext/nokogiri/xml_entity_decl.h +10 -0
  44. data/ext/nokogiri/xml_entity_reference.c +16 -5
  45. data/ext/nokogiri/xml_entity_reference.h +1 -1
  46. data/ext/nokogiri/xml_io.c +40 -8
  47. data/ext/nokogiri/xml_io.h +2 -1
  48. data/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  49. data/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  50. data/ext/nokogiri/xml_namespace.c +84 -0
  51. data/ext/nokogiri/xml_namespace.h +13 -0
  52. data/ext/nokogiri/xml_node.c +782 -225
  53. data/ext/nokogiri/xml_node.h +2 -4
  54. data/ext/nokogiri/xml_node_set.c +253 -34
  55. data/ext/nokogiri/xml_node_set.h +2 -2
  56. data/ext/nokogiri/xml_processing_instruction.c +17 -5
  57. data/ext/nokogiri/xml_processing_instruction.h +1 -1
  58. data/ext/nokogiri/xml_reader.c +277 -85
  59. data/ext/nokogiri/xml_reader.h +1 -1
  60. data/ext/nokogiri/xml_relax_ng.c +168 -0
  61. data/ext/nokogiri/xml_relax_ng.h +9 -0
  62. data/ext/nokogiri/xml_sax_parser.c +183 -111
  63. data/ext/nokogiri/xml_sax_parser.h +30 -1
  64. data/ext/nokogiri/xml_sax_parser_context.c +199 -0
  65. data/ext/nokogiri/xml_sax_parser_context.h +10 -0
  66. data/ext/nokogiri/xml_sax_push_parser.c +42 -12
  67. data/ext/nokogiri/xml_sax_push_parser.h +1 -1
  68. data/ext/nokogiri/xml_schema.c +205 -0
  69. data/ext/nokogiri/xml_schema.h +9 -0
  70. data/ext/nokogiri/xml_syntax_error.c +28 -173
  71. data/ext/nokogiri/xml_syntax_error.h +2 -1
  72. data/ext/nokogiri/xml_text.c +16 -6
  73. data/ext/nokogiri/xml_text.h +1 -1
  74. data/ext/nokogiri/xml_xpath_context.c +104 -47
  75. data/ext/nokogiri/xml_xpath_context.h +1 -1
  76. data/ext/nokogiri/xslt_stylesheet.c +161 -19
  77. data/ext/nokogiri/xslt_stylesheet.h +1 -1
  78. data/lib/nokogiri.rb +47 -8
  79. data/lib/nokogiri/1.8/nokogiri.so +0 -0
  80. data/lib/nokogiri/1.9/nokogiri.so +0 -0
  81. data/lib/nokogiri/css.rb +6 -3
  82. data/lib/nokogiri/css/node.rb +14 -12
  83. data/lib/nokogiri/css/parser.rb +665 -62
  84. data/lib/nokogiri/css/parser.y +20 -10
  85. data/lib/nokogiri/css/parser_extras.rb +91 -0
  86. data/lib/nokogiri/css/tokenizer.rb +148 -5
  87. data/lib/nokogiri/css/tokenizer.rex +10 -9
  88. data/lib/nokogiri/css/xpath_visitor.rb +47 -44
  89. data/lib/nokogiri/decorators/slop.rb +8 -4
  90. data/lib/nokogiri/ffi/encoding_handler.rb +42 -0
  91. data/lib/nokogiri/ffi/html/document.rb +28 -0
  92. data/lib/nokogiri/ffi/html/element_description.rb +81 -0
  93. data/lib/nokogiri/ffi/html/entity_lookup.rb +16 -0
  94. data/lib/nokogiri/ffi/html/sax/parser_context.rb +38 -0
  95. data/lib/nokogiri/ffi/io_callbacks.rb +42 -0
  96. data/lib/nokogiri/ffi/libxml.rb +420 -0
  97. data/lib/nokogiri/ffi/structs/common_node.rb +38 -0
  98. data/lib/nokogiri/ffi/structs/html_elem_desc.rb +24 -0
  99. data/lib/nokogiri/ffi/structs/html_entity_desc.rb +13 -0
  100. data/lib/nokogiri/ffi/structs/xml_alloc.rb +16 -0
  101. data/lib/nokogiri/ffi/structs/xml_attr.rb +20 -0
  102. data/lib/nokogiri/ffi/structs/xml_attribute.rb +27 -0
  103. data/lib/nokogiri/ffi/structs/xml_buffer.rb +16 -0
  104. data/lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb +11 -0
  105. data/lib/nokogiri/ffi/structs/xml_document.rb +117 -0
  106. data/lib/nokogiri/ffi/structs/xml_dtd.rb +28 -0
  107. data/lib/nokogiri/ffi/structs/xml_element.rb +26 -0
  108. data/lib/nokogiri/ffi/structs/xml_element_content.rb +17 -0
  109. data/lib/nokogiri/ffi/structs/xml_entity.rb +32 -0
  110. data/lib/nokogiri/ffi/structs/xml_enumeration.rb +12 -0
  111. data/lib/nokogiri/ffi/structs/xml_node.rb +28 -0
  112. data/lib/nokogiri/ffi/structs/xml_node_set.rb +53 -0
  113. data/lib/nokogiri/ffi/structs/xml_notation.rb +11 -0
  114. data/lib/nokogiri/ffi/structs/xml_ns.rb +15 -0
  115. data/lib/nokogiri/ffi/structs/xml_parser_context.rb +20 -0
  116. data/lib/nokogiri/ffi/structs/xml_parser_input.rb +19 -0
  117. data/lib/nokogiri/ffi/structs/xml_relax_ng.rb +14 -0
  118. data/lib/nokogiri/ffi/structs/xml_sax_handler.rb +51 -0
  119. data/lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb +124 -0
  120. data/lib/nokogiri/ffi/structs/xml_schema.rb +13 -0
  121. data/lib/nokogiri/ffi/structs/xml_syntax_error.rb +31 -0
  122. data/lib/nokogiri/ffi/structs/xml_text_reader.rb +12 -0
  123. data/lib/nokogiri/ffi/structs/xml_xpath_context.rb +38 -0
  124. data/lib/nokogiri/ffi/structs/xml_xpath_object.rb +35 -0
  125. data/lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb +20 -0
  126. data/lib/nokogiri/ffi/structs/xslt_stylesheet.rb +13 -0
  127. data/lib/nokogiri/ffi/weak_bucket.rb +40 -0
  128. data/lib/nokogiri/ffi/xml/attr.rb +41 -0
  129. data/lib/nokogiri/ffi/xml/attribute_decl.rb +27 -0
  130. data/lib/nokogiri/ffi/xml/cdata.rb +19 -0
  131. data/lib/nokogiri/ffi/xml/comment.rb +18 -0
  132. data/lib/nokogiri/ffi/xml/document.rb +174 -0
  133. data/lib/nokogiri/ffi/xml/document_fragment.rb +21 -0
  134. data/lib/nokogiri/ffi/xml/dtd.rb +67 -0
  135. data/lib/nokogiri/ffi/xml/element_content.rb +43 -0
  136. data/lib/nokogiri/ffi/xml/element_decl.rb +19 -0
  137. data/lib/nokogiri/ffi/xml/entity_decl.rb +36 -0
  138. data/lib/nokogiri/ffi/xml/entity_reference.rb +19 -0
  139. data/lib/nokogiri/ffi/xml/namespace.rb +44 -0
  140. data/lib/nokogiri/ffi/xml/node.rb +559 -0
  141. data/lib/nokogiri/ffi/xml/node_set.rb +150 -0
  142. data/lib/nokogiri/ffi/xml/processing_instruction.rb +20 -0
  143. data/lib/nokogiri/ffi/xml/reader.rb +236 -0
  144. data/lib/nokogiri/ffi/xml/relax_ng.rb +85 -0
  145. data/lib/nokogiri/ffi/xml/sax/parser.rb +143 -0
  146. data/lib/nokogiri/ffi/xml/sax/parser_context.rb +79 -0
  147. data/lib/nokogiri/ffi/xml/sax/push_parser.rb +51 -0
  148. data/lib/nokogiri/ffi/xml/schema.rb +109 -0
  149. data/lib/nokogiri/ffi/xml/syntax_error.rb +98 -0
  150. data/lib/nokogiri/ffi/xml/text.rb +18 -0
  151. data/lib/nokogiri/ffi/xml/xpath.rb +9 -0
  152. data/lib/nokogiri/ffi/xml/xpath_context.rb +153 -0
  153. data/lib/nokogiri/ffi/xslt/stylesheet.rb +77 -0
  154. data/lib/nokogiri/html.rb +13 -47
  155. data/lib/nokogiri/html/builder.rb +27 -1
  156. data/lib/nokogiri/html/document.rb +201 -7
  157. data/lib/nokogiri/html/document_fragment.rb +41 -0
  158. data/lib/nokogiri/html/element_description.rb +23 -0
  159. data/lib/nokogiri/html/entity_lookup.rb +2 -0
  160. data/lib/nokogiri/html/sax/parser.rb +34 -3
  161. data/lib/nokogiri/html/sax/parser_context.rb +16 -0
  162. data/lib/nokogiri/nokogiri.rb +1 -0
  163. data/lib/nokogiri/version.rb +40 -1
  164. data/lib/nokogiri/version_warning.rb +14 -0
  165. data/lib/nokogiri/xml.rb +32 -53
  166. data/lib/nokogiri/xml/attr.rb +5 -0
  167. data/lib/nokogiri/xml/attribute_decl.rb +18 -0
  168. data/lib/nokogiri/xml/builder.rb +349 -29
  169. data/lib/nokogiri/xml/cdata.rb +3 -1
  170. data/lib/nokogiri/xml/character_data.rb +7 -0
  171. data/lib/nokogiri/xml/document.rb +166 -14
  172. data/lib/nokogiri/xml/document_fragment.rb +76 -1
  173. data/lib/nokogiri/xml/dtd.rb +16 -3
  174. data/lib/nokogiri/xml/element_content.rb +36 -0
  175. data/lib/nokogiri/xml/element_decl.rb +13 -0
  176. data/lib/nokogiri/xml/entity_decl.rb +19 -0
  177. data/lib/nokogiri/xml/namespace.rb +13 -0
  178. data/lib/nokogiri/xml/node.rb +561 -166
  179. data/lib/nokogiri/xml/node/save_options.rb +22 -2
  180. data/lib/nokogiri/xml/node_set.rb +202 -40
  181. data/lib/nokogiri/xml/parse_options.rb +93 -0
  182. data/lib/nokogiri/xml/pp.rb +2 -0
  183. data/lib/nokogiri/xml/pp/character_data.rb +18 -0
  184. data/lib/nokogiri/xml/pp/node.rb +56 -0
  185. data/lib/nokogiri/xml/processing_instruction.rb +2 -0
  186. data/lib/nokogiri/xml/reader.rb +93 -8
  187. data/lib/nokogiri/xml/relax_ng.rb +32 -0
  188. data/lib/nokogiri/xml/sax.rb +1 -7
  189. data/lib/nokogiri/xml/sax/document.rb +107 -2
  190. data/lib/nokogiri/xml/sax/parser.rb +57 -7
  191. data/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  192. data/lib/nokogiri/xml/sax/push_parser.rb +13 -1
  193. data/lib/nokogiri/xml/schema.rb +63 -0
  194. data/lib/nokogiri/xml/syntax_error.rb +25 -1
  195. data/lib/nokogiri/xml/text.rb +4 -1
  196. data/lib/nokogiri/xml/xpath.rb +1 -1
  197. data/lib/nokogiri/xml/xpath/syntax_error.rb +3 -0
  198. data/lib/nokogiri/xml/xpath_context.rb +2 -0
  199. data/lib/nokogiri/xslt.rb +26 -2
  200. data/lib/nokogiri/xslt/stylesheet.rb +19 -0
  201. data/lib/xsd/xmlparser/nokogiri.rb +45 -9
  202. data/tasks/cross_compile.rb +173 -0
  203. data/tasks/test.rb +25 -69
  204. data/test/css/test_nthiness.rb +3 -4
  205. data/test/css/test_parser.rb +75 -20
  206. data/test/css/test_tokenizer.rb +23 -1
  207. data/test/css/test_xpath_visitor.rb +10 -1
  208. data/test/decorators/test_slop.rb +16 -0
  209. data/test/ffi/test_document.rb +35 -0
  210. data/test/files/2ch.html +108 -0
  211. data/test/files/address_book.rlx +12 -0
  212. data/test/files/address_book.xml +10 -0
  213. data/test/files/bar/bar.xsd +4 -0
  214. data/test/files/encoding.html +82 -0
  215. data/test/files/encoding.xhtml +84 -0
  216. data/test/files/foo/foo.xsd +4 -0
  217. data/test/files/po.xml +32 -0
  218. data/test/files/po.xsd +66 -0
  219. data/test/files/shift_jis.html +10 -0
  220. data/test/files/shift_jis.xml +5 -0
  221. data/test/files/snuggles.xml +3 -0
  222. data/test/files/staff.dtd +10 -0
  223. data/test/files/valid_bar.xml +2 -0
  224. data/test/helper.rb +101 -23
  225. data/test/html/sax/test_parser.rb +81 -2
  226. data/test/html/sax/test_parser_context.rb +48 -0
  227. data/test/html/test_builder.rb +39 -8
  228. data/test/html/test_document.rb +186 -23
  229. data/test/html/test_document_encoding.rb +78 -1
  230. data/test/html/test_document_fragment.rb +253 -0
  231. data/test/html/test_element_description.rb +98 -0
  232. data/test/html/test_named_characters.rb +1 -1
  233. data/test/html/test_node.rb +124 -36
  234. data/test/html/test_node_encoding.rb +27 -0
  235. data/test/test_convert_xpath.rb +1 -52
  236. data/test/test_css_cache.rb +2 -13
  237. data/test/test_encoding_handler.rb +46 -0
  238. data/test/test_memory_leak.rb +88 -19
  239. data/test/test_nokogiri.rb +38 -5
  240. data/test/test_reader.rb +188 -6
  241. data/test/test_soap4r_sax.rb +52 -0
  242. data/test/test_xslt_transforms.rb +183 -83
  243. data/test/xml/node/test_save_options.rb +1 -1
  244. data/test/xml/node/test_subclass.rb +44 -0
  245. data/test/xml/sax/test_parser.rb +175 -4
  246. data/test/xml/sax/test_parser_context.rb +113 -0
  247. data/test/xml/sax/test_push_parser.rb +90 -2
  248. data/test/xml/test_attr.rb +35 -1
  249. data/test/xml/test_attribute_decl.rb +82 -0
  250. data/test/xml/test_builder.rb +186 -1
  251. data/test/xml/test_cdata.rb +32 -1
  252. data/test/xml/test_comment.rb +13 -1
  253. data/test/xml/test_document.rb +415 -43
  254. data/test/xml/test_document_encoding.rb +1 -1
  255. data/test/xml/test_document_fragment.rb +173 -5
  256. data/test/xml/test_dtd.rb +61 -6
  257. data/test/xml/test_dtd_encoding.rb +3 -1
  258. data/test/xml/test_element_content.rb +56 -0
  259. data/test/xml/test_element_decl.rb +73 -0
  260. data/test/xml/test_entity_decl.rb +120 -0
  261. data/test/xml/test_entity_reference.rb +5 -1
  262. data/test/xml/test_namespace.rb +68 -0
  263. data/test/xml/test_node.rb +546 -201
  264. data/test/xml/test_node_attributes.rb +34 -0
  265. data/test/xml/test_node_encoding.rb +33 -3
  266. data/test/xml/test_node_reparenting.rb +321 -0
  267. data/test/xml/test_node_set.rb +538 -2
  268. data/test/xml/test_parse_options.rb +52 -0
  269. data/test/xml/test_processing_instruction.rb +6 -1
  270. data/test/xml/test_reader_encoding.rb +1 -1
  271. data/test/xml/test_relax_ng.rb +60 -0
  272. data/test/xml/test_schema.rb +94 -0
  273. data/test/xml/test_syntax_error.rb +12 -0
  274. data/test/xml/test_text.rb +35 -1
  275. data/test/xml/test_unparented_node.rb +5 -5
  276. data/test/xml/test_xpath.rb +142 -11
  277. data/test/xslt/test_custom_functions.rb +94 -0
  278. metadata +328 -92
  279. data/ext/nokogiri/html_sax_parser.c +0 -57
  280. data/ext/nokogiri/html_sax_parser.h +0 -11
  281. data/ext/nokogiri/iconv.dll +0 -0
  282. data/ext/nokogiri/libexslt.dll +0 -0
  283. data/ext/nokogiri/libxml2.dll +0 -0
  284. data/ext/nokogiri/libxslt.dll +0 -0
  285. data/ext/nokogiri/native.so +0 -0
  286. data/ext/nokogiri/xml_xpath.c +0 -53
  287. data/ext/nokogiri/xml_xpath.h +0 -11
  288. data/ext/nokogiri/zlib1.dll +0 -0
  289. data/lib/action-nokogiri.rb +0 -30
  290. data/lib/nokogiri/css/generated_parser.rb +0 -713
  291. data/lib/nokogiri/css/generated_tokenizer.rb +0 -144
  292. data/lib/nokogiri/decorators.rb +0 -2
  293. data/lib/nokogiri/decorators/hpricot.rb +0 -3
  294. data/lib/nokogiri/decorators/hpricot/node.rb +0 -56
  295. data/lib/nokogiri/decorators/hpricot/node_set.rb +0 -54
  296. data/lib/nokogiri/decorators/hpricot/xpath_visitor.rb +0 -28
  297. data/lib/nokogiri/hpricot.rb +0 -51
  298. data/lib/nokogiri/xml/comment.rb +0 -6
  299. data/lib/nokogiri/xml/element.rb +0 -6
  300. data/lib/nokogiri/xml/entity_declaration.rb +0 -9
  301. data/lib/nokogiri/xml/fragment_handler.rb +0 -34
  302. data/test/hpricot/files/basic.xhtml +0 -17
  303. data/test/hpricot/files/boingboing.html +0 -2266
  304. data/test/hpricot/files/cy0.html +0 -3653
  305. data/test/hpricot/files/immob.html +0 -400
  306. data/test/hpricot/files/pace_application.html +0 -1320
  307. data/test/hpricot/files/tenderlove.html +0 -16
  308. data/test/hpricot/files/uswebgen.html +0 -220
  309. data/test/hpricot/files/utf8.html +0 -1054
  310. data/test/hpricot/files/week9.html +0 -1723
  311. data/test/hpricot/files/why.xml +0 -19
  312. data/test/hpricot/load_files.rb +0 -11
  313. data/test/hpricot/test_alter.rb +0 -68
  314. data/test/hpricot/test_builder.rb +0 -20
  315. data/test/hpricot/test_parser.rb +0 -426
  316. data/test/hpricot/test_paths.rb +0 -15
  317. data/test/hpricot/test_preserved.rb +0 -77
  318. data/test/hpricot/test_xml.rb +0 -30
  319. data/test/test_gc.rb +0 -15
data/Manifest.txt CHANGED
@@ -1,21 +1,28 @@
1
1
  .autotest
2
+ .gemtest
2
3
  CHANGELOG.ja.rdoc
3
4
  CHANGELOG.rdoc
4
5
  Manifest.txt
5
6
  README.ja.rdoc
6
7
  README.rdoc
7
8
  Rakefile
9
+ bin/nokogiri
10
+ ext/nokogiri/depend
8
11
  ext/nokogiri/extconf.rb
9
12
  ext/nokogiri/html_document.c
10
13
  ext/nokogiri/html_document.h
14
+ ext/nokogiri/html_element_description.c
15
+ ext/nokogiri/html_element_description.h
11
16
  ext/nokogiri/html_entity_lookup.c
12
17
  ext/nokogiri/html_entity_lookup.h
13
- ext/nokogiri/html_sax_parser.c
14
- ext/nokogiri/html_sax_parser.h
15
- ext/nokogiri/native.c
16
- ext/nokogiri/native.h
18
+ ext/nokogiri/html_sax_parser_context.c
19
+ ext/nokogiri/html_sax_parser_context.h
20
+ ext/nokogiri/nokogiri.c
21
+ ext/nokogiri/nokogiri.h
17
22
  ext/nokogiri/xml_attr.c
18
23
  ext/nokogiri/xml_attr.h
24
+ ext/nokogiri/xml_attribute_decl.c
25
+ ext/nokogiri/xml_attribute_decl.h
19
26
  ext/nokogiri/xml_cdata.c
20
27
  ext/nokogiri/xml_cdata.h
21
28
  ext/nokogiri/xml_comment.c
@@ -26,10 +33,22 @@ ext/nokogiri/xml_document_fragment.c
26
33
  ext/nokogiri/xml_document_fragment.h
27
34
  ext/nokogiri/xml_dtd.c
28
35
  ext/nokogiri/xml_dtd.h
36
+ ext/nokogiri/xml_element_content.c
37
+ ext/nokogiri/xml_element_content.h
38
+ ext/nokogiri/xml_element_decl.c
39
+ ext/nokogiri/xml_element_decl.h
40
+ ext/nokogiri/xml_encoding_handler.c
41
+ ext/nokogiri/xml_encoding_handler.h
42
+ ext/nokogiri/xml_entity_decl.c
43
+ ext/nokogiri/xml_entity_decl.h
29
44
  ext/nokogiri/xml_entity_reference.c
30
45
  ext/nokogiri/xml_entity_reference.h
31
46
  ext/nokogiri/xml_io.c
32
47
  ext/nokogiri/xml_io.h
48
+ ext/nokogiri/xml_libxml2_hacks.c
49
+ ext/nokogiri/xml_libxml2_hacks.h
50
+ ext/nokogiri/xml_namespace.c
51
+ ext/nokogiri/xml_namespace.h
33
52
  ext/nokogiri/xml_node.c
34
53
  ext/nokogiri/xml_node.h
35
54
  ext/nokogiri/xml_node_set.c
@@ -38,67 +57,140 @@ ext/nokogiri/xml_processing_instruction.c
38
57
  ext/nokogiri/xml_processing_instruction.h
39
58
  ext/nokogiri/xml_reader.c
40
59
  ext/nokogiri/xml_reader.h
60
+ ext/nokogiri/xml_relax_ng.c
61
+ ext/nokogiri/xml_relax_ng.h
41
62
  ext/nokogiri/xml_sax_parser.c
42
63
  ext/nokogiri/xml_sax_parser.h
64
+ ext/nokogiri/xml_sax_parser_context.c
65
+ ext/nokogiri/xml_sax_parser_context.h
43
66
  ext/nokogiri/xml_sax_push_parser.c
44
67
  ext/nokogiri/xml_sax_push_parser.h
68
+ ext/nokogiri/xml_schema.c
69
+ ext/nokogiri/xml_schema.h
45
70
  ext/nokogiri/xml_syntax_error.c
46
71
  ext/nokogiri/xml_syntax_error.h
47
72
  ext/nokogiri/xml_text.c
48
73
  ext/nokogiri/xml_text.h
49
- ext/nokogiri/xml_xpath.c
50
- ext/nokogiri/xml_xpath.h
51
74
  ext/nokogiri/xml_xpath_context.c
52
75
  ext/nokogiri/xml_xpath_context.h
53
76
  ext/nokogiri/xslt_stylesheet.c
54
77
  ext/nokogiri/xslt_stylesheet.h
55
- lib/action-nokogiri.rb
56
78
  lib/nokogiri.rb
57
79
  lib/nokogiri/css.rb
58
- lib/nokogiri/css/generated_parser.rb
59
- lib/nokogiri/css/generated_tokenizer.rb
60
80
  lib/nokogiri/css/node.rb
61
81
  lib/nokogiri/css/parser.rb
62
82
  lib/nokogiri/css/parser.y
83
+ lib/nokogiri/css/parser_extras.rb
63
84
  lib/nokogiri/css/syntax_error.rb
64
85
  lib/nokogiri/css/tokenizer.rb
65
86
  lib/nokogiri/css/tokenizer.rex
66
87
  lib/nokogiri/css/xpath_visitor.rb
67
- lib/nokogiri/decorators.rb
68
- lib/nokogiri/decorators/hpricot.rb
69
- lib/nokogiri/decorators/hpricot/node.rb
70
- lib/nokogiri/decorators/hpricot/node_set.rb
71
- lib/nokogiri/decorators/hpricot/xpath_visitor.rb
72
88
  lib/nokogiri/decorators/slop.rb
73
- lib/nokogiri/hpricot.rb
89
+ lib/nokogiri/ffi/encoding_handler.rb
90
+ lib/nokogiri/ffi/html/document.rb
91
+ lib/nokogiri/ffi/html/element_description.rb
92
+ lib/nokogiri/ffi/html/entity_lookup.rb
93
+ lib/nokogiri/ffi/html/sax/parser_context.rb
94
+ lib/nokogiri/ffi/io_callbacks.rb
95
+ lib/nokogiri/ffi/libxml.rb
96
+ lib/nokogiri/ffi/structs/common_node.rb
97
+ lib/nokogiri/ffi/structs/html_elem_desc.rb
98
+ lib/nokogiri/ffi/structs/html_entity_desc.rb
99
+ lib/nokogiri/ffi/structs/xml_alloc.rb
100
+ lib/nokogiri/ffi/structs/xml_attr.rb
101
+ lib/nokogiri/ffi/structs/xml_attribute.rb
102
+ lib/nokogiri/ffi/structs/xml_buffer.rb
103
+ lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb
104
+ lib/nokogiri/ffi/structs/xml_document.rb
105
+ lib/nokogiri/ffi/structs/xml_dtd.rb
106
+ lib/nokogiri/ffi/structs/xml_element.rb
107
+ lib/nokogiri/ffi/structs/xml_element_content.rb
108
+ lib/nokogiri/ffi/structs/xml_entity.rb
109
+ lib/nokogiri/ffi/structs/xml_enumeration.rb
110
+ lib/nokogiri/ffi/structs/xml_node.rb
111
+ lib/nokogiri/ffi/structs/xml_node_set.rb
112
+ lib/nokogiri/ffi/structs/xml_notation.rb
113
+ lib/nokogiri/ffi/structs/xml_ns.rb
114
+ lib/nokogiri/ffi/structs/xml_parser_context.rb
115
+ lib/nokogiri/ffi/structs/xml_parser_input.rb
116
+ lib/nokogiri/ffi/structs/xml_relax_ng.rb
117
+ lib/nokogiri/ffi/structs/xml_sax_handler.rb
118
+ lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb
119
+ lib/nokogiri/ffi/structs/xml_schema.rb
120
+ lib/nokogiri/ffi/structs/xml_syntax_error.rb
121
+ lib/nokogiri/ffi/structs/xml_text_reader.rb
122
+ lib/nokogiri/ffi/structs/xml_xpath_context.rb
123
+ lib/nokogiri/ffi/structs/xml_xpath_object.rb
124
+ lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb
125
+ lib/nokogiri/ffi/structs/xslt_stylesheet.rb
126
+ lib/nokogiri/ffi/weak_bucket.rb
127
+ lib/nokogiri/ffi/xml/attr.rb
128
+ lib/nokogiri/ffi/xml/attribute_decl.rb
129
+ lib/nokogiri/ffi/xml/cdata.rb
130
+ lib/nokogiri/ffi/xml/comment.rb
131
+ lib/nokogiri/ffi/xml/document.rb
132
+ lib/nokogiri/ffi/xml/document_fragment.rb
133
+ lib/nokogiri/ffi/xml/dtd.rb
134
+ lib/nokogiri/ffi/xml/element_content.rb
135
+ lib/nokogiri/ffi/xml/element_decl.rb
136
+ lib/nokogiri/ffi/xml/entity_decl.rb
137
+ lib/nokogiri/ffi/xml/entity_reference.rb
138
+ lib/nokogiri/ffi/xml/namespace.rb
139
+ lib/nokogiri/ffi/xml/node.rb
140
+ lib/nokogiri/ffi/xml/node_set.rb
141
+ lib/nokogiri/ffi/xml/processing_instruction.rb
142
+ lib/nokogiri/ffi/xml/reader.rb
143
+ lib/nokogiri/ffi/xml/relax_ng.rb
144
+ lib/nokogiri/ffi/xml/sax/parser.rb
145
+ lib/nokogiri/ffi/xml/sax/parser_context.rb
146
+ lib/nokogiri/ffi/xml/sax/push_parser.rb
147
+ lib/nokogiri/ffi/xml/schema.rb
148
+ lib/nokogiri/ffi/xml/syntax_error.rb
149
+ lib/nokogiri/ffi/xml/text.rb
150
+ lib/nokogiri/ffi/xml/xpath.rb
151
+ lib/nokogiri/ffi/xml/xpath_context.rb
152
+ lib/nokogiri/ffi/xslt/stylesheet.rb
74
153
  lib/nokogiri/html.rb
75
154
  lib/nokogiri/html/builder.rb
76
155
  lib/nokogiri/html/document.rb
156
+ lib/nokogiri/html/document_fragment.rb
157
+ lib/nokogiri/html/element_description.rb
77
158
  lib/nokogiri/html/entity_lookup.rb
78
159
  lib/nokogiri/html/sax/parser.rb
160
+ lib/nokogiri/html/sax/parser_context.rb
79
161
  lib/nokogiri/syntax_error.rb
80
162
  lib/nokogiri/version.rb
163
+ lib/nokogiri/version_warning.rb
81
164
  lib/nokogiri/xml.rb
82
165
  lib/nokogiri/xml/attr.rb
166
+ lib/nokogiri/xml/attribute_decl.rb
83
167
  lib/nokogiri/xml/builder.rb
84
168
  lib/nokogiri/xml/cdata.rb
85
- lib/nokogiri/xml/comment.rb
169
+ lib/nokogiri/xml/character_data.rb
86
170
  lib/nokogiri/xml/document.rb
87
171
  lib/nokogiri/xml/document_fragment.rb
88
172
  lib/nokogiri/xml/dtd.rb
89
- lib/nokogiri/xml/element.rb
90
- lib/nokogiri/xml/entity_declaration.rb
91
- lib/nokogiri/xml/fragment_handler.rb
173
+ lib/nokogiri/xml/element_content.rb
174
+ lib/nokogiri/xml/element_decl.rb
175
+ lib/nokogiri/xml/entity_decl.rb
176
+ lib/nokogiri/xml/namespace.rb
92
177
  lib/nokogiri/xml/node.rb
93
178
  lib/nokogiri/xml/node/save_options.rb
94
179
  lib/nokogiri/xml/node_set.rb
95
180
  lib/nokogiri/xml/notation.rb
181
+ lib/nokogiri/xml/parse_options.rb
182
+ lib/nokogiri/xml/pp.rb
183
+ lib/nokogiri/xml/pp/character_data.rb
184
+ lib/nokogiri/xml/pp/node.rb
96
185
  lib/nokogiri/xml/processing_instruction.rb
97
186
  lib/nokogiri/xml/reader.rb
187
+ lib/nokogiri/xml/relax_ng.rb
98
188
  lib/nokogiri/xml/sax.rb
99
189
  lib/nokogiri/xml/sax/document.rb
100
190
  lib/nokogiri/xml/sax/parser.rb
191
+ lib/nokogiri/xml/sax/parser_context.rb
101
192
  lib/nokogiri/xml/sax/push_parser.rb
193
+ lib/nokogiri/xml/schema.rb
102
194
  lib/nokogiri/xml/syntax_error.rb
103
195
  lib/nokogiri/xml/text.rb
104
196
  lib/nokogiri/xml/xpath.rb
@@ -107,52 +199,60 @@ lib/nokogiri/xml/xpath_context.rb
107
199
  lib/nokogiri/xslt.rb
108
200
  lib/nokogiri/xslt/stylesheet.rb
109
201
  lib/xsd/xmlparser/nokogiri.rb
202
+ tasks/cross_compile.rb
110
203
  tasks/test.rb
111
204
  test/css/test_nthiness.rb
112
205
  test/css/test_parser.rb
113
206
  test/css/test_tokenizer.rb
114
207
  test/css/test_xpath_visitor.rb
208
+ test/decorators/test_slop.rb
209
+ test/ffi/test_document.rb
210
+ test/files/2ch.html
211
+ test/files/address_book.rlx
212
+ test/files/address_book.xml
213
+ test/files/bar/bar.xsd
115
214
  test/files/dont_hurt_em_why.xml
215
+ test/files/encoding.html
216
+ test/files/encoding.xhtml
116
217
  test/files/exslt.xml
117
218
  test/files/exslt.xslt
219
+ test/files/foo/foo.xsd
220
+ test/files/po.xml
221
+ test/files/po.xsd
222
+ test/files/shift_jis.html
223
+ test/files/shift_jis.xml
224
+ test/files/snuggles.xml
225
+ test/files/staff.dtd
118
226
  test/files/staff.xml
119
227
  test/files/staff.xslt
120
228
  test/files/tlm.html
229
+ test/files/valid_bar.xml
121
230
  test/helper.rb
122
- test/hpricot/files/basic.xhtml
123
- test/hpricot/files/boingboing.html
124
- test/hpricot/files/cy0.html
125
- test/hpricot/files/immob.html
126
- test/hpricot/files/pace_application.html
127
- test/hpricot/files/tenderlove.html
128
- test/hpricot/files/uswebgen.html
129
- test/hpricot/files/utf8.html
130
- test/hpricot/files/week9.html
131
- test/hpricot/files/why.xml
132
- test/hpricot/load_files.rb
133
- test/hpricot/test_alter.rb
134
- test/hpricot/test_builder.rb
135
- test/hpricot/test_parser.rb
136
- test/hpricot/test_paths.rb
137
- test/hpricot/test_preserved.rb
138
- test/hpricot/test_xml.rb
139
231
  test/html/sax/test_parser.rb
232
+ test/html/sax/test_parser_context.rb
140
233
  test/html/test_builder.rb
141
234
  test/html/test_document.rb
142
235
  test/html/test_document_encoding.rb
236
+ test/html/test_document_fragment.rb
237
+ test/html/test_element_description.rb
143
238
  test/html/test_named_characters.rb
144
239
  test/html/test_node.rb
240
+ test/html/test_node_encoding.rb
145
241
  test/test_convert_xpath.rb
146
242
  test/test_css_cache.rb
147
- test/test_gc.rb
243
+ test/test_encoding_handler.rb
148
244
  test/test_memory_leak.rb
149
245
  test/test_nokogiri.rb
150
246
  test/test_reader.rb
247
+ test/test_soap4r_sax.rb
151
248
  test/test_xslt_transforms.rb
152
249
  test/xml/node/test_save_options.rb
250
+ test/xml/node/test_subclass.rb
153
251
  test/xml/sax/test_parser.rb
252
+ test/xml/sax/test_parser_context.rb
154
253
  test/xml/sax/test_push_parser.rb
155
254
  test/xml/test_attr.rb
255
+ test/xml/test_attribute_decl.rb
156
256
  test/xml/test_builder.rb
157
257
  test/xml/test_cdata.rb
158
258
  test/xml/test_comment.rb
@@ -161,12 +261,23 @@ test/xml/test_document_encoding.rb
161
261
  test/xml/test_document_fragment.rb
162
262
  test/xml/test_dtd.rb
163
263
  test/xml/test_dtd_encoding.rb
264
+ test/xml/test_element_content.rb
265
+ test/xml/test_element_decl.rb
266
+ test/xml/test_entity_decl.rb
164
267
  test/xml/test_entity_reference.rb
268
+ test/xml/test_namespace.rb
165
269
  test/xml/test_node.rb
270
+ test/xml/test_node_attributes.rb
166
271
  test/xml/test_node_encoding.rb
272
+ test/xml/test_node_reparenting.rb
167
273
  test/xml/test_node_set.rb
274
+ test/xml/test_parse_options.rb
168
275
  test/xml/test_processing_instruction.rb
169
276
  test/xml/test_reader_encoding.rb
277
+ test/xml/test_relax_ng.rb
278
+ test/xml/test_schema.rb
279
+ test/xml/test_syntax_error.rb
170
280
  test/xml/test_text.rb
171
281
  test/xml/test_unparented_node.rb
172
282
  test/xml/test_xpath.rb
283
+ test/xslt/test_custom_functions.rb
data/README.ja.rdoc CHANGED
@@ -1,39 +1,39 @@
1
1
  = Nokogiri (鋸)
2
2
 
3
- * http://nokogiri.rubyforge.org/
3
+ * http://nokogiri.org/
4
4
  * http://github.com/tenderlove/nokogiri/wikis
5
5
  * http://github.com/tenderlove/nokogiri/tree/master
6
- * http://rubyforge.org/mailman/listinfo/nokogiri-talk
7
- * http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview
6
+ * http://groups.google.com/group/nokogiri-list
7
+ * http://github.com/tenderlove/nokogiri/issues
8
8
 
9
9
  == DESCRIPTION:
10
10
 
11
- Nokogiri はHTMLXMLSAXXSLTReaderのパーサーです。
11
+ Nokogiri はHTMLXMLSAXXSLTReaderのパーサーです。とりわけ重要な特徴は、
12
+ ドキュメントをXPathやCSS3セレクター経由で探索する機能を持つことです。
12
13
 
13
- == FEATURES:
14
-
15
- * XPath で探せる
16
- * CSS3 のセレクターで探せる
17
- * XML/HTMLのビルダーはある
18
-
19
- 検索出来たり、正確にCSS3とXPathをサポート出来たりする。
14
+ XMLは暴力に似ている - XMLが君の問題を解決しないとしたら、君はXMLを十分に
15
+ 使いこなしていない事になる。
20
16
 
21
- これはスピードテストです:
17
+ == FEATURES:
22
18
 
23
- * http://gist.github.com/24605
19
+ * XPath による探索
20
+ * CSS3 のセレクターによる探索
21
+ * XML/HTMLのビルダー
24
22
 
25
- NokogiriはHpricotの代わりに使用出来る。
26
- その互換性は簡単に正しいCSSとXPathを使用する事が出来る。
23
+ XML/HTMLの高速な解析と探索検索、ならびにCSS3セレクタとXPathをサポートしています。
27
24
 
28
25
  == SUPPORT:
29
26
 
30
- ノコギリのメーリングリストは:
27
+ 日本語でNokogiriの
28
+ {メーリングリスト}[http://groups.google.com/group/nokogiri-list]
29
+
30
+ * http://groups.google.com/group/nokogiri-list
31
31
 
32
- * http://rubyforge.org/mailman/listinfo/nokogiri-talk
32
+ {バグ報告}[http://github.com/tenderlove/nokogiri/issues]
33
33
 
34
- バグファイルは:
34
+ * http://github.com/tenderlove/nokogiri/issues
35
35
 
36
- * http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview
36
+ IRCのチャンネルはfreenodeの #nokogiri です。
37
37
 
38
38
  == SYNOPSIS:
39
39
 
@@ -77,7 +77,7 @@ NokogiriはHpricotの代わりに使用出来る。
77
77
 
78
78
  (The MIT License)
79
79
 
80
- Copyright (c) 2008 - 2009:
80
+ Copyright (c) 2008 - 2010:
81
81
 
82
82
  * {Aaron Patterson}[http://tenderlovemaking.com]
83
83
  * {Mike Dalessio}[http://mike.daless.io]
data/README.rdoc CHANGED
@@ -1,51 +1,51 @@
1
1
  = Nokogiri
2
2
 
3
- * http://nokogiri.rubyforge.org/
3
+ * http://nokogiri.org
4
4
  * http://github.com/tenderlove/nokogiri/wikis
5
5
  * http://github.com/tenderlove/nokogiri/tree/master
6
- * http://rubyforge.org/mailman/listinfo/nokogiri-talk
7
- * http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview
6
+ * http://groups.google.com/group/nokogiri-talk
7
+ * http://github.com/tenderlove/nokogiri/issues
8
8
 
9
9
  == DESCRIPTION:
10
10
 
11
- Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.
11
+ Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's
12
+ many features is the ability to search documents via XPath or CSS3 selectors.
13
+
14
+ XML is like violence - if it doesn’t solve your problems, you are not using
15
+ enough of it.
12
16
 
13
17
  == FEATURES:
14
18
 
15
19
  * XPath support for document searching
16
20
  * CSS3 selector support for document searching
17
21
  * XML/HTML builder
18
- * Drop in replacement for Hpricot (though not bug for bug)
19
22
 
20
23
  Nokogiri parses and searches XML/HTML very quickly, and also has
21
24
  correctly implemented CSS3 selector support as well as XPath support.
22
25
 
23
- Here is a speed test:
24
-
25
- * http://gist.github.com/24605
26
-
27
- Nokogiri also features an Hpricot compatibility layer to help ease the change
28
- to using correct CSS and XPath.
29
-
30
26
  == SUPPORT:
31
27
 
32
- The Nokogiri mailing list is available here:
28
+ The Nokogiri {mailing list}[http://groups.google.com/group/nokogiri-talk]
29
+ is available here:
30
+
31
+ * http://groups.google.com/group/nokogiri-talk
33
32
 
34
- * http://rubyforge.org/mailman/listinfo/nokogiri-talk
33
+ The {bug tracker}[http://github.com/tenderlove/nokogiri/issues]
34
+ is available here:
35
35
 
36
- The bug tracker is available here:
36
+ * http://github.com/tenderlove/nokogiri/issues
37
37
 
38
- * http://nokogiri.lighthouseapp.com/projects/19607-nokogiri/overview
38
+ The IRC channel is #nokogiri on freenode.
39
39
 
40
40
  == SYNOPSIS:
41
41
 
42
42
  require 'nokogiri'
43
43
  require 'open-uri'
44
-
44
+
45
45
  # Get a Nokogiri::HTML:Document for the page we’re interested in...
46
46
 
47
47
  doc = Nokogiri::HTML(open('http://www.google.com/search?q=tenderlove'))
48
-
48
+
49
49
  # Do funky things with it using Nokogiri::XML::Node methods...
50
50
 
51
51
  ####
@@ -53,13 +53,13 @@ The bug tracker is available here:
53
53
  doc.css('h3.r a.l').each do |link|
54
54
  puts link.content
55
55
  end
56
-
56
+
57
57
  ####
58
58
  # Search for nodes by xpath
59
59
  doc.xpath('//h3/a[@class="l"]').each do |link|
60
60
  puts link.content
61
61
  end
62
-
62
+
63
63
  ####
64
64
  # Or mix and match.
65
65
  doc.search('h3.r a.l', '//h3/a[@class="l"]').each do |link|
@@ -75,13 +75,44 @@ The bug tracker is available here:
75
75
  * libxslt
76
76
  * libxslt-dev
77
77
 
78
+ == ENCODING:
79
+
80
+ Strings are always stored as UTF-8 internally. Methods that return
81
+ text values will always return UTF-8 encoded strings. Methods that
82
+ return XML (like to_xml, to_html and inner_html) will return a string
83
+ encoded like the source document.
84
+
85
+ *WARNING*
86
+
87
+ Some documents declare one particular encoding, but use a different
88
+ one. So, which encoding should the parser choose?
89
+
90
+ Remember that data is just a stream of bytes. Only us humans add
91
+ meaning to that stream. Any particular set of bytes could be valid
92
+ characters in multiple encodings, so detecting encoding with 100%
93
+ accuracy is not possible. libxml2 does its best, but it can't be right
94
+ 100% of the time.
95
+
96
+ If you want Nokogiri to handle the document encoding properly, your
97
+ best bet is to explicitly set the encoding. Here is an example of
98
+ explicitly setting the encoding to EUC-JP on the parser:
99
+
100
+ doc = Nokogiri.XML('<foo><bar /><foo>', nil, 'EUC-JP')
101
+
78
102
  == INSTALL:
79
103
 
80
104
  * sudo gem install nokogiri
81
105
 
106
+ === Binary packages
107
+
108
+ Binary packages are available for:
109
+
110
+ * SuSE[http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/]
111
+ * Fedora[http://s390.koji.fedoraproject.org/koji/packageinfo?packageID=6756]
112
+
82
113
  == DEVELOPMENT:
83
114
 
84
- Developing Nokogiri requires racc and frex.
115
+ Developing Nokogiri requires racc and rexical.
85
116
 
86
117
  * rake install:deps
87
118
  * rake test
@@ -90,7 +121,7 @@ Developing Nokogiri requires racc and frex.
90
121
 
91
122
  (The MIT License)
92
123
 
93
- Copyright (c) 2008 - 2009:
124
+ Copyright (c) 2008 - 2010:
94
125
 
95
126
  * {Aaron Patterson}[http://tenderlovemaking.com]
96
127
  * {Mike Dalessio}[http://mike.daless.io]