nokogiri-maglev- 1.5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. data/.autotest +26 -0
  2. data/.gemtest +0 -0
  3. data/CHANGELOG.ja.rdoc +544 -0
  4. data/CHANGELOG.rdoc +532 -0
  5. data/Manifest.txt +283 -0
  6. data/README.ja.rdoc +106 -0
  7. data/README.rdoc +174 -0
  8. data/Rakefile +171 -0
  9. data/bin/nokogiri +53 -0
  10. data/ext/nokogiri/depend +358 -0
  11. data/ext/nokogiri/extconf.rb +124 -0
  12. data/ext/nokogiri/html_document.c +154 -0
  13. data/ext/nokogiri/html_document.h +10 -0
  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 +32 -0
  17. data/ext/nokogiri/html_entity_lookup.h +8 -0
  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/nokogiri.c +115 -0
  21. data/ext/nokogiri/nokogiri.h +160 -0
  22. data/ext/nokogiri/st.c +576 -0
  23. data/ext/nokogiri/xml_attr.c +94 -0
  24. data/ext/nokogiri/xml_attr.h +9 -0
  25. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  26. data/ext/nokogiri/xml_attribute_decl.h +9 -0
  27. data/ext/nokogiri/xml_cdata.c +56 -0
  28. data/ext/nokogiri/xml_cdata.h +9 -0
  29. data/ext/nokogiri/xml_comment.c +54 -0
  30. data/ext/nokogiri/xml_comment.h +9 -0
  31. data/ext/nokogiri/xml_document.c +478 -0
  32. data/ext/nokogiri/xml_document.h +23 -0
  33. data/ext/nokogiri/xml_document_fragment.c +48 -0
  34. data/ext/nokogiri/xml_document_fragment.h +10 -0
  35. data/ext/nokogiri/xml_dtd.c +202 -0
  36. data/ext/nokogiri/xml_dtd.h +10 -0
  37. data/ext/nokogiri/xml_element_content.c +123 -0
  38. data/ext/nokogiri/xml_element_content.h +10 -0
  39. data/ext/nokogiri/xml_element_decl.c +69 -0
  40. data/ext/nokogiri/xml_element_decl.h +9 -0
  41. data/ext/nokogiri/xml_encoding_handler.c +79 -0
  42. data/ext/nokogiri/xml_encoding_handler.h +8 -0
  43. data/ext/nokogiri/xml_entity_decl.c +110 -0
  44. data/ext/nokogiri/xml_entity_decl.h +10 -0
  45. data/ext/nokogiri/xml_entity_reference.c +52 -0
  46. data/ext/nokogiri/xml_entity_reference.h +9 -0
  47. data/ext/nokogiri/xml_io.c +56 -0
  48. data/ext/nokogiri/xml_io.h +11 -0
  49. data/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  50. data/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  51. data/ext/nokogiri/xml_namespace.c +84 -0
  52. data/ext/nokogiri/xml_namespace.h +13 -0
  53. data/ext/nokogiri/xml_node.c +1397 -0
  54. data/ext/nokogiri/xml_node.h +13 -0
  55. data/ext/nokogiri/xml_node_set.c +418 -0
  56. data/ext/nokogiri/xml_node_set.h +9 -0
  57. data/ext/nokogiri/xml_processing_instruction.c +56 -0
  58. data/ext/nokogiri/xml_processing_instruction.h +9 -0
  59. data/ext/nokogiri/xml_reader.c +684 -0
  60. data/ext/nokogiri/xml_reader.h +10 -0
  61. data/ext/nokogiri/xml_relax_ng.c +162 -0
  62. data/ext/nokogiri/xml_relax_ng.h +9 -0
  63. data/ext/nokogiri/xml_sax_parser.c +293 -0
  64. data/ext/nokogiri/xml_sax_parser.h +39 -0
  65. data/ext/nokogiri/xml_sax_parser_context.c +199 -0
  66. data/ext/nokogiri/xml_sax_parser_context.h +10 -0
  67. data/ext/nokogiri/xml_sax_push_parser.c +115 -0
  68. data/ext/nokogiri/xml_sax_push_parser.h +9 -0
  69. data/ext/nokogiri/xml_schema.c +205 -0
  70. data/ext/nokogiri/xml_schema.h +9 -0
  71. data/ext/nokogiri/xml_syntax_error.c +58 -0
  72. data/ext/nokogiri/xml_syntax_error.h +13 -0
  73. data/ext/nokogiri/xml_text.c +50 -0
  74. data/ext/nokogiri/xml_text.h +9 -0
  75. data/ext/nokogiri/xml_xpath_context.c +315 -0
  76. data/ext/nokogiri/xml_xpath_context.h +9 -0
  77. data/ext/nokogiri/xslt_stylesheet.c +265 -0
  78. data/ext/nokogiri/xslt_stylesheet.h +9 -0
  79. data/lib/nokogiri.rb +127 -0
  80. data/lib/nokogiri/css.rb +27 -0
  81. data/lib/nokogiri/css/node.rb +99 -0
  82. data/lib/nokogiri/css/parser.rb +677 -0
  83. data/lib/nokogiri/css/parser.y +237 -0
  84. data/lib/nokogiri/css/parser_extras.rb +91 -0
  85. data/lib/nokogiri/css/syntax_error.rb +7 -0
  86. data/lib/nokogiri/css/tokenizer.rb +152 -0
  87. data/lib/nokogiri/css/tokenizer.rex +55 -0
  88. data/lib/nokogiri/css/xpath_visitor.rb +171 -0
  89. data/lib/nokogiri/decorators/slop.rb +35 -0
  90. data/lib/nokogiri/html.rb +36 -0
  91. data/lib/nokogiri/html/builder.rb +35 -0
  92. data/lib/nokogiri/html/document.rb +213 -0
  93. data/lib/nokogiri/html/document_fragment.rb +41 -0
  94. data/lib/nokogiri/html/element_description.rb +23 -0
  95. data/lib/nokogiri/html/element_description_defaults.rb +671 -0
  96. data/lib/nokogiri/html/entity_lookup.rb +13 -0
  97. data/lib/nokogiri/html/sax/parser.rb +52 -0
  98. data/lib/nokogiri/html/sax/parser_context.rb +16 -0
  99. data/lib/nokogiri/syntax_error.rb +4 -0
  100. data/lib/nokogiri/version.rb +88 -0
  101. data/lib/nokogiri/xml.rb +67 -0
  102. data/lib/nokogiri/xml/attr.rb +14 -0
  103. data/lib/nokogiri/xml/attribute_decl.rb +18 -0
  104. data/lib/nokogiri/xml/builder.rb +426 -0
  105. data/lib/nokogiri/xml/cdata.rb +11 -0
  106. data/lib/nokogiri/xml/character_data.rb +7 -0
  107. data/lib/nokogiri/xml/document.rb +234 -0
  108. data/lib/nokogiri/xml/document_fragment.rb +98 -0
  109. data/lib/nokogiri/xml/dtd.rb +22 -0
  110. data/lib/nokogiri/xml/element_content.rb +36 -0
  111. data/lib/nokogiri/xml/element_decl.rb +13 -0
  112. data/lib/nokogiri/xml/entity_decl.rb +19 -0
  113. data/lib/nokogiri/xml/namespace.rb +13 -0
  114. data/lib/nokogiri/xml/node.rb +915 -0
  115. data/lib/nokogiri/xml/node/save_options.rb +61 -0
  116. data/lib/nokogiri/xml/node_set.rb +357 -0
  117. data/lib/nokogiri/xml/notation.rb +6 -0
  118. data/lib/nokogiri/xml/parse_options.rb +93 -0
  119. data/lib/nokogiri/xml/pp.rb +2 -0
  120. data/lib/nokogiri/xml/pp/character_data.rb +18 -0
  121. data/lib/nokogiri/xml/pp/node.rb +56 -0
  122. data/lib/nokogiri/xml/processing_instruction.rb +8 -0
  123. data/lib/nokogiri/xml/reader.rb +112 -0
  124. data/lib/nokogiri/xml/relax_ng.rb +32 -0
  125. data/lib/nokogiri/xml/sax.rb +4 -0
  126. data/lib/nokogiri/xml/sax/document.rb +164 -0
  127. data/lib/nokogiri/xml/sax/parser.rb +115 -0
  128. data/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  129. data/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  130. data/lib/nokogiri/xml/schema.rb +63 -0
  131. data/lib/nokogiri/xml/syntax_error.rb +47 -0
  132. data/lib/nokogiri/xml/text.rb +9 -0
  133. data/lib/nokogiri/xml/xpath.rb +10 -0
  134. data/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  135. data/lib/nokogiri/xml/xpath_context.rb +16 -0
  136. data/lib/nokogiri/xslt.rb +52 -0
  137. data/lib/nokogiri/xslt/stylesheet.rb +25 -0
  138. data/lib/xsd/xmlparser/nokogiri.rb +90 -0
  139. data/nokogiri_help_responses.md +40 -0
  140. data/tasks/cross_compile.rb +152 -0
  141. data/tasks/nokogiri.org.rb +18 -0
  142. data/tasks/test.rb +94 -0
  143. data/test/css/test_nthiness.rb +159 -0
  144. data/test/css/test_parser.rb +303 -0
  145. data/test/css/test_tokenizer.rb +198 -0
  146. data/test/css/test_xpath_visitor.rb +85 -0
  147. data/test/decorators/test_slop.rb +16 -0
  148. data/test/files/2ch.html +108 -0
  149. data/test/files/address_book.rlx +12 -0
  150. data/test/files/address_book.xml +10 -0
  151. data/test/files/bar/bar.xsd +4 -0
  152. data/test/files/dont_hurt_em_why.xml +422 -0
  153. data/test/files/encoding.html +82 -0
  154. data/test/files/encoding.xhtml +84 -0
  155. data/test/files/exslt.xml +8 -0
  156. data/test/files/exslt.xslt +35 -0
  157. data/test/files/foo/foo.xsd +4 -0
  158. data/test/files/metacharset.html +10 -0
  159. data/test/files/noencoding.html +47 -0
  160. data/test/files/po.xml +32 -0
  161. data/test/files/po.xsd +66 -0
  162. data/test/files/shift_jis.html +10 -0
  163. data/test/files/shift_jis.xml +5 -0
  164. data/test/files/snuggles.xml +3 -0
  165. data/test/files/staff.dtd +10 -0
  166. data/test/files/staff.xml +59 -0
  167. data/test/files/staff.xslt +32 -0
  168. data/test/files/tlm.html +850 -0
  169. data/test/files/valid_bar.xml +2 -0
  170. data/test/helper.rb +173 -0
  171. data/test/html/sax/test_parser.rb +139 -0
  172. data/test/html/sax/test_parser_context.rb +48 -0
  173. data/test/html/test_builder.rb +165 -0
  174. data/test/html/test_document.rb +472 -0
  175. data/test/html/test_document_encoding.rb +138 -0
  176. data/test/html/test_document_fragment.rb +255 -0
  177. data/test/html/test_element_description.rb +101 -0
  178. data/test/html/test_named_characters.rb +14 -0
  179. data/test/html/test_node.rb +193 -0
  180. data/test/html/test_node_encoding.rb +27 -0
  181. data/test/test_convert_xpath.rb +135 -0
  182. data/test/test_css_cache.rb +45 -0
  183. data/test/test_encoding_handler.rb +46 -0
  184. data/test/test_memory_leak.rb +72 -0
  185. data/test/test_nokogiri.rb +133 -0
  186. data/test/test_reader.rb +425 -0
  187. data/test/test_soap4r_sax.rb +52 -0
  188. data/test/test_xslt_transforms.rb +193 -0
  189. data/test/xml/node/test_save_options.rb +28 -0
  190. data/test/xml/node/test_subclass.rb +44 -0
  191. data/test/xml/sax/test_parser.rb +338 -0
  192. data/test/xml/sax/test_parser_context.rb +113 -0
  193. data/test/xml/sax/test_push_parser.rb +156 -0
  194. data/test/xml/test_attr.rb +65 -0
  195. data/test/xml/test_attribute_decl.rb +86 -0
  196. data/test/xml/test_builder.rb +227 -0
  197. data/test/xml/test_cdata.rb +50 -0
  198. data/test/xml/test_comment.rb +29 -0
  199. data/test/xml/test_document.rb +697 -0
  200. data/test/xml/test_document_encoding.rb +26 -0
  201. data/test/xml/test_document_fragment.rb +192 -0
  202. data/test/xml/test_dtd.rb +107 -0
  203. data/test/xml/test_dtd_encoding.rb +33 -0
  204. data/test/xml/test_element_content.rb +56 -0
  205. data/test/xml/test_element_decl.rb +73 -0
  206. data/test/xml/test_entity_decl.rb +122 -0
  207. data/test/xml/test_entity_reference.rb +21 -0
  208. data/test/xml/test_namespace.rb +70 -0
  209. data/test/xml/test_node.rb +917 -0
  210. data/test/xml/test_node_attributes.rb +34 -0
  211. data/test/xml/test_node_encoding.rb +107 -0
  212. data/test/xml/test_node_reparenting.rb +334 -0
  213. data/test/xml/test_node_set.rb +742 -0
  214. data/test/xml/test_parse_options.rb +52 -0
  215. data/test/xml/test_processing_instruction.rb +30 -0
  216. data/test/xml/test_reader_encoding.rb +126 -0
  217. data/test/xml/test_relax_ng.rb +60 -0
  218. data/test/xml/test_schema.rb +94 -0
  219. data/test/xml/test_syntax_error.rb +12 -0
  220. data/test/xml/test_text.rb +47 -0
  221. data/test/xml/test_unparented_node.rb +381 -0
  222. data/test/xml/test_xpath.rb +237 -0
  223. data/test/xslt/test_custom_functions.rb +94 -0
  224. data/test/xslt/test_exception_handling.rb +37 -0
  225. metadata +548 -0
