nokogiri 1.4.3.1-java → 1.4.4-java

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 (63) hide show
  1. data/CHANGELOG.ja.rdoc +26 -0
  2. data/CHANGELOG.rdoc +26 -0
  3. data/Manifest.txt +3 -0
  4. data/README.ja.rdoc +0 -4
  5. data/README.rdoc +0 -4
  6. data/Rakefile +1 -0
  7. data/bin/nokogiri +6 -1
  8. data/ext/nokogiri/depend +358 -32
  9. data/ext/nokogiri/extconf.rb +1 -3
  10. data/ext/nokogiri/nokogiri.c +2 -0
  11. data/ext/nokogiri/nokogiri.h +7 -0
  12. data/ext/nokogiri/xml_dtd.c +2 -2
  13. data/ext/nokogiri/xml_io.c +2 -2
  14. data/ext/nokogiri/xml_node.c +31 -6
  15. data/ext/nokogiri/xml_node_set.c +1 -1
  16. data/ext/nokogiri/xml_sax_parser.c +1 -1
  17. data/ext/nokogiri/xml_sax_parser_context.c +40 -0
  18. data/ext/nokogiri/xml_xpath_context.c +33 -2
  19. data/ext/nokogiri/xslt_stylesheet.c +116 -4
  20. data/lib/nokogiri/css/generated_tokenizer.rb +1 -2
  21. data/lib/nokogiri/css/xpath_visitor.rb +15 -7
  22. data/lib/nokogiri/decorators/slop.rb +5 -3
  23. data/lib/nokogiri/ffi/libxml.rb +9 -0
  24. data/lib/nokogiri/ffi/structs/xml_parser_context.rb +2 -1
  25. data/lib/nokogiri/ffi/structs/xml_parser_input.rb +19 -0
  26. data/lib/nokogiri/ffi/xml/dtd.rb +2 -2
  27. data/lib/nokogiri/ffi/xml/node.rb +9 -4
  28. data/lib/nokogiri/ffi/xml/sax/parser_context.rb +12 -0
  29. data/lib/nokogiri/ffi/xml/xpath_context.rb +5 -0
  30. data/lib/nokogiri/ffi/xslt/stylesheet.rb +21 -1
  31. data/lib/nokogiri/html/document.rb +3 -3
  32. data/lib/nokogiri/html/document_fragment.rb +19 -17
  33. data/lib/nokogiri/version.rb +1 -1
  34. data/lib/nokogiri/xml/document.rb +26 -1
  35. data/lib/nokogiri/xml/document_fragment.rb +2 -2
  36. data/lib/nokogiri/xml/dtd.rb +11 -0
  37. data/lib/nokogiri/xml/node.rb +156 -45
  38. data/lib/nokogiri/xml/node_set.rb +2 -2
  39. data/lib/nokogiri/xml/reader.rb +36 -0
  40. data/lib/nokogiri/xml/sax/document.rb +4 -2
  41. data/lib/nokogiri/xslt.rb +9 -5
  42. data/tasks/cross_compile.rb +24 -2
  43. data/test/css/test_parser.rb +29 -18
  44. data/test/decorators/test_slop.rb +16 -0
  45. data/test/html/test_document_fragment.rb +46 -3
  46. data/test/html/test_node.rb +9 -0
  47. data/test/xml/sax/test_parser.rb +11 -3
  48. data/test/xml/sax/test_parser_context.rb +50 -0
  49. data/test/xml/sax/test_push_parser.rb +18 -1
  50. data/test/xml/test_document_fragment.rb +14 -2
  51. data/test/xml/test_dtd.rb +15 -0
  52. data/test/xml/test_node.rb +31 -2
  53. data/test/xml/test_node_reparenting.rb +59 -31
  54. data/test/xml/test_node_set.rb +13 -0
  55. data/test/xml/test_xpath.rb +32 -0
  56. data/test/xslt/test_custom_functions.rb +94 -0
  57. metadata +495 -516
  58. data/ext/nokogiri/libcharset-1.dll +0 -0
  59. data/ext/nokogiri/libexslt.dll +0 -0
  60. data/ext/nokogiri/libiconv-2.dll +0 -0
  61. data/ext/nokogiri/libxml2.dll +0 -0
  62. data/ext/nokogiri/libxslt.dll +0 -0
  63. data/ext/nokogiri/zlib1.dll +0 -0
@@ -100,13 +100,13 @@ module Nokogiri
100
100
  def test_xml_fragment_with_leading_whitespace
101
101
  doc = " <div>b</div> "
102
102
  fragment = Nokogiri::XML::Document.new.fragment(doc)
103
- assert_equal "<div>b</div>", fragment.to_s
103
+ assert_equal " <div>b</div> ", fragment.to_s
104
104
  end
105
105
 
106
106
  def test_xml_fragment_with_leading_whitespace_and_newline
107
107
  doc = " \n<div>b</div> "
108
108
  fragment = Nokogiri::XML::Document.new.fragment(doc)
109
- assert_equal "<div>b</div>", fragment.to_s
109
+ assert_equal " \n<div>b</div> ", fragment.to_s
110
110
  end
111
111
 
112
112
  def test_fragment_children_search
@@ -175,6 +175,18 @@ module Nokogiri
175
175
  end
176
176
  assert fragment.children.respond_to?(:awesome!), fragment.children.class
177
177
  end
178
+
179
+ def test_for_libxml_in_context_fragment_parsing_bug_workaround
180
+ 10.times do
181
+ begin
182
+ fragment = Nokogiri::XML.fragment("<div></div>")
183
+ parent = fragment.children.first
184
+ child = parent.parse("<h1></h1>").first
185
+ parent.add_child child
186
+ end
187
+ GC.start
188
+ end
189
+ end
178
190
  end
179
191
  end
180
192
  end
data/test/xml/test_dtd.rb CHANGED
@@ -25,11 +25,26 @@ module Nokogiri
25
25
  end
26
26
  end
27
27
 
28
+ def test_empty_attributes
29
+ dtd = Nokogiri::HTML("<html></html>").internal_subset
30
+ assert_equal Hash.new, dtd.attributes
31
+ end
32
+
28
33
  def test_attributes
29
34
  assert_equal ['width'], @dtd.attributes.keys
30
35
  assert_equal '0', @dtd.attributes['width'].default
31
36
  end
32
37
 
38
+ def test_keys
39
+ assert_equal ['width'], @dtd.keys
40
+ end
41
+
42
+ def test_each
43
+ hash = {}
44
+ @dtd.each { |key, value| hash[key] = value }
45
+ assert_equal @dtd.attributes, hash
46
+ end
47
+
33
48
  def test_namespace
34
49
  assert_raise NoMethodError do
35
50
  @dtd.namespace
@@ -82,18 +82,47 @@ module Nokogiri
82
82
  assert_equal 0, list.length
83
83
  end
84
84
 
85
+ def test_parse_config_option
86
+ node = @xml.root
87
+ options = nil
88
+ node.parse("<item></item>") do |config|
89
+ options = config
90
+ end
91
+ assert_equal Nokogiri::XML::ParseOptions::DEFAULT_XML, options.to_i
92
+ end
93
+
85
94
  # descriptive, not prescriptive.
86
95
  def test_parse_invalid_html_markup_results_in_empty_nodeset
87
96
  doc = Nokogiri::HTML("<html></html>")
88
97
  nodeset = doc.root.parse "<div><div>a</div><snippet>b</snippet></div>"
89
98
  assert_equal 1, doc.errors.length # "Tag snippet invalid"
99
+ assert_equal 1, nodeset.length
100
+ end
101
+
102
+ def test_node_context_parsing_of_malformed_html_fragment_with_recover_is_corrected
103
+ doc = HTML.parse "<html><body><div></div></body></html>"
104
+ context_node = doc.at_css "div"
105
+ nodeset = context_node.parse("<div </div>") do |options|
106
+ options.recover
107
+ end
108
+ assert_equal "<div></div>", nodeset.to_s
109
+ assert_equal 1, doc.errors.length
110
+ assert_equal 1, nodeset.length
111
+ end
112
+
113
+ def test_node_context_parsing_of_malformed_html_fragment_without_recover_is_not_corrected
114
+ doc = HTML.parse "<html><body><div></div></body></html>"
115
+ context_node = doc.at_css "div"
116
+ nodeset = context_node.parse("<div </div>") do |options|
117
+ options.strict
118
+ end
119
+ assert_equal 1, doc.errors.length
90
120
  assert_equal 0, nodeset.length
91
121
  end
92
122
 
93
123
  def test_parse_error_list
94
124
  error_count = @xml.errors.length
95
- list = @xml.root.parse('<hello>')
96
- assert_equal 0, list.length
125
+ @xml.root.parse('<hello>')
97
126
  assert(error_count < @xml.errors.length, "errors should have increased")
