repeatable 1.2.0 → 1.2.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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +19 -23
  3. data/.ruby-version +1 -0
  4. data/.yardopts +1 -0
  5. data/CHANGELOG.md +16 -2
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +86 -73
  8. data/README.md +8 -5
  9. data/lib/repeatable/expression/date.rb +1 -0
  10. data/lib/repeatable/expression/range_in_year.rb +2 -0
  11. data/lib/repeatable/version.rb +1 -1
  12. data/rbi/repeatable.rbi +1 -1
  13. data/sorbet/rbi/gems/{ast@2.4.2.rbi → ast@2.4.3.rbi} +3 -3
  14. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  15. data/sorbet/rbi/gems/{commander@4.6.0.rbi → commander@5.0.0.rbi} +1 -0
  16. data/sorbet/rbi/gems/{diff-lcs@1.4.4.rbi → diff-lcs@1.6.2.rbi} +135 -83
  17. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.1.rbi} +25 -15
  18. data/sorbet/rbi/gems/{highline@2.0.3.rbi → highline@3.0.1.rbi} +1 -0
  19. data/sorbet/rbi/gems/{json@2.7.2.rbi → json@2.13.2.rbi} +759 -233
  20. data/sorbet/rbi/gems/{language_server-protocol@3.17.0.3.rbi → language_server-protocol@3.17.0.5.rbi} +11 -5
  21. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  22. data/sorbet/rbi/gems/{method_source@1.0.0.rbi → method_source@1.1.0.rbi} +41 -9
  23. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.27.0.rbi} +32 -21
  24. data/sorbet/rbi/gems/{parlour@8.1.0.rbi → parlour@9.1.2.rbi} +86 -68
  25. data/sorbet/rbi/gems/{parser@3.3.1.0.rbi → parser@3.3.9.0.rbi} +908 -891
  26. data/sorbet/rbi/gems/{prism@0.28.0.rbi → prism@1.4.0.rbi} +14078 -10249
  27. data/sorbet/rbi/gems/{pry@0.14.0.rbi → pry@0.15.2.rbi} +437 -244
  28. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +36 -33
  29. data/sorbet/rbi/gems/{rake@13.0.3.rbi → rake@13.3.0.rbi} +83 -76
  30. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  31. data/sorbet/rbi/gems/rbs@3.9.5.rbi +6976 -0
  32. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.11.2.rbi} +1089 -1015
  33. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.4.3.rbi} +833 -329
  34. data/sorbet/rbi/gems/{rspec-core@3.10.1.rbi → rspec-core@3.13.5.rbi} +1014 -613
  35. data/sorbet/rbi/gems/{rspec-expectations@3.10.1.rbi → rspec-expectations@3.13.5.rbi} +897 -638
  36. data/sorbet/rbi/gems/{rspec-mocks@3.10.2.rbi → rspec-mocks@3.13.5.rbi} +547 -444
  37. data/sorbet/rbi/gems/{rspec-support@3.10.2.rbi → rspec-support@3.13.5.rbi} +337 -304
  38. data/sorbet/rbi/gems/rspec@3.13.1.rbi +83 -0
  39. data/sorbet/rbi/gems/{rubocop-ast@1.31.3.rbi → rubocop-ast@1.46.0.rbi} +1678 -958
  40. data/sorbet/rbi/gems/{rubocop-performance@1.20.2.rbi → rubocop-performance@1.25.0.rbi} +1 -0
  41. data/sorbet/rbi/gems/{rubocop@1.62.1.rbi → rubocop@1.80.2.rbi} +11243 -5431
  42. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +225 -0
  43. data/sorbet/rbi/gems/{simplecov@0.21.2.rbi → simplecov@0.22.0.rbi} +39 -25
  44. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +233 -2
  45. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  46. data/sorbet/rbi/gems/{standard-performance@1.3.1.rbi → standard-performance@1.8.0.rbi} +1 -0
  47. data/sorbet/rbi/gems/{standard@1.35.1.rbi → standard@1.51.0.rbi} +181 -96
  48. data/sorbet/rbi/gems/{tapioca@0.13.3.rbi → tapioca@0.16.11.rbi} +489 -388
  49. data/sorbet/rbi/gems/{thor@1.3.1.rbi → thor@1.4.0.rbi} +94 -46
  50. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +132 -0
  51. data/sorbet/rbi/gems/unicode-emoji@4.1.0.rbi +251 -0
  52. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  53. data/sorbet/rbi/gems/{yard@0.9.36.rbi → yard@0.9.37.rbi} +394 -236
  54. metadata +46 -40
  55. data/sorbet/rbi/gems/rbi@0.1.13.rbi +0 -3071
  56. data/sorbet/rbi/gems/rspec@3.10.0.rbi +0 -76
  57. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -216
  58. data/sorbet/rbi/gems/spoom@1.3.2.rbi +0 -4420
  59. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -65
  60. /data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +0 -0
@@ -1,9 +1,10 @@
1
- # typed: true
1
+ # typed: false
2
2
 
3
3
  # DO NOT EDIT MANUALLY
4
4
  # This is an autogenerated file for types exported from the `rexml` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem rexml`.
6
6
 
7
+
7
8
  # This class needs:
8
9
  # * Documentation
9
10
  # * Work! Not all types of attlists are intelligently parsed, so we just
@@ -112,12 +113,15 @@ class REXML::Attribute
112
113
 
113
114
  # Returns a copy of this attribute
114
115
  #
115
- # source://rexml//lib/rexml/attribute.rb#163
116
+ # source://rexml//lib/rexml/attribute.rb#161
116
117
  def clone; end
117
118
 
118
119
  # source://rexml//lib/rexml/attribute.rb#132
119
120
  def doctype; end
120
121
 
122
+ # source://rexml//lib/rexml/attribute.rb#205
123
+ def document; end
124
+
121
125
  # The element to which this attribute belongs
122
126
  #
123
127
  # source://rexml//lib/rexml/attribute.rb#15
@@ -128,7 +132,7 @@ class REXML::Attribute
128
132
  #
129
133
  # Returns this attribute
130
134
  #
131
- # source://rexml//lib/rexml/attribute.rb#171
135
+ # source://rexml//lib/rexml/attribute.rb#169
132
136
  def element=(element); end
133
137
 
134
138
  # Creates (and returns) a hash from both the name and value
@@ -136,7 +140,7 @@ class REXML::Attribute
136
140
  # source://rexml//lib/rexml/attribute.rb#111
137
141
  def hash; end
138
142
 
139
- # source://rexml//lib/rexml/attribute.rb#197
143
+ # source://rexml//lib/rexml/attribute.rb#195
140
144
  def inspect; end
141
145
 
142
146
  # Returns the namespace URL, if defined, or nil otherwise
@@ -164,13 +168,13 @@ class REXML::Attribute
164
168
  # source://rexml//lib/rexml/attribute.rb#95
165
169
  def namespace(arg = T.unsafe(nil)); end
166
170
 
167
- # source://rexml//lib/rexml/attribute.rb#193
171
+ # source://rexml//lib/rexml/attribute.rb#191
168
172
  def node_type; end
169
173
 
170
174
  # The normalized value of this attribute. That is, the attribute with
171
175
  # entities intact.
172
176
  #
173
- # source://rexml//lib/rexml/attribute.rb#157
177
+ # source://rexml//lib/rexml/attribute.rb#155
174
178
  def normalized=(new_normalized); end
175
179
 
176
180
  # Returns the namespace of the attribute.
@@ -190,12 +194,12 @@ class REXML::Attribute
190
194
  #
191
195
  # This method is usually not called directly.
192
196
  #
193
- # source://rexml//lib/rexml/attribute.rb#184
197
+ # source://rexml//lib/rexml/attribute.rb#182
194
198
  def remove; end
195
199
 
196
200
  # Returns the attribute value, with entities replaced
197
201
  #
198
- # source://rexml//lib/rexml/attribute.rb#140
202
+ # source://rexml//lib/rexml/attribute.rb#137
199
203
  def to_s; end
200
204
 
201
205
  # Returns this attribute out as XML source, expanding the name
@@ -211,22 +215,22 @@ class REXML::Attribute
211
215
  # Returns the UNNORMALIZED value of this attribute. That is, entities
212
216
  # have been expanded to their values
213
217
  #
214
- # source://rexml//lib/rexml/attribute.rb#149
218
+ # source://rexml//lib/rexml/attribute.rb#146
215
219
  def value; end
216
220
 
217
221
  # Writes this attribute (EG, puts 'key="value"' to the output)
218
222
  #
219
- # source://rexml//lib/rexml/attribute.rb#189
223
+ # source://rexml//lib/rexml/attribute.rb#187
220
224
  def write(output, indent = T.unsafe(nil)); end
221
225
 
222
- # source://rexml//lib/rexml/attribute.rb#203
226
+ # source://rexml//lib/rexml/attribute.rb#201
223
227
  def xpath; end
224
228
  end
225
229
 
226
230
  # A class that defines the set of Attributes of an Element and provides
227
231
  # operations for accessing elements in that set.
228
232
  #
229
- # source://rexml//lib/rexml/element.rb#2141
233
+ # source://rexml//lib/rexml/element.rb#2131
230
234
  class REXML::Attributes < ::Hash
231
235
  # :call-seq:
232
236
  # new(element)
@@ -247,7 +251,7 @@ class REXML::Attributes < ::Hash
247
251
  #
248
252
  # @return [Attributes] a new instance of Attributes
249
253
  #
250
- # source://rexml//lib/rexml/element.rb#2160
254
+ # source://rexml//lib/rexml/element.rb#2150
251
255
  def initialize(element); end
252
256
 
253
257
  # :call-seq:
@@ -270,7 +274,7 @@ class REXML::Attributes < ::Hash
270
274
  # attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
271
275
  # attrs.include?('baz') # => true
272
276
  #
273
- # source://rexml//lib/rexml/element.rb#2537
277
+ # source://rexml//lib/rexml/element.rb#2516
274
278
  def <<(attribute); end
275
279
 
276
280
  # :call-seq:
@@ -294,7 +298,7 @@ class REXML::Attributes < ::Hash
294
298
  #
295
299
  # Related: get_attribute (returns an \Attribute object).
296
300
  #
297
- # source://rexml//lib/rexml/element.rb#2185
301
+ # source://rexml//lib/rexml/element.rb#2175
298
302
  def [](name); end
299
303
 
300
304
  # :call-seq:
@@ -320,7 +324,7 @@ class REXML::Attributes < ::Hash
320
324
  # attrs['baz:att'] = nil
321
325
  # attrs.include?('baz:att') # => false
322
326
  #
323
- # source://rexml//lib/rexml/element.rb#2369
327
+ # source://rexml//lib/rexml/element.rb#2358
324
328
  def []=(name, value); end
325
329
 
326
330
  # :call-seq:
@@ -343,7 +347,7 @@ class REXML::Attributes < ::Hash
343
347
  # attrs.add(REXML::Attribute.new('baz', '3')) # => baz='3'
344
348
  # attrs.include?('baz') # => true
345
349
  #
346
- # source://rexml//lib/rexml/element.rb#2537
350
+ # source://rexml//lib/rexml/element.rb#2516
347
351
  def add(attribute); end
348
352
 
349
353
  # :call-seq:
@@ -374,7 +378,7 @@ class REXML::Attributes < ::Hash
374
378
  # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele att='&lt;'/>
375
379
  # attrs.delete(attr) # => <ele att='&lt;'/> # => <ele/>
376
380
  #
377
- # source://rexml//lib/rexml/element.rb#2490
381
+ # source://rexml//lib/rexml/element.rb#2471
378
382
  def delete(attribute); end
379
383
 
380
384
  # :call-seq:
@@ -393,7 +397,7 @@ class REXML::Attributes < ::Hash
393
397
  # attrs = ele.attributes
394
398
  # attrs.delete_all('att') # => [att='&lt;']
395
399
  #
396
- # source://rexml//lib/rexml/element.rb#2559
400
+ # source://rexml//lib/rexml/element.rb#2538
397
401
  def delete_all(name); end
398
402
 
399
403
  # :call-seq:
@@ -418,7 +422,7 @@ class REXML::Attributes < ::Hash
418
422
  # ["bar:att", "2"]
419
423
  # ["att", "<"]
420
424
  #
421
- # source://rexml//lib/rexml/element.rb#2287
425
+ # source://rexml//lib/rexml/element.rb#2276
422
426
  def each; end
423
427
 
424
428
  # :call-seq:
@@ -443,7 +447,7 @@ class REXML::Attributes < ::Hash
443
447
  # [REXML::Attribute, bar:att='2']
444
448
  # [REXML::Attribute, att='&lt;']
445
449
  #
446
- # source://rexml//lib/rexml/element.rb#2254
450
+ # source://rexml//lib/rexml/element.rb#2243
447
451
  def each_attribute; end
448
452
 
449
453
  # :call-seq:
@@ -465,7 +469,7 @@ class REXML::Attributes < ::Hash
465
469
  # attrs.get_attribute('att') # => att='&lt;'
466
470
  # attrs.get_attribute('nosuch') # => nil
467
471
  #
468
- # source://rexml//lib/rexml/element.rb#2313
472
+ # source://rexml//lib/rexml/element.rb#2302
469
473
  def get_attribute(name); end
470
474
 
471
475
  # :call-seq:
@@ -485,7 +489,7 @@ class REXML::Attributes < ::Hash
485
489
  # attrs.get_attribute_ns('http://foo', 'att') # => foo:att='1'
486
490
  # attrs.get_attribute_ns('http://foo', 'nosuch') # => nil
487
491
  #
488
- # source://rexml//lib/rexml/element.rb#2585
492
+ # source://rexml//lib/rexml/element.rb#2564
489
493
  def get_attribute_ns(namespace, name); end
490
494
 
491
495
  # :call-seq:
@@ -502,7 +506,7 @@ class REXML::Attributes < ::Hash
502
506
  # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
503
507
  # ele.attributes.length # => 3
504
508
  #
505
- # source://rexml//lib/rexml/element.rb#2225
509
+ # source://rexml//lib/rexml/element.rb#2214
506
510
  def length; end
507
511
 
508
512
  # :call-seq:
@@ -514,7 +518,7 @@ class REXML::Attributes < ::Hash
514
518
  # d = REXML::Document.new(xml_string)
515
519
  # d.root.attributes.namespaces # => {"xmlns"=>"foo", "x"=>"bar", "y"=>"twee"}
516
520
  #
517
- # source://rexml//lib/rexml/element.rb#2446
521
+ # source://rexml//lib/rexml/element.rb#2426
518
522
  def namespaces; end
519
523
 
520
524
  # :call-seq:
@@ -528,7 +532,7 @@ class REXML::Attributes < ::Hash
528
532
  # d = REXML::Document.new(xml_string)
529
533
  # d.root.attributes.prefixes # => ["x", "y"]
530
534
  #
531
- # source://rexml//lib/rexml/element.rb#2421
535
+ # source://rexml//lib/rexml/element.rb#2400
532
536
  def prefixes; end
533
537
 
534
538
  # :call-seq:
@@ -545,7 +549,7 @@ class REXML::Attributes < ::Hash
545
549
  # ele = d.root.elements['//ele'] # => <a foo:att='1' bar:att='2' att='&lt;'/>
546
550
  # ele.attributes.length # => 3
547
551
  #
548
- # source://rexml//lib/rexml/element.rb#2225
552
+ # source://rexml//lib/rexml/element.rb#2214
549
553
  def size; end
550
554
 
551
555
  # :call-seq:
@@ -564,7 +568,7 @@ class REXML::Attributes < ::Hash
564
568
  # attrs = ele.attributes.to_a # => [foo:att='1', bar:att='2', att='&lt;']
565
569
  # attrs.first.class # => REXML::Attribute
566
570
  #
567
- # source://rexml//lib/rexml/element.rb#2207
571
+ # source://rexml//lib/rexml/element.rb#2196
568
572
  def to_a; end