data/.autotest ADDED
@@ -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
data/.gemtest ADDED
File without changes
data/CHANGELOG.ja.rdoc ADDED
@@ -0,0 +1,544 @@
1
+ == 1.5.0 / 2011年7月1日
2
+
3
+ * Notes
4
+
5
+ * See changelog from 1.4.7
6
+
7
+ * Features
8
+
9
+ * extracted sets of Node::SaveOptions into Node::SaveOptions::DEFAULT_{X,H,XH}TML (refactor)
10
+
11
+ * Bugfixes
12
+
13
+ * default output of XML on JRuby is no longer formatted due to
14
+ inconsistent whitespace handling. #415
15
+ * (JRuby) making empty NodeSets with null `nodes` member safe to operate on. #443
16
+ * Fix a bug in advanced encoding detection that leads to partially
17
+ duplicated document when parsing an HTML file with unknown
18
+ encoding.
19
+ * Add support for <meta charset="...">.
20
+
21
+
22
+ == 1.5.0 beta3 2010年12月2日
23
+
24
+ * 註
25
+
26
+ * JRubyでの性能改善
27
+ * 1.4.4からの変更点を参照
28
+
29
+ * バグの修正
30
+
31
+ * Node#inner_textはnilを返さなくなった. (JRuby) #264
32
+
33
+ == 1.5.0 beta2 2010年7月30日
34
+
35
+ * 註
36
+
37
+ * 1.4.3からの変更点を参照
38
+
39
+ == 1.5.0 beta1 2010年5月22日
40
+
41
+ * 註
42
+
43
+ * 新しいピュアJavaバックエンドによりJRubyサポートを追加
44
+
45
+ * 廃止
46
+
47
+ * Ruby 1.8.6は非推奨となった. インストールできるかもしれないが、正式なサポートは終了.
48
+ * LibXML 2.6.16および古いバージョンは非推奨. インストールできない.
49
+ * FFIサポートは削除された.
50
+
51
+ === 1.4.7 / 2011年7月1日
52
+
53
+ * バグの修正
54
+
55
+ * エンコーディング宣言のないHTMLファイルで部分的に重複したドキュメントが生成される問題を修正した. #478
56
+
57
+ === 1.4.6 / 2011年6月19日
58
+
59
+ * ノート
60
+
61
+ * このバージョンは、1.4.5と機能的に同じです
62
+ * Rubyの1.8.6のサポートが復元されている
63
+
64
+ === 1.4.5 / 未リリース
65
+
66
+ * 新機能
67
+
68
+ * Nokogiri::HTML::Document#title アクセサメソッドでHTML文書のタイトルを読み書きできる
69
+
70
+ * バグの修正
71
+
72
+ * Node#serialize とその仲間達はSaveOptionオブジェクトを受け入れる
73
+ * Nokogiri::CSS::Parser has-a Nokogiri::CSS::Tokenizer
74
+ * [JRUBY+FFIのみ] 「弱い参照」はスレッドセーフになった. #355
75
+ * HTML::SAX::Parserから呼ばれるstart_element()コールバックのattributes引数はHTML::XML::Parserによるエミュレートコールバックと同じく連想配列になった. rel. #356
76
+ * HTML::SAX::Parserのparse*()メソッドはXML::SAX::Parser同様に渡されたブロックをコールバックするようになった.
77
+ * HTMLパーサーのエンコーディング判定をlibxml2の仕様を超えて拡張・改善した. (XML宣言のencodingを認識、非ASCII文字出現後のmetaタグも文字化けを生じずに反映)
78
+ * Document#remove_namespaces! は名前空間付きの属性に対応した. #396
79
+
80
+ === 1.4.4 2010年11月15日
81
+
82
+ * 新機能
83
+
84
+ * XML::Node#children=ノード内のhtml reparented node(s)を返す事によって親の変更ができる。
85
+ * XSLT はfunction extensionsをサポート。#336
86
+ * XPath はパラメーター置換を結合する. #329
87
+ * XML::Reader node typeを一定化させる. #369
88
+ * SAX Parser context は行とコラムの両方の情報を提供する
89
+
90
+ * バグの修正
91
+
92
+ * XML::DTD#attributes は属性が存在しない際、nilの代わりに空のハッシュを返す
93
+ * XML::DTD#{keys,each} は文字通りに機能するようになった #324
94
+ * {XML,HTML}::DocumentFragment.{new,parse} 行送りと末尾の空白を除去しなくなった #319
95
+ * XML::Node#{add_child,add_previous_sibling,add_next_sibling,replace} は文字列を見送る際にNodeSetを返す
96
+ * 不確定タグはフレグメント内で要、不要に関係なく解析される #315
97
+ * XML::Node#{replace,add_previous_sibling,add_next_sibling} libxmlのtext node merging に関わるedge caseを修正する #308
98
+ * xpath handler argument が整列している最中に起こるGCでのsegfaultを修正 #345
99
+ * Slop decoratorが既に確定された定義と共に正常に機能させるための便宜上の処置 #330
100
+ * 子ノードが複製される際に起こるメモリ漏れの修正 #353
101
+ * an+b記号の無使用時に発生するoff-by-oneバグとnth-last-{child,of-type} CSSセレクターの修正 #354
102
+ * 非名前空間属性がSAX::Document#start_elementへパスできるように修正 #356
103
+ * libxml2 in-contextの解析バグの処置  #362
104
+ * フレグメント内のノードの中にあるNodeSet#wrapの修正 #331
105
+
106
+ === 1.4.3 2010年7月28日
107
+
108
+ * 新しい機能
109
+
110
+ * XML::Reader#empty_element? - 子の無いエレメントにtrueを返す  #262
111
+ * Node#remove_namespaces! - 1.4.2では 名前空間のみを取り除いていたが、
112
+ 1.4.3 では名前空間及び、名前空間宣言も取り除く #294
113
+ * NodeSet#{at_xpath,at_css,>} はNodeの同名メソッドと同様の動作
114
+
115
+ * バグの修正
116
+
117
+ * XML::NodeSet#{include?,delete,push} はXML::Namespaceを受入れる
118
+ * XML::Document#parse - 1.4.3より文書内の文脈を解析する機能を追加
119
+ * XML::DocumentFragment#inner_html= 文脈解析を共に実行する #298, #281
120
+ * lib/nokogiri/css/parser.y はCSSと疑似選別の両方を機能
121
+ * 演算によって近隣に存在する併合型ノードへの遊離問題の有無に関わらず、一切の
122
+ 弊害なしにテキストノードの繰り返しが実行可能  #283
123
+ * xmlFirstElementChild et al.による libxml2バージョンでの不適合性を修正 #303
124
+ * XML::Attr#add_namespace (!)文字通りの機能実現!  #252
125
+ * HTML::DocumentFragment が文字列に存在するエンコードを使用 #305
126
+ * CSS3の間接セレクタ"E ~ F G"がXPathの"//F//G[preceding-sibling::E]"へと
127
+ 誤変換されてしまうのを修正
128
+
129
+ === 1.4.2 2010年5月22日
130
+
131
+ * 新機能
132
+
133
+ * XML::Node#parse 定義されたコンテキストノードでXML 又はHTMLのフレグメント
134
+ を解析する
135
+ * XML::Node#namespacesが子ノードとその祖先ノード内で定義された全ての名前空間
136
+ を返すようになった(以前は祖先ノードの名前空間は返されなかった)
137
+ * XML::Node内にEnumerableを追加
138
+ * Nokogiri::XML::Schema#validate 与えられたファイル名が引き渡された時、
139
+ Nokogiri::XML::Schema#validateはxmlSchemaValidateFileを使用する
140
+ (時間短縮化とメモリーの能率化の理由を基にファイル名での引き渡しメソッドを
141
+ 採用) GH #219
142
+ * XML::Document#create_entnty は新規のEntityDecl のオブジェクトを生成する
143
+ GH #174
144
+ * JRuby FFI implementationでは、従来まで使用されたObjectSpace._id2refの代わり
145
+ にCharles Nutterのrocking Weakling gemを使用に変更
146
+ * Nokogiri::XML::Node#first_element_child は一番最初のELEMENT子ノードを返す
147
+ * Nokogiri::XML::Node#last_element_child は最後のELEMENT子ノードを返す
148
+ * Nokogiri::XML::Node#elements は全てのELEMENT子ノードを返す
149
+ * Nokogiri::XML::Node#add_child, #add_previous_sibling, #before,
150
+ #add_next_sibling, #after, #inner_html, #swap, #replaceはNode,
151
+ DocumentFragment, NodeSetおよびマークアップ文字列を受け付ける
152
+ * Node#fragment? はノードがDocumentFragmentかどうかを示す
153
+
154
+ * バグの修正
155
+
156
+ * ドキュメント内にデコレータがある場合、XML::NodeSet は常にデコレータされる GH #198
157
+ * XML::NodeSet#slice がノードセットよりも長いoffset+lengthを問題なく処理する
158
+ GH #200
159
+ * XML::Node#content=はノードとその直前に記述されている内容を支障なく切り離す
160
+ GH #203
161
+ * XML::Node#namespace= はnilを一つのパラメーターと扱って取得する
162
+ * XML::Node#xpath はNodeSetのオブジェクト以外のオブジェクトを返す GH #208
163
+ * XSLT::StyleSheet#transformはパラメーターのハッシュを受け入れる GH #223
164
+ * CSSのnot()の疑似セレクタの修正  GH #205
165
+ * XML::Builder はノードらが切り離されても破壊しない(vihaiの協力に感謝)
166
+ GH #228
167
+ * SAX parser経由でエンコードを強制することが出来る  Eugene Pimenovに感謝!
168
+ GH #204
169
+ * XML::DocumentFragment はML::Node#parse を使用して子を限定する
170
+ * XML Reader内のメモリリーク修正  sdorさん、ありがとう! GH#244
171
+ * Node#replaceはRDocの通り新しい子ノードを返す(selfを返していた)
172
+
173
+ * ノート
174
+
175
+ * 今日4月18日現在、Windows gems は libxml 2.7.7 とlibxslt
176
+ 1.1.26にDLLsを標準装備しています。このリリース以前にも既にDLLsはlibxml
177
+ 2.7.3 と libxslt 1.1.24に標準装備済み。
178
+
179
+ === 1.4.1 2009年12月10日
180
+
181
+ * 新しい機能
182
+ * Nokogiri::LIBXML_ICONV_ENABLED を追加
183
+ * Node#attr は Node#[] のエイリアス定義に変更
184
+ * XML::Node#next_element を追加
185
+ * 直接の子ノードを検索するための Node#> を追加
186
+ * XML::NodeSet#reverse を追加
187
+ * 以下のfragment supportを追加
188
+   Node#add_child
189
+   Node#add_next_sibling
190
+ Node#add_previous_sibling
191
+   Node#replace
192
+ * XML::Node#previous_element を追加
193
+ * nokogiriがRubinius でサポートされるようになった
194
+ * CSS selector の :has() が使用可能になった
195
+ * XML::NodeSet#filter() を追加
196
+ * XML::Node.next= は add_next_sibling の alias へ変更
197
+ * XML::Node.previous= は add_previous_sibling の alias へ変更
198
+
199
+ * バグの修正
200
+ * XMLのフラグメントに名前空間が存在する場合のみ、DocumentFragmentを作る際に、
201
+ 例外が投げられなくなった
202
+ * DocumentFragment内で子ノードが存在する場合、
203
+ Node#matches?が機能するようになった GH #158
204
+ * Documentは add_namespace()を限定すべきではないので削除GH #169
205
+ * XPath クエリは名前空間の宣言を変換するがsegvではない。
206
+ * Node#replace は他のドキュメントのノードが使えるようになった
207
+ * XML::Document#collect_namespaces を追加
208
+ * SOAP4R のアダプター内のバグ修正
209
+ * XML::Node#next_element 内のバグ修正
210
+ * WindowsでのJRuby の LOAD_PATH を修正 GH #160
211
+ * XSLT#apply_toは "output method"の値を使用する(richardlehaneに感謝)
212
+ * 新しい文字列の先頭にくるテキストノードを含んだフレグメントが 正確に
213
+ 解析出来るようになった GH #178
214
+
215
+ === 1.4.0 2009年10月30日
216
+
217
+ * 今日はノコギリの満一歳のお誕生日です
218
+
219
+ * 新しい機能
220
+ * Node#at_xpath はXPath式に適合するNodeSetの一番最初の要素を返す
221
+ * Node#at_css はCSSセレクターに適合するNodeSetの一番最初の要素を返す
222
+ * NodeSet#| はNodeSet同士を合成する GH #119 (Serabe ありがとう!)
223
+ * NodeSet#inspect の出力をより美しくした
224
+ * Node#inspect の出力をよりrubyらしくした
225
+ * XML::DTD#external_id を追加
226
+ * XML::DTD#system_id を追加
227
+ * XML::ElementContent はDTD要素のコンテンツを有効化する
228
+ * Nokogiri::XML::Builder内での名前空間宣言用のサポートを改良
229
+ * XML::Node#external_subsetを追加
230
+ * XML::Node#create_external_subsetを追加
231
+ * XML::Node#create_internal_subsetを追加
232
+ * XML Builderは生成されていないstringsを付加出来る様になった
233
+ (GH #141, patch from dudleyf)
234
+ * XML::SAX::ParserContext を追加
235
+ * XML::Document#remove_namespaces! は名前空間を使いこなせない人たち用の措置
236
+
237
+ * バグの修正
238
+
239
+ * HTMLドキュメントが メタエンコーディングのタグを宣言しない時、
240
+ nilを返すようになった GH #115
241
+ * ENV['PATH'] を調節する為に、RbConfig::CONFIG['host_os']を使用できるように
242
+ なった GH #113
243
+ * NodeSet#searchが更に効率的になった GH #119 (Serabe!に感謝します)
244
+ * NodeSet#xpathがcustom xpath機能を取り扱える様になった
245
+ * XML::Reader が現時点のノード用に属性を取得する際に、
246
+ SEGVを修正するようになった
247
+ * Node#inner_html がNode#to_html と同じ独立変数を受け入れるようになった
248
+ GH #117
249
+ * DocumentFragment#css は子ノードへ委任するようになった GH #123
250
+ * NodeSet#[]がNodeSet#lengthより大きいスライスでも機能するようになった
251
+ GH #131
252
+ * 新たな親ノードの名前空間を維持出来るようになった GH #134
253
+ * XML::Document をNodeSetに追加する際のSEGVが修正された
254
+ * XML::SyntaxError が複製可能になった
255
+
256
+ * 廃棄予定
257
+
258
+ * Hpricot用の互換性レイヤーを削除
259
+
260
+ === 1.3.3 / 2009年7月26日
261
+
262
+ * 新しい機能
263
+
264
+ * NodeSet#children 全ての子ノードを返すようになった
265
+
266
+ * バグの修正
267
+
268
+ * libxml-ruby のグローバ ルエラー ハンドラー に優先するようになった
269
+ * ParseOption#strict を修正
270
+ * 空文字列を Node#inner_html= に与えた時に生じたSEGVを修正 GH #88
271
+ * Ruby 1.9 では文字列のエンコーディングをUTF-8になるようにした
272
+ * ドキュメントの根ノードから違うドキュメントの根ノードに移動した時に生じた
273
+ SEGVを修正 GH #91
274
+ * ノードをインスタンス化する時のO(n)のペナルティーを修正 GH #101
275
+ * XMLのドキュメントをHTMLのドキュメントとして出力出来るようになった
276
+
277
+ * 廃棄予定
278
+
279
+ * Hpricotの互換性レイヤーがNokogiriの1.4.0で除去される予定
280
+
281
+ === 1.3.2 / 2009年6月22日
282
+
283
+ * 新しい機能
284
+
285
+ * Nokogiri::XML::DTD#validate はドキュメントを検証できるようになった
286
+
287
+ * バグの修正
288
+
289
+ * Nokogiri::XML::NodeSet#search はトップレベルのノードを検索するようになった
290
+ GH #73
291
+ * Nokogiri::XML::Documentからメソッドに関係する名前空間を取り除いた
292
+ * 2回同じ名前空間が追加されたときSEGVする問題を修正した
293
+ * Snow Leopard で Nokogiri が動くようになった GH #79
294
+ * メーリングリストはGoogle Groupsの以下のURLに移動した
295
+ http://groups.google.com/group/nokogiri-talk
296
+ * HTML フラグメントはコメントとCDATAを正確に扱うようになった
297
+ * Nokogiri::XML::Document#cloneはdupのaliasになった
298
+
299
+ * 廃棄予定
300
+
301
+ * Nokogiri::XML::SAX::Document#start_element_nsは廃棄予定なので
302
+ Nokogiri::XML::SAX::Document#start_element_namespaceを代わりに使用して下さい
303
+ * Nokogiri::XML::SAX::Document#end_element_nsは廃棄予定なので
304
+ Nokogiri::XML::SAX::Document#end_element_namespaceを代わりに使用して下さい
305
+
306
+ === 1.3.1 / 2009年6月7日
307
+
308
+ * バグの修正
309
+
310
+ * extconf.rb は任意のRelaxNGとSchemaの機能を探すようになった
311
+ * ドキュメントのノードキャッシュに名前空間のノードが入るようになった
312
+
313
+ === 1.3.0 / 2009年5月30日
314
+
315
+ * 新しい機能
316
+
317
+ * Builderがブロックの引数の数に応じてスコープが定まるようになった
318
+ * Builderがアンダースコアで終わるメソッドをtagzと同様にサポートするようになった
319
+ * Nokogiri::XML::Node#<=> がドキュメントの位置によりノードを比較するように
320
+ なった
321
+ * Nokogiri::XML::Node#matches?が与えられたセレクタ内でノードがあればtrue
322
+ を返すようになった
323
+ * Nokogiri::XML::Node#ancestors がNokogiri::XML::NodeSetオブジェクトを返すようになった
324
+ * Nokogiri::XML::Node#ancestorsがオプションのセレクタに対応する親をマッチする
325
+ ようになった
326
+ * Nokogiri::HTML::Document#meta_encoding がメタデータのエンコードを返すように
327
+ なった
328
+ * Nokogiri::HTML::Document#meta_encoding= でメタデータのエンコードを
329
+ 設定できるようになった
330
+ * Nokogiri::XML::Document#encoding= でドキュメントのエンコードを
331
+ 設定できるようになった
332
+ * Nokogiri::XML::Schema でドキュメントがXSDのスキーマに沿って記述されているか
333
+ を検証できるようになった
334
+ * Nokogiri::XML::RelaxNG でドキュメントがRelaxNGのスキーマに沿って
335
+ 記述されているかを検証できるようになった
336
+ * Nokogiri::HTML::ElementDescription はHTML要素の説明フェッチ動作するよう
337
+ になった
338
+ * Nokogiri::XML::Node#descriptionは ノードの説明をフェッチ動作するよう
339
+ になった
340
+ * Nokogiri::XML::Node#accept は Visitor パターンを実行するようになった
341
+ * 簡単にドキュメントを解析するコマンド bin/nokogiri を追加
342
+ (Yataka HARAさんに感謝感激)
343
+ * Nokogiri::XML::NodeSetが更にArrayとEnumerableの演算を
344
+ サポートするようになった:
345
+ index, delete, slice, - (差分), + (連結), & (共通部分),
346
+ push, pop, shift, ==
347
+ * Nokogiri.XML, Nokogiri.HTML はNokogiri::XML::ParseOptions objectと一緒に
348
+ 呼び出されるブロックを受け入れるようになった
349
+ * Nokogiri::XML::Node#namespace は Nokogiri::XML::Namespaceを返すようになった
350
+ * Nokogiri::XML::Node#namespaceはノードの名前空間を設定するようになった
351
+ * FFI 経由で JRuby 1.3.0 をサポートするようになった
352
+
353
+ * バグの修正
354
+
355
+ * nilがCDATAsonstructorに渡される際の問題を修正
356
+ * Fragment メソッドが正規表現を抜け出させるようになった
357
+ (Joelさんに感謝感激) (LH #73)
358
+ * Builder スコープのLH #61, LH #74, LH #70に関しての様々な問題を修正
359
+ * 名前空間を付け加える時、名前空間が LH#78より除去されてしまう問題を修正
360
+ * 連結しないノードが発生し、再育成してしまう問題を修正(GH#22)
361
+ * XSLT が解析中にエラーを発見し損なう問題を修正(GH#32)
362
+ * CSS selectors内での条件属性のバグ問題を修正(GH#36)
363
+ * Node#before/after/inner_html=で値なしのHTML属性が受け入れられなかった問題を
364
+ 修正 (GH#35)
365
+
366
+ === 1.2.3 / 2009年3月22日
367
+
368
+ * バグの修正
369
+
370
+ * Node#new 内にて、バグを修正する
371
+ * DocumentFragmentの作成時、名前空間に割り当てる LH #66
372
+ * Nokogiri::XML::NodeSet#dup は機能するようになった GH #10
373
+ * Nokogiri::HTMLは文字列がブランクの時、空のドキュメントで返す GH#11
374
+ * 子ノードを付加する事で、重複した名前空間の宣言を取り除く LH#67
375
+ * ビルダ方法はハッシュを第二引数とする
376
+
377
+ === 1.2.2 / 2009年3月14日
378
+
379
+ * 新しい機能
380
+
381
+ * Nokogiri は soap4r と一緒に使う事が可能。(XSD::XMLParser::Nokogiri 参照)
382
+ * Nokogiri::XML::Node#inner_html= はノードの中のHTMLをセット出来る
383
+ * NokogiriのBuilderのインタフェースの改良
384
+ * Nokogiri::XML::Node#swap は、現在のノードに新しいhtmlを交換する事が出来る
385
+
386
+
387
+ * バグの修正
388
+
389
+ * BuilderAPIのタグのネスティングを修正 (LH #41)
390
+ * Nokogiri::HTML.fragment はテキストだけのノードを適切に扱う事が出来る(LH #43)
391
+ * Nokogiri::XML::Node#before はテキストノードのはじめに挿入する事が出来る (LH #44)
392
+ * Nokogiri::XML::Node#after はテキストノードの文末に挿入する事が出来る
393
+ * Nokogiri::XML::Node#search 名前空間が自動的に登録されるようになった(LH#42)
394
+ * Nokogiri::XML::NodeSet#search 名前空間が自動的に登録されるようになった
395
+ * Nokogiri::HTML::NamedCharacters はlibxml2に委任
396
+ * Nokogiri::XML::Node#[] はSymbolを使う (LH #48)
397
+ * vasprintf にwindowsを修正 (Geffroy Couprie ありがとう!)
398
+ * Nokogiri::XML::Node#[]= はentityを符号化しない (LH #55)
399
+ * 名前空間はreparentedのノードに模写する (LH #56)
400
+ * StringのエンコードはRuby 1.9での初期設定を使用する
401
+ * Document#dup は新しいドキュメントに同じタイプを作る (LH #59)
402
+ * Document#parent は存在しない (LH #64)
403
+
404
+
405
+ === 1.2.1 / 2009年2月23日
406
+
407
+ * 修正
408
+
409
+ * CSS のセレクターのスペースを修正
410
+ * Ruby 1.9 のStringのエンコードを修正 (角谷さんに感謝!)
411
+
412
+ === 1.2.0 / 2009年2月22日
413
+
414
+ * 新しい機能
415
+ * CSSサーチが CSS3 名前空間クエリをサポートするようになった
416
+ * ルート要素での名前空間が自動的に登録されるようになった
417
+ * CSS クエリが初期設定の名前空間を使うようになった
418
+ * Nokogiri::XML::Document#encoding で文書にエンコードを使用、受け取る
419
+ * Nokogiri::XML::Document#url で文書のURLを受け取る
420
+ * Nokogiri::XML::Node#each はname属性、値を一組にし反復適用する
421
+ * Nokogiri::XML::Node#keys はすべてのname属性を受け取る
422
+ * Nokogiri::XML::Node#line は行番号をノード用に受け取る (Dirkjan Bussinkさんに感謝感激)
423
+ * Nokogiri::XML::Node#serialize は任意されたencodingパラメーターを受け入れる
424
+ * Nokogiri::XML::Node#to_html, to_xml, と to_xhtml は任意されたencodingパラメーターを受け入れる
425
+ * Nokogiri::XML::Node#to_str
426
+ * Nokogiri::XML::Node#to_xhtml でXHTML文書を生成する
427
+ * Nokogiri::XML::Node#values が全ての属性値を受け入れる
428
+ * Nokogiri::XML::Node#write_to は任意されたencodingで要素をIOオブジェクトへ書く
429
+ * Nokogiri::XML::ProcessingInstrunction.new
430
+ * Nokogiri::XML::SAX::PushParser は全てのプッシュパースに必要な解析をする
431
+
432
+ * バグの修正
433
+
434
+ * Nokogiri::XML::Document#dup を修正
435
+ * ヘッダ検知を修正. 謝々るびきちさん!
436
+ * 無効なCSS内にて解析機能を動かなくさせる原因を修正
437
+
438
+ * 廃棄予定
439
+
440
+ * Nokogiri::XML::Node.new_from_str は1.3.0にて廃棄予定
441
+
442
+ * APIの変更
443
+
444
+ * Nokogiri::HTML.fragment は XML::DocumentFragment (LH #32)で返す
445
+
446
+ === 1.1.1
447
+
448
+ * 新しい機能
449
+ * XML::Node#elem? を追加
450
+ * XML::Node#attribute_nodes を追加
451
+ * XML::Attr を追加
452
+ * XML::Node#delete を追加
453
+ * XML::NodeSet#inner_html を追加
454
+
455
+ * バグの修正
456
+
457
+ * HTML のノードを \r のエンティティを含まない
458
+ * CSS::SelectorHandler と XML::XPathHandler を除去
459
+ * XML::Node#attributes が Attr node を value値に返す
460
+ * XML::NodeSet が to_xml へ実行
461
+
462
+ === 1.1.0
463
+
464
+ * 新しい機能
465
+
466
+ * カスタム XPath 機能はある。( Nokogiri::XML::Node#xpath 参照 )
467
+ * カスタム CSS 擬似クラスと機能はある。( Nokogiri::XML::Node#css 参照 )
468
+ * Nokogiri::XML::Node#<< が作成中に子ノードを自動追加
469
+
470
+ * バグの修正
471
+
472
+ * mutex が CSS のキャッシュのアクセスをロックする
473
+ * GCC 3.3.5 のビルドに関する問題を修正
474
+ * XML::Node#to_xml が引数indentationを取る
475
+ * XML::Node#dup が引数任意のdepthを取る
476
+ * XML::Node#add_previous_sibling が新しい兄弟ノードで返す
477
+
478
+ === 1.0.7
479
+
480
+ * バグの修正
481
+
482
+ * Dike 使用時中のメモリーリークの修正
483
+ * SAX パーサーが現在 IO Stream 同時解析
484
+ * コメント nodes が独自のクラスを継承する
485
+ * Nokogiri() は Nokogiri.parse() へデリゲートする
486
+ * ENV['PATH'] に付加せれる代わりに先頭へデータ挿入される
487
+ * 複雑な CSS 内のバグを修正完了 :not selector ではありません
488
+
489
+ === 1.0.6
490
+
491
+ * 5つの修正
492
+
493
+ * XPath のパーサーが SyntaxError を生じさせ解析停止させる
494
+ * CSS のパーサーが SyntaxError を生じさせ解析停止させる
495
+ * filter() と not() hpricot の互換性を追加
496
+ * CSS が Node#search 経由で検索し、常時対応する事が出来るようになった
497
+ * CSS より XPath 変換がキャッシュに入れられるようになった
498
+
499
+ === 1.0.5
500
+
501
+ * バグフィックス
502
+
503
+ * メーリンクリストを作成
504
+ * バグファイルを作成
505
+ * Windows 内で ENV['PATH'] が存在しない場合でも、存在出来るように設定完了
506
+ * Document 内の NodeSet#[] の結果をキャッシュする
507
+
508
+ === 1.0.4
509
+
510
+ * バグフィックス
511
+
512
+ * 弱参照からドキュメント参照へのメモリー管理の変換
513
+ * メモリリークに接続
514
+ * Builderブロックが取り囲んでいるコンテキストから
515
+ メソッドの呼び出しをする事が出来る
516
+
517
+ === 1.0.3
518
+
519
+ * 5つのバグ修正
520
+
521
+ * NodeSet が to_ary へ実行
522
+ * XML::Document#parent を除去
523
+ * GCバグ修正済み (Mike は最高!)
524
+ * 1.8.5互換性の為の RARRAY_LEN 除去
525
+ * inner_html 修正済み (Yahuda に感謝)
526
+
527
+ === 1.0.2
528
+
529
+ * 1つのバグ修正
530
+
531
+ * extconf.rb は frex や racc を調べないはず
532
+
533
+ === 1.0.1
534
+
535
+ * 1つのバグ修正
536
+
537
+ * extconf.rb が libdir や prefix を検索しない事を確認済み
538
+ それによって、ports libxml/ruby が正しくリンクする (lucsky に感謝!)
539
+
540
+ === 1.0.0 / 2008-07-13
541
+
542
+ * 1つの偉大な増進
543
+
544
+ * ご誕生である