jwagener-nokogiri 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (277) hide show
  1. data/.autotest +26 -0
  2. data/CHANGELOG.ja.rdoc +366 -0
  3. data/CHANGELOG.rdoc +345 -0
  4. data/Manifest.txt +276 -0
  5. data/README.ja.rdoc +106 -0
  6. data/README.rdoc +126 -0
  7. data/Rakefile +248 -0
  8. data/bin/nokogiri +49 -0
  9. data/deps.rip +5 -0
  10. data/ext/nokogiri/extconf.rb +149 -0
  11. data/ext/nokogiri/html_document.c +145 -0
  12. data/ext/nokogiri/html_document.h +10 -0
  13. data/ext/nokogiri/html_element_description.c +272 -0
  14. data/ext/nokogiri/html_element_description.h +10 -0
  15. data/ext/nokogiri/html_entity_lookup.c +32 -0
  16. data/ext/nokogiri/html_entity_lookup.h +8 -0
  17. data/ext/nokogiri/html_sax_parser_context.c +92 -0
  18. data/ext/nokogiri/html_sax_parser_context.h +11 -0
  19. data/ext/nokogiri/nokogiri.c +96 -0
  20. data/ext/nokogiri/nokogiri.h +148 -0
  21. data/ext/nokogiri/xml_attr.c +92 -0
  22. data/ext/nokogiri/xml_attr.h +9 -0
  23. data/ext/nokogiri/xml_attribute_decl.c +67 -0
  24. data/ext/nokogiri/xml_attribute_decl.h +9 -0
  25. data/ext/nokogiri/xml_cdata.c +54 -0
  26. data/ext/nokogiri/xml_cdata.h +9 -0
  27. data/ext/nokogiri/xml_comment.c +52 -0
  28. data/ext/nokogiri/xml_comment.h +9 -0
  29. data/ext/nokogiri/xml_document.c +386 -0
  30. data/ext/nokogiri/xml_document.h +24 -0
  31. data/ext/nokogiri/xml_document_fragment.c +46 -0
  32. data/ext/nokogiri/xml_document_fragment.h +10 -0
  33. data/ext/nokogiri/xml_dtd.c +192 -0
  34. data/ext/nokogiri/xml_dtd.h +10 -0
  35. data/ext/nokogiri/xml_element_content.c +123 -0
  36. data/ext/nokogiri/xml_element_content.h +10 -0
  37. data/ext/nokogiri/xml_element_decl.c +69 -0
  38. data/ext/nokogiri/xml_element_decl.h +9 -0
  39. data/ext/nokogiri/xml_encoding_handler.c +79 -0
  40. data/ext/nokogiri/xml_encoding_handler.h +8 -0
  41. data/ext/nokogiri/xml_entity_decl.c +97 -0
  42. data/ext/nokogiri/xml_entity_decl.h +10 -0
  43. data/ext/nokogiri/xml_entity_reference.c +50 -0
  44. data/ext/nokogiri/xml_entity_reference.h +9 -0
  45. data/ext/nokogiri/xml_io.c +31 -0
  46. data/ext/nokogiri/xml_io.h +11 -0
  47. data/ext/nokogiri/xml_namespace.c +82 -0
  48. data/ext/nokogiri/xml_namespace.h +13 -0
  49. data/ext/nokogiri/xml_node.c +1080 -0
  50. data/ext/nokogiri/xml_node.h +13 -0
  51. data/ext/nokogiri/xml_node_set.c +405 -0
  52. data/ext/nokogiri/xml_node_set.h +9 -0
  53. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  54. data/ext/nokogiri/xml_processing_instruction.h +9 -0
  55. data/ext/nokogiri/xml_reader.c +593 -0
  56. data/ext/nokogiri/xml_reader.h +10 -0
  57. data/ext/nokogiri/xml_relax_ng.c +159 -0
  58. data/ext/nokogiri/xml_relax_ng.h +9 -0
  59. data/ext/nokogiri/xml_sax_parser.c +283 -0
  60. data/ext/nokogiri/xml_sax_parser.h +43 -0
  61. data/ext/nokogiri/xml_sax_parser_context.c +157 -0
  62. data/ext/nokogiri/xml_sax_parser_context.h +10 -0
  63. data/ext/nokogiri/xml_sax_push_parser.c +114 -0
  64. data/ext/nokogiri/xml_sax_push_parser.h +9 -0
  65. data/ext/nokogiri/xml_schema.c +156 -0
  66. data/ext/nokogiri/xml_schema.h +9 -0
  67. data/ext/nokogiri/xml_syntax_error.c +52 -0
  68. data/ext/nokogiri/xml_syntax_error.h +13 -0
  69. data/ext/nokogiri/xml_text.c +48 -0
  70. data/ext/nokogiri/xml_text.h +9 -0
  71. data/ext/nokogiri/xml_xpath.c +53 -0
  72. data/ext/nokogiri/xml_xpath.h +11 -0
  73. data/ext/nokogiri/xml_xpath_context.c +239 -0
  74. data/ext/nokogiri/xml_xpath_context.h +9 -0
  75. data/ext/nokogiri/xslt_stylesheet.c +131 -0
  76. data/ext/nokogiri/xslt_stylesheet.h +9 -0
  77. data/lib/nokogiri.rb +116 -0
  78. data/lib/nokogiri/css.rb +25 -0
  79. data/lib/nokogiri/css/generated_parser.rb +661 -0
  80. data/lib/nokogiri/css/generated_tokenizer.rb +145 -0
  81. data/lib/nokogiri/css/node.rb +99 -0
  82. data/lib/nokogiri/css/parser.rb +82 -0
  83. data/lib/nokogiri/css/parser.y +230 -0
  84. data/lib/nokogiri/css/syntax_error.rb +7 -0
  85. data/lib/nokogiri/css/tokenizer.rb +7 -0
  86. data/lib/nokogiri/css/tokenizer.rex +55 -0
  87. data/lib/nokogiri/css/xpath_visitor.rb +164 -0
  88. data/lib/nokogiri/decorators/slop.rb +33 -0
  89. data/lib/nokogiri/ffi/encoding_handler.rb +42 -0
  90. data/lib/nokogiri/ffi/html/document.rb +28 -0
  91. data/lib/nokogiri/ffi/html/element_description.rb +81 -0
  92. data/lib/nokogiri/ffi/html/entity_lookup.rb +16 -0
  93. data/lib/nokogiri/ffi/html/sax/parser_context.rb +38 -0
  94. data/lib/nokogiri/ffi/io_callbacks.rb +42 -0
  95. data/lib/nokogiri/ffi/libxml.rb +372 -0
  96. data/lib/nokogiri/ffi/structs/common_node.rb +26 -0
  97. data/lib/nokogiri/ffi/structs/html_elem_desc.rb +24 -0
  98. data/lib/nokogiri/ffi/structs/html_entity_desc.rb +13 -0
  99. data/lib/nokogiri/ffi/structs/xml_alloc.rb +16 -0
  100. data/lib/nokogiri/ffi/structs/xml_attr.rb +19 -0
  101. data/lib/nokogiri/ffi/structs/xml_attribute.rb +27 -0
  102. data/lib/nokogiri/ffi/structs/xml_buffer.rb +16 -0
  103. data/lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb +11 -0
  104. data/lib/nokogiri/ffi/structs/xml_document.rb +108 -0
  105. data/lib/nokogiri/ffi/structs/xml_dtd.rb +28 -0
  106. data/lib/nokogiri/ffi/structs/xml_element.rb +26 -0
  107. data/lib/nokogiri/ffi/structs/xml_element_content.rb +17 -0
  108. data/lib/nokogiri/ffi/structs/xml_entity.rb +32 -0
  109. data/lib/nokogiri/ffi/structs/xml_enumeration.rb +12 -0
  110. data/lib/nokogiri/ffi/structs/xml_node.rb +28 -0
  111. data/lib/nokogiri/ffi/structs/xml_node_set.rb +53 -0
  112. data/lib/nokogiri/ffi/structs/xml_notation.rb +11 -0
  113. data/lib/nokogiri/ffi/structs/xml_ns.rb +15 -0
  114. data/lib/nokogiri/ffi/structs/xml_parser_context.rb +19 -0
  115. data/lib/nokogiri/ffi/structs/xml_relax_ng.rb +14 -0
  116. data/lib/nokogiri/ffi/structs/xml_sax_handler.rb +51 -0
  117. data/lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb +124 -0
  118. data/lib/nokogiri/ffi/structs/xml_schema.rb +13 -0
  119. data/lib/nokogiri/ffi/structs/xml_syntax_error.rb +31 -0
  120. data/lib/nokogiri/ffi/structs/xml_text_reader.rb +12 -0
  121. data/lib/nokogiri/ffi/structs/xml_xpath_context.rb +37 -0
  122. data/lib/nokogiri/ffi/structs/xml_xpath_object.rb +35 -0
  123. data/lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb +20 -0
  124. data/lib/nokogiri/ffi/structs/xslt_stylesheet.rb +13 -0
  125. data/lib/nokogiri/ffi/xml/attr.rb +41 -0
  126. data/lib/nokogiri/ffi/xml/attribute_decl.rb +27 -0
  127. data/lib/nokogiri/ffi/xml/cdata.rb +19 -0
  128. data/lib/nokogiri/ffi/xml/comment.rb +18 -0
  129. data/lib/nokogiri/ffi/xml/document.rb +135 -0
  130. data/lib/nokogiri/ffi/xml/document_fragment.rb +21 -0
  131. data/lib/nokogiri/ffi/xml/dtd.rb +67 -0
  132. data/lib/nokogiri/ffi/xml/element_content.rb +43 -0
  133. data/lib/nokogiri/ffi/xml/element_decl.rb +19 -0
  134. data/lib/nokogiri/ffi/xml/entity_decl.rb +27 -0
  135. data/lib/nokogiri/ffi/xml/entity_reference.rb +19 -0
  136. data/lib/nokogiri/ffi/xml/namespace.rb +44 -0
  137. data/lib/nokogiri/ffi/xml/node.rb +465 -0
  138. data/lib/nokogiri/ffi/xml/node_set.rb +146 -0
  139. data/lib/nokogiri/ffi/xml/processing_instruction.rb +20 -0
  140. data/lib/nokogiri/ffi/xml/reader.rb +227 -0
  141. data/lib/nokogiri/ffi/xml/relax_ng.rb +85 -0
  142. data/lib/nokogiri/ffi/xml/sax/parser.rb +135 -0
  143. data/lib/nokogiri/ffi/xml/sax/parser_context.rb +67 -0
  144. data/lib/nokogiri/ffi/xml/sax/push_parser.rb +51 -0
  145. data/lib/nokogiri/ffi/xml/schema.rb +92 -0
  146. data/lib/nokogiri/ffi/xml/syntax_error.rb +98 -0
  147. data/lib/nokogiri/ffi/xml/text.rb +18 -0
  148. data/lib/nokogiri/ffi/xml/xpath.rb +19 -0
  149. data/lib/nokogiri/ffi/xml/xpath_context.rb +135 -0
  150. data/lib/nokogiri/ffi/xslt/stylesheet.rb +50 -0
  151. data/lib/nokogiri/html.rb +35 -0
  152. data/lib/nokogiri/html/builder.rb +35 -0
  153. data/lib/nokogiri/html/document.rb +88 -0
  154. data/lib/nokogiri/html/document_fragment.rb +15 -0
  155. data/lib/nokogiri/html/element_description.rb +23 -0
  156. data/lib/nokogiri/html/entity_lookup.rb +13 -0
  157. data/lib/nokogiri/html/sax/parser.rb +48 -0
  158. data/lib/nokogiri/html/sax/parser_context.rb +16 -0
  159. data/lib/nokogiri/syntax_error.rb +4 -0
  160. data/lib/nokogiri/version.rb +33 -0
  161. data/lib/nokogiri/version_warning.rb +11 -0
  162. data/lib/nokogiri/xml.rb +67 -0
  163. data/lib/nokogiri/xml/attr.rb +14 -0
  164. data/lib/nokogiri/xml/attribute_decl.rb +18 -0
  165. data/lib/nokogiri/xml/builder.rb +405 -0
  166. data/lib/nokogiri/xml/cdata.rb +11 -0
  167. data/lib/nokogiri/xml/character_data.rb +7 -0
  168. data/lib/nokogiri/xml/document.rb +162 -0
  169. data/lib/nokogiri/xml/document_fragment.rb +73 -0
  170. data/lib/nokogiri/xml/dtd.rb +11 -0
  171. data/lib/nokogiri/xml/element_content.rb +36 -0
  172. data/lib/nokogiri/xml/element_decl.rb +13 -0
  173. data/lib/nokogiri/xml/entity_decl.rb +15 -0
  174. data/lib/nokogiri/xml/fragment_handler.rb +79 -0
  175. data/lib/nokogiri/xml/namespace.rb +13 -0
  176. data/lib/nokogiri/xml/node.rb +736 -0
  177. data/lib/nokogiri/xml/node/save_options.rb +42 -0
  178. data/lib/nokogiri/xml/node_set.rb +324 -0
  179. data/lib/nokogiri/xml/notation.rb +6 -0
  180. data/lib/nokogiri/xml/parse_options.rb +85 -0
  181. data/lib/nokogiri/xml/pp.rb +2 -0
  182. data/lib/nokogiri/xml/pp/character_data.rb +18 -0
  183. data/lib/nokogiri/xml/pp/node.rb +56 -0
  184. data/lib/nokogiri/xml/processing_instruction.rb +8 -0
  185. data/lib/nokogiri/xml/reader.rb +74 -0
  186. data/lib/nokogiri/xml/relax_ng.rb +32 -0
  187. data/lib/nokogiri/xml/sax.rb +4 -0
  188. data/lib/nokogiri/xml/sax/document.rb +160 -0
  189. data/lib/nokogiri/xml/sax/parser.rb +115 -0
  190. data/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  191. data/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  192. data/lib/nokogiri/xml/schema.rb +61 -0
  193. data/lib/nokogiri/xml/syntax_error.rb +43 -0
  194. data/lib/nokogiri/xml/xpath.rb +10 -0
  195. data/lib/nokogiri/xml/xpath/syntax_error.rb +8 -0
  196. data/lib/nokogiri/xml/xpath_context.rb +16 -0
  197. data/lib/nokogiri/xslt.rb +48 -0
  198. data/lib/nokogiri/xslt/stylesheet.rb +25 -0
  199. data/lib/xsd/xmlparser/nokogiri.rb +90 -0
  200. data/tasks/test.rb +100 -0
  201. data/test/css/test_nthiness.rb +159 -0
  202. data/test/css/test_parser.rb +282 -0
  203. data/test/css/test_tokenizer.rb +190 -0
  204. data/test/css/test_xpath_visitor.rb +76 -0
  205. data/test/ffi/test_document.rb +35 -0
  206. data/test/files/2ch.html +108 -0
  207. data/test/files/address_book.rlx +12 -0
  208. data/test/files/address_book.xml +10 -0
  209. data/test/files/bar/bar.xsd +4 -0
  210. data/test/files/dont_hurt_em_why.xml +422 -0
  211. data/test/files/exslt.xml +8 -0
  212. data/test/files/exslt.xslt +35 -0
  213. data/test/files/foo/foo.xsd +4 -0
  214. data/test/files/po.xml +32 -0
  215. data/test/files/po.xsd +66 -0
  216. data/test/files/shift_jis.html +10 -0
  217. data/test/files/shift_jis.xml +5 -0
  218. data/test/files/snuggles.xml +3 -0
  219. data/test/files/staff.dtd +10 -0
  220. data/test/files/staff.xml +59 -0
  221. data/test/files/staff.xslt +32 -0
  222. data/test/files/tlm.html +850 -0
  223. data/test/files/valid_bar.xml +2 -0
  224. data/test/helper.rb +131 -0
  225. data/test/html/sax/test_parser.rb +64 -0
  226. data/test/html/sax/test_parser_context.rb +48 -0
  227. data/test/html/test_builder.rb +164 -0
  228. data/test/html/test_document.rb +390 -0
  229. data/test/html/test_document_encoding.rb +77 -0
  230. data/test/html/test_document_fragment.rb +170 -0
  231. data/test/html/test_element_description.rb +94 -0
  232. data/test/html/test_named_characters.rb +14 -0
  233. data/test/html/test_node.rb +242 -0
  234. data/test/html/test_node_encoding.rb +27 -0
  235. data/test/test_convert_xpath.rb +135 -0
  236. data/test/test_css_cache.rb +45 -0
  237. data/test/test_encoding_handler.rb +46 -0
  238. data/test/test_memory_leak.rb +87 -0
  239. data/test/test_nokogiri.rb +138 -0
  240. data/test/test_reader.rb +358 -0
  241. data/test/test_soap4r_sax.rb +52 -0
  242. data/test/test_xslt_transforms.rb +174 -0
  243. data/test/xml/node/test_save_options.rb +20 -0
  244. data/test/xml/node/test_subclass.rb +44 -0
  245. data/test/xml/sax/test_parser.rb +307 -0
  246. data/test/xml/sax/test_parser_context.rb +63 -0
  247. data/test/xml/sax/test_push_parser.rb +139 -0
  248. data/test/xml/test_attr.rb +38 -0
  249. data/test/xml/test_attribute_decl.rb +82 -0
  250. data/test/xml/test_builder.rb +167 -0
  251. data/test/xml/test_cdata.rb +38 -0
  252. data/test/xml/test_comment.rb +29 -0
  253. data/test/xml/test_document.rb +633 -0
  254. data/test/xml/test_document_encoding.rb +26 -0
  255. data/test/xml/test_document_fragment.rb +144 -0
  256. data/test/xml/test_dtd.rb +82 -0
  257. data/test/xml/test_dtd_encoding.rb +33 -0
  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 +83 -0
  261. data/test/xml/test_entity_reference.rb +21 -0
  262. data/test/xml/test_namespace.rb +68 -0
  263. data/test/xml/test_node.rb +738 -0
  264. data/test/xml/test_node_attributes.rb +34 -0
  265. data/test/xml/test_node_encoding.rb +107 -0
  266. data/test/xml/test_node_reparenting.rb +261 -0
  267. data/test/xml/test_node_set.rb +582 -0
  268. data/test/xml/test_parse_options.rb +52 -0
  269. data/test/xml/test_processing_instruction.rb +30 -0
  270. data/test/xml/test_reader_encoding.rb +126 -0
  271. data/test/xml/test_relax_ng.rb +60 -0
  272. data/test/xml/test_schema.rb +89 -0
  273. data/test/xml/test_syntax_error.rb +12 -0
  274. data/test/xml/test_text.rb +30 -0
  275. data/test/xml/test_unparented_node.rb +381 -0
  276. data/test/xml/test_xpath.rb +106 -0
  277. metadata +482 -0