569
573
  end
570
574
 
@@ -647,7 +651,7 @@ class REXML::Child
647
651
 
648
652
  # This doesn't yet handle encodings
649
653
  #
650
- # source://rexml//lib/rexml/child.rb#91
654
+ # source://rexml//lib/rexml/child.rb#90
651
655
  def bytes; end
652
656
 
653
657
  # Returns:: the document this child belongs to, or nil if this child
@@ -793,20 +797,20 @@ module REXML::DClonable; end
793
797
  # This is an abstract class. You never use this directly; it serves as a
794
798
  # parent class for the specific declarations.
795
799
  #
796
- # source://rexml//lib/rexml/doctype.rb#242
800
+ # source://rexml//lib/rexml/doctype.rb#238
797
801
  class REXML::Declaration < ::REXML::Child
798
802
  # @return [Declaration] a new instance of Declaration
799
803
  #
800
- # source://rexml//lib/rexml/doctype.rb#243
804
+ # source://rexml//lib/rexml/doctype.rb#239
801
805
  def initialize(src); end
802
806
 
803
- # source://rexml//lib/rexml/doctype.rb#248
807
+ # source://rexml//lib/rexml/doctype.rb#244
804
808
  def to_s; end
805
809
 
806
810
  # == DEPRECATED
807
811
  # See REXML::Formatters
808
812
  #
809
- # source://rexml//lib/rexml/doctype.rb#255
813
+ # source://rexml//lib/rexml/doctype.rb#251
810
814
  def write(output, indent); end
811
815
  end
812
816
 
@@ -836,7 +840,7 @@ class REXML::DocType < ::REXML::Parent
836
840
  # source://rexml//lib/rexml/doctype.rb#80
837
841
  def initialize(first, parent = T.unsafe(nil)); end
838
842
 
839
- # source://rexml//lib/rexml/doctype.rb#185
843
+ # source://rexml//lib/rexml/doctype.rb#181
840
844
  def add(child); end
841
845
 
842
846
  # source://rexml//lib/rexml/doctype.rb#125
@@ -857,7 +861,7 @@ class REXML::DocType < ::REXML::Parent
857
861
  # source://rexml//lib/rexml/doctype.rb#66
858
862
  def entities; end
859
863
 
860
- # source://rexml//lib/rexml/doctype.rb#181
864
+ # source://rexml//lib/rexml/doctype.rb#177
861
865
  def entity(name); end
862
866
 
863
867
  # name is the name of the doctype
@@ -886,7 +890,7 @@ class REXML::DocType < ::REXML::Parent
886
890
  #
887
891
  # Method contributed by Henrik Martensson
888
892
  #
889
- # source://rexml//lib/rexml/doctype.rb#229
893
+ # source://rexml//lib/rexml/doctype.rb#225
890
894
  def notation(name); end
891
895
 
892
896
  # This method returns a list of notations that have been declared in the
@@ -895,7 +899,7 @@ class REXML::DocType < ::REXML::Parent
895
899
  #
896
900
  # Method contributed by Henrik Martensson
897
901
  #
898
- # source://rexml//lib/rexml/doctype.rb#221
902
+ # source://rexml//lib/rexml/doctype.rb#217
899
903
  def notations; end
900
904
 
901
905
  # This method retrieves the public identifier identifying the document's
@@ -903,14 +907,14 @@ class REXML::DocType < ::REXML::Parent
903
907
  #
904
908
  # Method contributed by Henrik Martensson
905
909
  #
906
- # source://rexml//lib/rexml/doctype.rb#195
910
+ # source://rexml//lib/rexml/doctype.rb#191
907
911
  def public; end
908
912
 
909
913
  # This method retrieves the system identifier identifying the document's DTD
910
914
  #
911
915
  # Method contributed by Henrik Martensson
912
916
  #
913
- # source://rexml//lib/rexml/doctype.rb#207
917
+ # source://rexml//lib/rexml/doctype.rb#203
914
918
  def system; end
915
919
 
916
920
  # output::
@@ -1037,7 +1041,7 @@ class REXML::Document < ::REXML::Element
1037
1041
  # d.add(REXML::Element.new('foo'))
1038
1042
  # d.to_s # => "<foo/>"
1039
1043
  #
1040
- # source://rexml//lib/rexml/document.rb#170
1044
+ # source://rexml//lib/rexml/document.rb#172
1041
1045
  def <<(child); end
1042
1046
 
1043
1047
  # :call-seq:
@@ -1074,7 +1078,7 @@ class REXML::Document < ::REXML::Element
1074
1078
  # d.add(REXML::Element.new('foo'))
1075
1079
  # d.to_s # => "<foo/>"
1076
1080
  #
1077
- # source://rexml//lib/rexml/document.rb#170
1081
+ # source://rexml//lib/rexml/document.rb#172
1078
1082
  def add(child); end
1079
1083
 
1080
1084
  # :call-seq:
@@ -1084,7 +1088,7 @@ class REXML::Document < ::REXML::Element
1084
1088
  #
1085
1089
  # REXML::Element.add_element(name_or_element, attributes)
1086
1090
  #
1087
- # source://rexml//lib/rexml/document.rb#209
1091
+ # source://rexml//lib/rexml/document.rb#211
1088
1092
  def add_element(arg = T.unsafe(nil), arg2 = T.unsafe(nil)); end
1089
1093
 
1090
1094
  # :call-seq:
@@ -1093,7 +1097,7 @@ class REXML::Document < ::REXML::Element
1093
1097
  # Returns the new document resulting from executing
1094
1098
  # <tt>Document.new(self)</tt>. See Document.new.
1095
1099
  #
1096
- # source://rexml//lib/rexml/document.rb#120
1100
+ # source://rexml//lib/rexml/document.rb#122
1097
1101
  def clone; end
1098
1102
 
1099
1103
  # :call-seq:
@@ -1106,10 +1110,10 @@ class REXML::Document < ::REXML::Element
1106
1110
  # d = REXML::Document.new('')
1107
1111
  # d.doctype.class # => nil
1108
1112
  #
1109
- # source://rexml//lib/rexml/document.rb#241
1113
+ # source://rexml//lib/rexml/document.rb#243
1110
1114
  def doctype; end
1111
1115
 
1112
- # source://rexml//lib/rexml/document.rb#442
1116
+ # source://rexml//lib/rexml/document.rb#446
1113
1117
  def document; end
1114
1118
 
1115
1119
  # :call-seq:
@@ -1122,20 +1126,39 @@ class REXML::Document < ::REXML::Element
1122
1126
  # d = REXML::Document.new('')
1123
1127
  # d.encoding # => "UTF-8"
1124
1128
  #
1125
- # source://rexml//lib/rexml/document.rb#290
1129
+ # source://rexml//lib/rexml/document.rb#292
1126
1130
  def encoding; end
1127
1131
 
1128
1132
  # Returns the value of attribute entity_expansion_count.
1129
1133
  #
1130
- # source://rexml//lib/rexml/document.rb#433
1134
+ # source://rexml//lib/rexml/document.rb#435
1131
1135
  def entity_expansion_count; end
1132
1136
 
1137
+ # Sets the attribute entity_expansion_limit
1138
+ #
1139
+ # @param value the value to set the attribute entity_expansion_limit to.
1140
+ #
1141
+ # source://rexml//lib/rexml/document.rb#436
1142
+ def entity_expansion_limit=(_arg0); end
1143
+
1144
+ # Returns the value of attribute entity_expansion_text_limit.
1145
+ #
1146
+ # source://rexml//lib/rexml/document.rb#437
1147
+ def entity_expansion_text_limit; end
1148
+
1149
+ # Sets the attribute entity_expansion_text_limit
1150
+ #
1151
+ # @param value the value to set the attribute entity_expansion_text_limit to.
1152
+ #
1153
+ # source://rexml//lib/rexml/document.rb#437
1154
+ def entity_expansion_text_limit=(_arg0); end
1155
+
1133
1156
  # :call-seq:
1134
1157
  # expanded_name -> empty_string
1135
1158
  #
1136
1159
  # Returns an empty string.
1137
1160
  #
1138
- # source://rexml//lib/rexml/document.rb#129
1161
+ # source://rexml//lib/rexml/document.rb#131
1139
1162
  def expanded_name; end
1140
1163
 
1141
1164
  # :call-seq:
@@ -1145,7 +1168,7 @@ class REXML::Document < ::REXML::Element
1145
1168
  # d = doc_type
1146
1169
  # d ? d.name : "UNDEFINED"
1147
1170
  #
1148
- # source://rexml//lib/rexml/document.rb#129
1171
+ # source://rexml//lib/rexml/document.rb#131
1149
1172
  def name; end
1150
1173
 
1151
1174
  # :call-seq:
@@ -1153,10 +1176,10 @@ class REXML::Document < ::REXML::Element
1153
1176
  #
1154
1177
  # Returns the symbol +:document+.
1155
1178
  #
1156
- # source://rexml//lib/rexml/document.rb#110
1179
+ # source://rexml//lib/rexml/document.rb#112
1157
1180
  def node_type; end
1158
1181
 
1159
- # source://rexml//lib/rexml/document.rb#435
1182
+ # source://rexml//lib/rexml/document.rb#439
1160
1183
  def record_entity_expansion; end
1161
1184
 
1162
1185
  # :call-seq:
@@ -1169,7 +1192,7 @@ class REXML::Document < ::REXML::Element
1169
1192
  # d = REXML::Document.new('')
1170
1193
  # d.root # => nil
1171
1194
  #
1172
- # source://rexml//lib/rexml/document.rb#225
1195
+ # source://rexml//lib/rexml/document.rb#227
1173
1196
  def root; end
1174
1197
 
1175
1198
  # :call-seq:
@@ -1185,7 +1208,7 @@ class REXML::Document < ::REXML::Element
1185
1208
  #
1186
1209
  # @return [Boolean]
1187
1210
  #
1188
- # source://rexml//lib/rexml/document.rb#305
1211
+ # source://rexml//lib/rexml/document.rb#307
1189
1212
  def stand_alone?; end
1190
1213
 
1191
1214
  # :call-seq:
@@ -1199,12 +1222,12 @@ class REXML::Document < ::REXML::Element
1199
1222
  # d = REXML::Document.new('')
1200
1223
  # d.version # => "1.0"
1201
1224
  #
1202
- # source://rexml//lib/rexml/document.rb#275
1225
+ # source://rexml//lib/rexml/document.rb#277
1203
1226
  def version; end
1204
1227
 
1205
1228
  # :call-seq:
1206
- # doc.write(output=$stdout, indent=-1, transtive=false, ie_hack=false, encoding=nil)
1207
- # doc.write(options={:output => $stdout, :indent => -1, :transtive => false, :ie_hack => false, :encoding => nil})
1229
+ # doc.write(output=$stdout, indent=-1, transitive=false, ie_hack=false, encoding=nil)
1230
+ # doc.write(options={:output => $stdout, :indent => -1, :transitive => false, :ie_hack => false, :encoding => nil})
1208
1231
  #
1209
1232
  # Write the XML tree out, optionally with indent. This writes out the
1210
1233
  # entire XML document, including XML declarations, doctype declarations,
@@ -1258,7 +1281,7 @@ class REXML::Document < ::REXML::Element
1258
1281
  # instead of encoding in XML declaration.
1259
1282
  # Defaults to nil. It means encoding in XML declaration is used.
1260
1283
  #
1261
- # source://rexml//lib/rexml/document.rb#365
1284
+ # source://rexml//lib/rexml/document.rb#367
1262
1285
  def write(*arguments); end
1263
1286
 
1264
1287
  # :call-seq:
@@ -1274,44 +1297,62 @@ class REXML::Document < ::REXML::Element
1274
1297
  # d.xml_decl.class # => REXML::XMLDecl
1275
1298
  # d.xml_decl.to_s # => ""
1276
1299
  #
1277
- # source://rexml//lib/rexml/document.rb#258
1300
+ # source://rexml//lib/rexml/document.rb#260
1278
1301
  def xml_decl; end
1279
1302
 
1280
1303
  private
1281
1304
 
1282
- # source://rexml//lib/rexml/document.rb#447
1305
+ # source://rexml//lib/rexml/document.rb#465
1283
1306
  def build(source); end
1284
1307
 
1308
+ # New document level cache is created and available in this block.
1309
+ # This API is thread unsafe. Users can't change this document in this block.
1310
+ #
1311
+ # source://rexml//lib/rexml/document.rb#456
1312
+ def enable_cache; end
1313
+
1314
+ # Returns the value of attribute namespaces_cache.
1315
+ #
1316
+ # source://rexml//lib/rexml/document.rb#452
1317
+ def namespaces_cache; end
1318
+
1319
+ # Sets the attribute namespaces_cache
1320
+ #
1321
+ # @param value the value to set the attribute namespaces_cache to.
1322
+ #
1323
+ # source://rexml//lib/rexml/document.rb#452
1324
+ def namespaces_cache=(_arg0); end
1325
+
1285
1326
  class << self
1286
1327
  # Get the entity expansion limit. By default the limit is set to 10000.
1287
1328
  #
1288
1329
  # Deprecated. Use REXML::Security.entity_expansion_limit= instead.
1289
1330
  #
1290
- # source://rexml//lib/rexml/document.rb#415
1331
+ # source://rexml//lib/rexml/document.rb#417
1291
1332
  def entity_expansion_limit; end
1292
1333
 
1293
1334
  # Set the entity expansion limit. By default the limit is set to 10000.
1294
1335
  #
1295
1336
  # Deprecated. Use REXML::Security.entity_expansion_limit= instead.
1296
1337
  #
1297
- # source://rexml//lib/rexml/document.rb#408
1338
+ # source://rexml//lib/rexml/document.rb#410
1298
1339
  def entity_expansion_limit=(val); end
1299
1340
 
1300
1341
  # Get the entity expansion limit. By default the limit is set to 10240.
1301
1342
  #
1302
1343
  # Deprecated. Use REXML::Security.entity_expansion_text_limit instead.
1303
1344
  #
1304
- # source://rexml//lib/rexml/document.rb#429
1345
+ # source://rexml//lib/rexml/document.rb#431
1305
1346
  def entity_expansion_text_limit; end
1306
1347
 
1307
1348
  # Set the entity expansion limit. By default the limit is set to 10240.
1308
1349
  #
1309
1350
  # Deprecated. Use REXML::Security.entity_expansion_text_limit= instead.
1310
1351
  #
1311
- # source://rexml//lib/rexml/document.rb#422
1352
+ # source://rexml//lib/rexml/document.rb#424
1312
1353
  def entity_expansion_text_limit=(val); end
1313
1354
 
1314
- # source://rexml//lib/rexml/document.rb#401
1355
+ # source://rexml//lib/rexml/document.rb#403
1315
1356
  def parse_stream(source, listener); end
1316
1357
  end
1317
1358
  end
@@ -1577,7 +1618,7 @@ end
1577
1618
  # #attributes:: Returns the REXML::Attributes object for the element.
1578
1619
  # #context:: Returns or sets the context hash for the element.
1579
1620
  #
1580
- # source://rexml//lib/rexml/element.rb#279
1621
+ # source://rexml//lib/rexml/element.rb#271
1581
1622
  class REXML::Element < ::REXML::Parent
1582
1623
  include ::REXML::XMLTokens
1583
1624
  include ::REXML::Namespace
@@ -1620,7 +1661,7 @@ class REXML::Element < ::REXML::Parent
1620
1661
  #
1621
1662
  # @return [Element] a new instance of Element
1622
1663
  #
1623
- # source://rexml//lib/rexml/element.rb#327
1664
+ # source://rexml//lib/rexml/element.rb#319
1624
1665
  def initialize(arg = T.unsafe(nil), parent = T.unsafe(nil), context = T.unsafe(nil)); end
1625
1666
 
1626
1667
  # :call-seq:
@@ -1662,7 +1703,7 @@ class REXML::Element < ::REXML::Parent
1662
1703
  # root[:attr] # => "value"