98
127
  end
99
128
 
@@ -50,21 +50,22 @@ module Nokogiri
50
50
  # end
51
51
 
52
52
  {
53
- :add_child => {:target => "/root/a1", :returns => :reparented, :children_tags => %w[text b1 b2]},
54
- :<< => {:target => "/root/a1", :returns => :reparented, :children_tags => %w[text b1 b2]},
53
+ :add_child => {:target => "/root/a1", :returns_self => false, :children_tags => %w[text b1 b2]},
54
+ :<< => {:target => "/root/a1", :returns_self => false, :children_tags => %w[text b1 b2]},
55
55
 
56
- :replace => {:target => "/root/a1/node()", :returns => :reparented, :children_tags => %w[b1 b2]},
57
- :swap => {:target => "/root/a1/node()", :returns => :self, :children_tags => %w[b1 b2]},
56
+ :replace => {:target => "/root/a1/node()", :returns_self => false, :children_tags => %w[b1 b2]},
57
+ :swap => {:target => "/root/a1/node()", :returns_self => true, :children_tags => %w[b1 b2]},
58
58
 
59
- :inner_html= => {:target => "/root/a1", :returns => :self, :children_tags => %w[b1 b2]},
59
+ :children= => {:target => "/root/a1", :returns_self => false, :children_tags => %w[b1 b2]},
60
+ :inner_html= => {:target => "/root/a1", :returns_self => true, :children_tags => %w[b1 b2]},
60
61
 
61
- :add_previous_sibling => {:target => "/root/a1/text()", :returns => :reparented, :children_tags => %w[b1 b2 text]},
62
- :previous= => {:target => "/root/a1/text()", :returns => :reparented, :children_tags => %w[b1 b2 text]},
63
- :before => {:target => "/root/a1/text()", :returns => :self, :children_tags => %w[b1 b2 text]},
62
+ :add_previous_sibling => {:target => "/root/a1/text()", :returns_self => false, :children_tags => %w[b1 b2 text]},
63
+ :previous= => {:target => "/root/a1/text()", :returns_self => false, :children_tags => %w[b1 b2 text]},
64
+ :before => {:target => "/root/a1/text()", :returns_self => true, :children_tags => %w[b1 b2 text]},
64
65
 
65
- :add_next_sibling => {:target => "/root/a1/text()", :returns => :reparented, :children_tags => %w[text b1 b2]},
66
- :next= => {:target => "/root/a1/text()", :returns => :reparented, :children_tags => %w[text b1 b2]},
67
- :after => {:target => "/root/a1/text()", :returns => :self, :children_tags => %w[text b1 b2]}
66
+ :add_next_sibling => {:target => "/root/a1/text()", :returns_self => false, :children_tags => %w[text b1 b2]},
67
+ :next= => {:target => "/root/a1/text()", :returns_self => false, :children_tags => %w[text b1 b2]},
68
+ :after => {:target => "/root/a1/text()", :returns_self => true, :children_tags => %w[text b1 b2]}
68
69
  }.each do |method, params|
69
70
 
70
71
  before do
@@ -95,11 +96,12 @@ module Nokogiri
95
96
  end
96
97
 
97
98
  it "returns the expected value" do
98
- if params[:returns] == :self
99
- sendee = @doc.at_xpath(params[:target])
100
- sendee.send(method, @other_node).must_equal sendee
99
+ sendee = @doc.at_xpath(params[:target])
100
+ result = sendee.send(method, @other_node)
101
+ if params[:returns_self]
102
+ result.must_equal sendee
101
103
  else
102
- @doc.at_xpath(params[:target]).send(method, @other_node).must_equal @other_node
104
+ result.must_equal @other_node
103
105
  end
104
106
  end
105
107
  end
@@ -110,6 +112,17 @@ module Nokogiri
110
112
  @doc.at_xpath(params[:target]).send(method, @fragment_string)
111
113
  @doc.xpath("/root/a1/node()").collect {|n| n.name}.must_equal params[:children_tags]
112
114
  end
115
+
116
+ it "returns the expected value" do
117
+ sendee = @doc.at_xpath(params[:target])
118
+ result = sendee.send(method, @fragment_string)
119
+ if params[:returns_self]
120
+ result.must_equal sendee
121
+ else
122
+ result.must_be_kind_of Nokogiri::XML::NodeSet
123
+ result.to_html.must_equal @fragment_string
124
+ end
125
+ end
113
126
  end
114
127
  describe "passed a fragment" do
115
128
  it "inserts the fragment roots in the proper position" do
@@ -153,18 +166,6 @@ module Nokogiri
153
166
  end
154
167
 
155
168
  describe "ad hoc node reparenting behavior" do
156
- before do
157
- @xml = Nokogiri::XML "<root><a1>First node</a1><a2>Second node</a2><a3>Third node</a3></root>"
158
- @html = Nokogiri::HTML(<<-eohtml)
159
- <html>
160
- <head></head>
161
- <body>
162
- <div class='baz'><a href="foo" class="bar">first</a></div>
163
- </body>
164
- </html>
165
- eohtml
166
- end
167
-
168
169
  describe "#add_child" do
169
170
  describe "given a new node with a namespace" do
170
171
  it "keeps the namespace" do
@@ -223,7 +224,34 @@ module Nokogiri
223
224
  end
224
225
  end
225
226
 
227
+ describe "#add_previous_sibling" do
228
+ it "should not merge text nodes during the operation" do
229
+ xml = Nokogiri::XML %Q(<root>text node</root>)
230
+ replacee = xml.root.children.first
231
+ replacee.add_previous_sibling "foo <p></p> bar"
232
+ assert_equal "foo <p></p> bartext node", xml.root.children.to_html
233
+ end
234
+ end
235
+
236
+ describe "#add_next_sibling" do
237
+ it "should not merge text nodes during the operation" do
238
+ xml = Nokogiri::XML %Q(<root>text node</root>)
239
+ replacee = xml.root.children.first
240
+ replacee.add_next_sibling "foo <p></p> bar"
241
+ assert_equal "text nodefoo <p></p> bar", xml.root.children.to_html
242
+ end
243
+ end
244
+
226
245
  describe "#replace" do
246
+ describe "a text node with a text node" do
247
+ it "should not merge text nodes during the operation" do
248
+ xml = Nokogiri::XML %Q(<root>text node</root>)
249
+ replacee = xml.root.children.first
250
+ replacee.replace "new text node"
251
+ assert_equal "new text node", xml.root.children.first.content
252
+ end
253
+ end
254
+
227
255
  describe "when a document has a default namespace" do
228
256
  before do
229
257
  @fruits = Nokogiri::XML(<<-eoxml)
@@ -260,10 +288,10 @@ module Nokogiri
260
288
  </root>
261
289
  EOHTML
262
290
 
263
- root = doc.at("root")
264
- a = root.at("a")
265
- b = a.at("b")
266
- c = a.at("c")
291
+ assert root = doc.at("root")
292
+ assert a = root.at("a")
293
+ assert b = a.at("b")
294
+ assert c = a.at("c")
267
295
  a.add_next_sibling(b.unlink)
268
296
  c.unlink
269
297
  end
@@ -431,6 +431,19 @@ module Nokogiri
431
431
  assert_equal 'employee', @xml.search("//wrapper").first.children[0].name
432
432
  end
433
433
 
434
+ def test_wrap_a_fragment
435
+ frag = Nokogiri::XML::DocumentFragment.parse <<-EOXML
436
+ <employees>
437
+ <employee>hello</employee>
438
+ <employee>goodbye</employee>
439
+ </employees>
440
+ EOXML
441
+ employees = frag.xpath ".//employee"
442
+ employees.wrap("<wrapper/>")
443
+ assert_equal 'wrapper', employees[0].parent.name
444
+ assert_equal 'employee', frag.at(".//wrapper").children.first.name
445
+ end
446
+
434
447
  def test_wrap_preserves_document_structure
435
448
  assert_equal "employeeId",
436
449
  @xml.at_xpath("//employee").children.detect{|j| ! j.text? }.name
@@ -61,6 +61,10 @@ module Nokogiri
61
61
  }.new
62
62
  end
63
63
 
64
+ def test_variable_binding
65
+ assert_equal 4, @xml.xpath('//address[@domestic=$value]', nil, :value => 'Yes').length
66
+ end
67
+
64
68
  def test_unknown_attribute
65
69
  assert_equal 0, @xml.xpath('//employee[@id="asdfasdf"]/@fooo').length
66
70
  assert_nil @xml.xpath('//employee[@id="asdfasdf"]/@fooo')[0]
@@ -200,6 +204,34 @@ module Nokogiri
200
204
  nokogiri = Nokogiri::HTML.parse(doc)
