nokogiri 1.11.0.rc3-java → 1.11.0.rc4-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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE-DEPENDENCIES.md +1015 -947
  3. data/README.md +1 -1
  4. data/ext/java/nokogiri/HtmlSaxParserContext.java +1 -1
  5. data/ext/java/nokogiri/HtmlSaxPushParser.java +1 -1
  6. data/ext/java/nokogiri/XmlNode.java +4 -6
  7. data/ext/java/nokogiri/XmlReader.java +2 -2
  8. data/ext/java/nokogiri/XmlRelaxng.java +10 -3
  9. data/ext/java/nokogiri/XmlSaxParserContext.java +8 -3
  10. data/ext/java/nokogiri/XmlSchema.java +84 -24
  11. data/ext/java/nokogiri/XmlSyntaxError.java +2 -6
  12. data/ext/java/nokogiri/XmlXpathContext.java +48 -18
  13. data/ext/java/nokogiri/internals/HtmlDomParserContext.java +51 -39
  14. data/ext/java/nokogiri/internals/NokogiriHandler.java +1 -1
  15. data/ext/java/nokogiri/internals/NokogiriNamespaceContext.java +9 -2
  16. data/ext/java/nokogiri/internals/NokogiriXPathFunction.java +62 -6
  17. data/ext/java/nokogiri/internals/NokogiriXPathFunctionResolver.java +4 -2
  18. data/ext/java/nokogiri/internals/XmlDomParserContext.java +2 -2
  19. data/ext/nokogiri/depend +476 -357
  20. data/ext/nokogiri/extconf.rb +441 -321
  21. data/ext/nokogiri/html_document.c +79 -78
  22. data/ext/nokogiri/html_sax_parser_context.c +2 -2
  23. data/ext/nokogiri/nokogiri.c +34 -46
  24. data/ext/nokogiri/xml_document.c +2 -2
  25. data/ext/nokogiri/xml_node.c +1 -1
  26. data/ext/nokogiri/xml_node_set.c +1 -1
  27. data/ext/nokogiri/xml_relax_ng.c +29 -11
  28. data/ext/nokogiri/xml_sax_parser.c +2 -7
  29. data/ext/nokogiri/xml_sax_parser_context.c +2 -2
  30. data/ext/nokogiri/xml_schema.c +55 -13
  31. data/ext/nokogiri/xml_xpath_context.c +80 -4
  32. data/ext/nokogiri/xslt_stylesheet.c +1 -4
  33. data/lib/nokogiri.rb +1 -1
  34. data/lib/nokogiri/css/parser.rb +3 -3
  35. data/lib/nokogiri/css/parser.y +2 -2
  36. data/lib/nokogiri/css/xpath_visitor.rb +70 -42
  37. data/lib/nokogiri/html/document.rb +12 -26
  38. data/lib/nokogiri/nokogiri.jar +0 -0
  39. data/lib/nokogiri/version.rb +2 -149
  40. data/lib/nokogiri/version/constant.rb +5 -0
  41. data/lib/nokogiri/version/info.rb +182 -0
  42. data/lib/nokogiri/xml/document.rb +17 -7
  43. data/lib/nokogiri/xml/document_fragment.rb +4 -6
  44. data/lib/nokogiri/xml/node.rb +50 -27
  45. data/lib/nokogiri/xml/parse_options.rb +6 -0
  46. data/lib/nokogiri/xml/relax_ng.rb +6 -2
  47. data/lib/nokogiri/xml/schema.rb +12 -4
  48. data/lib/nokogiri/xml/searchable.rb +3 -1
  49. metadata +47 -73
  50. data/ext/nokogiri/html_document.h +0 -10
  51. data/ext/nokogiri/html_element_description.h +0 -10
  52. data/ext/nokogiri/html_entity_lookup.h +0 -8
  53. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  54. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  55. data/ext/nokogiri/nokogiri.h +0 -134
  56. data/ext/nokogiri/xml_attr.h +0 -9
  57. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  58. data/ext/nokogiri/xml_cdata.h +0 -9
  59. data/ext/nokogiri/xml_comment.h +0 -9
  60. data/ext/nokogiri/xml_document.h +0 -23
  61. data/ext/nokogiri/xml_document_fragment.h +0 -10
  62. data/ext/nokogiri/xml_dtd.h +0 -10
  63. data/ext/nokogiri/xml_element_content.h +0 -10
  64. data/ext/nokogiri/xml_element_decl.h +0 -9
  65. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  66. data/ext/nokogiri/xml_entity_decl.h +0 -10
  67. data/ext/nokogiri/xml_entity_reference.h +0 -9
  68. data/ext/nokogiri/xml_io.h +0 -11
  69. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  70. data/ext/nokogiri/xml_namespace.h +0 -14
  71. data/ext/nokogiri/xml_node.h +0 -13
  72. data/ext/nokogiri/xml_node_set.h +0 -12
  73. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  74. data/ext/nokogiri/xml_reader.h +0 -10
  75. data/ext/nokogiri/xml_relax_ng.h +0 -9
  76. data/ext/nokogiri/xml_sax_parser.h +0 -39
  77. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  78. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  79. data/ext/nokogiri/xml_schema.h +0 -9
  80. data/ext/nokogiri/xml_syntax_error.h +0 -13
  81. data/ext/nokogiri/xml_text.h +0 -9
  82. data/ext/nokogiri/xml_xpath_context.h +0 -10
  83. data/ext/nokogiri/xslt_stylesheet.h +0 -14