1663
1704
  # root[:nosuch] # => nil
1664
1705
  #
1665
- # source://rexml//lib/rexml/element.rb#1245
1706
+ # source://rexml//lib/rexml/element.rb#1238
1666
1707
  def [](name_or_index); end
1667
1708
 
1668
1709
  # :call-seq:
@@ -1691,7 +1732,7 @@ class REXML::Element < ::REXML::Parent
1691
1732
  # e.add_attribute(a) # => attr='VALUE'
1692
1733
  # e['attr'] # => "VALUE"
1693
1734
  #
1694
- # source://rexml//lib/rexml/element.rb#1349
1735
+ # source://rexml//lib/rexml/element.rb#1336
1695
1736
  def add_attribute(key, value = T.unsafe(nil)); end
1696
1737
 
1697
1738
  # :call-seq:
@@ -1717,7 +1758,7 @@ class REXML::Element < ::REXML::Parent
1717
1758
  # a = [['foo' => 'bar'], ['baz' => 'bat']]
1718
1759
  # e.add_attributes(a)
1719
1760
  #
1720
- # source://rexml//lib/rexml/element.rb#1380
1761
+ # source://rexml//lib/rexml/element.rb#1367
1721
1762
  def add_attributes(hash); end
1722
1763
 
1723
1764
  # :call-seq:
@@ -1754,7 +1795,7 @@ class REXML::Element < ::REXML::Parent
1754
1795
  # e0.add_element(e1, {'bat' => '0', 'bam' => '1'})
1755
1796
  # e0[1] # => <bar bat='0' bam='1'/>
1756
1797
  #
1757
- # source://rexml//lib/rexml/element.rb#731
1798
+ # source://rexml//lib/rexml/element.rb#725
1758
1799
  def add_element(element, attrs = T.unsafe(nil)); end
1759
1800
 
1760
1801
  # :call-seq:
@@ -1775,7 +1816,7 @@ class REXML::Element < ::REXML::Parent
1775
1816
  # e.add_namespace('baz', 'bat')
1776
1817
  # e.namespaces # => {"xmlns"=>"bar", "baz"=>"bat"}
1777
1818
  #
1778
- # source://rexml//lib/rexml/element.rb#654
1819
+ # source://rexml//lib/rexml/element.rb#648
1779
1820
  def add_namespace(prefix, uri = T.unsafe(nil)); end
1780
1821
 
1781
1822
  # :call-seq:
@@ -1817,7 +1858,7 @@ class REXML::Element < ::REXML::Parent
1817
1858
  # a.add_text(REXML::Text.new('baz'))
1818
1859
  # a.to_a # => ["foo", <b/>, "bar", "baz", "baz"]
1819
1860
  #
1820
- # source://rexml//lib/rexml/element.rb#1146
1861
+ # source://rexml//lib/rexml/element.rb#1139
1821
1862
  def add_text(text); end
1822
1863
 
1823
1864
  # :call-seq:
@@ -1849,13 +1890,13 @@ class REXML::Element < ::REXML::Parent
1849
1890
  # document.root.attribute("x") # => x='x'
1850
1891
  # document.root.attribute("x", "a") # => a:x='a:x'
1851
1892
  #
1852
- # source://rexml//lib/rexml/element.rb#1286
1893
+ # source://rexml//lib/rexml/element.rb#1279
1853
1894
  def attribute(name, namespace = T.unsafe(nil)); end
1854
1895
 
1855
1896
  # Mechanisms for accessing attributes and child elements of this
1856
1897
  # element.
1857
1898
  #
1858
- # source://rexml//lib/rexml/element.rb#286
1899
+ # source://rexml//lib/rexml/element.rb#278
1859
1900
  def attributes; end
1860
1901
 
1861
1902
  # :call-seq:
@@ -1874,7 +1915,7 @@ class REXML::Element < ::REXML::Parent
1874
1915
  # cds.frozen? # => true
1875
1916
  # cds.map {|cd| cd.class } # => [REXML::CData, REXML::CData]
1876
1917
  #
1877
- # source://rexml//lib/rexml/element.rb#1424
1918
+ # source://rexml//lib/rexml/element.rb#1411
1878
1919
  def cdatas; end
1879
1920
 
1880
1921
  # :call-seq:
@@ -1887,7 +1928,7 @@ class REXML::Element < ::REXML::Parent
1887
1928
  # e.add_attributes({'bar' => 0, 'baz' => 1})
1888
1929
  # e.clone # => <foo bar='0' baz='1'/>
1889
1930
  #
1890
- # source://rexml//lib/rexml/element.rb#391
1931
+ # source://rexml//lib/rexml/element.rb#383
1891
1932
  def clone; end
1892
1933
 
1893
1934
  # :call-seq:
@@ -1907,19 +1948,19 @@ class REXML::Element < ::REXML::Parent
1907
1948
  # cs.map {|c| c.class } # => [REXML::Comment, REXML::Comment]
1908
1949
  # cs.map {|c| c.to_s } # => ["foo", "bar"]
1909
1950
  #
1910
- # source://rexml//lib/rexml/element.rb#1445
1951
+ # source://rexml//lib/rexml/element.rb#1432
1911
1952
  def comments; end
1912
1953
 
1913
1954
  # The context holds information about the processing environment, such as
1914
1955
  # whitespace handling.
1915
1956
  #
1916
- # source://rexml//lib/rexml/element.rb#289
1957
+ # source://rexml//lib/rexml/element.rb#281
1917
1958
  def context; end
1918
1959
 
1919
1960
  # The context holds information about the processing environment, such as
1920
1961
  # whitespace handling.
1921
1962
  #
1922
- # source://rexml//lib/rexml/element.rb#289
1963
+ # source://rexml//lib/rexml/element.rb#281
1923
1964
  def context=(_arg0); end
1924
1965
 
1925
1966
  # :call-seq:
@@ -1933,7 +1974,7 @@ class REXML::Element < ::REXML::Parent
1933
1974
  # e.delete_attribute('bar') # => <bar/>
1934
1975
  # e.delete_attribute('bar') # => nil
1935
1976
  #
1936
- # source://rexml//lib/rexml/element.rb#1399
1977
+ # source://rexml//lib/rexml/element.rb#1386
1937
1978
  def delete_attribute(key); end
1938
1979
 
1939
1980
  # :call-seq:
@@ -1973,7 +2014,7 @@ class REXML::Element < ::REXML::Parent
1973
2014
  # a.delete_element('//c') # => <c/>
1974
2015
  # a.delete_element('//c') # => nil
1975
2016
  #
1976
- # source://rexml//lib/rexml/element.rb#777
2017
+ # source://rexml//lib/rexml/element.rb#771
1977
2018
  def delete_element(element); end
1978
2019
 
1979
2020
  # :call-seq:
@@ -1998,7 +2039,7 @@ class REXML::Element < ::REXML::Parent
1998
2039
  # d.root.delete_namespace('nosuch')
1999
2040
  # d.to_s # => "<a/>"
2000
2041
  #
2001
- # source://rexml//lib/rexml/element.rb#686
2042
+ # source://rexml//lib/rexml/element.rb#680
2002
2043
  def delete_namespace(namespace = T.unsafe(nil)); end
2003
2044
 
2004
2045
  # :call-seq:
@@ -2022,7 +2063,7 @@ class REXML::Element < ::REXML::Parent
2022
2063
  #
2023
2064
  # Related: #root, #root_node.
2024
2065
  #
2025
- # source://rexml//lib/rexml/element.rb#478
2066
+ # source://rexml//lib/rexml/element.rb#475
2026
2067
  def document; end
2027
2068
 
2028
2069
  # :call-seq:
@@ -2041,7 +2082,7 @@ class REXML::Element < ::REXML::Parent
2041
2082
  # <d> ... </>
2042
2083
  # <e/>
2043
2084
  #
2044
- # source://rexml//lib/rexml/element.rb#929
2085
+ # source://rexml//lib/rexml/element.rb#923
2045
2086
  def each_element(xpath = T.unsafe(nil), &block); end
2046
2087
 
2047
2088
  # :call-seq:
@@ -2093,7 +2134,7 @@ class REXML::Element < ::REXML::Parent
2093
2134
  #
2094
2135
  # <d id='1'/>
2095
2136
  #