201
205
  assert nokogiri.xpath(xpath)
202
206
  end
207
+
208
+ def test_custom_xpath_handler_with_args_under_gc_pressure
209
+ # see http://github.com/tenderlove/nokogiri/issues/#issue/345
210
+ tool_inspector = Class.new do
211
+ def name_equals(nodeset, name, *args)
212
+ nodeset.all? do |node|
213
+ args.each { |thing| thing.inspect }
214
+ node["name"] == name
215
+ end
216
+ end
217
+ end.new
218
+
219
+ xml = <<-EOXML
220
+ <toolbox>
221
+ #{"<tool name='hammer'/><tool name='wrench'/>" * 10}
222
+ </toolbox>
223
+ EOXML
224
+ doc = Nokogiri::XML xml
225
+
226
+ # long list of long arguments, to apply GC pressure during
227
+ # ruby_funcall argument marshalling
228
+ xpath = ["//tool[name_equals(.,'hammer'"]
229
+ 1000.times { xpath << "'unused argument #{'x' * 1000}'" }
230
+ xpath << "'unused argument')]"
231
+ xpath = xpath.join(',')
232
+
233
+ assert_equal doc.xpath("//tool[@name='hammer']"), doc.xpath(xpath, tool_inspector)
234
+ end
203
235
  end
204
236
  end
205
237
  end
@@ -0,0 +1,94 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ require "helper"
4
+
5
+ module Nokogiri
6
+ module XSLT
7
+ class TestCustomFunctions < Nokogiri::TestCase
8
+ def setup
9
+ super
10
+ @xml = Nokogiri.XML(<<-EOXML)
11
+ <?xml version="1.0" encoding="UTF-8"?>
12
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
13
+ "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
14
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
15
+ <head>
16
+ <meta http-equiv="Content-type" content="application/xhtml+xml"/>
17
+ <title>Foo</title>
18
+ </head>
19
+ <body>
20
+ <h1>Foo</h1>
21
+ <p>Lorem ipsum.</p>
22
+ </body>
23
+ </html>
24
+ EOXML
25
+ end
26
+
27
+ def test_function
28
+ skip("xslt custom functions not implemented under FFI") if Nokogiri.ffi?
29
+ foo = Class.new do
30
+ def capitalize nodes
31
+ nodes.first.content.upcase
32
+ end
33
+ end
34
+
35
+ XSLT.register "http://e.org/functions", foo
36
+
37
+ xsl = Nokogiri.XSLT(<<-EOXSL)
38
+ <?xml version="1.0"?>
39
+ <xsl:stylesheet version="1.0"
40
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
41
+ xmlns:f="http://e.org/functions"
42
+ extension-element-prefixes="f">
43
+
44
+ <xsl:template match="text()">
45
+ <xsl:copy-of select="f:capitalize(.)"/>
46
+ </xsl:template>
47
+
48
+ <xsl:template match="@*|node()">
49
+ <xsl:copy>
50
+ <xsl:apply-templates select="@*|node()"/>
51
+ <xsl:apply-imports/>
52
+ </xsl:copy>
53
+ </xsl:template>
54
+
55
+ </xsl:stylesheet>
56
+ EOXSL
57
+ result = xsl.transform @xml
58
+ assert_equal 'FOO', result.css('title').first.text
59
+ end
60
+
61
+ def test_function_XSLT
62
+ skip("xslt custom functions not implemented under FFI") if Nokogiri.ffi?
63
+ foo = Class.new do
64
+ def america nodes
65
+ nodes.first.content.upcase
66
+ end
67
+ end
68
+
69
+ xsl = Nokogiri.XSLT(<<-EOXSL, "http://e.org/functions" => foo)
70
+ <?xml version="1.0"?>
71
+ <xsl:stylesheet version="1.0"
72
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
73
+ xmlns:f="http://e.org/functions"
74
+ extension-element-prefixes="f">
75
+
76
+ <xsl:template match="text()">
77
+ <xsl:copy-of select="f:america(.)"/>
78
+ </xsl:template>
79
+
80
+ <xsl:template match="@*|node()">
81
+ <xsl:copy>
82
+ <xsl:apply-templates select="@*|node()"/>
83
+ <xsl:apply-imports/>
84
+ </xsl:copy>
85
+ </xsl:template>
86
+
87
+ </xsl:stylesheet>
88
+ EOXSL
89
+ result = xsl.transform @xml
90
+ assert_equal 'FOO', result.css('title').first.text
91
+ end
92
+ end
93
+ end
94
+ end
metadata CHANGED
@@ -1,557 +1,536 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- hash: 113
5
4
  prerelease: false
6
5
  segments:
7
- - 1
8
- - 4
9
- - 3
10
- - 1
11
- version: 1.4.3.1
6
+ - 1
7
+ - 4
8
+ - 4
9
+ version: 1.4.4
12
10
  platform: java
13
11
  authors:
14
- - Aaron Patterson
15
- - Mike Dalessio
12
+ - Aaron Patterson
13
+ - Mike Dalessio
16
14
  autorequire:
17
15
  bindir: bin
18
16
  cert_chain: []
19
17
 
20
- date: 2010-07-29 00:00:00 -07:00
18
+ date: 2010-11-16 00:00:00 -05:00
21
19
  default_executable: nokogiri
22
20
  dependencies:
23
- - !ruby/object:Gem::Dependency
24
- name: rubyforge
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
27
- none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 7
32
- segments:
33
- - 2
34
- - 0
35
- - 4
36
- version: 2.0.4
37
- type: :development
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: racc
41
- prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- hash: 3
48
- segments:
49
- - 0
50
- version: "0"
51
- type: :development
52
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: rexical
55
- prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
65
- type: :development
66
- version_requirements: *id003
67
- - !ruby/object:Gem::Dependency
68
- name: rake-compiler
69
- prerelease: false
70
- requirement: &id004 !ruby/object:Gem::Requirement
71
- none: false
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- hash: 3
76
- segments:
77
- - 0
78
- version: "0"
79
- type: :development
80
- version_requirements: *id004
81
- - !ruby/object:Gem::Dependency
82
- name: minitest
83
- prerelease: false
84
- requirement: &id005 !ruby/object:Gem::Requirement
85
- none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- hash: 15
90
- segments:
91
- - 1
92
- - 6
93
- - 0
94
- version: 1.6.0
95
- type: :development
96
- version_requirements: *id005
97
- - !ruby/object:Gem::Dependency
98
- name: hoe
99
- prerelease: false
100
- requirement: &id006 !ruby/object:Gem::Requirement
101
- none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 23
106
- segments:
107
- - 2
108
- - 6
109
- - 0
110
- version: 2.6.0
111
- type: :development
112
- version_requirements: *id006
113
- - !ruby/object:Gem::Dependency
114
- name: weakling
115
- prerelease: false
116
- requirement: &id007 !ruby/object:Gem::Requirement
117
- none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- hash: 25
122
- segments:
123
- - 0
124
- - 0
125
- - 3
126
- version: 0.0.3
127
- type: :runtime
128
- version_requirements: *id007
21
+ - !ruby/object:Gem::Dependency
22
+ name: rubyforge
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 2
30
+ - 0
31
+ - 4
32
+ version: 2.0.4
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: racc
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ type: :development
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: rexical
49
+ prerelease: false
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ type: :development
58
+ version_requirements: *id003
59
+ - !ruby/object:Gem::Dependency
60
+ name: rake-compiler
61
+ prerelease: false
62
+ requirement: &id004 !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ segments:
67
+ - 0
68
+ version: "0"
69
+ type: :development
70
+ version_requirements: *id004
71
+ - !ruby/object:Gem::Dependency
72
+ name: minitest
73
+ prerelease: false
74
+ requirement: &id005 !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ segments:
79
+ - 1
80
+ - 6
81
+ - 0
82
+ version: 1.6.0
83
+ type: :development
84
+ version_requirements: *id005
85
+ - !ruby/object:Gem::Dependency
86
+ name: hoe
87
+ prerelease: false
88
+ requirement: &id006 !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ segments:
93
+ - 2
94
+ - 6
95
+ - 2
96
+ version: 2.6.2
97
+ type: :development
98
+ version_requirements: *id006
99
+ - !ruby/object:Gem::Dependency
100
+ name: weakling
101
+ prerelease: false
102
+ requirement: &id007 !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ segments:
107
+ - 0
108
+ - 0
109
+ - 3
110
+ version: 0.0.3
111
+ type: :runtime
112
+ version_requirements: *id007
129
113
  description: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser. Among Nokogiri's\n\
130
114
  many features is the ability to search documents via XPath or CSS3 selectors.\n\n\
131
115
  XML is like violence - if it doesn\xE2\x80\x99t solve your problems, you are not using\n\
132
116
  enough of it."
133
117
  email:
134
- - aaronp@rubyforge.org
135
- - mike.dalessio@gmail.com
118
+ - aaronp@rubyforge.org
119
+ - mike.dalessio@gmail.com
136
120
  executables:
137
- - nokogiri
121
+ - nokogiri
138
122
  extensions: []
139
123
 
140
124
  extra_rdoc_files:
141
- - Manifest.txt
142
- - CHANGELOG.ja.rdoc
143
- - CHANGELOG.rdoc
144
- - README.ja.rdoc
145
- - README.rdoc
146
- - ext/nokogiri/html_document.c
147
- - ext/nokogiri/html_element_description.c
148
- - ext/nokogiri/html_entity_lookup.c
149
- - ext/nokogiri/html_sax_parser_context.c
150
- - ext/nokogiri/nokogiri.c
151
- - ext/nokogiri/xml_attr.c
152
- - ext/nokogiri/xml_attribute_decl.c
153
- - ext/nokogiri/xml_cdata.c
154
- - ext/nokogiri/xml_comment.c
155
- - ext/nokogiri/xml_document.c
156
- - ext/nokogiri/xml_document_fragment.c
157
- - ext/nokogiri/xml_dtd.c
158
- - ext/nokogiri/xml_element_content.c
159
- - ext/nokogiri/xml_element_decl.c
160
- - ext/nokogiri/xml_encoding_handler.c
161
- - ext/nokogiri/xml_entity_decl.c
162
- - ext/nokogiri/xml_entity_reference.c
163
- - ext/nokogiri/xml_io.c
164
- - ext/nokogiri/xml_libxml2_hacks.c
165
- - ext/nokogiri/xml_namespace.c
166
- - ext/nokogiri/xml_node.c
167
- - ext/nokogiri/xml_node_set.c
168
- - ext/nokogiri/xml_processing_instruction.c
169
- - ext/nokogiri/xml_reader.c
170
- - ext/nokogiri/xml_relax_ng.c
171
- - ext/nokogiri/xml_sax_parser.c
172
- - ext/nokogiri/xml_sax_parser_context.c
173
- - ext/nokogiri/xml_sax_push_parser.c
174
- - ext/nokogiri/xml_schema.c
175
- - ext/nokogiri/xml_syntax_error.c
176
- - ext/nokogiri/xml_text.c
177
- - ext/nokogiri/xml_xpath_context.c
178
- - ext/nokogiri/xslt_stylesheet.c
125
+ - Manifest.txt
126
+ - CHANGELOG.rdoc
127
+ - CHANGELOG.ja.rdoc
128
+ - README.rdoc
129
+ - README.ja.rdoc
130
+ - ext/nokogiri/xml_io.c
131
+ - ext/nokogiri/xml_sax_parser.c
132
+ - ext/nokogiri/xml_xpath_context.c
133
+ - ext/nokogiri/html_element_description.c
134
+ - ext/nokogiri/xml_libxml2_hacks.c
135
+ - ext/nokogiri/xml_sax_parser_context.c
136
+ - ext/nokogiri/xml_sax_push_parser.c
137
+ - ext/nokogiri/xml_attribute_decl.c
138
+ - ext/nokogiri/nokogiri.c
139
+ - ext/nokogiri/xml_element_decl.c
140
+ - ext/nokogiri/xml_element_content.c
141
+ - ext/nokogiri/html_entity_lookup.c
142
+ - ext/nokogiri/xml_dtd.c
143
+ - ext/nokogiri/xslt_stylesheet.c
144
+ - ext/nokogiri/xml_node_set.c
145
+ - ext/nokogiri/xml_document_fragment.c
146
+ - ext/nokogiri/xml_text.c
147
+ - ext/nokogiri/xml_entity_reference.c
148
+ - ext/nokogiri/html_sax_parser_context.c
149
+ - ext/nokogiri/xml_comment.c
150
+ - ext/nokogiri/xml_namespace.c
151
+ - ext/nokogiri/xml_entity_decl.c
152
+ - ext/nokogiri/xml_node.c
153
+ - ext/nokogiri/html_document.c
154
+ - ext/nokogiri/xml_syntax_error.c
155
+ - ext/nokogiri/xml_document.c
156
+ - ext/nokogiri/xml_cdata.c
157
+ - ext/nokogiri/xml_reader.c
158
+ - ext/nokogiri/xml_attr.c
159
+ - ext/nokogiri/xml_processing_instruction.c
160
+ - ext/nokogiri/xml_schema.c
161
+ - ext/nokogiri/xml_encoding_handler.c
162
+ - ext/nokogiri/xml_relax_ng.c
179
163
  files:
180
- - .autotest
181
- - CHANGELOG.ja.rdoc
182
- - CHANGELOG.rdoc
183
- - Manifest.txt
184
- - README.ja.rdoc
185
- - README.rdoc
186
- - Rakefile
187
- - bin/nokogiri
188
- - deps.rip
189
- - ext/nokogiri/depend
190
- - ext/nokogiri/extconf.rb
191
- - ext/nokogiri/html_document.c
192
- - ext/nokogiri/html_document.h
193
- - ext/nokogiri/html_element_description.c
194
- - ext/nokogiri/html_element_description.h
195
- - ext/nokogiri/html_entity_lookup.c
196
- - ext/nokogiri/html_entity_lookup.h
197
- - ext/nokogiri/html_sax_parser_context.c
198
- - ext/nokogiri/html_sax_parser_context.h
199
- - ext/nokogiri/nokogiri.c
200
- - ext/nokogiri/nokogiri.h
201
- - ext/nokogiri/xml_attr.c
202
- - ext/nokogiri/xml_attr.h
203
- - ext/nokogiri/xml_attribute_decl.c
204
- - ext/nokogiri/xml_attribute_decl.h
205
- - ext/nokogiri/xml_cdata.c
206
- - ext/nokogiri/xml_cdata.h
207
- - ext/nokogiri/xml_comment.c
208
- - ext/nokogiri/xml_comment.h
209
- - ext/nokogiri/xml_document.c
210
- - ext/nokogiri/xml_document.h
211
- - ext/nokogiri/xml_document_fragment.c
212
- - ext/nokogiri/xml_document_fragment.h
213
- - ext/nokogiri/xml_dtd.c
214
- - ext/nokogiri/xml_dtd.h
215
- - ext/nokogiri/xml_element_content.c
216
- - ext/nokogiri/xml_element_content.h
217
- - ext/nokogiri/xml_element_decl.c
218
- - ext/nokogiri/xml_element_decl.h
219
- - ext/nokogiri/xml_encoding_handler.c
220
- - ext/nokogiri/xml_encoding_handler.h
221
- - ext/nokogiri/xml_entity_decl.c
222
- - ext/nokogiri/xml_entity_decl.h
223
- - ext/nokogiri/xml_entity_reference.c
224
- - ext/nokogiri/xml_entity_reference.h
225
- - ext/nokogiri/xml_io.c
226
- - ext/nokogiri/xml_io.h
227
- - ext/nokogiri/xml_libxml2_hacks.c
228
- - ext/nokogiri/xml_libxml2_hacks.h
229
- - ext/nokogiri/xml_namespace.c
230
- - ext/nokogiri/xml_namespace.h
231
- - ext/nokogiri/xml_node.c
232
- - ext/nokogiri/xml_node.h
233
- - ext/nokogiri/xml_node_set.c
234
- - ext/nokogiri/xml_node_set.h
235
- - ext/nokogiri/xml_processing_instruction.c
236
- - ext/nokogiri/xml_processing_instruction.h
237
- - ext/nokogiri/xml_reader.c
238
- - ext/nokogiri/xml_reader.h
239
- - ext/nokogiri/xml_relax_ng.c
240
- - ext/nokogiri/xml_relax_ng.h
241
- - ext/nokogiri/xml_sax_parser.c
242
- - ext/nokogiri/xml_sax_parser.h
243
- - ext/nokogiri/xml_sax_parser_context.c
244
- - ext/nokogiri/xml_sax_parser_context.h
245
- - ext/nokogiri/xml_sax_push_parser.c
246
- - ext/nokogiri/xml_sax_push_parser.h
247
- - ext/nokogiri/xml_schema.c
248
- - ext/nokogiri/xml_schema.h
249
- - ext/nokogiri/xml_syntax_error.c
250
- - ext/nokogiri/xml_syntax_error.h
251
- - ext/nokogiri/xml_text.c
252
- - ext/nokogiri/xml_text.h
253
- - ext/nokogiri/xml_xpath_context.c
254
- - ext/nokogiri/xml_xpath_context.h
255
- - ext/nokogiri/xslt_stylesheet.c
256
- - ext/nokogiri/xslt_stylesheet.h
257
- - lib/nokogiri.rb
258
- - lib/nokogiri/css.rb
259
- - lib/nokogiri/css/generated_parser.rb
260
- - lib/nokogiri/css/generated_tokenizer.rb
261
- - lib/nokogiri/css/node.rb
262
- - lib/nokogiri/css/parser.rb
263
- - lib/nokogiri/css/parser.y
264
- - lib/nokogiri/css/syntax_error.rb
265
- - lib/nokogiri/css/tokenizer.rb
266
- - lib/nokogiri/css/tokenizer.rex
267
- - lib/nokogiri/css/xpath_visitor.rb
268
- - lib/nokogiri/decorators/slop.rb
269
- - lib/nokogiri/ffi/encoding_handler.rb
270
- - lib/nokogiri/ffi/html/document.rb
271
- - lib/nokogiri/ffi/html/element_description.rb
272
- - lib/nokogiri/ffi/html/entity_lookup.rb
273
- - lib/nokogiri/ffi/html/sax/parser_context.rb
274
- - lib/nokogiri/ffi/io_callbacks.rb
275
- - lib/nokogiri/ffi/libxml.rb
276
- - lib/nokogiri/ffi/structs/common_node.rb
277
- - lib/nokogiri/ffi/structs/html_elem_desc.rb
278
- - lib/nokogiri/ffi/structs/html_entity_desc.rb
279
- - lib/nokogiri/ffi/structs/xml_alloc.rb
280
- - lib/nokogiri/ffi/structs/xml_attr.rb
281
- - lib/nokogiri/ffi/structs/xml_attribute.rb
282
- - lib/nokogiri/ffi/structs/xml_buffer.rb
283
- - lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb
284
- - lib/nokogiri/ffi/structs/xml_document.rb
285
- - lib/nokogiri/ffi/structs/xml_dtd.rb
286
- - lib/nokogiri/ffi/structs/xml_element.rb
287
- - lib/nokogiri/ffi/structs/xml_element_content.rb
288
- - lib/nokogiri/ffi/structs/xml_entity.rb
289
- - lib/nokogiri/ffi/structs/xml_enumeration.rb
290
- - lib/nokogiri/ffi/structs/xml_node.rb
291
- - lib/nokogiri/ffi/structs/xml_node_set.rb
292
- - lib/nokogiri/ffi/structs/xml_notation.rb
293
- - lib/nokogiri/ffi/structs/xml_ns.rb
294
- - lib/nokogiri/ffi/structs/xml_parser_context.rb
295
- - lib/nokogiri/ffi/structs/xml_relax_ng.rb
296
- - lib/nokogiri/ffi/structs/xml_sax_handler.rb
297
- - lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb
298
- - lib/nokogiri/ffi/structs/xml_schema.rb
299
- - lib/nokogiri/ffi/structs/xml_syntax_error.rb
300
- - lib/nokogiri/ffi/structs/xml_text_reader.rb
301
- - lib/nokogiri/ffi/structs/xml_xpath_context.rb
302
- - lib/nokogiri/ffi/structs/xml_xpath_object.rb
303
- - lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb
304
- - lib/nokogiri/ffi/structs/xslt_stylesheet.rb
305
- - lib/nokogiri/ffi/weak_bucket.rb
306
- - lib/nokogiri/ffi/xml/attr.rb
307
- - lib/nokogiri/ffi/xml/attribute_decl.rb
308
- - lib/nokogiri/ffi/xml/cdata.rb
309
- - lib/nokogiri/ffi/xml/comment.rb
310
- - lib/nokogiri/ffi/xml/document.rb
311
- - lib/nokogiri/ffi/xml/document_fragment.rb
312
- - lib/nokogiri/ffi/xml/dtd.rb
313
- - lib/nokogiri/ffi/xml/element_content.rb
314
- - lib/nokogiri/ffi/xml/element_decl.rb
315
- - lib/nokogiri/ffi/xml/entity_decl.rb
316
- - lib/nokogiri/ffi/xml/entity_reference.rb
317
- - lib/nokogiri/ffi/xml/namespace.rb
318
- - lib/nokogiri/ffi/xml/node.rb
319
- - lib/nokogiri/ffi/xml/node_set.rb
320
- - lib/nokogiri/ffi/xml/processing_instruction.rb
321
- - lib/nokogiri/ffi/xml/reader.rb
322
- - lib/nokogiri/ffi/xml/relax_ng.rb
323
- - lib/nokogiri/ffi/xml/sax/parser.rb
324
- - lib/nokogiri/ffi/xml/sax/parser_context.rb
325
- - lib/nokogiri/ffi/xml/sax/push_parser.rb
326
- - lib/nokogiri/ffi/xml/schema.rb
327
- - lib/nokogiri/ffi/xml/syntax_error.rb
328
- - lib/nokogiri/ffi/xml/text.rb
329
- - lib/nokogiri/ffi/xml/xpath.rb
330
- - lib/nokogiri/ffi/xml/xpath_context.rb
331
- - lib/nokogiri/ffi/xslt/stylesheet.rb
332
- - lib/nokogiri/html.rb
333
- - lib/nokogiri/html/builder.rb
334
- - lib/nokogiri/html/document.rb
335
- - lib/nokogiri/html/document_fragment.rb
336
- - lib/nokogiri/html/element_description.rb
337
- - lib/nokogiri/html/entity_lookup.rb
338
- - lib/nokogiri/html/sax/parser.rb
339
- - lib/nokogiri/html/sax/parser_context.rb
340
- - lib/nokogiri/syntax_error.rb
341
- - lib/nokogiri/version.rb
342
- - lib/nokogiri/version_warning.rb
343
- - lib/nokogiri/xml.rb
344
- - lib/nokogiri/xml/attr.rb
345
- - lib/nokogiri/xml/attribute_decl.rb
346
- - lib/nokogiri/xml/builder.rb
347
- - lib/nokogiri/xml/cdata.rb
348
- - lib/nokogiri/xml/character_data.rb
349
- - lib/nokogiri/xml/document.rb
350
- - lib/nokogiri/xml/document_fragment.rb
351
- - lib/nokogiri/xml/dtd.rb
352
- - lib/nokogiri/xml/element_content.rb
353
- - lib/nokogiri/xml/element_decl.rb
354
- - lib/nokogiri/xml/entity_decl.rb
355
- - lib/nokogiri/xml/namespace.rb
356
- - lib/nokogiri/xml/node.rb
357
- - lib/nokogiri/xml/node/save_options.rb
358
- - lib/nokogiri/xml/node_set.rb
359
- - lib/nokogiri/xml/notation.rb
360
- - lib/nokogiri/xml/parse_options.rb
361
- - lib/nokogiri/xml/pp.rb
362
- - lib/nokogiri/xml/pp/character_data.rb
363
- - lib/nokogiri/xml/pp/node.rb
364
- - lib/nokogiri/xml/processing_instruction.rb
365
- - lib/nokogiri/xml/reader.rb
366
- - lib/nokogiri/xml/relax_ng.rb
367
- - lib/nokogiri/xml/sax.rb
368
- - lib/nokogiri/xml/sax/document.rb
369
- - lib/nokogiri/xml/sax/parser.rb
370
- - lib/nokogiri/xml/sax/parser_context.rb
371
- - lib/nokogiri/xml/sax/push_parser.rb
372
- - lib/nokogiri/xml/schema.rb
373
- - lib/nokogiri/xml/syntax_error.rb
374
- - lib/nokogiri/xml/text.rb
375
- - lib/nokogiri/xml/xpath.rb
376
- - lib/nokogiri/xml/xpath/syntax_error.rb
377
- - lib/nokogiri/xml/xpath_context.rb
378
- - lib/nokogiri/xslt.rb
379
- - lib/nokogiri/xslt/stylesheet.rb
380
- - lib/xsd/xmlparser/nokogiri.rb
381
- - tasks/cross_compile.rb
382
- - tasks/test.rb
383
- - test/css/test_nthiness.rb
384
- - test/css/test_parser.rb
385
- - test/css/test_tokenizer.rb
386
- - test/css/test_xpath_visitor.rb
387
- - test/ffi/test_document.rb
388
- - test/files/2ch.html
389
- - test/files/address_book.rlx
390
- - test/files/address_book.xml
391
- - test/files/bar/bar.xsd
392
- - test/files/dont_hurt_em_why.xml
393
- - test/files/exslt.xml
394
- - test/files/exslt.xslt
395
- - test/files/foo/foo.xsd
396
- - test/files/po.xml
397
- - test/files/po.xsd
398
- - test/files/shift_jis.html
399
- - test/files/shift_jis.xml
400
- - test/files/snuggles.xml
401
- - test/files/staff.dtd
402
- - test/files/staff.xml
403
- - test/files/staff.xslt
404
- - test/files/tlm.html
405
- - test/files/valid_bar.xml
406
- - test/helper.rb
407
- - test/html/sax/test_parser.rb
408
- - test/html/sax/test_parser_context.rb
409
- - test/html/test_builder.rb
410
- - test/html/test_document.rb
411
- - test/html/test_document_encoding.rb
412
- - test/html/test_document_fragment.rb
413
- - test/html/test_element_description.rb
414
- - test/html/test_named_characters.rb
415
- - test/html/test_node.rb
416
- - test/html/test_node_encoding.rb
417
- - test/test_convert_xpath.rb
418
- - test/test_css_cache.rb
419
- - test/test_encoding_handler.rb
420
- - test/test_memory_leak.rb
421
- - test/test_nokogiri.rb
422
- - test/test_reader.rb
423
- - test/test_soap4r_sax.rb
424
- - test/test_xslt_transforms.rb
425
- - test/xml/node/test_save_options.rb
426
- - test/xml/node/test_subclass.rb
427
- - test/xml/sax/test_parser.rb
428
- - test/xml/sax/test_parser_context.rb
429
- - test/xml/sax/test_push_parser.rb
430
- - test/xml/test_attr.rb
431
- - test/xml/test_attribute_decl.rb
432
- - test/xml/test_builder.rb
433
- - test/xml/test_cdata.rb
434
- - test/xml/test_comment.rb
435
- - test/xml/test_document.rb
436
- - test/xml/test_document_encoding.rb
437
- - test/xml/test_document_fragment.rb
438
- - test/xml/test_dtd.rb
439
- - test/xml/test_dtd_encoding.rb
440
- - test/xml/test_element_content.rb
441
- - test/xml/test_element_decl.rb
442
- - test/xml/test_entity_decl.rb
443
- - test/xml/test_entity_reference.rb
444
- - test/xml/test_namespace.rb
445
- - test/xml/test_node.rb
446
- - test/xml/test_node_attributes.rb
447
- - test/xml/test_node_encoding.rb
448
- - test/xml/test_node_reparenting.rb
449
- - test/xml/test_node_set.rb
450
- - test/xml/test_parse_options.rb
451
- - test/xml/test_processing_instruction.rb
452
- - test/xml/test_reader_encoding.rb
453
- - test/xml/test_relax_ng.rb
454
- - test/xml/test_schema.rb
455
- - test/xml/test_syntax_error.rb
456
- - test/xml/test_text.rb
457
- - test/xml/test_unparented_node.rb
458
- - test/xml/test_xpath.rb
459
- - ext/nokogiri/libcharset-1.dll
460
- - ext/nokogiri/libexslt.dll
461
- - ext/nokogiri/libiconv-2.dll
462
- - ext/nokogiri/libxml2.dll
463
- - ext/nokogiri/libxslt.dll
464
- - ext/nokogiri/zlib1.dll
164
+ - .autotest
165
+ - CHANGELOG.ja.rdoc
166
+ - CHANGELOG.rdoc
167
+ - Manifest.txt
168
+ - README.ja.rdoc
169
+ - README.rdoc
170
+ - Rakefile
171
+ - bin/nokogiri
172
+ - deps.rip
173
+ - ext/nokogiri/depend
174
+ - ext/nokogiri/extconf.rb
175
+ - ext/nokogiri/html_document.c
176
+ - ext/nokogiri/html_document.h
177
+ - ext/nokogiri/html_element_description.c
178
+ - ext/nokogiri/html_element_description.h
179
+ - ext/nokogiri/html_entity_lookup.c
180
+ - ext/nokogiri/html_entity_lookup.h
181
+ - ext/nokogiri/html_sax_parser_context.c
182
+ - ext/nokogiri/html_sax_parser_context.h
183
+ - ext/nokogiri/nokogiri.c
184
+ - ext/nokogiri/nokogiri.h
185
+ - ext/nokogiri/xml_attr.c
186
+ - ext/nokogiri/xml_attr.h
187
+ - ext/nokogiri/xml_attribute_decl.c
188
+ - ext/nokogiri/xml_attribute_decl.h
189
+ - ext/nokogiri/xml_cdata.c
190
+ - ext/nokogiri/xml_cdata.h
191
+ - ext/nokogiri/xml_comment.c
192
+ - ext/nokogiri/xml_comment.h
193
+ - ext/nokogiri/xml_document.c
194
+ - ext/nokogiri/xml_document.h
195
+ - ext/nokogiri/xml_document_fragment.c
196
+ - ext/nokogiri/xml_document_fragment.h
197
+ - ext/nokogiri/xml_dtd.c
198
+ - ext/nokogiri/xml_dtd.h
199
+ - ext/nokogiri/xml_element_content.c
200
+ - ext/nokogiri/xml_element_content.h
201
+ - ext/nokogiri/xml_element_decl.c
202
+ - ext/nokogiri/xml_element_decl.h
203
+ - ext/nokogiri/xml_encoding_handler.c
204
+ - ext/nokogiri/xml_encoding_handler.h
205
+ - ext/nokogiri/xml_entity_decl.c
206
+ - ext/nokogiri/xml_entity_decl.h
207
+ - ext/nokogiri/xml_entity_reference.c
208
+ - ext/nokogiri/xml_entity_reference.h
209
+ - ext/nokogiri/xml_io.c
210
+ - ext/nokogiri/xml_io.h
211
+ - ext/nokogiri/xml_libxml2_hacks.c
212
+ - ext/nokogiri/xml_libxml2_hacks.h
213
+ - ext/nokogiri/xml_namespace.c
214
+ - ext/nokogiri/xml_namespace.h
215
+ - ext/nokogiri/xml_node.c
216
+ - ext/nokogiri/xml_node.h
217
+ - ext/nokogiri/xml_node_set.c
218
+ - ext/nokogiri/xml_node_set.h
219
+ - ext/nokogiri/xml_processing_instruction.c
220
+ - ext/nokogiri/xml_processing_instruction.h
221
+ - ext/nokogiri/xml_reader.c
222
+ - ext/nokogiri/xml_reader.h
223
+ - ext/nokogiri/xml_relax_ng.c
224
+ - ext/nokogiri/xml_relax_ng.h
225
+ - ext/nokogiri/xml_sax_parser.c
226
+ - ext/nokogiri/xml_sax_parser.h
227
+ - ext/nokogiri/xml_sax_parser_context.c
228
+ - ext/nokogiri/xml_sax_parser_context.h
229
+ - ext/nokogiri/xml_sax_push_parser.c
230
+ - ext/nokogiri/xml_sax_push_parser.h
231
+ - ext/nokogiri/xml_schema.c
232
+ - ext/nokogiri/xml_schema.h
233
+ - ext/nokogiri/xml_syntax_error.c
234
+ - ext/nokogiri/xml_syntax_error.h
235
+ - ext/nokogiri/xml_text.c
236
+ - ext/nokogiri/xml_text.h
237
+ - ext/nokogiri/xml_xpath_context.c
238
+ - ext/nokogiri/xml_xpath_context.h
239
+ - ext/nokogiri/xslt_stylesheet.c
240
+ - ext/nokogiri/xslt_stylesheet.h
241
+ - lib/nokogiri.rb
242
+ - lib/nokogiri/css.rb
243
+ - lib/nokogiri/css/generated_parser.rb
244
+ - lib/nokogiri/css/generated_tokenizer.rb
245
+ - lib/nokogiri/css/node.rb
246
+ - lib/nokogiri/css/parser.rb
247
+ - lib/nokogiri/css/parser.y
248
+ - lib/nokogiri/css/syntax_error.rb
249
+ - lib/nokogiri/css/tokenizer.rb
250
+ - lib/nokogiri/css/tokenizer.rex
251
+ - lib/nokogiri/css/xpath_visitor.rb
252
+ - lib/nokogiri/decorators/slop.rb
253
+ - lib/nokogiri/ffi/encoding_handler.rb
254
+ - lib/nokogiri/ffi/html/document.rb
255
+ - lib/nokogiri/ffi/html/element_description.rb
256
+ - lib/nokogiri/ffi/html/entity_lookup.rb
257
+ - lib/nokogiri/ffi/html/sax/parser_context.rb
258
+ - lib/nokogiri/ffi/io_callbacks.rb
259
+ - lib/nokogiri/ffi/libxml.rb
260
+ - lib/nokogiri/ffi/structs/common_node.rb
261
+ - lib/nokogiri/ffi/structs/html_elem_desc.rb
262
+ - lib/nokogiri/ffi/structs/html_entity_desc.rb
263
+ - lib/nokogiri/ffi/structs/xml_alloc.rb
264
+ - lib/nokogiri/ffi/structs/xml_attr.rb
265
+ - lib/nokogiri/ffi/structs/xml_attribute.rb
266
+ - lib/nokogiri/ffi/structs/xml_buffer.rb
267
+ - lib/nokogiri/ffi/structs/xml_char_encoding_handler.rb
268
+ - lib/nokogiri/ffi/structs/xml_document.rb
269
+ - lib/nokogiri/ffi/structs/xml_dtd.rb
270
+ - lib/nokogiri/ffi/structs/xml_element.rb
271
+ - lib/nokogiri/ffi/structs/xml_element_content.rb
272
+ - lib/nokogiri/ffi/structs/xml_entity.rb
273
+ - lib/nokogiri/ffi/structs/xml_enumeration.rb
274
+ - lib/nokogiri/ffi/structs/xml_node.rb
275
+ - lib/nokogiri/ffi/structs/xml_node_set.rb
276
+ - lib/nokogiri/ffi/structs/xml_notation.rb
277
+ - lib/nokogiri/ffi/structs/xml_ns.rb
278
+ - lib/nokogiri/ffi/structs/xml_parser_context.rb
279
+ - lib/nokogiri/ffi/structs/xml_parser_input.rb
280
+ - lib/nokogiri/ffi/structs/xml_relax_ng.rb
281
+ - lib/nokogiri/ffi/structs/xml_sax_handler.rb
282
+ - lib/nokogiri/ffi/structs/xml_sax_push_parser_context.rb
283
+ - lib/nokogiri/ffi/structs/xml_schema.rb
284
+ - lib/nokogiri/ffi/structs/xml_syntax_error.rb
285
+ - lib/nokogiri/ffi/structs/xml_text_reader.rb
286
+ - lib/nokogiri/ffi/structs/xml_xpath_context.rb
287
+ - lib/nokogiri/ffi/structs/xml_xpath_object.rb
288
+ - lib/nokogiri/ffi/structs/xml_xpath_parser_context.rb
289
+ - lib/nokogiri/ffi/structs/xslt_stylesheet.rb
290
+ - lib/nokogiri/ffi/weak_bucket.rb
291
+ - lib/nokogiri/ffi/xml/attr.rb
292
+ - lib/nokogiri/ffi/xml/attribute_decl.rb
293
+ - lib/nokogiri/ffi/xml/cdata.rb
294
+ - lib/nokogiri/ffi/xml/comment.rb
295
+ - lib/nokogiri/ffi/xml/document.rb
296
+ - lib/nokogiri/ffi/xml/document_fragment.rb
297
+ - lib/nokogiri/ffi/xml/dtd.rb
298
+ - lib/nokogiri/ffi/xml/element_content.rb
299
+ - lib/nokogiri/ffi/xml/element_decl.rb
300
+ - lib/nokogiri/ffi/xml/entity_decl.rb
301
+ - lib/nokogiri/ffi/xml/entity_reference.rb
302
+ - lib/nokogiri/ffi/xml/namespace.rb
303
+ - lib/nokogiri/ffi/xml/node.rb
304
+ - lib/nokogiri/ffi/xml/node_set.rb
305
+ - lib/nokogiri/ffi/xml/processing_instruction.rb
306
+ - lib/nokogiri/ffi/xml/reader.rb
307
+ - lib/nokogiri/ffi/xml/relax_ng.rb
308
+ - lib/nokogiri/ffi/xml/sax/parser.rb
309
+ - lib/nokogiri/ffi/xml/sax/parser_context.rb
310
+ - lib/nokogiri/ffi/xml/sax/push_parser.rb
311
+ - lib/nokogiri/ffi/xml/schema.rb
312
+ - lib/nokogiri/ffi/xml/syntax_error.rb
313
+ - lib/nokogiri/ffi/xml/text.rb
314
+ - lib/nokogiri/ffi/xml/xpath.rb
315
+ - lib/nokogiri/ffi/xml/xpath_context.rb
316
+ - lib/nokogiri/ffi/xslt/stylesheet.rb
317
+ - lib/nokogiri/html.rb
318
+ - lib/nokogiri/html/builder.rb
319
+ - lib/nokogiri/html/document.rb
320
+ - lib/nokogiri/html/document_fragment.rb
321
+ - lib/nokogiri/html/element_description.rb
322
+ - lib/nokogiri/html/entity_lookup.rb
323
+ - lib/nokogiri/html/sax/parser.rb
324
+ - lib/nokogiri/html/sax/parser_context.rb
325
+ - lib/nokogiri/syntax_error.rb
326
+ - lib/nokogiri/version.rb
327
+ - lib/nokogiri/version_warning.rb
328
+ - lib/nokogiri/xml.rb
329
+ - lib/nokogiri/xml/attr.rb
330
+ - lib/nokogiri/xml/attribute_decl.rb
331
+ - lib/nokogiri/xml/builder.rb
332
+ - lib/nokogiri/xml/cdata.rb
333
+ - lib/nokogiri/xml/character_data.rb
334
+ - lib/nokogiri/xml/document.rb
335
+ - lib/nokogiri/xml/document_fragment.rb
336
+ - lib/nokogiri/xml/dtd.rb
337
+ - lib/nokogiri/xml/element_content.rb
338
+ - lib/nokogiri/xml/element_decl.rb
339
+ - lib/nokogiri/xml/entity_decl.rb
340
+ - lib/nokogiri/xml/namespace.rb
341
+ - lib/nokogiri/xml/node.rb
342
+ - lib/nokogiri/xml/node/save_options.rb
343
+ - lib/nokogiri/xml/node_set.rb
344
+ - lib/nokogiri/xml/notation.rb
345
+ - lib/nokogiri/xml/parse_options.rb
346
+ - lib/nokogiri/xml/pp.rb
347
+ - lib/nokogiri/xml/pp/character_data.rb
348
+ - lib/nokogiri/xml/pp/node.rb
349
+ - lib/nokogiri/xml/processing_instruction.rb
350
+ - lib/nokogiri/xml/reader.rb
351
+ - lib/nokogiri/xml/relax_ng.rb
352
+ - lib/nokogiri/xml/sax.rb
353
+ - lib/nokogiri/xml/sax/document.rb
354
+ - lib/nokogiri/xml/sax/parser.rb
355
+ - lib/nokogiri/xml/sax/parser_context.rb
356
+ - lib/nokogiri/xml/sax/push_parser.rb
357
+ - lib/nokogiri/xml/schema.rb
358
+ - lib/nokogiri/xml/syntax_error.rb
359
+ - lib/nokogiri/xml/text.rb
360
+ - lib/nokogiri/xml/xpath.rb
361
+ - lib/nokogiri/xml/xpath/syntax_error.rb
362
+ - lib/nokogiri/xml/xpath_context.rb
363
+ - lib/nokogiri/xslt.rb
364
+ - lib/nokogiri/xslt/stylesheet.rb
365
+ - lib/xsd/xmlparser/nokogiri.rb
366
+ - tasks/cross_compile.rb
367
+ - tasks/test.rb
368
+ - test/css/test_nthiness.rb
369
+ - test/css/test_parser.rb
370
+ - test/css/test_tokenizer.rb
371
+ - test/css/test_xpath_visitor.rb
372
+ - test/decorators/test_slop.rb
373
+ - test/ffi/test_document.rb
374
+ - test/files/2ch.html
375
+ - test/files/address_book.rlx
376
+ - test/files/address_book.xml
377
+ - test/files/bar/bar.xsd
378
+ - test/files/dont_hurt_em_why.xml
379
+ - test/files/exslt.xml
380
+ - test/files/exslt.xslt
381
+ - test/files/foo/foo.xsd
382
+ - test/files/po.xml
383
+ - test/files/po.xsd
384
+ - test/files/shift_jis.html
385
+ - test/files/shift_jis.xml
386
+ - test/files/snuggles.xml
387
+ - test/files/staff.dtd
388
+ - test/files/staff.xml
389
+ - test/files/staff.xslt
390
+ - test/files/tlm.html
391
+ - test/files/valid_bar.xml
392
+ - test/helper.rb
393
+ - test/html/sax/test_parser.rb
394
+ - test/html/sax/test_parser_context.rb
395
+ - test/html/test_builder.rb
396
+ - test/html/test_document.rb
397
+ - test/html/test_document_encoding.rb
398
+ - test/html/test_document_fragment.rb
399
+ - test/html/test_element_description.rb
400
+ - test/html/test_named_characters.rb
401
+ - test/html/test_node.rb
402
+ - test/html/test_node_encoding.rb
403
+ - test/test_convert_xpath.rb
404
+ - test/test_css_cache.rb
405
+ - test/test_encoding_handler.rb
406
+ - test/test_memory_leak.rb
407
+ - test/test_nokogiri.rb
408
+ - test/test_reader.rb
409
+ - test/test_soap4r_sax.rb
410
+ - test/test_xslt_transforms.rb
411
+ - test/xml/node/test_save_options.rb
412
+ - test/xml/node/test_subclass.rb
413
+ - test/xml/sax/test_parser.rb
414
+ - test/xml/sax/test_parser_context.rb
415
+ - test/xml/sax/test_push_parser.rb
416
+ - test/xml/test_attr.rb
417
+ - test/xml/test_attribute_decl.rb
418
+ - test/xml/test_builder.rb
419
+ - test/xml/test_cdata.rb
420
+ - test/xml/test_comment.rb
421
+ - test/xml/test_document.rb
422
+ - test/xml/test_document_encoding.rb
423
+ - test/xml/test_document_fragment.rb
424
+ - test/xml/test_dtd.rb
425
+ - test/xml/test_dtd_encoding.rb
426
+ - test/xml/test_element_content.rb
427
+ - test/xml/test_element_decl.rb
428
+ - test/xml/test_entity_decl.rb
429
+ - test/xml/test_entity_reference.rb
430
+ - test/xml/test_namespace.rb
431
+ - test/xml/test_node.rb
432
+ - test/xml/test_node_attributes.rb
433
+ - test/xml/test_node_encoding.rb
434
+ - test/xml/test_node_reparenting.rb
435
+ - test/xml/test_node_set.rb
436
+ - test/xml/test_parse_options.rb
437
+ - test/xml/test_processing_instruction.rb
438
+ - test/xml/test_reader_encoding.rb
439
+ - test/xml/test_relax_ng.rb
440
+ - test/xml/test_schema.rb
441
+ - test/xml/test_syntax_error.rb
442
+ - test/xml/test_text.rb
443
+ - test/xml/test_unparented_node.rb
444
+ - test/xml/test_xpath.rb
445
+ - test/xslt/test_custom_functions.rb
465
446
  has_rdoc: true
466
447
  homepage: http://nokogiri.org
467
448
  licenses: []
468
449
 
469
450
  post_install_message:
470
451
  rdoc_options:
471
- - --main
472
- - README.rdoc
452
+ - --main
453
+ - README.rdoc
473
454
  require_paths:
474
- - lib
455
+ - lib
475
456
  required_ruby_version: !ruby/object:Gem::Requirement
476
- none: false
477
457
  requirements:
478
- - - ">="
479
- - !ruby/object:Gem::Version
480
- hash: 3
481
- segments:
482
- - 0
483
- version: "0"
458
+ - - ">="
459
+ - !ruby/object:Gem::Version
460
+ segments:
461
+ - 0
462
+ version: "0"
484
463
  required_rubygems_version: !ruby/object:Gem::Requirement
485
- none: false
486
464
  requirements:
487
- - - ">="
488
- - !ruby/object:Gem::Version
489
- hash: 3
490
- segments:
491
- - 0
492
- version: "0"
465
+ - - ">="
466
+ - !ruby/object:Gem::Version
467
+ segments:
468
+ - 0
469
+ version: "0"
493
470
  requirements: []
494
471
 
495
472
  rubyforge_project: nokogiri
496
- rubygems_version: 1.3.7
473
+ rubygems_version: 1.3.6
497
474
  signing_key:
498
475
  specification_version: 3
499
476
  summary: "Nokogiri (\xE9\x8B\xB8) is an HTML, XML, SAX, and Reader parser"
500
477
  test_files:
501
- - test/css/test_nthiness.rb
502
- - test/css/test_parser.rb
503
- - test/css/test_tokenizer.rb
504
- - test/css/test_xpath_visitor.rb
505
- - test/ffi/test_document.rb
506
- - test/html/sax/test_parser.rb
507
- - test/html/sax/test_parser_context.rb
508
- - test/html/test_builder.rb
509
- - test/html/test_document.rb
510
- - test/html/test_document_encoding.rb
511
- - test/html/test_document_fragment.rb
512
- - test/html/test_element_description.rb
513
- - test/html/test_named_characters.rb
514
- - test/html/test_node.rb
515
- - test/html/test_node_encoding.rb
516
- - test/test_convert_xpath.rb
517
- - test/test_css_cache.rb
518
- - test/test_encoding_handler.rb
519
- - test/test_memory_leak.rb
520
- - test/test_nokogiri.rb
521
- - test/test_reader.rb
522
- - test/test_soap4r_sax.rb
523
- - test/test_xslt_transforms.rb
524
- - test/xml/node/test_save_options.rb
525
- - test/xml/node/test_subclass.rb
526
- - test/xml/sax/test_parser.rb
527
- - test/xml/sax/test_parser_context.rb
528
- - test/xml/sax/test_push_parser.rb
529
- - test/xml/test_attr.rb
530
- - test/xml/test_attribute_decl.rb
531
- - test/xml/test_builder.rb
532
- - test/xml/test_cdata.rb
533
- - test/xml/test_comment.rb
534
- - test/xml/test_document.rb
535
- - test/xml/test_document_encoding.rb
536
- - test/xml/test_document_fragment.rb
537
- - test/xml/test_dtd.rb
538
- - test/xml/test_dtd_encoding.rb
539
- - test/xml/test_element_content.rb
540
- - test/xml/test_element_decl.rb
541
- - test/xml/test_entity_decl.rb
542
- - test/xml/test_entity_reference.rb
543
- - test/xml/test_namespace.rb
544
- - test/xml/test_node.rb
545
- - test/xml/test_node_attributes.rb
546
- - test/xml/test_node_encoding.rb
547
- - test/xml/test_node_reparenting.rb
548
- - test/xml/test_node_set.rb
549
- - test/xml/test_parse_options.rb
550
- - test/xml/test_processing_instruction.rb
551
- - test/xml/test_reader_encoding.rb
552
- - test/xml/test_relax_ng.rb
553
- - test/xml/test_schema.rb
554
- - test/xml/test_syntax_error.rb
555
- - test/xml/test_text.rb
556
- - test/xml/test_unparented_node.rb
557
- - test/xml/test_xpath.rb
478
+ - test/test_reader.rb
479
+ - test/test_css_cache.rb
480
+ - test/test_encoding_handler.rb
481
+ - test/test_memory_leak.rb
482
+ - test/test_nokogiri.rb
483
+ - test/test_convert_xpath.rb
484
+ - test/test_soap4r_sax.rb
485
+ - test/test_xslt_transforms.rb
486
+ - test/decorators/test_slop.rb
487
+ - test/xml/test_document_encoding.rb
488
+ - test/xml/test_relax_ng.rb
489
+ - test/xml/test_text.rb
490
+ - test/xml/test_node_reparenting.rb
491
+ - test/xml/test_syntax_error.rb
492
+ - test/xml/test_unparented_node.rb
493
+ - test/xml/test_node_encoding.rb
494
+ - test/xml/test_reader_encoding.rb
495
+ - test/xml/test_processing_instruction.rb
496
+ - test/xml/test_cdata.rb
497
+ - test/xml/test_node.rb
498
+ - test/xml/test_builder.rb
499
+ - test/xml/test_namespace.rb
500
+ - test/xml/test_document.rb
501
+ - test/xml/test_element_content.rb
502
+ - test/xml/test_document_fragment.rb
503
+ - test/xml/test_entity_reference.rb
504
+ - test/xml/test_attr.rb
505
+ - test/xml/test_dtd.rb
506
+ - test/xml/test_element_decl.rb
507
+ - test/xml/test_node_attributes.rb
508
+ - test/xml/test_xpath.rb
509
+ - test/xml/test_node_set.rb
510
+ - test/xml/test_parse_options.rb
511
+ - test/xml/test_entity_decl.rb
512
+ - test/xml/test_attribute_decl.rb
513
+ - test/xml/test_schema.rb
514
+ - test/xml/test_dtd_encoding.rb
515
+ - test/xml/test_comment.rb
516
+ - test/xml/sax/test_parser.rb
517
+ - test/xml/sax/test_parser_context.rb
518
+ - test/xml/sax/test_push_parser.rb
519
+ - test/xml/node/test_save_options.rb
520
+ - test/xml/node/test_subclass.rb
521
+ - test/html/test_document_encoding.rb
522
+ - test/html/test_node_encoding.rb
523
+ - test/html/test_node.rb
524
+ - test/html/test_builder.rb
525
+ - test/html/test_document.rb
526
+ - test/html/test_document_fragment.rb
527
+ - test/html/test_named_characters.rb
528
+ - test/html/test_element_description.rb
529
+ - test/html/sax/test_parser.rb
530
+ - test/html/sax/test_parser_context.rb
531
+ - test/ffi/test_document.rb
532
+ - test/css/test_nthiness.rb
533
+ - test/css/test_parser.rb
534
+ - test/css/test_tokenizer.rb
535
+ - test/css/test_xpath_visitor.rb
536
+ - test/xslt/test_custom_functions.rb