@@ -0,0 +1,26 @@
1
+ # -*- ruby -*-
2
+
3
+ begin
4
+ require 'autotest/fsevent'
5
+ rescue LoadError
6
+ end
7
+
8
+ Autotest.add_hook :initialize do |at|
9
+ at.add_exception /bundle$/
10
+ at.add_exception /\.git/
11
+ end
12
+
13
+ Autotest.add_hook :run_command do |at|
14
+ at.unit_diff = 'cat'
15
+ if ENV['ONENINE']
16
+ system "rake1.9 compile"
17
+ else
18
+ system "rake compile"
19
+ end
20
+ end
21
+
22
+ Autotest.add_hook :ran_command do |at|
23
+ File.open('/tmp/autotest.txt', 'wb') { |f|
24
+ f.write(at.results.join)
25
+ }
26
+ end
@@ -0,0 +1,366 @@
1
+ === 1.4.1 2009年12月10日
2
+
3
+ * 新しい機能
4
+ * Nokogiri::LIBXML_ICONV_ENABLED を追加
5
+ * Node#attr は Node#[] のエイリアス定義に変更
6
+ * XML::Node#next_element を追加
7
+ * 直接の子ノードを検索するための Node#> を追加
8
+ * XML::NodeSet#reverse を追加
9
+ * 以下のfragment supportを追加
10
+   Node#add_child
11
+   Node#add_next_sibling
12
+ Node#add_previous_sibling
13
+   Node#replace
14
+ * XML::Node#previous_element を追加
15
+ * nokogiriがRubinius でサポートされるようになった
16
+ * CSS selector の :has() が使用可能になった
17
+ * XML::NodeSet#filter() を追加
18
+ * XML::Node.next= は add_next_sibling の alias へ変更
19
+ * XML::Node.previous= は add_previous_sibling の alias へ変更
20
+
21
+ * バグの修正
22
+ * XMLのフラグメントに名前空間が存在する場合のみ、DocumentFragmentを作る際に、
23
+ 例外が投げられなくなった
24
+ * DocumentFragment内で子ノードが存在する場合、
25
+ Node#matches?が機能するようになった GH #158
26
+ * Documentは add_namespace()を限定すべきではないので削除GH #169
27
+ * XPath クエリは名前空間の宣言を変換するがsegvではない。
28
+ * Node#replace は他のドキュメントのノードが使えるようになった
29
+ * XML::Document#collect_namespaces を追加
30
+ * SOAP4R のアダプター内のバグ修正
31
+ * XML::Node#next_element 内のバグ修正
32
+ * WindowsでのJRuby の LOAD_PATH を修正 GH #160
33
+ * XSLT#apply_toは "output method"の値を使用する(richardlehaneに感謝)
34
+ * 新しい文字列の先頭にくるテキストノードを含んだフレグメントが 正確に
35
+ 解析出来るようになった GH #178
36
+
37
+ === 1.4.0 2009年10月30日
38
+
39
+ * 今日はノコギリの満一歳のお誕生日です
40
+
41
+ * 新しい機能
42
+ * Node#at_xpath はXPath式に適合するNodeSetの一番最初の要素を返す
43
+ * Node#at_css はCSSセレクターに適合するNodeSetの一番最初の要素を返す
44
+ * NodeSet#| はNodeSet同士を合成する GH #119 (Serabe ありがとう!)
45
+ * NodeSet#inspect の出力をより美しくした
46
+ * Node#inspect の出力をよりrubyらしくした
47
+ * XML::DTD#external_id を追加
48
+ * XML::DTD#system_id を追加
49
+ * XML::ElementContent はDTD要素のコンテンツを有効化する
50
+ * Nokogiri::XML::Builder内での名前空間宣言用のサポートを改良
51
+ * XML::Node#external_subsetを追加
52
+ * XML::Node#create_external_subsetを追加
53
+ * XML::Node#create_internal_subsetを追加
54
+ * XML Builderは生成されていないstringsを付加出来る様になった
55
+ (GH #141, patch from dudleyf)
56
+ * XML::SAX::ParserContext を追加
57
+ * XML::Document#remove_namespaces! は名前空間を使いこなせない人たち用の措置
58
+
59
+ * バグの修正
60
+
61
+ * HTMLドキュメントが メタエンコーディングのタグを宣言しない時、
62
+ nilを返すようになった GH #115
63
+ * ENV['PATH'] を調節する為に、RbConfig::CONFIG['host_os']を使用できるように
64
+ なった GH #113
65
+ * NodeSet#searchが更に効率的になった GH #119 (Serabe!に感謝します)
66
+ * NodeSet#xpathがcustom xpath機能を取り扱える様になった
67
+ * XML::Reader が現時点のノード用に属性を取得する際に、
68
+ SEGVを修正するようになった
69
+ * Node#inner_html がNode#to_html と同じ独立変数を受け入れるようになった
70
+ GH #117
71
+ * DocumentFragment#css は子ノードへ委任するようになった GH #123
72
+ * NodeSet#[]がNodeSet#lengthより大きいスライスでも機能するようになった
73
+ GH #131
74
+ * 新たな親ノードの名前空間を維持出来るようになった GH #134
75
+ * XML::Document をNodeSetに追加する際のSEGVが修正された
76
+ * XML::SyntaxError が複製可能になった
77
+
78
+ * 廃棄予定
79
+
80
+ * Hpricot用の互換性レイヤーを削除
81
+
82
+ === 1.3.3 / 2009年7月26日
83
+
84
+ * 新しい機能
85
+
86
+ * NodeSet#children 全ての子ノードを返すようになった
87
+
88
+ * バグの修正
89
+
90
+ * libxml-ruby のグローバ ルエラー ハンドラー に優先するようになった
91
+ * ParseOption#strict を修正
92
+ * 空文字列を Node#inner_html= に与えた時に生じたSEGVを修正 GH #88
93
+ * Ruby 1.9 では文字列のエンコーディングをUTF-8になるようにした
94
+ * ドキュメントの根ノードから違うドキュメントの根ノードに移動した時に生じた
95
+ SEGVを修正 GH #91
96
+ * ノードをインスタンス化する時のO(n)のペナルティーを修正 GH #101
97
+ * XMLのドキュメントをHTMLのドキュメントとして出力出来るようになった
98
+
99
+ * 廃棄予定
100
+
101
+ * Hpricotの互換性レイヤーがNokogiriの1.4.0で除去される予定
102
+
103
+ === 1.3.2 / 2009年6月22日
104
+
105
+ * 新しい機能
106
+
107
+ * Nokogiri::XML::DTD#validate はドキュメントを検証できるようになった
108
+
109
+ * バグの修正
110
+
111
+ * Nokogiri::XML::NodeSet#search はトップレベルのノードを検索するようになった
112
+ GH #73
113
+ * Nokogiri::XML::Documentからメソッドに関係する名前空間を取り除いた
114
+ * 2回同じ名前空間が追加されたときSEGVする問題を修正した
115
+ * Snow Leopard で Nokogiri が動くようになった GH #79
116
+ * メーリングリストはGoogle Groupsの以下のURLに移動した
117
+ http://groups.google.com/group/nokogiri-talk
118
+ * HTML フラグメントはコメントとCDATAを正確に扱うようになった
119
+ * Nokogiri::XML::Document#cloneはdupのaliasになった
120
+
121
+ * 廃棄予定
122
+
123
+ * Nokogiri::XML::SAX::Document#start_element_nsは廃棄予定なので
124
+ Nokogiri::XML::SAX::Document#start_element_namespaceを代わりに使用して下さい
125
+ * Nokogiri::XML::SAX::Document#end_element_nsは廃棄予定なので
126
+ Nokogiri::XML::SAX::Document#end_element_namespaceを代わりに使用して下さい
127
+
128
+ === 1.3.1 / 2009年6月7日
129
+
130
+ * バグの修正
131
+
132
+ * extconf.rb は任意のRelaxNGとSchemaの機能を探すようになった
133
+ * ドキュメントのノードキャッシュに名前空間のノードが入るようになった
134
+
135
+ === 1.3.0 / 2009年5月30日
136
+
137
+ * 新しい機能
138
+
139
+ * Builderがブロックの引数の数に応じてスコープが定まるようになった
140
+ * Builderがアンダースコアで終わるメソッドをtagzと同様にサポートするようになった
141
+ * Nokogiri::XML::Node#<=> がドキュメントの位置によりノードを比較するように
142
+ なった
143
+ * Nokogiri::XML::Node#matches?が与えられたセレクタ内でノードがあればtrue
144
+ を返すようになった
145
+ * Nokogiri::XML::Node#ancestors がNokogiri::XML::NodeSetオブジェクトを返すようになった
146
+ * Nokogiri::XML::Node#ancestorsがオプションのセレクタに対応する親をマッチする
147
+ ようになった
148
+ * Nokogiri::HTML::Document#meta_encoding がメタデータのエンコードを返すように
149
+ なった
150
+ * Nokogiri::HTML::Document#meta_encoding= でメタデータのエンコードを
151
+ 設定できるようになった
152
+ * Nokogiri::XML::Document#encoding= でドキュメントのエンコードを
153
+ 設定できるようになった
154
+ * Nokogiri::XML::Schema でドキュメントがXSDのスキーマに沿って記述されているか
155
+ を検証できるようになった
156
+ * Nokogiri::XML::RelaxNG でドキュメントがRelaxNGのスキーマに沿って
157
+ 記述されているかを検証できるようになった
158
+ * Nokogiri::HTML::ElementDescription はHTML要素の説明フェッチ動作するよう
159
+ になった
160
+ * Nokogiri::XML::Node#descriptionは ノードの説明をフェッチ動作するよう
161
+ になった
162
+ * Nokogiri::XML::Node#accept は Visitor パターンを実行するようになった
163
+ * 簡単にドキュメントを解析するコマンド bin/nokogiri を追加
164
+ (Yataka HARAさんに感謝感激)
165
+ * Nokogiri::XML::NodeSetが更にArrayとEnumerableの演算を
166
+ サポートするようになった:
167
+ index, delete, slice, - (差分), + (連結), & (共通部分),
168
+ push, pop, shift, ==
169
+ * Nokogiri.XML, Nokogiri.HTML はNokogiri::XML::ParseOptions objectと一緒に
170
+ 呼び出されるブロックを受け入れるようになった
171
+ * Nokogiri::XML::Node#namespace は Nokogiri::XML::Namespaceを返すようになった
172
+ * Nokogiri::XML::Node#namespaceはノードの名前空間を設定するようになった
173
+ * FFI 経由で JRuby 1.3.0 をサポートするようになった
174
+
175
+ * バグの修正
176
+
177
+ * nilがCDATAsonstructorに渡される際の問題を修正
178
+ * Fragment メソッドが正規表現を抜け出させるようになった
179
+ (Joelさんに感謝感激) (LH #73)
180
+ * Builder スコープのLH #61, LH #74, LH #70に関しての様々な問題を修正
181
+ * 名前空間を付け加える時、名前空間が LH#78より除去されてしまう問題を修正
182
+ * 連結しないノードが発生し、再育成してしまう問題を修正(GH#22)
183
+ * XSLT が解析中にエラーを発見し損なう問題を修正(GH#32)
184
+ * CSS selectors内での条件属性のバグ問題を修正(GH#36)
185
+ * Node#before/after/inner_html=で値なしのHTML属性が受け入れられなかった問題を
186
+ 修正 (GH#35)
187
+
188
+ === 1.2.3 / 2009年3月22日
189
+
190
+ * バグの修正
191
+
192
+ * Node#new 内にて、バグを修正する
193
+ * DocumentFragmentの作成時、名前空間に割り当てる LH #66
194
+ * Nokogiri::XML::NodeSet#dup は機能するようになった GH #10
195
+ * Nokogiri::HTMLは文字列がブランクの時、空のドキュメントで返す GH#11
196
+ * 子ノードを付加する事で、重複した名前空間の宣言を取り除く LH#67
197
+ * ビルダ方法はハッシュを第二引数とする
198
+
199
+ === 1.2.2 / 2009年3月14日
200
+
201
+ * 新しい機能
202
+
203
+ * Nokogiri は soap4r と一緒に使う事が可能。(XSD::XMLParser::Nokogiri 参照)
204
+ * Nokogiri::XML::Node#inner_html= はノードの中のHTMLをセット出来る
205
+ * NokogiriのBuilderのインタフェースの改良
206
+ * Nokogiri::XML::Node#swap は、現在のノードに新しいhtmlを交換する事が出来る
207
+
208
+
209
+ * バグの修正
210
+
211
+ * BuilderAPIのタグのネスティングを修正 (LH #41)
212
+ * Nokogiri::HTML.fragment はテキストだけのノードを適切に扱う事が出来る(LH #43)
213
+ * Nokogiri::XML::Node#before はテキストノードのはじめに挿入する事が出来る (LH #44)
214
+ * Nokogiri::XML::Node#after はテキストノードの文末に挿入する事が出来る
215
+ * Nokogiri::XML::Node#search 名前空間が自動的に登録されるようになった(LH#42)
216
+ * Nokogiri::XML::NodeSet#search 名前空間が自動的に登録されるようになった
217
+ * Nokogiri::HTML::NamedCharacters はlibxml2に委任
218
+ * Nokogiri::XML::Node#[] はSymbolを使う (LH #48)
219
+ * vasprintf にwindowsを修正 (Geffroy Couprie ありがとう!)
220
+ * Nokogiri::XML::Node#[]= はentityを符号化しない (LH #55)
221
+ * 名前空間はreparentedのノードに模写する (LH #56)
222
+ * StringのエンコードはRuby 1.9での初期設定を使用する
223
+ * Document#dup は新しいドキュメントに同じタイプを作る (LH #59)
224
+ * Document#parent は存在しない (LH #64)
225
+
226
+
227
+ === 1.2.1 / 2009年2月23日
228
+
229
+ * 修正
230
+
231
+ * CSS のセレクターのスペースを修正
232
+ * Ruby 1.9 のStringのエンコードを修正 (角谷さんに感謝!)
233
+
234
+ === 1.2.0 / 2009年2月22日
235
+
236
+ * 新しい機能
237
+ * CSSサーチが CSS3 名前空間クエリをサポートするようになった
238
+ * ルート要素での名前空間が自動的に登録されるようになった
239
+ * CSS クエリが初期設定の名前空間を使うようになった
240
+ * Nokogiri::XML::Document#encoding で文書にエンコードを使用、受け取る
241
+ * Nokogiri::XML::Document#url で文書のURLを受け取る
242
+ * Nokogiri::XML::Node#each はname属性、値を一組にし反復適用する
243
+ * Nokogiri::XML::Node#keys はすべてのname属性を受け取る
244
+ * Nokogiri::XML::Node#line は行番号をノード用に受け取る (Dirkjan Bussinkさんに感謝感激)
245
+ * Nokogiri::XML::Node#serialize は任意されたencodingパラメーターを受け入れる
246
+ * Nokogiri::XML::Node#to_html, to_xml, と to_xhtml は任意されたencodingパラメーターを受け入れる
247
+ * Nokogiri::XML::Node#to_str
248
+ * Nokogiri::XML::Node#to_xhtml でXHTML文書を生成する
249
+ * Nokogiri::XML::Node#values が全ての属性値を受け入れる
250
+ * Nokogiri::XML::Node#write_to は任意されたencodingで要素をIOオブジェクトへ書く
251
+ * Nokogiri::XML::ProcessingInstrunction.new
252
+ * Nokogiri::XML::SAX::PushParser は全てのプッシュパースに必要な解析をする
253
+
254
+ * バグの修正
255
+
256
+ * Nokogiri::XML::Document#dup を修正
257
+ * ヘッダ検知を修正. 謝々るびきちさん!
258
+ * 無効なCSS内にて解析機能を動かなくさせる原因を修正
259
+
260
+ * 廃棄予定
261
+
262
+ * Nokogiri::XML::Node.new_from_str は1.3.0にて廃棄予定
263
+
264
+ * APIの変更
265
+
266
+ * Nokogiri::HTML.fragment は XML::DocumentFragment (LH #32)で返す
267
+
268
+ === 1.1.1
269
+
270
+ * 新しい機能
271
+ * XML::Node#elem? を追加
272
+ * XML::Node#attribute_nodes を追加
273
+ * XML::Attr を追加
274
+ * XML::Node#delete を追加
275
+ * XML::NodeSet#inner_html を追加
276
+
277
+ * バグの修正
278
+
279
+ * HTML のノードを \r のエンティティを含まない
280
+ * CSS::SelectorHandler と XML::XPathHandler を除去
281
+ * XML::Node#attributes が Attr node を value値に返す
282
+ * XML::NodeSet が to_xml へ実行
283
+
284
+ === 1.1.0
285
+
286
+ * 新しい機能
287
+
288
+ * カスタム XPath 機能はある。( Nokogiri::XML::Node#xpath 参照 )
289
+ * カスタム CSS 擬似クラスと機能はある。( Nokogiri::XML::Node#css 参照 )
290
+ * Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
291
+
292
+ * バグの修正
293
+
294
+ * mutex が CSS のキャッシュのアクセスをロックする
295
+ * GCC 3.3.5 のビルドに関する問題を修正
296
+ * XML::Node#to_xml が引数indentationを取る
297
+ * XML::Node#dup が引数任意のdepthを取る
298
+ * XML::Node#add_previous_sibling が新しい兄弟ノードで返す
299
+
300
+ === 1.0.7
301
+
302
+ * バグの修正
303
+
304
+ * Dike 使用時中のメモリーリークの修正
305
+ * SAX パーサーが現在 IO Stream 同時解析
306
+ * コメント nodes が独自のクラスを継承する
307
+ * Nokogiri() は Nokogiri.parse() へデリゲートする
308
+ * ENV['PATH'] に付加せれる代わりに先頭へデータ挿入される
309
+ * 複雑な CSS 内のバグを修正完了 :not selector ではありません
310
+
311
+ === 1.0.6
312
+
313
+ * 5つの修正
314
+
315
+ * XPath のパーサーが SyntaxError を生じさせ解析停止させる
316
+ * CSS のパーサーが SyntaxError を生じさせ解析停止させる
317
+ * filter() と not() hpricot の互換性を追加
318
+ * CSS が Node#search 経由で検索し、常時対応する事が出来るようになった
319
+ * CSS より XPath 変換がキャッシュに入れられるようになった
320
+
321
+ === 1.0.5
322
+
323
+ * バグフィックス
324
+
325
+ * メーリンクリストを作成
326
+ * バグファイルを作成
327
+ * Windows 内で ENV['PATH'] が存在しない場合でも、存在出来るように設定完了
328
+ * Document 内の NodeSet#[] の結果をキャッシュする
329
+
330
+ === 1.0.4
331
+
332
+ * バグフィックス
333
+
334
+ * 弱参照からドキュメント参照へのメモリー管理の変換
335
+ * メモリリークに接続
336
+ * Builderブロックが取り囲んでいるコンテキストから
337
+ メソッドの呼び出しをする事が出来る
338
+
339
+ === 1.0.3
340
+
341
+ * 5つのバグ修正
342
+
343
+ * NodeSet が to_ary へ実行
344
+ * XML::Document#parent を除去
345
+ * GCバグ修正済み (Mike は最高!)
346
+ * 1.8.5互換性の為の RARRAY_LEN 除去
347
+ * inner_html 修正済み (Yahuda に感謝)
348
+
349
+ === 1.0.2
350
+
351
+ * 1つのバグ修正
352
+
353
+ * extconf.rb は frex や racc を調べないはず
354
+
355
+ === 1.0.1
356
+
357
+ * 1つのバグ修正
358
+
359
+ * extconf.rb が libdir や prefix を検索しない事を確認済み
360
+ それによって、ports libxml/ruby が正しくリンクする (lucsky に感謝!)
361
+
362
+ === 1.0.0 / 2008-07-13
363
+
364
+ * 1つの偉大な増進
365
+
366
+ * ご誕生である
@@ -0,0 +1,345 @@
1
+ === HEAD
2
+
3
+ * New Features
4
+
5
+ * Added Nokogiri::LIBXML_ICONV_ENABLED
6
+ * Alias Node#[] to Node#attr
7
+ * XML::Node#next_element added
8
+ * XML::Node#> added for searching a nodes immediate children
9
+ * XML::NodeSet#reverse added
10
+ * Added fragment support to Node#add_child, Node#add_next_sibling,
11
+ Node#add_previous_sibling, and Node#replace.
12
+ * XML::Node#previous_element implemented
13
+ * Rubinius support
14
+ * Ths CSS selector engine now supports :has()
15
+ * XML::NodeSet#filter() was added
16
+ * XML::Node.next= and .previous= are aliases for add_next_sibling and add_previous_sibling. GH #183
17
+
18
+ * Bugfixes
19
+
20
+ * XML fragments with namespaces do not raise an exception (regression in 1.4.0)
21
+ * Node#matches? works in nodes contained by a DocumentFragment. GH #158
22
+ * Document should not define add_namespace() method. GH #169
23
+ * XPath queries returning namespace declarations do not segfault.
24
+ * Node#replace works with nodes from different documents. GH #162
25
+ * Adding XML::Document#collect_namespaces
26
+ * Fixed bugs in the SOAP4R adapter
27
+ * Fixed bug in XML::Node#next_element for certain edge cases
28
+ * Fixed load path issue with JRuby under Windows. GH #160.
29
+ * XSLT#apply_to will honor the "output method". Thanks richardlehane!
30
+ * Fragments containing leading text nodes with newlines now parse properly. GH #178.
31
+
32
+ === 1.4.0 / 2009/10/30
33
+
34
+ * Happy Birthday!
35
+
36
+ * New Features
37
+
38
+ * Node#at_xpath returns the first element of the NodeSet matching the XPath
39
+ expression.
40
+ * Node#at_css returns the first element of the NodeSet matching the CSS
41
+ selector.
42
+ * NodeSet#| for unions GH #119 (Thanks Serabe!)
43
+ * NodeSet#inspect makes prettier output
44
+ * Node#inspect implemented for more rubyish document inspecting
45
+ * Added XML::DTD#external_id
46
+ * Added XML::DTD#system_id
47
+ * Added XML::ElementContent for DTD Element content validity
48
+ * Better namespace declaration support in Nokogiri::XML::Builder
49
+ * Added XML::Node#external_subset
50
+ * Added XML::Node#create_external_subset
51
+ * Added XML::Node#create_internal_subset
52
+ * XML Builder can append raw strings (GH #141, patch from dudleyf)
53
+ * XML::SAX::ParserContext added
54
+ * XML::Document#remove_namespaces! for the namespace-impaired
55
+
56
+ * Bugfixes
57
+
58
+ * returns nil when HTML documents do not declare a meta encoding tag. GH #115
59
+ * Uses RbConfig::CONFIG['host_os'] to adjust ENV['PATH'] GH #113
60
+ * NodeSet#search is more efficient GH #119 (Thanks Serabe!)
61
+ * NodeSet#xpath handles custom xpath functions
62
+ * Fixing a SEGV when XML::Reader gets attributes for current node
63
+ * Node#inner_html takes the same arguments as Node#to_html GH #117
64
+ * DocumentFragment#css delegates to it's child nodes GH #123
65
+ * NodeSet#[] works with slices larger than NodeSet#length GH #131
66
+ * Reparented nodes maintain their namespace. GH #134
67
+ * Fixed SEGV when adding an XML::Document to NodeSet
68
+ * XML::SyntaxError can be duplicated. GH #148
69
+
70
+ * Deprecations
71
+
72
+ * Hpricot compatibility layer removed
73
+
74
+ === 1.3.3 / 2009/07/26
75
+
76
+ * New Features
77
+
78
+ * NodeSet#children returns all children of all nodes
79
+
80
+ * Bugfixes
81
+
82
+ * Override libxml-ruby's global error handler
83
+ * ParseOption#strict fixed
84
+ * Fixed a segfault when sending an empty string to Node#inner_html= GH #88
85
+ * String encoding is now set to UTF-8 in Ruby 1.9
86
+ * Fixed a segfault when moving root nodes between documents. GH #91
87
+ * Fixed an O(n) penalty on node creation. GH #101
88
+ * Allowing XML documents to be output as HTML documents
89
+
90
+ * Deprecations
91
+
92
+ * Hpricot compatibility layer will be removed in 1.4.0
93
+
94
+ === 1.3.2 / 2009-06-22
95
+
96
+ * New Features
97
+
98
+ * Nokogiri::XML::DTD#validate will validate your document
99
+
100
+ * Bugfixes
101
+
102
+ * Nokogiri::XML::NodeSet#search will search top level nodes. GH #73
103
+ * Removed namespace related methods from Nokogiri::XML::Document
104
+ * Fixed a segfault when a namespace was added twice
105
+ * Made nokogiri work with Snow Leopard GH #79
106
+ * Mailing list has moved to: http://groups.google.com/group/nokogiri-talk
107
+ * HTML fragments now correctly handle comments and CDATA blocks. GH #78
108
+ * Nokogiri::XML::Document#clone is now an alias of dup
109
+
110
+ * Deprecations
111
+
112
+ * Nokogiri::XML::SAX::Document#start_element_ns is deprecated, please switch
113
+ to Nokogiri::XML::SAX::Document#start_element_namespace
114
+ * Nokogiri::XML::SAX::Document#end_element_ns is deprecated, please switch
115
+ to Nokogiri::XML::SAX::Document#end_element_namespace
116
+
117
+ === 1.3.1 / 2009-06-07
118
+
119
+ * Bugfixes
120
+
121
+ * extconf.rb checks for optional RelaxNG and Schema functions
122
+ * Namespace nodes are added to the Document node cache
123
+
124
+ === 1.3.0 / 2009-05-30
125
+
126
+ * New Features
127
+
128
+ * Builder changes scope based on block arity
129
+ * Builder supports methods ending in underscore similar to tagz
130
+ * Nokogiri::XML::Node#<=> compares nodes based on Document position
131
+ * Nokogiri::XML::Node#matches? returns true if Node can be found with
132
+ given selector.
133
+ * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
134
+ * Nokogiri::XML::Node#ancestors will match parents against optional selector
135
+ * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
136
+ * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
137
+ * Nokogiri::XML::Document#encoding= to set the document encoding
138
+ * Nokogiri::XML::Schema for validating documents against XSD schema
139
+ * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
140
+ * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
141
+ * Nokogiri::XML::Node#description to fetch the node description
142
+ * Nokogiri::XML::Node#accept implements Visitor pattern
143
+ * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
144
+ * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
145
+ index, delete, slice, - (difference), + (concatenation), & (intersection),
146
+ push, pop, shift, ==
147
+ * Nokogiri.XML, Nokogiri.HTML take blocks that receive
148
+ Nokogiri::XML::ParseOptions objects
149
+ * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
150
+ * Nokogiri::XML::Node#namespace= for setting a node's namespace
151
+ * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
152
+ have a sensible API and a more robust implementation.
153
+ * JRuby 1.3.0 support via FFI.
154
+
155
+ * Bugfixes
156
+
157
+ * Fixed a problem with nil passed to CDATA constructor
158
+ * Fragment method deals with regular expression characters
159
+ (Thanks Joel!) LH #73
160
+ * Fixing builder scope issues LH #61, LH #74, LH #70
161
+ * Fixed a problem when adding a child could remove the child namespace LH#78
162
+ * Fixed bug with unlinking a node then reparenting it. (GH#22)
163
+ * Fixed failure to catch errors during XSLT parsing (GH#32)
164
+ * Fixed a bug with attribute conditions in CSS selectors (GH#36)
165
+ * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)
166
+
167
+ === 1.2.3 / 2009-03-22
168
+
169
+ * Bugfixes
170
+
171
+ * Fixing bug where a node is passed in to Node#new
172
+ * Namespace should be assigned on DocumentFragment creation. LH #66
173
+ * Nokogiri::XML::NodeSet#dup works GH #10
174
+ * Nokogiri::HTML returns an empty Document when given a blank string GH#11
175
+ * Adding a child will remove duplicate namespace declarations LH #67
176
+ * Builder methods take a hash as a second argument
177
+
178
+ === 1.2.2 / 2009-03-14
179
+
180
+ * New features
181
+
182
+ * Nokogiri may be used with soap4r. See XSD::XMLParser::Nokogiri
183
+ * Nokogiri::XML::Node#inner_html= to set the inner html for a node
184
+ * Nokogiri builder interface improvements
185
+ * Nokogiri::XML::Node#swap swaps html for current node (LH #50)
186
+
187
+ * Bugfixes
188
+
189
+ * Fixed a tag nesting problem in the Builder API (LH #41)
190
+ * Nokogiri::HTML.fragment will properly handle text only nodes (LH #43)
191
+ * Nokogiri::XML::Node#before will prepend text nodes (LH #44)
192
+ * Nokogiri::XML::Node#after will append text nodes
193
+ * Nokogiri::XML::Node#search automatically registers root namepsaces (LH #42)
194
+ * Nokogiri::XML::NodeSet#search automatically registers namespaces
195
+ * Nokogiri::HTML::NamedCharacters delegates to libxml2
196
+ * Nokogiri::XML::Node#[] can take a symbol (LH #48)
197
+ * vasprintf for windows updated. Thanks Geoffroy Couprie!
198
+ * Nokogiri::XML::Node#[]= should not encode entities (LH #55)
199
+ * Namespaces should be copied to reparented nodes (LH #56)
200
+ * Nokogiri uses encoding set on the string for default in Ruby 1.9
201
+ * Document#dup should create a new document of the same type (LH #59)
202
+ * Document should not have a parent method (LH #64)
203
+
204
+ === 1.2.1 / 2009-02-23
205
+
206
+ * Bugfixes
207
+
208
+ * Fixed a CSS selector space bug
209
+ * Fixed Ruby 1.9 String Encoding (Thanks 角谷さん!)
210
+
211
+ === 1.2.0 / 2009-02-22
212
+
213
+ * New features
214
+
215
+ * CSS search now supports CSS3 namespace queries
216
+ * Namespaces on the root node are automatically registered
217
+ * CSS queries use the default namespace
218
+ * Nokogiri::XML::Document#encoding get encoding used for this document
219
+ * Nokogiri::XML::Document#url get the document url
220
+ * Nokogiri::XML::Node#add_namespace add a namespace to the node LH#38
221
+ * Nokogiri::XML::Node#each iterate over attribute name, value pairs
222
+ * Nokogiri::XML::Node#keys get all attribute names
223
+ * Nokogiri::XML::Node#line get the line number for a node (Thanks Dirkjan Bussink!)
224
+ * Nokogiri::XML::Node#serialize now takes an optional encoding parameter
225
+ * Nokogiri::XML::Node#to_html, to_xml, and to_xhtml take an optional encoding
226
+ * Nokogiri::XML::Node#to_str
227
+ * Nokogiri::XML::Node#to_xhtml to produce XHTML documents
228
+ * Nokogiri::XML::Node#values get all attribute values
229
+ * Nokogiri::XML::Node#write_to writes the node to an IO object with optional encoding
230
+ * Nokogiri::XML::ProcessingInstrunction.new
231
+ * Nokogiri::XML::SAX::PushParser for all your push parsing needs.
232
+
233
+ * Bugfixes
234
+
235
+ * Fixed Nokogiri::XML::Document#dup
236
+ * Fixed header detection. Thanks rubikitch!
237
+ * Fixed a problem where invalid CSS would cause the parser to hang
238
+
239
+ * Deprecations
240
+
241
+ * Nokogiri::XML::Node.new_from_str will be deprecated in 1.3.0
242
+
243
+ * API Changes
244
+
245
+ * Nokogiri::HTML.fragment now returns an XML::DocumentFragment (LH #32)
246
+
247
+ === 1.1.1
248
+
249
+ * New features
250
+
251
+ * Added XML::Node#elem?
252
+ * Added XML::Node#attribute_nodes
253
+ * Added XML::Attr
254
+ * XML::Node#delete added.
255
+ * XML::NodeSet#inner_html added.
256
+
257
+ * Bugfixes
258
+
259
+ * Not including an HTML entity for \r for HTML nodes.
260
+ * Removed CSS::SelectorHandler and XML::XPathHandler
261
+ * XML::Node#attributes returns an Attr node for the value.
262
+ * XML::NodeSet implements to_xml
263
+
264
+ === 1.1.0
265
+
266
+ * New Features
267
+
268
+ * Custom XPath functions are now supported. See Nokogiri::XML::Node#xpath
269
+ * Custom CSS pseudo classes are now supported. See Nokogiri::XML::Node#css
270
+ * Nokogiri::XML::Node#<< will add a child to the current node
271
+
272
+ * Bugfixes
273
+
274
+ * Mutex lock on CSS cache access
275
+ * Fixed build problems with GCC 3.3.5
276
+ * XML::Node#to_xml now takes an indentation argument
277
+ * XML::Node#dup takes an optional depth argument
278
+ * XML::Node#add_previous_sibling returns new sibling node.
279
+
280
+ === 1.0.7
281
+
282
+ * Bugfixes
283
+
284
+ * Fixed memory leak when using Dike
285
+ * SAX parser now parses IO streams
286
+ * Comment nodes have their own class
287
+ * Nokogiri() should delegate to Nokogiri.parse()
288
+ * Prepending rather than appending to ENV['PATH'] on windows
289
+ * Fixed a bug in complex CSS negation selectors
290
+
291
+ === 1.0.6
292
+
293
+ * 5 Bugfixes
294
+
295
+ * XPath Parser raises a SyntaxError on parse failure
296
+ * CSS Parser raises a SyntaxError on parse failure
297
+ * filter() and not() hpricot compatibility added
298
+ * CSS searches via Node#search are now always relative
299
+ * CSS to XPath conversion is now cached
300
+
301
+ === 1.0.5
302
+
303
+ * Bugfixes
304
+
305
+ * Added mailing list and ticket tracking information to the README.txt
306
+ * Sets ENV['PATH'] on windows if it doesn't exist
307
+ * Caching results of NodeSet#[] on Document
308
+
309
+ === 1.0.4
310
+
311
+ * Bugfixes
312
+
313
+ * Changed memory mangement from weak refs to document refs
314
+ * Plugged some memory leaks
315
+ * Builder blocks can call methods from surrounding contexts
316
+
317
+ === 1.0.3
318
+
319
+ * 5 Bugfixes
320
+
321
+ * NodeSet now implements to_ary
322
+ * XML::Document should not implement parent
323
+ * More GC Bugs fixed. (Mike is AWESOME!)
324
+ * Removed RARRAY_LEN for 1.8.5 compatibility. Thanks Shane Hanna.
325
+ * inner_html fixed. (Thanks Yehuda!)
326
+
327
+ === 1.0.2
328
+
329
+ * 1 Bugfix
330
+
331
+ * extconf.rb should not check for frex and racc
332
+
333
+ === 1.0.1
334
+
335
+ * 1 Bugfix
336
+
337
+ * Made sure extconf.rb searched libdir and prefix so that ports libxml/ruby
338
+ will link properly. Thanks lucsky!
339
+
340
+ === 1.0.0 / 2008-07-13
341
+
342
+ * 1 major enhancement
343
+
344
+ * Birthday!
345
+