2096
- # source://rexml//lib/rexml/element.rb#846
2137
+ # source://rexml//lib/rexml/element.rb#840
2097
2138
  def each_element_with_attribute(key, value = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
2098
2139
 
2099
2140
  # :call-seq:
@@ -2143,13 +2184,13 @@ class REXML::Element < ::REXML::Parent
2143
2184
  #
2144
2185
  # <c> ... </>
2145
2186
  #
2146
- # source://rexml//lib/rexml/element.rb#903
2187
+ # source://rexml//lib/rexml/element.rb#897
2147
2188
  def each_element_with_text(text = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end
2148
2189
 
2149
2190
  # Mechanisms for accessing attributes and child elements of this
2150
2191
  # element.
2151
2192
  #
2152
- # source://rexml//lib/rexml/element.rb#286
2193
+ # source://rexml//lib/rexml/element.rb#278
2153
2194
  def elements; end
2154
2195
 
2155
2196
  # :call-seq:
@@ -2167,7 +2208,7 @@ class REXML::Element < ::REXML::Parent
2167
2208
  # d = REXML::Document.new(xml_string)
2168
2209
  # d.root.get_elements('//a') # => [<a level='1'> ... </>, <a level='2'/>]
2169
2210
  #
2170
- # source://rexml//lib/rexml/element.rb#948
2211
+ # source://rexml//lib/rexml/element.rb#942
2171
2212
  def get_elements(xpath); end
2172
2213
 
2173
2214
  # :call-seq:
@@ -2187,7 +2228,7 @@ class REXML::Element < ::REXML::Parent
2187
2228
  #
2188
2229
  # d.root.get_text(1) # => "this is bold!"
2189
2230
  #
2190
- # source://rexml//lib/rexml/element.rb#1052
2231
+ # source://rexml//lib/rexml/element.rb#1045
2191
2232
  def get_text(path = T.unsafe(nil)); end
2192
2233
 
2193
2234
  # :call-seq:
@@ -2202,7 +2243,7 @@ class REXML::Element < ::REXML::Parent
2202
2243
  #
2203
2244
  # @return [Boolean]
2204
2245
  #
2205
- # source://rexml//lib/rexml/element.rb#1319
2246
+ # source://rexml//lib/rexml/element.rb#1306
2206
2247
  def has_attributes?; end
2207
2248
 
2208
2249
  # :call-seq:
@@ -2219,7 +2260,7 @@ class REXML::Element < ::REXML::Parent
2219
2260
  #
2220
2261
  # @return [Boolean]
2221
2262
  #
2222
- # source://rexml//lib/rexml/element.rb#793
2263
+ # source://rexml//lib/rexml/element.rb#787
2223
2264
  def has_elements?; end
2224
2265
 
2225
2266
  # :call-seq:
@@ -2236,7 +2277,7 @@ class REXML::Element < ::REXML::Parent
2236
2277
  #
2237
2278
  # @return [Boolean]
2238
2279
  #
2239
- # source://rexml//lib/rexml/element.rb#1001
2280
+ # source://rexml//lib/rexml/element.rb#995
2240
2281
  def has_text?; end
2241
2282
 
2242
2283
  # :call-seq:
@@ -2246,7 +2287,7 @@ class REXML::Element < ::REXML::Parent
2246
2287
  #
2247
2288
  # See {Element Context}[../doc/rexml/context_rdoc.html].
2248
2289
  #
2249
- # source://rexml//lib/rexml/element.rb#516
2290
+ # source://rexml//lib/rexml/element.rb#512
2250
2291
  def ignore_whitespace_nodes; end
2251
2292
 
2252
2293
  # :call-seq:
@@ -2270,7 +2311,7 @@ class REXML::Element < ::REXML::Parent
2270
2311
  # e.add_element(REXML::Element.new('baz'))
2271
2312
  # e.inspect # => "<foo bar='0' baz='1'> ... </>"
2272
2313
  #
2273
- # source://rexml//lib/rexml/element.rb#366
2314
+ # source://rexml//lib/rexml/element.rb#358
2274
2315
  def inspect; end
2275
2316
 
2276
2317
  # :call-seq:
@@ -2290,7 +2331,7 @@ class REXML::Element < ::REXML::Parent
2290
2331
  # is.map {|i| i.class } # => [REXML::Instruction, REXML::Instruction]
2291
2332
  # is.map {|i| i.to_s } # => ["<?target0 foo?>", "<?target1 bar?>"]
2292
2333
  #
2293
- # source://rexml//lib/rexml/element.rb#1466
2334
+ # source://rexml//lib/rexml/element.rb#1453
2294
2335
  def instructions; end
2295
2336
 
2296
2337
  # :call-seq:
@@ -2313,7 +2354,7 @@ class REXML::Element < ::REXML::Parent
2313
2354
  # b.namespace('y') # => "2"
2314
2355
  # b.namespace('nosuch') # => nil
2315
2356
  #
2316
- # source://rexml//lib/rexml/element.rb#621
2357
+ # source://rexml//lib/rexml/element.rb#619
2317
2358
  def namespace(prefix = T.unsafe(nil)); end
2318
2359
 
2319
2360
  # :call-seq:
@@ -2335,7 +2376,7 @@ class REXML::Element < ::REXML::Parent
2335
2376
  # d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
2336
2377
  # d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"}
2337
2378
  #
2338
- # source://rexml//lib/rexml/element.rb#594
2379
+ # source://rexml//lib/rexml/element.rb#590
2339
2380
  def namespaces; end
2340
2381
 
2341
2382
  # :call-seq:
@@ -2348,7 +2389,7 @@ class REXML::Element < ::REXML::Parent
2348
2389
  # d.root.elements['b'].next_element #-> <c/>
2349
2390
  # d.root.elements['c'].next_element #-> nil
2350
2391
  #
2351
- # source://rexml//lib/rexml/element.rb#962
2392
+ # source://rexml//lib/rexml/element.rb#956
2352
2393
  def next_element; end
2353
2394
 
2354
2395
  # :call-seq:
@@ -2360,7 +2401,7 @@ class REXML::Element < ::REXML::Parent
2360
2401
  # a = d.root # => <a/>
2361
2402
  # a.node_type # => :element
2362
2403
  #
2363
- # source://rexml//lib/rexml/element.rb#1167
2404
+ # source://rexml//lib/rexml/element.rb#1160
2364
2405
  def node_type; end
2365
2406
 
2366
2407
  # :call-seq:
@@ -2382,7 +2423,7 @@ class REXML::Element < ::REXML::Parent
2382
2423
  # d.elements['//b'].prefixes # => ["x", "y"]
2383
2424
  # d.elements['//c'].prefixes # => ["x", "y", "z"]
2384
2425
  #
2385
- # source://rexml//lib/rexml/element.rb#568
2426
+ # source://rexml//lib/rexml/element.rb#564
2386
2427
  def prefixes; end
2387
2428
 
2388
2429
  # :call-seq:
@@ -2395,7 +2436,7 @@ class REXML::Element < ::REXML::Parent
2395
2436
  # d.root.elements['c'].previous_element #-> <b/>
2396
2437
  # d.root.elements['b'].previous_element #-> nil
2397
2438
  #
2398
- # source://rexml//lib/rexml/element.rb#978
2439
+ # source://rexml//lib/rexml/element.rb#972
2399
2440
  def previous_element; end
2400
2441
 
2401
2442
  # :call-seq:
@@ -2408,7 +2449,7 @@ class REXML::Element < ::REXML::Parent
2408
2449
  # The evaluation is tested against +expanded_name+, and so is namespace
2409
2450
  # sensitive.
2410
2451
  #
2411
- # source://rexml//lib/rexml/element.rb#536
2452
+ # source://rexml//lib/rexml/element.rb#532
2412
2453
  def raw; end
2413
2454
 
2414
2455
  # :call-seq:
@@ -2428,7 +2469,7 @@ class REXML::Element < ::REXML::Parent
2428
2469
  #
2429
2470
  # Related: #root_node, #document.
2430
2471
  #
2431
- # source://rexml//lib/rexml/element.rb#451
2472
+ # source://rexml//lib/rexml/element.rb#443
2432
2473
  def root; end
2433
2474
 
2434
2475
  # :call-seq:
@@ -2466,7 +2507,7 @@ class REXML::Element < ::REXML::Parent
2466
2507
  #
2467
2508
  # Related: #root, #document.
2468
2509
  #
2469
- # source://rexml//lib/rexml/element.rb#430
2510
+ # source://rexml//lib/rexml/element.rb#422
2470
2511
  def root_node; end
2471
2512
 
2472
2513
  # :call-seq:
@@ -2493,7 +2534,7 @@ class REXML::Element < ::REXML::Parent
2493
2534
  # Note also that the text note is retrieved by method get_text,
2494
2535
  # and so is always normalized text.
2495
2536
  #
2496
- # source://rexml//lib/rexml/element.rb#1029
2537
+ # source://rexml//lib/rexml/element.rb#1023
2497
2538
  def text(path = T.unsafe(nil)); end
2498
2539
 
2499
2540
  # :call-seq:
@@ -2521,7 +2562,7 @@ class REXML::Element < ::REXML::Parent
2521
2562
  #
2522
2563
  # d.root.text = nil #-> '<a><b/><c/></a>'
2523
2564
  #
2524
- # source://rexml//lib/rexml/element.rb#1088
2565
+ # source://rexml//lib/rexml/element.rb#1081
2525
2566
  def text=(text); end
2526
2567
 
2527
2568
  # :call-seq:
@@ -2536,7 +2577,7 @@ class REXML::Element < ::REXML::Parent
2536
2577
  # ts.map {|t| t.class } # => [REXML::Text, REXML::Text]
2537
2578
  # ts.map {|t| t.to_s } # => ["text", "more"]
2538
2579
  #
2539
- # source://rexml//lib/rexml/element.rb#1482
2580
+ # source://rexml//lib/rexml/element.rb#1469
2540
2581
  def texts; end
2541
2582
 
2542
2583
  # :call-seq:
@@ -2550,7 +2591,7 @@ class REXML::Element < ::REXML::Parent
2550
2591
  # The evaluation is tested against the element's +expanded_name+,
2551
2592
  # and so is namespace-sensitive.
2552
2593
  #
2553
- # source://rexml//lib/rexml/element.rb#493
2594
+ # source://rexml//lib/rexml/element.rb#489
2554
2595
  def whitespace; end
2555
2596
 
2556
2597
  # == DEPRECATED
@@ -2576,7 +2617,7 @@ class REXML::Element < ::REXML::Parent
2576
2617
  # doc.write( out ) #-> doc is written to the string 'out'
2577
2618
  # doc.write( $stdout ) #-> doc written to the console
2578
2619
  #
2579
- # source://rexml//lib/rexml/element.rb#1508
2620
+ # source://rexml//lib/rexml/element.rb#1495
2580
2621
  def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
2581
2622
 
2582
2623
  # :call-seq:
@@ -2599,25 +2640,28 @@ class REXML::Element < ::REXML::Parent
2599
2640
  # e = REXML::Element.new('foo')
2600
2641
  # e.xpath # => "foo"
2601
2642
  #
2602
- # source://rexml//lib/rexml/element.rb#1191
2643
+ # source://rexml//lib/rexml/element.rb#1184
2603
2644
  def xpath; end
2604
2645
 
2605
2646
  private
2606
2647
 
2607
- # source://rexml//lib/rexml/element.rb#1525
2648
+ # source://rexml//lib/rexml/element.rb#1519
2608
2649
  def __to_xpath_helper(node); end
2609
2650
 
2651
+ # source://rexml//lib/rexml/element.rb#1511
2652
+ def calculate_namespaces; end
2653
+
2610
2654
  # A private helper method
2611
2655
  #
2612
- # source://rexml//lib/rexml/element.rb#1540
2656
+ # source://rexml//lib/rexml/element.rb#1534
2613
2657
  def each_with_something(test, max = T.unsafe(nil), name = T.unsafe(nil)); end
2614
2658
  end
2615
2659
 
2616
- # source://rexml//lib/rexml/doctype.rb#261
2660
+ # source://rexml//lib/rexml/doctype.rb#257
2617
2661
  class REXML::ElementDecl < ::REXML::Declaration
2618
2662
  # @return [ElementDecl] a new instance of ElementDecl
2619
2663
  #
2620
- # source://rexml//lib/rexml/doctype.rb#262
2664
+ # source://rexml//lib/rexml/doctype.rb#258
2621
2665
  def initialize(src); end
2622
2666
  end
2623
2667
 
@@ -2663,7 +2707,7 @@ end
2663
2707
  # elements = d.root.elements
2664
2708
  # elements # => #<REXML::Elements @element=<bookstore> ... </>>
2665
2709
  #
2666
- # source://rexml//lib/rexml/element.rb#1595
2710
+ # source://rexml//lib/rexml/element.rb#1589
2667
2711
  class REXML::Elements
2668
2712
  include ::Enumerable
2669
2713
 
@@ -2680,7 +2724,7 @@ class REXML::Elements
2680
2724
  #
2681
2725
  # @return [Elements] a new instance of Elements
2682
2726
  #
2683
- # source://rexml//lib/rexml/element.rb#1608
2727
+ # source://rexml//lib/rexml/element.rb#1602
2684
2728
  def initialize(parent); end
2685
2729
 
2686
2730
  # :call-seq:
@@ -2745,7 +2789,7 @@ class REXML::Elements
2745
2789
  # element.parent # => <bookstore> ... </>
2746
2790
  # element.context # => {:raw=>:all}
2747
2791
  #
2748
- # source://rexml//lib/rexml/element.rb#1925
2792
+ # source://rexml//lib/rexml/element.rb#1915
2749
2793
  def <<(element = T.unsafe(nil)); end
2750
2794
 
2751
2795
  # :call-seq:
@@ -2801,7 +2845,7 @@ class REXML::Elements
2801
2845
  # eles[4, 'book'] # => <book category='web' cover='paperback'> ... </>
2802
2846
  # eles[5, 'book'] # => nil
2803
2847
  #
2804
- # source://rexml//lib/rexml/element.rb#1680
2848
+ # source://rexml//lib/rexml/element.rb#1674
2805
2849
  def [](index, name = T.unsafe(nil)); end
2806
2850
 
2807
2851
  # :call-seq:
@@ -2840,7 +2884,7 @@ class REXML::Elements
2840
2884
  # eles[50] = REXML::Text.new('bar') # => "bar"
2841
2885
  # eles.size # => 5
2842
2886
  #
2843
- # source://rexml//lib/rexml/element.rb#1735
2887
+ # source://rexml//lib/rexml/element.rb#1725
2844
2888
  def []=(index, element); end
2845
2889
 
2846
2890
  # :call-seq:
@@ -2905,7 +2949,7 @@ class REXML::Elements
2905
2949
  # element.parent # => <bookstore> ... </>
2906
2950
  # element.context # => {:raw=>:all}
2907
2951
  #
2908
- # source://rexml//lib/rexml/element.rb#1925
2952
+ # source://rexml//lib/rexml/element.rb#1915
2909
2953
  def add(element = T.unsafe(nil)); end
2910
2954
 
2911
2955
  # :call-seq:
@@ -2925,7 +2969,7 @@ class REXML::Elements
2925
2969
  # xpath = '//book [@category="web"]'
2926
2970
  # elements.collect(xpath) {|element| element.size } # => [17, 9]
2927
2971
  #
2928
- # source://rexml//lib/rexml/element.rb#1988
2972
+ # source://rexml//lib/rexml/element.rb#1978
2929
2973
  def collect(xpath = T.unsafe(nil)); end
2930
2974
 
2931
2975
  # :call-seq:
@@ -2969,7 +3013,7 @@ class REXML::Elements
2969
3013
  # elements.delete('//book [@category="children"]') # => <book category='children'> ... </>
2970
3014
  # elements.delete('//nosuch') # => nil
2971
3015
  #
2972
- # source://rexml//lib/rexml/element.rb#1825
3016
+ # source://rexml//lib/rexml/element.rb#1815
2973
3017
  def delete(element); end
2974
3018
 
2975
3019
  # :call-seq:
@@ -2989,7 +3033,7 @@ class REXML::Elements
2989
3033
  # elements.size # => 0
2990
3034
  # elements.delete_all('//book') # => []
2991
3035
  #
2992
- # source://rexml//lib/rexml/element.rb#1851
3036
+ # source://rexml//lib/rexml/element.rb#1841
2993
3037
  def delete_all(xpath); end
2994
3038
 
2995
3039
  # :call-seq:
@@ -3020,7 +3064,7 @@ class REXML::Elements
3020
3064
  # <book category='web'> ... </>
3021
3065
  # <book category='web' cover='paperback'> ... </>
3022
3066
  #
3023
- # source://rexml//lib/rexml/element.rb#1967
3067
+ # source://rexml//lib/rexml/element.rb#1957
3024
3068
  def each(xpath = T.unsafe(nil)); end
3025
3069
 
3026
3070
  # :call-seq:
@@ -3035,7 +3079,7 @@ class REXML::Elements
3035
3079
  #
3036
3080
  # @return [Boolean]
3037
3081
  #
3038
- # source://rexml//lib/rexml/element.rb#1755
3082
+ # source://rexml//lib/rexml/element.rb#1745
3039
3083
  def empty?; end
3040
3084
 
3041
3085
  # :call-seq:
@@ -3052,7 +3096,7 @@ class REXML::Elements
3052
3096
  # elements.index(ele_4) # => 3
3053
3097
  # elements.index(ele_3) # => -1
3054
3098
  #
3055
- # source://rexml//lib/rexml/element.rb#1773
3099
+ # source://rexml//lib/rexml/element.rb#1763
3056
3100
  def index(element); end
3057
3101
 
3058
3102
  # :call-seq:
@@ -3132,7 +3176,7 @@ class REXML::Elements
3132
3176
  # total += element.size
3133
3177
  # end # => 26
3134
3178
  #
3135
- # source://rexml//lib/rexml/element.rb#2073
3179
+ # source://rexml//lib/rexml/element.rb#2063
3136
3180
  def inject(xpath = T.unsafe(nil), initial = T.unsafe(nil)); end
3137
3181
 
3138
3182
  # :call-seq:
@@ -3146,7 +3190,7 @@ class REXML::Elements
3146
3190
  # elements = REXML::Elements.new(d.root)
3147
3191
  # elements.parent == d.root # => true
3148
3192
  #
3149
- # source://rexml//lib/rexml/element.rb#1623
3193
+ # source://rexml//lib/rexml/element.rb#1617
3150
3194
  def parent; end
3151
3195
 
3152
3196
  # :call-seq:
@@ -3158,7 +3202,7 @@ class REXML::Elements
3158
3202
  # d.root.elements.size # => 3 # Three elements.
3159
3203
  # d.root.size # => 6 # Three elements plus three text nodes..
3160
3204
  #
3161
- # source://rexml//lib/rexml/element.rb#2097
3205
+ # source://rexml//lib/rexml/element.rb#2087
3162
3206
  def size; end
3163
3207
 
3164
3208
  # :call-seq:
@@ -3179,23 +3223,23 @@ class REXML::Elements
3179
3223
  #
3180
3224
  # elements.to_a('//c') # => [<c/>]
3181
3225
  #
3182
- # source://rexml//lib/rexml/element.rb#2121
3226
+ # source://rexml//lib/rexml/element.rb#2111
3183
3227
  def to_a(xpath = T.unsafe(nil)); end
3184
3228
 
3185
3229
  private
3186
3230
 
3187
3231
  # Private helper class. Removes quotes from quoted strings
3188
3232
  #
3189
- # source://rexml//lib/rexml/element.rb#2129
3233
+ # source://rexml//lib/rexml/element.rb#2119
3190
3234
  def literalize(name); end
3191
3235
  end
3192
3236
 
3193
3237
  # source://rexml//lib/rexml/encoding.rb#4
3194
3238
  module REXML::Encoding
3195
- # source://rexml//lib/rexml/encoding.rb#29
3239
+ # source://rexml//lib/rexml/encoding.rb#26
3196
3240
  def decode(string); end
3197
3241
 
3198
- # source://rexml//lib/rexml/encoding.rb#25
3242
+ # source://rexml//lib/rexml/encoding.rb#22
3199
3243
  def encode(string); end
3200
3244
 
3201
3245
  # ID ---> Encoding name
@@ -3208,7 +3252,7 @@ module REXML::Encoding
3208
3252
 
3209
3253
  private
3210
3254
 
3211
- # source://rexml//lib/rexml/encoding.rb#34
3255
+ # source://rexml//lib/rexml/encoding.rb#31
3212
3256
  def find_encoding(name); end
3213
3257
  end
3214
3258
 
@@ -3228,65 +3272,54 @@ class REXML::Entity < ::REXML::Child
3228
3272
  #
3229
3273
  # @return [Entity] a new instance of Entity
3230
3274
  #
3231
- # source://rexml//lib/rexml/entity.rb#33
3275
+ # source://rexml//lib/rexml/entity.rb#34
3232
3276
  def initialize(stream, value = T.unsafe(nil), parent = T.unsafe(nil), reference = T.unsafe(nil)); end
3233
3277
 
3234
3278
  # Returns the value of attribute external.
3235
3279
  #
3236
- # source://rexml//lib/rexml/entity.rb#22
3280
+ # source://rexml//lib/rexml/entity.rb#23
3237
3281
  def external; end
3238
3282
 
3239
3283
  # Returns the value of attribute name.
3240
3284
  #
3241
- # source://rexml//lib/rexml/entity.rb#22
3285
+ # source://rexml//lib/rexml/entity.rb#23
3242
3286
  def name; end
3243
3287
 
3244
3288
  # Returns the value of attribute ndata.
3245
3289
  #
3246
- # source://rexml//lib/rexml/entity.rb#22
3290
+ # source://rexml//lib/rexml/entity.rb#23
3247
3291
  def ndata; end
3248
3292
 
3249
3293
  # Returns the value of this entity unprocessed -- raw. This is the
3250
3294
  # normalized value; that is, with all %ent; and &ent; entities intact
3251
3295
  #
3252
- # source://rexml//lib/rexml/entity.rb#85
3296
+ # source://rexml//lib/rexml/entity.rb#86
3253
3297
  def normalized; end
3254
3298
 
3255
- # source://rexml//lib/rexml/entity.rb#138
3256
- def parent=(other); end
3257
-
3258
3299
  # Returns the value of attribute pubid.
3259
3300
  #
3260
- # source://rexml//lib/rexml/entity.rb#22
3301
+ # source://rexml//lib/rexml/entity.rb#23
3261
3302
  def pubid; end
3262
3303
 
3263
3304
  # Returns the value of attribute ref.
3264
3305
  #
3265
- # source://rexml//lib/rexml/entity.rb#22
3306
+ # source://rexml//lib/rexml/entity.rb#23
3266
3307
  def ref; end
3267
3308
 
3268
3309
  # Returns this entity as a string. See write().
3269
3310
  #
3270
- # source://rexml//lib/rexml/entity.rb#119
3311
+ # source://rexml//lib/rexml/entity.rb#120
3271
3312
  def to_s; end
3272
3313
 
3273
3314
  # Evaluates to the unnormalized value of this entity; that is, replacing
3274
- # all entities -- both %ent; and &ent; entities. This differs from
3275
- # +value()+ in that +value+ only replaces %ent; entities.
3315
+ # &ent; entities.
3276
3316
  #
3277
3317
  # source://rexml//lib/rexml/entity.rb#73
3278
3318
  def unnormalized; end
3279
3319
 
3280
- # Returns the value of this entity. At the moment, only internal entities
3281
- # are processed. If the value contains internal references (IE,
3282
- # %blah;), those are replaced with their values. IE, if the doctype
3283
- # contains:
3284
- # <!ENTITY % foo "bar">
3285
- # <!ENTITY yada "nanoo %foo; nanoo>
3286
- # then:
3287
- # doctype.entity('yada').value #-> "nanoo bar nanoo"
3320
+ # Returns the value of attribute value.
3288
3321
  #
3289
- # source://rexml//lib/rexml/entity.rb#134
3322
+ # source://rexml//lib/rexml/entity.rb#23
3290
3323
  def value; end
3291
3324
 
3292
3325
  # Write out a fully formed, correct entity definition (assuming the Entity
@@ -3298,36 +3331,31 @@ class REXML::Entity < ::REXML::Child
3298
3331
  # indent::
3299
3332
  # *DEPRECATED* and ignored
3300
3333
  #
3301
- # source://rexml//lib/rexml/entity.rb#97
3334
+ # source://rexml//lib/rexml/entity.rb#98
3302
3335
  def write(out, indent = T.unsafe(nil)); end
3303
3336
 
3304
- private
3305
-
3306
- # source://rexml//lib/rexml/entity.rb#144
3307
- def resolve_value; end
3308
-
3309
3337
  class << self
3310
3338
  # Evaluates whether the given string matches an entity definition,
3311
3339
  # returning true if so, and false otherwise.
3312
3340
  #
3313
3341
  # @return [Boolean]
3314
3342
  #
3315
- # source://rexml//lib/rexml/entity.rb#66
3343
+ # source://rexml//lib/rexml/entity.rb#67
3316
3344
  def matches?(string); end
3317
3345
  end
3318
3346
  end
3319
3347
 
3320
- # source://rexml//lib/rexml/doctype.rb#267
3348
+ # source://rexml//lib/rexml/doctype.rb#263
3321
3349
  class REXML::ExternalEntity < ::REXML::Child
3322
3350
  # @return [ExternalEntity] a new instance of ExternalEntity
3323
3351
  #
3324
- # source://rexml//lib/rexml/doctype.rb#268
3352
+ # source://rexml//lib/rexml/doctype.rb#264
3325
3353
  def initialize(src); end
3326
3354
 
3327
- # source://rexml//lib/rexml/doctype.rb#272
3355
+ # source://rexml//lib/rexml/doctype.rb#268
3328
3356
  def to_s; end
3329
3357
 
3330
- # source://rexml//lib/rexml/doctype.rb#275
3358
+ # source://rexml//lib/rexml/doctype.rb#271
3331
3359
  def write(output, indent); end
3332
3360
  end
3333
3361
 
@@ -3450,50 +3478,270 @@ class REXML::Formatters::Pretty < ::REXML::Formatters::Default
3450
3478
  def wrap(string, width); end
3451
3479
  end
3452
3480
 
3481
+ # If you add a method, keep in mind two things:
3482
+ # (1) the first argument will always be a list of nodes from which to
3483
+ # filter. In the case of context methods (such as position), the function
3484
+ # should return an array with a value for each child in the array.
3485
+ # (2) all method calls from XML will have "-" replaced with "_".
3486
+ # Therefore, in XML, "local-name()" is identical (and actually becomes)
3487
+ # "local_name()"
3488
+ #
3489
+ # source://rexml//lib/rexml/functions.rb#10
3490
+ module REXML::Functions
3491
+ class << self
3492
+ # source://rexml//lib/rexml/functions.rb#317
3493
+ def boolean(object = T.unsafe(nil)); end
3494
+
3495
+ # source://rexml//lib/rexml/functions.rb#417
3496
+ def ceiling(number); end
3497
+
3498
+ # source://rexml//lib/rexml/functions.rb#370
3499
+ def compare_language(lang1, lang2); end
3500
+
3501
+ # source://rexml//lib/rexml/functions.rb#190
3502
+ def concat(*objects); end
3503
+
3504
+ # Fixed by Mike Stok
3505
+ #
3506
+ # source://rexml//lib/rexml/functions.rb#204
3507
+ def contains(string, test); end
3508
+
3509
+ # source://rexml//lib/rexml/functions.rb#38
3510
+ def context=(value); end
3511
+
3512
+ # Returns the size of the given list of nodes.
3513
+ #
3514
+ # source://rexml//lib/rexml/functions.rb#60
3515
+ def count(node_set); end
3516
+
3517
+ # UNTESTED
3518
+ #
3519
+ # source://rexml//lib/rexml/functions.rb#347
3520
+ def false; end
3521
+
3522
+ # source://rexml//lib/rexml/functions.rb#413
3523
+ def floor(number); end
3524
+
3525
+ # Helper method.
3526
+ #
3527
+ # source://rexml//lib/rexml/functions.rb#87
3528
+ def get_namespace(node_set = T.unsafe(nil)); end
3529
+
3530
+ # Since REXML is non-validating, this method is not implemented as it
3531
+ # requires a DTD
3532
+ #
3533
+ # source://rexml//lib/rexml/functions.rb#66
3534
+ def id(object); end
3535
+
3536
+ # UNTESTED
3537
+ #
3538
+ # source://rexml//lib/rexml/functions.rb#352
3539
+ def lang(language); end
3540
+
3541
+ # Returns the last node of the given list of nodes.
3542
+ #
3543
+ # source://rexml//lib/rexml/functions.rb#51
3544
+ def last; end
3545
+
3546
+ # source://rexml//lib/rexml/functions.rb#69
3547
+ def local_name(node_set = T.unsafe(nil)); end
3548
+
3549
+ # source://rexml//lib/rexml/functions.rb#80
3550
+ def name(node_set = T.unsafe(nil)); end
3551
+
3552
+ # source://rexml//lib/rexml/functions.rb#35
3553
+ def namespace_context; end
3554
+
3555
+ # source://rexml//lib/rexml/functions.rb#33
3556
+ def namespace_context=(x); end
3557
+
3558
+ # source://rexml//lib/rexml/functions.rb#76
3559
+ def namespace_uri(node_set = T.unsafe(nil)); end
3560
+
3561
+ # source://rexml//lib/rexml/functions.rb#265
3562
+ def normalize_space(string = T.unsafe(nil)); end
3563
+
3564
+ # UNTESTED
3565
+ #
3566
+ # source://rexml//lib/rexml/functions.rb#337
3567
+ def not(object); end
3568
+
3569
+ # a string that consists of optional whitespace followed by an optional
3570
+ # minus sign followed by a Number followed by whitespace is converted to
3571
+ # the IEEE 754 number that is nearest (according to the IEEE 754
3572
+ # round-to-nearest rule) to the mathematical value represented by the
3573
+ # string; any other string is converted to NaN
3574
+ #
3575
+ # boolean true is converted to 1; boolean false is converted to 0
3576
+ #
3577
+ # a node-set is first converted to a string as if by a call to the string
3578
+ # function and then converted in the same way as a string argument
3579
+ #
3580
+ # an object of a type other than the four basic types is converted to a
3581
+ # number in a way that is dependent on that type
3582
+ #
3583
+ # source://rexml//lib/rexml/functions.rb#387
3584
+ def number(object = T.unsafe(nil)); end
3585
+
3586
+ # source://rexml//lib/rexml/functions.rb#55
3587
+ def position; end
3588
+
3589
+ # source://rexml//lib/rexml/functions.rb#432
3590
+ def processing_instruction(node); end
3591
+
3592
+ # source://rexml//lib/rexml/functions.rb#421
3593
+ def round(number); end
3594
+
3595
+ # source://rexml//lib/rexml/functions.rb#436
3596
+ def send(name, *args); end
3597
+
3598
+ # source://rexml//lib/rexml/functions.rb#26
3599
+ def singleton_method_added(name); end
3600
+
3601
+ # Fixed by Mike Stok
3602
+ #
3603
+ # source://rexml//lib/rexml/functions.rb#199
3604
+ def starts_with(string, test); end
3605
+
3606
+ # A node-set is converted to a string by returning the string-value of the
3607
+ # node in the node-set that is first in document order. If the node-set is
3608
+ # empty, an empty string is returned.
3609
+ #
3610
+ # A number is converted to a string as follows
3611
+ #
3612
+ # NaN is converted to the string NaN
3613
+ #
3614
+ # positive zero is converted to the string 0
3615
+ #
3616
+ # negative zero is converted to the string 0
3617
+ #
3618
+ # positive infinity is converted to the string Infinity
3619
+ #
3620
+ # negative infinity is converted to the string -Infinity
3621
+ #
3622
+ # if the number is an integer, the number is represented in decimal form
3623
+ # as a Number with no decimal point and no leading zeros, preceded by a
3624
+ # minus sign (-) if the number is negative
3625
+ #
3626
+ # otherwise, the number is represented in decimal form as a Number
3627
+ # including a decimal point with at least one digit before the decimal
3628
+ # point and at least one digit after the decimal point, preceded by a
3629
+ # minus sign (-) if the number is negative; there must be no leading zeros
3630
+ # before the decimal point apart possibly from the one required digit
3631
+ # immediately before the decimal point; beyond the one required digit
3632
+ # after the decimal point there must be as many, but only as many, more
3633
+ # digits as are needed to uniquely distinguish the number from all other
3634
+ # IEEE 754 numeric values.
3635
+ #
3636
+ # The boolean false value is converted to the string false. The boolean
3637
+ # true value is converted to the string true.
3638
+ #
3639
+ # An object of a type other than the four basic types is converted to a
3640
+ # string in a way that is dependent on that type.
3641
+ #
3642
+ # source://rexml//lib/rexml/functions.rb#138
3643
+ def string(object = T.unsafe(nil)); end
3644
+
3645
+ # UNTESTED
3646
+ #
3647
+ # source://rexml//lib/rexml/functions.rb#261
3648
+ def string_length(string); end
3649
+
3650
+ # A node-set is converted to a string by
3651
+ # returning the concatenation of the string-value
3652
+ # of each of the children of the node in the
3653
+ # node-set that is first in document order.
3654
+ # If the node-set is empty, an empty string is returned.
3655
+ #
3656
+ # source://rexml//lib/rexml/functions.rb#178
3657
+ def string_value(o); end
3658
+
3659
+ # Take equal portions of Mike Stok and Sean Russell; mix
3660
+ # vigorously, and pour into a tall, chilled glass. Serves 10,000.
3661
+ #
3662
+ # source://rexml//lib/rexml/functions.rb#228
3663
+ def substring(string, start, length = T.unsafe(nil)); end
3664
+
3665
+ # Kouhei fixed this too
3666
+ #
3667
+ # source://rexml//lib/rexml/functions.rb#220
3668
+ def substring_after(string, test); end
3669
+
3670
+ # Kouhei fixed this
3671
+ #
3672
+ # source://rexml//lib/rexml/functions.rb#209
3673
+ def substring_before(string, test); end
3674
+
3675
+ # source://rexml//lib/rexml/functions.rb#408
3676
+ def sum(nodes); end
3677
+
3678
+ # source://rexml//lib/rexml/functions.rb#40
3679
+ def text; end
3680
+
3681
+ # This is entirely Mike Stok's beast
3682
+ #
3683
+ # source://rexml//lib/rexml/functions.rb#275
3684
+ def translate(string, tr1, tr2); end
3685
+
3686
+ # UNTESTED
3687
+ #
3688
+ # source://rexml//lib/rexml/functions.rb#342
3689
+ def true; end
3690
+
3691
+ # source://rexml//lib/rexml/functions.rb#36
3692
+ def variables; end
3693
+
3694
+ # source://rexml//lib/rexml/functions.rb#34
3695
+ def variables=(x); end
3696
+ end
3697
+ end
3698
+
3453
3699
  # A Source that wraps an IO. See the Source class for method
3454
3700
  # documentation
3455
3701
  #
3456
- # source://rexml//lib/rexml/source.rb#159
3702
+ # source://rexml//lib/rexml/source.rb#220
3457
3703
  class REXML::IOSource < ::REXML::Source
3458
3704
  # block_size has been deprecated
3459
3705
  #
3460
3706
  # @return [IOSource] a new instance of IOSource
3461
3707
  #
3462
- # source://rexml//lib/rexml/source.rb#163
3708
+ # source://rexml//lib/rexml/source.rb#224
3463
3709
  def initialize(arg, block_size = T.unsafe(nil), encoding = T.unsafe(nil)); end
3464
3710
 
3465
- # source://rexml//lib/rexml/source.rb#215
3466
- def consume(pattern); end
3467
-
3468
3711
  # @return the current line in the source
3469
3712
  #
3470
- # source://rexml//lib/rexml/source.rb#244
3713
+ # source://rexml//lib/rexml/source.rb#329
3471
3714
  def current_line; end
3472
3715
 
3473
3716
  # @return [Boolean]
3474
3717
  #
3475
- # source://rexml//lib/rexml/source.rb#235
3718
+ # source://rexml//lib/rexml/source.rb#324
3476
3719
  def empty?; end
3477
3720
 
3478
- # source://rexml//lib/rexml/source.rb#219
3721
+ # source://rexml//lib/rexml/source.rb#284
3722
+ def ensure_buffer; end
3723
+
3724
+ # source://rexml//lib/rexml/source.rb#288
3479
3725
  def match(pattern, cons = T.unsafe(nil)); end
3480
3726
 
3481
- # source://rexml//lib/rexml/source.rb#239
3482
- def position; end
3727
+ # @return [Boolean]
3728
+ #
3729
+ # source://rexml//lib/rexml/source.rb#307
3730
+ def match?(pattern, cons = T.unsafe(nil)); end
3483
3731
 
3484
- # source://rexml//lib/rexml/source.rb#207
3485
- def read; end
3732
+ # source://rexml//lib/rexml/source.rb#245
3733
+ def read(term = T.unsafe(nil), min_bytes = T.unsafe(nil)); end
3486
3734
 
3487
- # source://rexml//lib/rexml/source.rb#184
3488
- def scan(pattern, cons = T.unsafe(nil)); end
3735
+ # source://rexml//lib/rexml/source.rb#266
3736
+ def read_until(term); end
3489
3737
 
3490
3738
  private
3491
3739
 
3492
- # source://rexml//lib/rexml/source.rb#286
3740
+ # source://rexml//lib/rexml/source.rb#376
3493
3741
  def encoding_updated; end
3494
3742
 
3495
- # source://rexml//lib/rexml/source.rb#266
3496
- def readline; end
3743
+ # source://rexml//lib/rexml/source.rb#351
3744
+ def readline(term = T.unsafe(nil)); end
3497
3745
  end
3498
3746
 
3499
3747
  # Represents an XML Instruction; IE, <? ... ?>
@@ -3610,48 +3858,96 @@ end
3610
3858
  # source://rexml//lib/rexml/namespace.rb#13
3611
3859
  REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
3612
3860
 
3613
- # source://rexml//lib/rexml/doctype.rb#280
3861
+ # Represents a node in the tree. Nodes are never encountered except as
3862
+ # superclasses of other objects. Nodes have siblings.
3863
+ #
3864
+ # source://rexml//lib/rexml/node.rb#9
3865
+ module REXML::Node
3866
+ # Visit all subnodes of +self+ recursively
3867
+ #
3868
+ # source://rexml//lib/rexml/node.rb#54
3869
+ def each_recursive(&block); end
3870
+
3871
+ # Find (and return) first subnode (recursively) for which the block
3872
+ # evaluates to true. Returns +nil+ if none was found.
3873
+ #
3874
+ # source://rexml//lib/rexml/node.rb#67
3875
+ def find_first_recursive(&block); end
3876
+
3877
+ # source://rexml//lib/rexml/node.rb#39
3878
+ def indent(to, ind); end
3879
+
3880
+ # Returns the position that +self+ holds in its parent's array, indexed
3881
+ # from 1.
3882
+ #
3883
+ # source://rexml//lib/rexml/node.rb#76
3884
+ def index_in_parent; end
3885
+
3886
+ # @return the next sibling (nil if unset)
3887
+ #
3888
+ # source://rexml//lib/rexml/node.rb#11
3889
+ def next_sibling_node; end
3890
+
3891
+ # @return [Boolean]
3892
+ #
3893
+ # source://rexml//lib/rexml/node.rb#48
3894
+ def parent?; end
3895
+
3896
+ # @return the previous sibling (nil if unset)
3897
+ #
3898
+ # source://rexml//lib/rexml/node.rb#17
3899
+ def previous_sibling_node; end
3900
+
3901
+ # indent::
3902
+ # *DEPRECATED* This parameter is now ignored. See the formatters in the
3903
+ # REXML::Formatters package for changing the output style.
3904
+ #
3905
+ # source://rexml//lib/rexml/node.rb#27
3906
+ def to_s(indent = T.unsafe(nil)); end
3907
+ end
3908
+
3909
+ # source://rexml//lib/rexml/doctype.rb#276
3614
3910
  class REXML::NotationDecl < ::REXML::Child
3615
3911
  # @return [NotationDecl] a new instance of NotationDecl
3616
3912
  #
3617
- # source://rexml//lib/rexml/doctype.rb#282
3913
+ # source://rexml//lib/rexml/doctype.rb#278
3618
3914
  def initialize(name, middle, pub, sys); end
3619
3915
 
3620
3916
  # This method retrieves the name of the notation.
3621
3917
  #
3622
3918
  # Method contributed by Henrik Martensson
3623
3919
  #
3624
- # source://rexml//lib/rexml/doctype.rb#307
3920
+ # source://rexml//lib/rexml/doctype.rb#302
3625
3921
  def name; end
3626
3922
 
3627
3923
  # Returns the value of attribute public.
3628
3924
  #
3629
- # source://rexml//lib/rexml/doctype.rb#281
3925
+ # source://rexml//lib/rexml/doctype.rb#277
3630
3926
  def public; end
3631
3927
 
3632
3928
  # Sets the attribute public
3633
3929
  #
3634
3930
  # @param value the value to set the attribute public to.
3635
3931
  #
3636
- # source://rexml//lib/rexml/doctype.rb#281
3932
+ # source://rexml//lib/rexml/doctype.rb#277
3637
3933
  def public=(_arg0); end
3638
3934
 
3639
3935
  # Returns the value of attribute system.
3640
3936
  #
3641
- # source://rexml//lib/rexml/doctype.rb#281
3937
+ # source://rexml//lib/rexml/doctype.rb#277
3642
3938
  def system; end
3643
3939
 
3644
3940
  # Sets the attribute system
3645
3941
  #
3646
3942
  # @param value the value to set the attribute system to.
3647
3943
  #
3648
- # source://rexml//lib/rexml/doctype.rb#281
3944
+ # source://rexml//lib/rexml/doctype.rb#277
3649
3945
  def system=(_arg0); end
3650
3946
 
3651
- # source://rexml//lib/rexml/doctype.rb#290
3947
+ # source://rexml//lib/rexml/doctype.rb#286
3652
3948
  def to_s; end
3653
3949
 
3654
- # source://rexml//lib/rexml/doctype.rb#300
3950
+ # source://rexml//lib/rexml/doctype.rb#295
3655
3951
  def write(output, indent = T.unsafe(nil)); end
3656
3952
  end
3657
3953
 
@@ -3816,7 +4112,7 @@ class REXML::ParseException < ::RuntimeError
3816
4112
  # source://rexml//lib/rexml/parseexception.rb#6
3817
4113
  def initialize(message, source = T.unsafe(nil), parser = T.unsafe(nil), exception = T.unsafe(nil)); end
3818
4114
 
3819
- # source://rexml//lib/rexml/parseexception.rb#48
4115
+ # source://rexml//lib/rexml/parseexception.rb#49
3820
4116
  def context; end
3821
4117
 
3822
4118
  # Returns the value of attribute continued_exception.
@@ -3831,7 +4127,7 @@ class REXML::ParseException < ::RuntimeError
3831
4127
  # source://rexml//lib/rexml/parseexception.rb#4
3832
4128
  def continued_exception=(_arg0); end
3833
4129
 
3834
- # source://rexml//lib/rexml/parseexception.rb#43
4130
+ # source://rexml//lib/rexml/parseexception.rb#44
3835
4131
  def line; end
3836
4132
 
3837
4133
  # Returns the value of attribute parser.
@@ -3846,7 +4142,7 @@ class REXML::ParseException < ::RuntimeError
3846
4142
  # source://rexml//lib/rexml/parseexception.rb#4
3847
4143
  def parser=(_arg0); end
3848
4144
 
3849
- # source://rexml//lib/rexml/parseexception.rb#38
4145
+ # source://rexml//lib/rexml/parseexception.rb#39
3850
4146
  def position; end
3851
4147
 
3852
4148
  # Returns the value of attribute source.
@@ -3885,36 +4181,55 @@ end
3885
4181
  #
3886
4182
  # Nat Price gave me some good ideas for the API.
3887
4183
  #
3888
- # source://rexml//lib/rexml/parsers/baseparser.rb#29
4184
+ # source://rexml//lib/rexml/parsers/baseparser.rb#57
3889
4185
  class REXML::Parsers::BaseParser
3890
4186
  # @return [BaseParser] a new instance of BaseParser
3891
4187
  #
3892
- # source://rexml//lib/rexml/parsers/baseparser.rb#115
4188
+ # source://rexml//lib/rexml/parsers/baseparser.rb#164
3893
4189
  def initialize(source); end
3894
4190
 
3895
- # source://rexml//lib/rexml/parsers/baseparser.rb#120
4191
+ # source://rexml//lib/rexml/parsers/baseparser.rb#175
3896
4192
  def add_listener(listener); end
3897
4193
 
3898
4194
  # Returns true if there are no more events
3899
4195
  #
3900
4196
  # @return [Boolean]
3901
4197
  #
3902
- # source://rexml//lib/rexml/parsers/baseparser.rb#146
4198
+ # source://rexml//lib/rexml/parsers/baseparser.rb#210
3903
4199
  def empty?; end
3904
4200
 
3905
- # source://rexml//lib/rexml/parsers/baseparser.rb#438
4201
+ # source://rexml//lib/rexml/parsers/baseparser.rb#537
3906
4202
  def entity(reference, entities); end
3907
4203
 
4204
+ # Returns the value of attribute entity_expansion_count.
4205
+ #
4206
+ # source://rexml//lib/rexml/parsers/baseparser.rb#180
4207
+ def entity_expansion_count; end
4208
+
4209
+ # Sets the attribute entity_expansion_limit
4210
+ #
4211
+ # @param value the value to set the attribute entity_expansion_limit to.
4212
+ #
4213
+ # source://rexml//lib/rexml/parsers/baseparser.rb#181
4214
+ def entity_expansion_limit=(_arg0); end
4215
+
4216
+ # Sets the attribute entity_expansion_text_limit
4217
+ #
4218
+ # @param value the value to set the attribute entity_expansion_text_limit to.
4219
+ #
4220
+ # source://rexml//lib/rexml/parsers/baseparser.rb#182
4221
+ def entity_expansion_text_limit=(_arg0); end
4222
+
3908
4223
  # Returns true if there are more events. Synonymous with !empty?
3909
4224
  #
3910
4225
  # @return [Boolean]
3911
4226
  #
3912
- # source://rexml//lib/rexml/parsers/baseparser.rb#151
4227
+ # source://rexml//lib/rexml/parsers/baseparser.rb#215
3913
4228
  def has_next?; end
3914
4229
 
3915
4230
  # Escapes all possible entities
3916
4231
  #
3917
- # source://rexml//lib/rexml/parsers/baseparser.rb#449
4232
+ # source://rexml//lib/rexml/parsers/baseparser.rb#548
3918
4233
  def normalize(input, entities = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
3919
4234
 
3920
4235
  # Peek at the +depth+ event in the stack. The first element on the stack
@@ -3924,75 +4239,147 @@ class REXML::Parsers::BaseParser
3924
4239
  # event, so you can effectively pre-parse the entire document (pull the
3925
4240
  # entire thing into memory) using this method.
3926
4241
  #
3927
- # source://rexml//lib/rexml/parsers/baseparser.rb#167
4242
+ # source://rexml//lib/rexml/parsers/baseparser.rb#231
3928
4243
  def peek(depth = T.unsafe(nil)); end
3929
4244
 
3930
- # source://rexml//lib/rexml/parsers/baseparser.rb#136
4245
+ # source://rexml//lib/rexml/parsers/baseparser.rb#200
3931
4246
  def position; end
3932
4247
 
3933
4248
  # Returns the next event. This is a +PullEvent+ object.
3934
4249
  #
3935
- # source://rexml//lib/rexml/parsers/baseparser.rb#182
4250
+ # source://rexml//lib/rexml/parsers/baseparser.rb#246
3936
4251
  def pull; end
3937
4252
 
4253
+ # source://rexml//lib/rexml/parsers/baseparser.rb#189
4254
+ def reset; end
4255
+
3938
4256
  # Returns the value of attribute source.
3939
4257
  #
3940
- # source://rexml//lib/rexml/parsers/baseparser.rb#124
4258
+ # source://rexml//lib/rexml/parsers/baseparser.rb#179
3941
4259
  def source; end
3942
4260
 
3943
- # source://rexml//lib/rexml/parsers/baseparser.rb#126
4261
+ # source://rexml//lib/rexml/parsers/baseparser.rb#184
3944
4262
  def stream=(source); end
3945
4263
 
3946
4264
  # Unescapes all possible entities
3947
4265
  #
3948
- # source://rexml//lib/rexml/parsers/baseparser.rb#465
4266
+ # source://rexml//lib/rexml/parsers/baseparser.rb#564
3949
4267
  def unnormalize(string, entities = T.unsafe(nil), filter = T.unsafe(nil)); end
3950
4268
 
3951
4269
  # Push an event back on the head of the stream. This method
3952
4270
  # has (theoretically) infinite depth.
3953
4271
  #
3954
- # source://rexml//lib/rexml/parsers/baseparser.rb#157
4272
+ # source://rexml//lib/rexml/parsers/baseparser.rb#221
3955
4273
  def unshift(token); end
3956
4274
 
3957
4275
  private
3958
4276
 
4277
+ # source://rexml//lib/rexml/parsers/baseparser.rb#613
4278
+ def add_namespace(prefix, uri); end
4279
+
3959
4280
  # @return [Boolean]
3960
4281
  #
3961
- # source://rexml//lib/rexml/parsers/baseparser.rb#495
4282
+ # source://rexml//lib/rexml/parsers/baseparser.rb#646
3962
4283
  def need_source_encoding_update?(xml_declaration_encoding); end
3963
4284
 
3964
- # source://rexml//lib/rexml/parsers/baseparser.rb#589
3965
- def parse_attributes(prefixes, curr_ns); end
4285
+ # source://rexml//lib/rexml/parsers/baseparser.rb#652
4286
+ def normalize_xml_declaration_encoding(xml_declaration_encoding); end
4287
+
4288
+ # source://rexml//lib/rexml/parsers/baseparser.rb#849
4289
+ def parse_attribute_value_with_equal(name); end
4290
+
4291
+ # source://rexml//lib/rexml/parsers/baseparser.rb#868
4292
+ def parse_attributes(prefixes); end
3966
4293
 
3967
- # source://rexml//lib/rexml/parsers/baseparser.rb#514
4294
+ # source://rexml//lib/rexml/parsers/baseparser.rb#669
3968
4295
  def parse_id(base_error_message, accept_external_id:, accept_public_id:); end
3969
4296
 
3970
- # source://rexml//lib/rexml/parsers/baseparser.rb#542
4297
+ # source://rexml//lib/rexml/parsers/baseparser.rb#697
3971
4298
  def parse_id_invalid_details(accept_external_id:, accept_public_id:); end
3972
4299
 
3973
- # source://rexml//lib/rexml/parsers/baseparser.rb#501
4300
+ # source://rexml//lib/rexml/parsers/baseparser.rb#656
3974
4301
  def parse_name(base_error_message); end
3975
4302
 
3976
- # source://rexml//lib/rexml/parsers/baseparser.rb#580
4303
+ # source://rexml//lib/rexml/parsers/baseparser.rb#628
4304
+ def pop_namespaces_restore; end
4305
+
4306
+ # source://rexml//lib/rexml/parsers/baseparser.rb#735
4307
+ def process_comment; end
4308
+
4309
+ # source://rexml//lib/rexml/parsers/baseparser.rb#747
3977
4310
  def process_instruction; end
3978
4311
 
3979
- # source://rexml//lib/rexml/parsers/baseparser.rb#190
4312
+ # source://rexml//lib/rexml/parsers/baseparser.rb#256
3980
4313
  def pull_event; end
4314
+
4315
+ # source://rexml//lib/rexml/parsers/baseparser.rb#622
4316
+ def push_namespaces_restore; end
4317
+
4318
+ # source://rexml//lib/rexml/parsers/baseparser.rb#639
4319
+ def record_entity_expansion(delta = T.unsafe(nil)); end
4320
+
4321
+ # source://rexml//lib/rexml/parsers/baseparser.rb#831
4322
+ def scan_quote; end
4323
+
4324
+ # source://rexml//lib/rexml/parsers/baseparser.rb#769
4325
+ def xml_declaration; end
3981
4326
  end
3982
4327
 
3983
- # source://rexml//lib/rexml/parsers/baseparser.rb#102
4328
+ # source://rexml//lib/rexml/parsers/baseparser.rb#130
3984
4329
  REXML::Parsers::BaseParser::EXTERNAL_ID_PUBLIC = T.let(T.unsafe(nil), Regexp)
3985
4330
 
3986
- # source://rexml//lib/rexml/parsers/baseparser.rb#103
4331
+ # source://rexml//lib/rexml/parsers/baseparser.rb#131
3987
4332
  REXML::Parsers::BaseParser::EXTERNAL_ID_SYSTEM = T.let(T.unsafe(nil), Regexp)
3988
4333
 
3989
- # source://rexml//lib/rexml/parsers/baseparser.rb#104
4334
+ # source://rexml//lib/rexml/parsers/baseparser.rb#132
3990
4335
  REXML::Parsers::BaseParser::PUBLIC_ID = T.let(T.unsafe(nil), Regexp)
3991
4336
 
3992
- # source://rexml//lib/rexml/parsers/baseparser.rb#38
4337
+ # source://rexml//lib/rexml/parsers/baseparser.rb#143
4338
+ module REXML::Parsers::BaseParser::Private; end
4339
+
4340
+ # source://rexml//lib/rexml/parsers/baseparser.rb#148
4341
+ REXML::Parsers::BaseParser::Private::ATTLISTDECL_END = T.let(T.unsafe(nil), Regexp)
4342
+
4343
+ # source://rexml//lib/rexml/parsers/baseparser.rb#153
4344
+ REXML::Parsers::BaseParser::Private::CARRIAGE_RETURN_NEWLINE_PATTERN = T.let(T.unsafe(nil), Regexp)
4345
+
4346
+ # source://rexml//lib/rexml/parsers/baseparser.rb#154
4347
+ REXML::Parsers::BaseParser::Private::CHARACTER_REFERENCES = T.let(T.unsafe(nil), Regexp)
4348
+
4349
+ # source://rexml//lib/rexml/parsers/baseparser.rb#146
4350
+ REXML::Parsers::BaseParser::Private::CLOSE_PATTERN = T.let(T.unsafe(nil), Regexp)
4351
+
4352
+ # source://rexml//lib/rexml/parsers/baseparser.rb#155
4353
+ REXML::Parsers::BaseParser::Private::DEFAULT_ENTITIES_PATTERNS = T.let(T.unsafe(nil), Hash)
4354
+
4355
+ # source://rexml//lib/rexml/parsers/baseparser.rb#152
4356
+ REXML::Parsers::BaseParser::Private::ENTITYDECL_PATTERN = T.let(T.unsafe(nil), Regexp)
4357
+
4358
+ # source://rexml//lib/rexml/parsers/baseparser.rb#147
4359
+ REXML::Parsers::BaseParser::Private::EQUAL_PATTERN = T.let(T.unsafe(nil), Regexp)
4360
+
4361
+ # source://rexml//lib/rexml/parsers/baseparser.rb#150
4362
+ REXML::Parsers::BaseParser::Private::GEDECL_PATTERN = T.let(T.unsafe(nil), String)
4363
+
4364
+ # source://rexml//lib/rexml/parsers/baseparser.rb#149
4365
+ REXML::Parsers::BaseParser::Private::NAME_PATTERN = T.let(T.unsafe(nil), Regexp)
4366
+
4367
+ # source://rexml//lib/rexml/parsers/baseparser.rb#151
4368
+ REXML::Parsers::BaseParser::Private::PEDECL_PATTERN = T.let(T.unsafe(nil), String)
4369
+
4370
+ # source://rexml//lib/rexml/parsers/baseparser.rb#144
4371
+ REXML::Parsers::BaseParser::Private::PEREFERENCE_PATTERN = T.let(T.unsafe(nil), Regexp)
4372
+
4373
+ # source://rexml//lib/rexml/parsers/baseparser.rb#145
4374
+ REXML::Parsers::BaseParser::Private::TAG_PATTERN = T.let(T.unsafe(nil), Regexp)
4375
+
4376
+ # source://rexml//lib/rexml/parsers/baseparser.rb#160
4377
+ REXML::Parsers::BaseParser::Private::XML_PREFIXED_NAMESPACE = T.let(T.unsafe(nil), String)
4378
+
4379
+ # source://rexml//lib/rexml/parsers/baseparser.rb#66
3993
4380
  REXML::Parsers::BaseParser::QNAME = T.let(T.unsafe(nil), Regexp)
3994
4381
 
3995
- # source://rexml//lib/rexml/parsers/baseparser.rb#37
4382
+ # source://rexml//lib/rexml/parsers/baseparser.rb#65
3996
4383
  REXML::Parsers::BaseParser::QNAME_STR = T.let(T.unsafe(nil), String)
3997
4384
 
3998
4385
  # source://rexml//lib/rexml/parsers/streamparser.rb#6
@@ -4006,6 +4393,15 @@ class REXML::Parsers::StreamParser
4006
4393
  def add_listener(listener); end
4007
4394
 
4008
4395
  # source://rexml//lib/rexml/parsers/streamparser.rb#17
4396
+ def entity_expansion_count; end
4397
+
4398
+ # source://rexml//lib/rexml/parsers/streamparser.rb#21
4399
+ def entity_expansion_limit=(limit); end
4400
+
4401
+ # source://rexml//lib/rexml/parsers/streamparser.rb#25
4402
+ def entity_expansion_text_limit=(limit); end
4403
+
4404
+ # source://rexml//lib/rexml/parsers/streamparser.rb#29
4009
4405
  def parse; end
4010
4406
  end
4011
4407
 
@@ -4184,10 +4580,35 @@ class REXML::ReferenceWriter
4184
4580
  def write(output); end
4185
4581
  end
4186
4582
 
4583
+ # source://rexml//lib/rexml/security.rb#3
4584
+ module REXML::Security
4585
+ class << self
4586
+ # Get the entity expansion limit. By default the limit is set to 10000.
4587
+ #
4588
+ # source://rexml//lib/rexml/security.rb#12
4589
+ def entity_expansion_limit; end
4590
+
4591
+ # Set the entity expansion limit. By default the limit is set to 10000.
4592
+ #
4593
+ # source://rexml//lib/rexml/security.rb#7
4594
+ def entity_expansion_limit=(val); end
4595
+
4596
+ # Get the entity expansion limit. By default the limit is set to 10240.
4597
+ #
4598
+ # source://rexml//lib/rexml/security.rb#24
4599
+ def entity_expansion_text_limit; end
4600
+
4601
+ # Set the entity expansion limit. By default the limit is set to 10240.
4602
+ #
4603
+ # source://rexml//lib/rexml/security.rb#19
4604
+ def entity_expansion_text_limit=(val); end
4605
+ end
4606
+ end
4607
+
4187
4608
  # A Source can be searched for patterns, and wraps buffers and other
4188
4609
  # objects and provides consumption of text
4189
4610
  #
4190
- # source://rexml//lib/rexml/source.rb#31
4611
+ # source://rexml//lib/rexml/source.rb#61
4191
4612
  class REXML::Source
4192
4613
  include ::REXML::Encoding
4193
4614
 
@@ -4198,88 +4619,114 @@ class REXML::Source
4198
4619
  # @param encoding if non-null, sets the encoding of the source to this
4199
4620
  # @return [Source] a new instance of Source
4200
4621
  #
4201
- # source://rexml//lib/rexml/source.rb#43
4622
+ # source://rexml//lib/rexml/source.rb#88
4202
4623
  def initialize(arg, encoding = T.unsafe(nil)); end
4203
4624
 
4204
4625
  # The current buffer (what we're going to read next)
4205
4626
  #
4206
- # source://rexml//lib/rexml/source.rb#34
4627
+ # source://rexml//lib/rexml/source.rb#101
4207
4628
  def buffer; end
4208
4629
 
4209
- # source://rexml//lib/rexml/source.rb#87
4210
- def consume(pattern); end
4630
+ # source://rexml//lib/rexml/source.rb#111
4631
+ def buffer_encoding=(encoding); end
4211
4632
 
4212
4633
  # @return the current line in the source
4213
4634
  #
4214
- # source://rexml//lib/rexml/source.rb#117
4635
+ # source://rexml//lib/rexml/source.rb#180
4215
4636
  def current_line; end
4216
4637
 
4638
+ # source://rexml//lib/rexml/source.rb#105
4639
+ def drop_parsed_content; end
4640
+
4217
4641
  # @return [Boolean] true if the Source is exhausted
4218
4642
  #
4219
- # source://rexml//lib/rexml/source.rb#108
4643
+ # source://rexml//lib/rexml/source.rb#175
4220
4644
  def empty?; end
4221
4645
 
4222
4646
  # Returns the value of attribute encoding.
4223
4647
  #
4224
- # source://rexml//lib/rexml/source.rb#37
4648
+ # source://rexml//lib/rexml/source.rb#65
4225
4649
  def encoding; end
4226
4650
 
4227
4651
  # Inherited from Encoding
4228
4652
  # Overridden to support optimized en/decoding
4229
4653
  #
4230
- # source://rexml//lib/rexml/source.rb#56
4654
+ # source://rexml//lib/rexml/source.rb#117
4231
4655
  def encoding=(enc); end
4232
4656
 
4657
+ # source://rexml//lib/rexml/source.rb#135
4658
+ def ensure_buffer; end
4659
+
4233
4660
  # The line number of the last consumed text
4234
4661
  #
4235
- # source://rexml//lib/rexml/source.rb#36
4662
+ # source://rexml//lib/rexml/source.rb#64
4236
4663
  def line; end
4237
4664
 
4238
- # source://rexml//lib/rexml/source.rb#101
4665
+ # source://rexml//lib/rexml/source.rb#138
4239
4666
  def match(pattern, cons = T.unsafe(nil)); end
4240
4667
 
4241
- # source://rexml//lib/rexml/source.rb#91
4242
- def match_to(char, pattern); end
4668
+ # @return [Boolean]
4669
+ #
4670
+ # source://rexml//lib/rexml/source.rb#146
4671
+ def match?(pattern, cons = T.unsafe(nil)); end
4243
4672
 
4244
- # source://rexml//lib/rexml/source.rb#95
4245
- def match_to_consume(char, pattern); end
4673
+ # source://rexml//lib/rexml/source.rb#166
4674
+ def peek_byte; end
4246
4675
 
4247
- # source://rexml//lib/rexml/source.rb#112
4676
+ # source://rexml//lib/rexml/source.rb#158
4248
4677
  def position; end
4249
4678
 
4250
- # source://rexml//lib/rexml/source.rb#84
4251
- def read; end
4252
-
4253
- # Scans the source for a given pattern. Note, that this is not your
4254
- # usual scan() method. For one thing, the pattern argument has some
4255
- # requirements; for another, the source can be consumed. You can easily
4256
- # confuse this method. Originally, the patterns were easier
4257
- # to construct and this method more robust, because this method
4258
- # generated search regexps on the fly; however, this was
4259
- # computationally expensive and slowed down the entire REXML package
4260
- # considerably, since this is by far the most commonly called method.
4261
- # /^\s*(#{your pattern, with no groups})(.*)/. The first group
4262
- # will be returned; the second group is used if the consume flag is
4263
- # set.
4264
- # everything after it in the Source.
4265
- # pattern is not found.
4266
- #
4267
- # @param pattern must be a Regexp, and must be in the form of
4268
- # @param consume if true, the pattern returned will be consumed, leaving
4269
- # @return the pattern, if found, or nil if the Source is empty or the
4270
- #
4271
- # source://rexml//lib/rexml/source.rb#77
4272
- def scan(pattern, cons = T.unsafe(nil)); end
4679
+ # source://rexml//lib/rexml/source.rb#162
4680
+ def position=(pos); end
4273
4681
 
4274
- private
4682
+ # source://rexml//lib/rexml/source.rb#122
4683
+ def read(term = T.unsafe(nil)); end
4275
4684
 
4276
4685
  # source://rexml//lib/rexml/source.rb#125
4686
+ def read_until(term); end
4687
+
4688
+ # source://rexml//lib/rexml/source.rb#170
4689
+ def scan_byte; end
4690
+
4691
+ # source://rexml//lib/rexml/source.rb#154
4692
+ def skip_spaces; end
4693
+
4694
+ private
4695
+
4696
+ # source://rexml//lib/rexml/source.rb#189
4277
4697
  def detect_encoding; end
4278
4698
 
4279
- # source://rexml//lib/rexml/source.rb#146
4699
+ # source://rexml//lib/rexml/source.rb#207
4280
4700
  def encoding_updated; end
4281
4701
  end
4282
4702
 
4703
+ # source://rexml//lib/rexml/source.rb#67
4704
+ module REXML::Source::Private; end
4705
+
4706
+ # source://rexml//lib/rexml/source.rb#70
4707
+ REXML::Source::Private::PRE_DEFINED_TERM_PATTERNS = T.let(T.unsafe(nil), Hash)
4708
+
4709
+ # source://rexml//lib/rexml/source.rb#69
4710
+ REXML::Source::Private::SCANNER_RESET_SIZE = T.let(T.unsafe(nil), Integer)
4711
+
4712
+ # source://rexml//lib/rexml/source.rb#68
4713
+ REXML::Source::Private::SPACES_PATTERN = T.let(T.unsafe(nil), Regexp)
4714
+
4715
+ # Generates Source-s. USE THIS CLASS.
4716
+ #
4717
+ # source://rexml//lib/rexml/source.rb#38
4718
+ class REXML::SourceFactory
4719
+ class << self
4720
+ # Generates a Source object
4721
+ #
4722
+ # @param arg Either a String, or an IO
4723
+ # @return a Source, or nil if a bad argument was given
4724
+ #
4725
+ # source://rexml//lib/rexml/source.rb#42
4726
+ def create_from(arg); end
4727
+ end
4728
+ end
4729
+
4283
4730
  # Represents text nodes in an XML document
4284
4731
  #
4285
4732
  # source://rexml//lib/rexml/text.rb#11
@@ -4325,7 +4772,7 @@ class REXML::Text < ::REXML::Child
4325
4772
  #
4326
4773
  # @return [Text] a new instance of Text
4327
4774
  #
4328
- # source://rexml//lib/rexml/text.rb#94
4775
+ # source://rexml//lib/rexml/text.rb#79
4329
4776
  def initialize(arg, respect_whitespace = T.unsafe(nil), parent = T.unsafe(nil), raw = T.unsafe(nil), entity_filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
4330
4777
 
4331
4778
  # Appends text to this text node. The text is appended in the +raw+ mode
@@ -4334,36 +4781,36 @@ class REXML::Text < ::REXML::Child
4334
4781
  # +returns+ the text itself to enable method chain like
4335
4782
  # 'text << "XXX" << "YYY"'.
4336
4783
  #
4337
- # source://rexml//lib/rexml/text.rb#194
4784
+ # source://rexml//lib/rexml/text.rb#189
4338
4785
  def <<(to_append); end
4339
4786
 
4340
4787
  # +other+ a String or a Text
4341
4788
  # +returns+ the result of (to_s <=> arg.to_s)
4342
4789
  #
4343
- # source://rexml//lib/rexml/text.rb#203
4790
+ # source://rexml//lib/rexml/text.rb#198
4344
4791
  def <=>(other); end
4345
4792
 
4346
- # source://rexml//lib/rexml/text.rb#184
4793
+ # source://rexml//lib/rexml/text.rb#179
4347
4794
  def clone; end
4348
4795
 
4349
- # source://rexml//lib/rexml/text.rb#207
4796
+ # source://rexml//lib/rexml/text.rb#202
4350
4797
  def doctype; end
4351
4798
 
4352
4799
  # @return [Boolean]
4353
4800
  #
4354
- # source://rexml//lib/rexml/text.rb#179
4801
+ # source://rexml//lib/rexml/text.rb#174
4355
4802
  def empty?; end
4356
4803
 
4357
- # source://rexml//lib/rexml/text.rb#278
4804
+ # source://rexml//lib/rexml/text.rb#271
4358
4805
  def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end
4359
4806
 
4360
- # source://rexml//lib/rexml/text.rb#233
4807
+ # source://rexml//lib/rexml/text.rb#225
4361
4808
  def inspect; end
4362
4809
 
4363
- # source://rexml//lib/rexml/text.rb#175
4810
+ # source://rexml//lib/rexml/text.rb#170
4364
4811
  def node_type; end
4365
4812
 
4366
- # source://rexml//lib/rexml/text.rb#125
4813
+ # source://rexml//lib/rexml/text.rb#110
4367
4814
  def parent=(parent); end
4368
4815
 
4369
4816
  # If +raw+ is true, then REXML leaves the value alone
@@ -4390,7 +4837,7 @@ class REXML::Text < ::REXML::Child
4390
4837
  # u = Text.new( "sean russell", false, nil, true )
4391
4838
  # u.to_s #-> "sean russell"
4392
4839
  #
4393
- # source://rexml//lib/rexml/text.rb#228
4840
+ # source://rexml//lib/rexml/text.rb#220
4394
4841
  def to_s; end
4395
4842
 
4396
4843
  # Returns the string value of this text. This is the text without
@@ -4407,7 +4854,7 @@ class REXML::Text < ::REXML::Child
4407
4854
  # u = Text.new( "sean russell", false, nil, true )
4408
4855
  # u.value #-> "sean russell"
4409
4856
  #
4410
- # source://rexml//lib/rexml/text.rb#250
4857
+ # source://rexml//lib/rexml/text.rb#242
4411
4858
  def value; end
4412
4859
 
4413
4860
  # Sets the contents of this text node. This expects the text to be
@@ -4418,16 +4865,16 @@ class REXML::Text < ::REXML::Child
4418
4865
  # e[0].value = "bar" # <a>bar</a>
4419
4866
  # e[0].value = "<a>" # <a>&lt;a&gt;</a>
4420
4867
  #
4421
- # source://rexml//lib/rexml/text.rb#261
4868
+ # source://rexml//lib/rexml/text.rb#254
4422
4869
  def value=(val); end
4423
4870
 
4424
- # source://rexml//lib/rexml/text.rb#267
4871
+ # source://rexml//lib/rexml/text.rb#260
4425
4872
  def wrap(string, width, addnewline = T.unsafe(nil)); end
4426
4873
 
4427
4874
  # == DEPRECATED
4428
4875
  # See REXML::Formatters
4429
4876
  #
4430
- # source://rexml//lib/rexml/text.rb#293
4877
+ # source://rexml//lib/rexml/text.rb#288
4431
4878
  def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
4432
4879
 
4433
4880
  # Writes out text, substituting special characters beforehand.
@@ -4445,43 +4892,43 @@ class REXML::Text < ::REXML::Child
4445
4892
  # }
4446
4893
  # puts ascOut
4447
4894
  #
4448
- # source://rexml//lib/rexml/text.rb#325
4895
+ # source://rexml//lib/rexml/text.rb#318
4449
4896
  def write_with_substitution(out, input); end
4450
4897
 
4451
4898
  # FIXME
4452
4899
  # This probably won't work properly
4453
4900
  #
4454
- # source://rexml//lib/rexml/text.rb#305
4901
+ # source://rexml//lib/rexml/text.rb#300
4455
4902
  def xpath; end
4456
4903
 
4457
4904
  private
4458
4905
 
4459
- # source://rexml//lib/rexml/text.rb#338
4906
+ # source://rexml//lib/rexml/text.rb#331
4460
4907
  def clear_cache; end
4461
4908
 
4462
4909
  class << self
4463
4910
  # check for illegal characters
4464
4911
  #
4465
- # source://rexml//lib/rexml/text.rb#131
4466
- def check(string, pattern, doctype); end
4912
+ # source://rexml//lib/rexml/text.rb#116
4913
+ def check(string, pattern, doctype = T.unsafe(nil)); end
4467
4914
 
4468
- # source://rexml//lib/rexml/text.rb#407
4915
+ # source://rexml//lib/rexml/text.rb#401
4469
4916
  def expand(ref, doctype, filter); end
4470
4917
 
4471
4918
  # Escapes all possible entities
4472
4919
  #
4473
- # source://rexml//lib/rexml/text.rb#370
4920
+ # source://rexml//lib/rexml/text.rb#363
4474
4921
  def normalize(input, doctype = T.unsafe(nil), entity_filter = T.unsafe(nil)); end
4475
4922
 
4476
4923
  # Reads text, substituting entities
4477
4924
  #
4478
- # source://rexml//lib/rexml/text.rb#344
4925
+ # source://rexml//lib/rexml/text.rb#337
4479
4926
  def read_with_substitution(input, illegal = T.unsafe(nil)); end
4480
4927
 
4481
4928
  # Unescapes all possible entities
4482
4929
  #
4483
- # source://rexml//lib/rexml/text.rb#394
4484
- def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
4930
+ # source://rexml//lib/rexml/text.rb#387
4931
+ def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil), entity_expansion_text_limit: T.unsafe(nil)); end
4485
4932
  end
4486
4933
  end
4487
4934
 
@@ -4605,26 +5052,83 @@ class REXML::XMLDecl < ::REXML::Child
4605
5052
  end
4606
5053
  end
4607
5054
 
5055
+ # Wrapper class. Use this class to access the XPath functions.
5056
+ #
5057
+ # source://rexml//lib/rexml/xpath.rb#7
5058
+ class REXML::XPath
5059
+ include ::REXML::Functions
5060
+
5061
+ class << self
5062
+ # Iterates over nodes that match the given path, calling the supplied
5063
+ # block with the match.
5064
+ # element::
5065
+ # The context element
5066
+ # path::
5067
+ # The xpath to search for. If not supplied or nil, defaults to '*'
5068
+ # namespaces::
5069
+ # If supplied, a Hash which defines a namespace mapping
5070
+ # variables::
5071
+ # If supplied, a Hash which maps $variables in the query
5072
+ # to values. This can be used to avoid XPath injection attacks
5073
+ # or to automatically handle escaping string values.
5074
+ #
5075
+ # XPath.each( node ) { |el| ... }
5076
+ # XPath.each( node, '/*[@attr='v']' ) { |el| ... }
5077
+ # XPath.each( node, 'ancestor::x' ) { |el| ... }
5078
+ # XPath.each( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"}) \
5079
+ # {|el| ... }
5080
+ #
5081
+ # source://rexml//lib/rexml/xpath.rb#55
5082
+ def each(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil), &block); end
5083
+
5084
+ # Finds and returns the first node that matches the supplied xpath.
5085
+ # element::
5086
+ # The context element
5087
+ # path::
5088
+ # The xpath to search for. If not supplied or nil, returns the first
5089
+ # node matching '*'.
5090
+ # namespaces::
5091
+ # If supplied, a Hash which defines a namespace mapping.
5092
+ # variables::
5093
+ # If supplied, a Hash which maps $variables in the query
5094
+ # to values. This can be used to avoid XPath injection attacks
5095
+ # or to automatically handle escaping string values.
5096
+ #
5097
+ # XPath.first( node )
5098
+ # XPath.first( doc, "//b"} )
5099
+ # XPath.first( node, "a/x:b", { "x"=>"http://doofus" } )
5100
+ # XPath.first( node, '/book/publisher/text()=$publisher', {}, {"publisher"=>"O'Reilly"})
5101
+ #
5102
+ # source://rexml//lib/rexml/xpath.rb#31
5103
+ def first(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil)); end
5104
+
5105
+ # Returns an array of nodes matching a given XPath.
5106
+ #
5107
+ # source://rexml//lib/rexml/xpath.rb#62
5108
+ def match(element, path = T.unsafe(nil), namespaces = T.unsafe(nil), variables = T.unsafe(nil), options = T.unsafe(nil)); end
5109
+ end
5110
+ end
5111
+
4608
5112
  # @private
4609
5113
  #
4610
- # source://rexml//lib/rexml/xpath_parser.rb#959
5114
+ # source://rexml//lib/rexml/xpath_parser.rb#965
4611
5115
  class REXML::XPathNode
4612
5116
  # @return [XPathNode] a new instance of XPathNode
4613
5117
  #
4614
- # source://rexml//lib/rexml/xpath_parser.rb#961
5118
+ # source://rexml//lib/rexml/xpath_parser.rb#967
4615
5119
  def initialize(node, context = T.unsafe(nil)); end
4616
5120
 
4617
5121
  # Returns the value of attribute context.
4618
5122
  #
4619
- # source://rexml//lib/rexml/xpath_parser.rb#960
5123
+ # source://rexml//lib/rexml/xpath_parser.rb#966
4620
5124
  def context; end
4621
5125
 
4622
- # source://rexml//lib/rexml/xpath_parser.rb#970
5126
+ # source://rexml//lib/rexml/xpath_parser.rb#976
4623
5127
  def position; end
4624
5128
 
4625
5129
  # Returns the value of attribute raw_node.
4626
5130
  #
4627
- # source://rexml//lib/rexml/xpath_parser.rb#960
5131
+ # source://rexml//lib/rexml/xpath_parser.rb#966
4628
5132
  def raw_node; end
4629
5133
  end
4630
5134
 
@@ -4642,7 +5146,7 @@ class REXML::XPathParser
4642
5146
  # source://rexml//lib/rexml/xpath_parser.rb#60
4643
5147
  def initialize(strict: T.unsafe(nil)); end
4644
5148
 
4645
- # source://rexml//lib/rexml/xpath_parser.rb#94
5149
+ # source://rexml//lib/rexml/xpath_parser.rb#107
4646
5150
  def []=(variable_name, value); end
4647
5151
 
4648
5152
  # Performs a depth-first (document order) XPath search, and returns the
@@ -4650,66 +5154,66 @@ class REXML::XPathParser
4650
5154
  #
4651
5155
  # FIXME: This method is incomplete!
4652
5156
  #
4653
- # source://rexml//lib/rexml/xpath_parser.rb#103
5157
+ # source://rexml//lib/rexml/xpath_parser.rb#116
4654
5158
  def first(path_stack, node); end
4655
5159
 
4656
- # source://rexml//lib/rexml/xpath_parser.rb#84
4657
- def get_first(path, nodeset); end
5160
+ # source://rexml//lib/rexml/xpath_parser.rb#97
5161
+ def get_first(path, node); end
4658
5162
 
4659
- # source://rexml//lib/rexml/xpath_parser.rb#139
4660
- def match(path_stack, nodeset); end
5163
+ # source://rexml//lib/rexml/xpath_parser.rb#153
5164
+ def match(path_stack, node); end
4661
5165
 
4662
5166
  # source://rexml//lib/rexml/xpath_parser.rb#69
4663
5167
  def namespaces=(namespaces = T.unsafe(nil)); end
4664
5168
 
4665
5169
  # source://rexml//lib/rexml/xpath_parser.rb#79
4666
- def parse(path, nodeset); end
5170
+ def parse(path, node); end
4667
5171
 
4668
- # source://rexml//lib/rexml/xpath_parser.rb#89
4669
- def predicate(path, nodeset); end
5172
+ # source://rexml//lib/rexml/xpath_parser.rb#102
5173
+ def predicate(path, node); end
4670
5174
 
4671
5175
  # source://rexml//lib/rexml/xpath_parser.rb#74
4672
5176
  def variables=(vars = T.unsafe(nil)); end
4673
5177
 
4674
5178
  private
4675
5179
 
4676
- # source://rexml//lib/rexml/xpath_parser.rb#775
5180
+ # source://rexml//lib/rexml/xpath_parser.rb#781
4677
5181
  def child(nodeset); end
4678
5182
 
4679
- # source://rexml//lib/rexml/xpath_parser.rb#916
5183
+ # source://rexml//lib/rexml/xpath_parser.rb#922
4680
5184
  def compare(a, operator, b); end
4681
5185
 
4682
- # source://rexml//lib/rexml/xpath_parser.rb#678
5186
+ # source://rexml//lib/rexml/xpath_parser.rb#687
4683
5187
  def descendant(nodeset, include_self); end
4684
5188
 
4685
- # source://rexml//lib/rexml/xpath_parser.rb#689
5189
+ # source://rexml//lib/rexml/xpath_parser.rb#698
4686
5190
  def descendant_recursive(raw_node, new_nodeset, new_nodes, include_self); end
4687
5191
 
4688
- # source://rexml//lib/rexml/xpath_parser.rb#938
5192
+ # source://rexml//lib/rexml/xpath_parser.rb#944
4689
5193
  def each_unnode(nodeset); end
4690
5194
 
4691
- # source://rexml//lib/rexml/xpath_parser.rb#637
5195
+ # source://rexml//lib/rexml/xpath_parser.rb#646
4692
5196
  def enter(tag, *args); end
4693
5197
 
4694
- # source://rexml//lib/rexml/xpath_parser.rb#815
5198
+ # source://rexml//lib/rexml/xpath_parser.rb#821
4695
5199
  def equality_relational_compare(set1, op, set2); end
4696
5200
 
4697
- # source://rexml//lib/rexml/xpath_parser.rb#591
5201
+ # source://rexml//lib/rexml/xpath_parser.rb#596
4698
5202
  def evaluate_predicate(expression, nodesets); end
4699
5203
 
4700
5204
  # Expr takes a stack of path elements and a set of nodes (either a Parent
4701
5205
  # or an Array and returns an Array of matching nodes
4702
5206
  #
4703
- # source://rexml//lib/rexml/xpath_parser.rb#175
5207
+ # source://rexml//lib/rexml/xpath_parser.rb#186
4704
5208
  def expr(path_stack, nodeset, context = T.unsafe(nil)); end
4705
5209
 
4706
- # source://rexml//lib/rexml/xpath_parser.rb#582
5210
+ # source://rexml//lib/rexml/xpath_parser.rb#587
4707
5211
  def filter_nodeset(nodeset); end
4708
5212
 
4709
- # source://rexml//lib/rexml/xpath_parser.rb#745
5213
+ # source://rexml//lib/rexml/xpath_parser.rb#754
4710
5214
  def following(node); end
4711
5215
 
4712
- # source://rexml//lib/rexml/xpath_parser.rb#756
5216
+ # source://rexml//lib/rexml/xpath_parser.rb#765
4713
5217
  def following_node_of(node); end
4714
5218
 
4715
5219
  # Returns a String namespace for a node, given a prefix
@@ -4718,22 +5222,22 @@ class REXML::XPathParser
4718
5222
  # 1. Use the supplied namespace mapping first.
4719
5223
  # 2. If no mapping was supplied, use the context node to look up the namespace
4720
5224
  #
4721
- # source://rexml//lib/rexml/xpath_parser.rb#163
5225
+ # source://rexml//lib/rexml/xpath_parser.rb#174
4722
5226
  def get_namespace(node, prefix); end
4723
5227
 
4724
- # source://rexml//lib/rexml/xpath_parser.rb#642
5228
+ # source://rexml//lib/rexml/xpath_parser.rb#651
4725
5229
  def leave(tag, *args); end
4726
5230
 
4727
- # source://rexml//lib/rexml/xpath_parser.rb#763
5231
+ # source://rexml//lib/rexml/xpath_parser.rb#771
4728
5232
  def next_sibling_node(node); end
4729
5233
 
4730
- # source://rexml//lib/rexml/xpath_parser.rb#477
5234
+ # source://rexml//lib/rexml/xpath_parser.rb#488
4731
5235
  def node_test(path_stack, nodesets, any_type: T.unsafe(nil)); end
4732
5236
 
4733
- # source://rexml//lib/rexml/xpath_parser.rb#802
5237
+ # source://rexml//lib/rexml/xpath_parser.rb#808
4734
5238
  def norm(b); end
4735
5239
 
4736
- # source://rexml//lib/rexml/xpath_parser.rb#890
5240
+ # source://rexml//lib/rexml/xpath_parser.rb#896
4737
5241
  def normalize_compare_values(a, operator, b); end
4738
5242
 
4739
5243
  # Builds a nodeset of all of the preceding nodes of the supplied node,
@@ -4741,10 +5245,10 @@ class REXML::XPathParser
4741
5245
  # preceding:: includes every element in the document that precedes this node,
4742
5246
  # except for ancestors
4743
5247
  #
4744
- # source://rexml//lib/rexml/xpath_parser.rb#708
5248
+ # source://rexml//lib/rexml/xpath_parser.rb#717
4745
5249
  def preceding(node); end
4746
5250
 
4747
- # source://rexml//lib/rexml/xpath_parser.rb#730
5251
+ # source://rexml//lib/rexml/xpath_parser.rb#739
4748
5252
  def preceding_node_of(node); end
4749
5253
 
4750
5254
  # Reorders an array of nodes so that they are in document order
@@ -4756,24 +5260,24 @@ class REXML::XPathParser
4756
5260
  # I wouldn't have to do this. Maybe add a document IDX for each node?
4757
5261
  # Problems with mutable documents. Or, rewrite everything.
4758
5262
  #
4759
- # source://rexml//lib/rexml/xpath_parser.rb#655
5263
+ # source://rexml//lib/rexml/xpath_parser.rb#664
4760
5264
  def sort(array_of_nodes, order); end
4761
5265
 
4762
- # source://rexml//lib/rexml/xpath_parser.rb#441
5266
+ # source://rexml//lib/rexml/xpath_parser.rb#452
4763
5267
  def step(path_stack, any_type: T.unsafe(nil), order: T.unsafe(nil)); end
4764
5268
 
4765
5269
  # @return [Boolean]
4766
5270
  #
4767
- # source://rexml//lib/rexml/xpath_parser.rb#154
5271
+ # source://rexml//lib/rexml/xpath_parser.rb#165
4768
5272
  def strict?; end
4769
5273
 
4770
- # source://rexml//lib/rexml/xpath_parser.rb#630
5274
+ # source://rexml//lib/rexml/xpath_parser.rb#639
4771
5275
  def trace(*args); end
4772
5276
 
4773
- # source://rexml//lib/rexml/xpath_parser.rb#950
5277
+ # source://rexml//lib/rexml/xpath_parser.rb#956
4774
5278
  def unnode(nodeset); end
4775
5279
 
4776
- # source://rexml//lib/rexml/xpath_parser.rb#877
5280
+ # source://rexml//lib/rexml/xpath_parser.rb#883
4777
5281
  def value_type(value); end
4778
5282
  end
4779
5283