@@ -141,6 +141,10 @@ module Nokogiri
141
141
  document.errors = things
142
142
  end
143
143
 
144
+ def fragment(data)
145
+ document.fragment(data)
146
+ end
147
+
144
148
  private
145
149
 
146
150
  # fix for issue 770
@@ -150,12 +154,6 @@ module Nokogiri
150
154
  %Q{xmlns#{prefix}="#{namespace.href}"}
151
155
  end.join ' '
152
156
  end
153
-
154
- def coerce data
155
- return super unless String === data
156
-
157
- document.fragment(data).children
158
- end
159
157
  end
160
158
  end
161
159
  end
@@ -267,6 +267,8 @@ module Nokogiri
267
267
  #
268
268
  # Also see related method +swap+.
269
269
  def replace(node_or_tags)
270
+ raise("Cannot replace a node with no parent") unless parent
271
+
270
272
  # We cannot replace a text node directly, otherwise libxml will return
271
273
  # an internal error at parser.c:13031, I don't know exactly why
272
274
  # libxml is trying to find a parent node that is an element or document
@@ -278,7 +280,7 @@ module Nokogiri
278
280
  return replacee.replace node_or_tags
279
281
  end
280
282
 
281
- node_or_tags = coerce(node_or_tags)
283
+ node_or_tags = parent.coerce(node_or_tags)
282
284
 
283
285
  if node_or_tags.is_a?(XML::NodeSet)
284
286
  node_or_tags.each { |n| add_previous_sibling n }
@@ -819,13 +821,30 @@ module Nokogiri
819
821
 
820
822
  return Nokogiri::XML::NodeSet.new(document) if contents.empty?
821
823
 
822
- ##
823
- # This is a horrible hack, but I don't care. See #313 for background.
824
+ # libxml2 does not obey the `recover` option after encountering errors during `in_context`
825
+ # parsing, and so this horrible hack is here to try to emulate recovery behavior.
826
+ #
827
+ # Unfortunately, this means we're no longer parsing "in context" and so namespaces that
828
+ # would have been inherited from the context node won't be handled correctly. This hack was
829
+ # written in 2010, and I regret it, because it's silently degrading functionality in a way
830
+ # that's not easily prevented (or even detected).
831
+ #
832
+ # I think preferable behavior would be to either:
833
+ #
834
+ # a. add an error noting that we "fell back" and pointing the user to turning off the `recover` option
835
+ # b. don't recover, but raise a sensible exception
836
+ #
837
+ # For context and background: https://github.com/sparklemotion/nokogiri/issues/313
838
+ # FIXME bug report: https://github.com/sparklemotion/nokogiri/issues/2092
824
839
  error_count = document.errors.length
825
840
  node_set = in_context(contents, options.to_i)
826
- if node_set.empty? and document.errors.length > error_count and options.recover?
827
- fragment = Nokogiri::HTML::DocumentFragment.parse contents
828
- node_set = fragment.children
841
+ if (node_set.empty? && (document.errors.length > error_count))
842
+ if options.recover?
843
+ fragment = Nokogiri::HTML::DocumentFragment.parse contents
844
+ node_set = fragment.children
845
+ else
846
+ raise document.errors[error_count]
847
+ end
829
848
  end
830
849
  node_set
831
850
  end
@@ -1128,6 +1147,28 @@ module Nokogiri
1128
1147
 
1129
1148
  # @!endgroup
1130
1149
 
1150
+ protected
1151
+
1152
+ def coerce(data)
1153
+ case data
1154
+ when XML::NodeSet
1155
+ return data
1156
+ when XML::DocumentFragment
1157
+ return data.children
1158
+ when String
1159
+ return fragment(data).children
1160
+ when Document, XML::Attr
1161
+ # unacceptable
1162
+ when XML::Node
1163
+ return data
1164
+ end
1165
+
1166
+ raise ArgumentError, <<-EOERR
1167
+ Requires a Node, NodeSet or String argument, and cannot accept a #{data.class}.
1168
+ (You probably want to select a node from the Document with at() or search(), or create a new Node via Node.new().)
1169
+ EOERR
1170
+ end
1171
+
1131
1172
  private
1132
1173
 
1133
1174
  def keywordify(keywords)
@@ -1142,10 +1183,12 @@ module Nokogiri
1142
1183
  end
1143
1184
 
1144
1185
  def add_sibling(next_or_previous, node_or_tags)
1186
+ raise("Cannot add sibling to a node with no parent") unless parent
1187
+
1145
1188
  impl = (next_or_previous == :next) ? :add_next_sibling_node : :add_previous_sibling_node
1146
1189
  iter = (next_or_previous == :next) ? :reverse_each : :each
1147
1190
 
1148
- node_or_tags = coerce node_or_tags
1191
+ node_or_tags = parent.coerce(node_or_tags)
1149
1192
  if node_or_tags.is_a?(XML::NodeSet)
1150
1193
  if text?
1151
1194
  pivot = Nokogiri::XML::Node.new "dummy", document
@@ -1182,26 +1225,6 @@ module Nokogiri
1182
1225
  [:name, :namespace, :attribute_nodes, :children]
1183
1226
  end
1184
1227
 
1185
- def coerce(data)
1186
- case data
1187
- when XML::NodeSet
1188
- return data
1189
- when XML::DocumentFragment
1190
- return data.children
1191
- when String
1192
- return fragment(data).children
1193
- when Document, XML::Attr
1194
- # unacceptable
1195
- when XML::Node
1196
- return data
1197
- end
1198
-
1199
- raise ArgumentError, <<-EOERR
1200
- Requires a Node, NodeSet or String argument, and cannot accept a #{data.class}.
1201
- (You probably want to select a node from the Document with at() or search(), or create a new Node via Node.new().)
1202
- EOERR
1203
- end
1204
-
1205
1228
  # @private
1206
1229
  IMPLIED_XPATH_CONTEXTS = [".//".freeze].freeze
1207
1230
 
@@ -73,6 +73,8 @@ module Nokogiri
73
73
  DEFAULT_XML = RECOVER | NONET
74
74
  # the default options used for parsing HTML documents
75
75
  DEFAULT_HTML = RECOVER | NOERROR | NOWARNING | NONET
76
+ # the default options used for parsing XML schemas
77
+ DEFAULT_SCHEMA = NONET
76
78
 
77
79
  attr_accessor :options
78
80
  def initialize options = STRICT
@@ -107,6 +109,10 @@ module Nokogiri
107
109
  @options & RECOVER == STRICT
108
110
  end
109
111
 
112
+ def ==(other)
113
+ other.to_i == to_i
114
+ end
115
+
110
116
  alias :to_i :options
111
117
 
112
118
  def inspect
@@ -5,8 +5,8 @@ module Nokogiri
5
5
  ###
6
6
  # Create a new Nokogiri::XML::RelaxNG document from +string_or_io+.
7
7
  # See Nokogiri::XML::RelaxNG for an example.
8
- def RelaxNG string_or_io
9
- RelaxNG.new(string_or_io)
8
+ def RelaxNG(string_or_io, options = ParseOptions::DEFAULT_SCHEMA)
9
+ RelaxNG.new(string_or_io, options)
10
10
  end
11
11
  end
12
12
 
@@ -27,6 +27,10 @@ module Nokogiri
27
27
  # end
28
28
  #
29
29
  # The list of errors are Nokogiri::XML::SyntaxError objects.
30
+ #
31
+ # NOTE: RelaxNG input is always treated as TRUSTED documents, meaning that they will cause the
32
+ # underlying parsing libraries to access network resources. This is counter to Nokogiri's
33
+ # "untrusted by default" security policy, but is a limitation of the underlying libraries.
30
34
  class RelaxNG < Nokogiri::XML::Schema
31
35
  end
32
36
  end
@@ -5,8 +5,8 @@ module Nokogiri
5
5
  ###
6
6
  # Create a new Nokogiri::XML::Schema object using a +string_or_io+
7
7
  # object.
8
- def Schema string_or_io
9
- Schema.new(string_or_io)
8
+ def Schema(string_or_io, options = ParseOptions::DEFAULT_SCHEMA)
9
+ Schema.new(string_or_io, options)
10
10
  end
11
11
  end
12
12
 
@@ -27,15 +27,23 @@ module Nokogiri
27
27
  # end
28
28
  #
29
29
  # The list of errors are Nokogiri::XML::SyntaxError objects.
30
+ #
31
+ # NOTE: As of v1.11.0, Schema treats inputs as UNTRUSTED by default, and so external entities
32
+ # are not resolved from the network (`http://` or `ftp://`). Previously, parsing treated
33
+ # documents as "trusted" by default which was counter to Nokogiri's "untrusted by default"
34
+ # security policy. If a document is trusted, then the caller may turn off the NONET option via
35
+ # the ParseOptions to re-enable external entity resolution over a network connection.
30
36
  class Schema
31
37
  # Errors while parsing the schema file
32
38
  attr_accessor :errors
39
+ # The Nokogiri::XML::ParseOptions used to parse the schema
40
+ attr_accessor :parse_options
33
41
 
34
42
  ###
35
43
  # Create a new Nokogiri::XML::Schema object using a +string_or_io+
36
44
  # object.
37
- def self.new string_or_io
38
- from_document Nokogiri::XML(string_or_io)
45
+ def self.new string_or_io, options = ParseOptions::DEFAULT_SCHEMA
46
+ from_document(Nokogiri::XML(string_or_io), options)
39
47
  end
40
48
 
41
49
  ###
@@ -210,8 +210,10 @@ module Nokogiri
210
210
  end
211
211
 
212
212
  def xpath_query_from_css_rule(rule, ns)
213
+ visitor = Nokogiri::CSS::XPathVisitorOptimallyUseBuiltins.new
213
214
  self.class::IMPLIED_XPATH_CONTEXTS.map do |implied_xpath_context|
214
- CSS.xpath_for(rule.to_s, :prefix => implied_xpath_context, :ns => ns)
215
+ CSS.xpath_for(rule.to_s, {:prefix => implied_xpath_context, :ns => ns,
216
+ :visitor => visitor})
215
217
  end.join(" | ")
216
218
  end
217
219
 
metadata CHANGED
@@ -1,35 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nokogiri
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0.rc3
4
+ version: 1.11.0.rc4
5
5
  platform: java
6
6
  authors:
7
- - Aaron Patterson
8
7
  - Mike Dalessio
8
+ - Aaron Patterson
9
+ - John Shahid
9
10
  - Yoko Harada
10
- - Tim Elliott
11
11
  - Akinori MUSHA
12
- - John Shahid
13
12
  - Lars Kanis
13
+ - Tim Elliott
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2020-09-08 00:00:00.000000000 Z
17
+ date: 2020-12-29 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  requirement: !ruby/object:Gem::Requirement
21
21
  requirements:
22
22
  - - "~>"
23
23
  - !ruby/object:Gem::Version
24
- version: '0.34'
25
- name: concourse
24
+ version: '1.4'
25
+ name: racc
26
+ type: :runtime
26
27
  prerelease: false
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.4'
33
+ - !ruby/object:Gem::Dependency
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '0.41'
39
+ name: concourse
27
40
  type: :development
41
+ prerelease: false
28
42
  version_requirements: !ruby/object:Gem::Requirement
29
43
  requirements:
30
44
  - - "~>"
31
45
  - !ruby/object:Gem::Version
32
- version: '0.34'
46
+ version: '0.41'
33
47
  - !ruby/object:Gem::Dependency
34
48
  requirement: !ruby/object:Gem::Requirement
35
49
  requirements:
@@ -40,8 +54,8 @@ dependencies:
40
54
  - !ruby/object:Gem::Version
41
55
  version: 3.22.1
42
56
  name: hoe
43
- prerelease: false
44
57
  type: :development
58
+ prerelease: false
45
59
  version_requirements: !ruby/object:Gem::Requirement
46
60
  requirements:
47
61
  - - "~>"
@@ -57,8 +71,8 @@ dependencies:
57
71
  - !ruby/object:Gem::Version
58
72
  version: '1.2'
59
73
  name: hoe-bundler
60
- prerelease: false
61
74
  type: :development
75
+ prerelease: false
62
76
  version_requirements: !ruby/object:Gem::Requirement
63
77
  requirements:
64
78
  - - "~>"
@@ -71,8 +85,8 @@ dependencies:
71
85
  - !ruby/object:Gem::Version
72
86
  version: '2.0'
73
87
  name: hoe-debugging
74
- prerelease: false
75
88
  type: :development
89
+ prerelease: false
76
90
  version_requirements: !ruby/object:Gem::Requirement
77
91
  requirements:
78
92
  - - "~>"
@@ -85,8 +99,8 @@ dependencies:
85
99
  - !ruby/object:Gem::Version
86
100
  version: '1.0'
87
101
  name: hoe-gemspec
88
- prerelease: false
89
102
  type: :development
103
+ prerelease: false
90
104
  version_requirements: !ruby/object:Gem::Requirement
91
105
  requirements:
92
106
  - - "~>"
@@ -99,8 +113,8 @@ dependencies:
99
113
  - !ruby/object:Gem::Version
100
114
  version: '1.6'
101
115
  name: hoe-git
102
- prerelease: false
103
116
  type: :development
117
+ prerelease: false
104
118
  version_requirements: !ruby/object:Gem::Requirement
105
119
  requirements:
106
120
  - - "~>"
@@ -113,8 +127,8 @@ dependencies:
113
127
  - !ruby/object:Gem::Version
114
128
  version: '1.1'
115
129
  name: hoe-markdown
116
- prerelease: false
117
130
  type: :development
131
+ prerelease: false
118
132
  version_requirements: !ruby/object:Gem::Requirement
119
133
  requirements:
120
134
  - - "~>"
@@ -127,8 +141,8 @@ dependencies:
127
141
  - !ruby/object:Gem::Version
128
142
  version: '5.8'
129
143
  name: minitest
130
- prerelease: false
131
144
  type: :development
145
+ prerelease: false
132
146
  version_requirements: !ruby/object:Gem::Requirement
133
147
  requirements:
134
148
  - - "~>"
@@ -139,15 +153,15 @@ dependencies:
139
153
  requirements:
140
154
  - - "~>"
141
155
  - !ruby/object:Gem::Version
142
- version: 1.4.14
143
- name: racc
144
- prerelease: false
156
+ version: '1.4'
157
+ name: minitest-reporters
145
158
  type: :development
159
+ prerelease: false
146
160
  version_requirements: !ruby/object:Gem::Requirement
147
161
  requirements:
148
162
  - - "~>"
149
163
  - !ruby/object:Gem::Version
150
- version: 1.4.14
164
+ version: '1.4'
151
165
  - !ruby/object:Gem::Dependency
152
166
  requirement: !ruby/object:Gem::Requirement
153
167
  requirements:
@@ -155,8 +169,8 @@ dependencies:
155
169
  - !ruby/object:Gem::Version
156
170
  version: '13.0'
157
171
  name: rake
158
- prerelease: false
159
172
  type: :development
173
+ prerelease: false
160
174
  version_requirements: !ruby/object:Gem::Requirement
161
175
  requirements:
162
176
  - - "~>"
@@ -169,8 +183,8 @@ dependencies:
169
183
  - !ruby/object:Gem::Version
170
184
  version: '1.1'
171
185
  name: rake-compiler
172
- prerelease: false
173
186
  type: :development
187
+ prerelease: false
174
188
  version_requirements: !ruby/object:Gem::Requirement
175
189
  requirements:
176
190
  - - "~>"
@@ -181,15 +195,15 @@ dependencies:
181
195
  requirements:
182
196
  - - "~>"
183
197
  - !ruby/object:Gem::Version
184
- version: '1.0'
198
+ version: '1.1'
185
199
  name: rake-compiler-dock
186
- prerelease: false
187
200
  type: :development
201
+ prerelease: false
188
202
  version_requirements: !ruby/object:Gem::Requirement
189
203
  requirements:
190
204
  - - "~>"
191
205
  - !ruby/object:Gem::Version
192
- version: '1.0'
206
+ version: '1.1'
193
207
  - !ruby/object:Gem::Dependency
194
208
  requirement: !ruby/object:Gem::Requirement
195
209
  requirements:
@@ -197,8 +211,8 @@ dependencies:
197
211
  - !ruby/object:Gem::Version
198
212
  version: 1.0.5
199
213
  name: rexical
200
- prerelease: false
201
214
  type: :development
215
+ prerelease: false
202
216
  version_requirements: !ruby/object:Gem::Requirement
203
217
  requirements:
204
218
  - - "~>"
@@ -211,8 +225,8 @@ dependencies:
211
225
  - !ruby/object:Gem::Version
212
226
  version: '0.88'
213
227
  name: rubocop
214
- prerelease: false
215
228
  type: :development
229
+ prerelease: false
216
230
  version_requirements: !ruby/object:Gem::Requirement
217
231
  requirements:
218
232
  - - "~>"
@@ -225,8 +239,8 @@ dependencies:
225
239
  - !ruby/object:Gem::Version
226
240
  version: 0.17.0
227
241
  name: simplecov
228
- prerelease: false
229
242
  type: :development
243
+ prerelease: false
230
244
  version_requirements: !ruby/object:Gem::Requirement
231
245
  requirements:
232
246
  - - "~>"
@@ -242,8 +256,8 @@ dependencies:
242
256
  - !ruby/object:Gem::Version
243
257
  version: '7'
244
258
  name: rdoc
245
- prerelease: false
246
259
  type: :development
260
+ prerelease: false
247
261
  version_requirements: !ruby/object:Gem::Requirement
248
262
  requirements:
249
263
  - - ">="
@@ -256,14 +270,7 @@ description: |-
256
270
  Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser. Among
257
271
  Nokogiri's many features is the ability to search documents via XPath
258
272
  or CSS3 selectors.
259
- email:
260
- - aaronp@rubyforge.org
261
- - mike.dalessio@gmail.com
262
- - yokolet@gmail.com
263
- - tle@holymonkey.com
264
- - knu@idaemons.org
265
- - jvshahid@gmail.com
266
- - lars@greiz-reinsdorf.de
273
+ email: nokogiri-talk@googlegroups.com
267
274
  executables:
268
275
  - nokogiri
269
276
  extensions: []
@@ -401,73 +408,39 @@ files:
401
408
  - ext/nokogiri/depend
402
409
  - ext/nokogiri/extconf.rb
403
410
  - ext/nokogiri/html_document.c
404
- - ext/nokogiri/html_document.h
405
411
  - ext/nokogiri/html_element_description.c
406
- - ext/nokogiri/html_element_description.h
407
412
  - ext/nokogiri/html_entity_lookup.c
408
- - ext/nokogiri/html_entity_lookup.h
409
413
  - ext/nokogiri/html_sax_parser_context.c
410
- - ext/nokogiri/html_sax_parser_context.h
411
414
  - ext/nokogiri/html_sax_push_parser.c
412
- - ext/nokogiri/html_sax_push_parser.h
413
415
  - ext/nokogiri/nokogiri.c
414
- - ext/nokogiri/nokogiri.h
415
416
  - ext/nokogiri/xml_attr.c
416
- - ext/nokogiri/xml_attr.h
417
417
  - ext/nokogiri/xml_attribute_decl.c
418
- - ext/nokogiri/xml_attribute_decl.h
419
418
  - ext/nokogiri/xml_cdata.c
420
- - ext/nokogiri/xml_cdata.h
421
419
  - ext/nokogiri/xml_comment.c
422
- - ext/nokogiri/xml_comment.h
423
420
  - ext/nokogiri/xml_document.c
424
- - ext/nokogiri/xml_document.h
425
421
  - ext/nokogiri/xml_document_fragment.c
426
- - ext/nokogiri/xml_document_fragment.h
427
422
  - ext/nokogiri/xml_dtd.c
428
- - ext/nokogiri/xml_dtd.h
429
423
  - ext/nokogiri/xml_element_content.c
430
- - ext/nokogiri/xml_element_content.h
431
424
  - ext/nokogiri/xml_element_decl.c
432
- - ext/nokogiri/xml_element_decl.h
433
425
  - ext/nokogiri/xml_encoding_handler.c
434
- - ext/nokogiri/xml_encoding_handler.h
435
426
  - ext/nokogiri/xml_entity_decl.c
436
- - ext/nokogiri/xml_entity_decl.h
437
427
  - ext/nokogiri/xml_entity_reference.c
438
- - ext/nokogiri/xml_entity_reference.h
439
428
  - ext/nokogiri/xml_io.c
440
- - ext/nokogiri/xml_io.h
441
429
  - ext/nokogiri/xml_libxml2_hacks.c
442
- - ext/nokogiri/xml_libxml2_hacks.h
443
430
  - ext/nokogiri/xml_namespace.c
444
- - ext/nokogiri/xml_namespace.h
445
431
  - ext/nokogiri/xml_node.c
446
- - ext/nokogiri/xml_node.h
447
432
  - ext/nokogiri/xml_node_set.c
448
- - ext/nokogiri/xml_node_set.h
449
433
  - ext/nokogiri/xml_processing_instruction.c
450
- - ext/nokogiri/xml_processing_instruction.h
451
434
  - ext/nokogiri/xml_reader.c
452
- - ext/nokogiri/xml_reader.h
453
435
  - ext/nokogiri/xml_relax_ng.c
454
- - ext/nokogiri/xml_relax_ng.h
455
436
  - ext/nokogiri/xml_sax_parser.c
456
- - ext/nokogiri/xml_sax_parser.h
457
437
  - ext/nokogiri/xml_sax_parser_context.c
458
- - ext/nokogiri/xml_sax_parser_context.h
459
438
  - ext/nokogiri/xml_sax_push_parser.c
460
- - ext/nokogiri/xml_sax_push_parser.h
461
439
  - ext/nokogiri/xml_schema.c
462
- - ext/nokogiri/xml_schema.h
463
440
  - ext/nokogiri/xml_syntax_error.c
464
- - ext/nokogiri/xml_syntax_error.h
465
441
  - ext/nokogiri/xml_text.c
466
- - ext/nokogiri/xml_text.h
467
442
  - ext/nokogiri/xml_xpath_context.c
468
- - ext/nokogiri/xml_xpath_context.h
469
443
  - ext/nokogiri/xslt_stylesheet.c
470
- - ext/nokogiri/xslt_stylesheet.h
471
444
  - lib/isorelax.jar
472
445
  - lib/jing.jar
473
446
  - lib/nekodtd.jar
@@ -497,6 +470,8 @@ files:
497
470
  - lib/nokogiri/nokogiri.jar
498
471
  - lib/nokogiri/syntax_error.rb
499
472
  - lib/nokogiri/version.rb
473
+ - lib/nokogiri/version/constant.rb
474
+ - lib/nokogiri/version/info.rb
500
475
  - lib/nokogiri/xml.rb
501
476
  - lib/nokogiri/xml/attr.rb
502
477
  - lib/nokogiri/xml/attribute_decl.rb
@@ -560,15 +535,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
560
535
  requirements:
561
536
  - - ">="
562
537
  - !ruby/object:Gem::Version
563
- version: 2.4.0
538
+ version: 2.5.0
564
539
  required_rubygems_version: !ruby/object:Gem::Requirement
565
540
  requirements:
566
541
  - - ">"
567
542
  - !ruby/object:Gem::Version
568
543
  version: 1.3.1
569
544
  requirements: []
570
- rubyforge_project:
571
- rubygems_version: 2.7.10
545
+ rubygems_version: 3.0.6
572
546
  signing_key:
573
547
  specification_version: 4
574
548
  summary: Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser