rubysl-rexml 1.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +3 -2
- data/lib/rexml/attlistdecl.rb +56 -56
- data/lib/rexml/attribute.rb +155 -149
- data/lib/rexml/cdata.rb +48 -48
- data/lib/rexml/child.rb +82 -82
- data/lib/rexml/comment.rb +59 -59
- data/lib/rexml/doctype.rb +22 -24
- data/lib/rexml/document.rb +185 -129
- data/lib/rexml/dtd/attlistdecl.rb +7 -7
- data/lib/rexml/dtd/dtd.rb +41 -41
- data/lib/rexml/dtd/elementdecl.rb +13 -13
- data/lib/rexml/dtd/entitydecl.rb +49 -49
- data/lib/rexml/dtd/notationdecl.rb +32 -32
- data/lib/rexml/element.rb +122 -107
- data/lib/rexml/encoding.rb +37 -58
- data/lib/rexml/entity.rb +144 -144
- data/lib/rexml/formatters/default.rb +6 -4
- data/lib/rexml/formatters/pretty.rb +11 -8
- data/lib/rexml/formatters/transitive.rb +4 -3
- data/lib/rexml/functions.rb +33 -21
- data/lib/rexml/instruction.rb +49 -49
- data/lib/rexml/light/node.rb +190 -191
- data/lib/rexml/namespace.rb +39 -39
- data/lib/rexml/node.rb +38 -38
- data/lib/rexml/output.rb +17 -12
- data/lib/rexml/parent.rb +26 -25
- data/lib/rexml/parseexception.rb +4 -4
- data/lib/rexml/parsers/baseparser.rb +90 -61
- data/lib/rexml/parsers/lightparser.rb +41 -43
- data/lib/rexml/parsers/pullparser.rb +1 -1
- data/lib/rexml/parsers/sax2parser.rb +233 -198
- data/lib/rexml/parsers/streamparser.rb +6 -2
- data/lib/rexml/parsers/treeparser.rb +9 -6
- data/lib/rexml/parsers/ultralightparser.rb +40 -40
- data/lib/rexml/parsers/xpathparser.rb +51 -52
- data/lib/rexml/quickpath.rb +247 -248
- data/lib/rexml/rexml.rb +9 -10
- data/lib/rexml/sax2listener.rb +92 -92
- data/lib/rexml/security.rb +27 -0
- data/lib/rexml/source.rb +95 -50
- data/lib/rexml/streamlistener.rb +90 -90
- data/lib/rexml/syncenumerator.rb +3 -4
- data/lib/rexml/text.rb +157 -76
- data/lib/rexml/validation/relaxng.rb +18 -18
- data/lib/rexml/validation/validation.rb +5 -5
- data/lib/rexml/xmldecl.rb +59 -63
- data/lib/rexml/xmltokens.rb +14 -14
- data/lib/rexml/xpath.rb +67 -53
- data/lib/rexml/xpath_parser.rb +49 -38
- data/lib/rubysl/rexml.rb +1 -0
- data/lib/rubysl/rexml/version.rb +1 -1
- data/rubysl-rexml.gemspec +3 -1
- metadata +19 -28
- data/lib/rexml/encodings/CP-1252.rb +0 -103
- data/lib/rexml/encodings/EUC-JP.rb +0 -35
- data/lib/rexml/encodings/ICONV.rb +0 -22
- data/lib/rexml/encodings/ISO-8859-1.rb +0 -7
- data/lib/rexml/encodings/ISO-8859-15.rb +0 -72
- data/lib/rexml/encodings/SHIFT-JIS.rb +0 -37
- data/lib/rexml/encodings/SHIFT_JIS.rb +0 -1
- data/lib/rexml/encodings/UNILE.rb +0 -34
- data/lib/rexml/encodings/US-ASCII.rb +0 -30
- data/lib/rexml/encodings/UTF-16.rb +0 -35
- data/lib/rexml/encodings/UTF-8.rb +0 -18
data/lib/rexml/xpath_parser.rb
CHANGED
@@ -5,20 +5,30 @@ require 'rexml/syncenumerator'
|
|
5
5
|
require 'rexml/parsers/xpathparser'
|
6
6
|
|
7
7
|
class Object
|
8
|
+
# provides a unified +clone+ operation, for REXML::XPathParser
|
9
|
+
# to use across multiple Object types
|
8
10
|
def dclone
|
9
11
|
clone
|
10
12
|
end
|
11
13
|
end
|
12
14
|
class Symbol
|
15
|
+
# provides a unified +clone+ operation, for REXML::XPathParser
|
16
|
+
# to use across multiple Object types
|
13
17
|
def dclone ; self ; end
|
14
18
|
end
|
15
19
|
class Fixnum
|
20
|
+
# provides a unified +clone+ operation, for REXML::XPathParser
|
21
|
+
# to use across multiple Object types
|
16
22
|
def dclone ; self ; end
|
17
23
|
end
|
18
24
|
class Float
|
25
|
+
# provides a unified +clone+ operation, for REXML::XPathParser
|
26
|
+
# to use across multiple Object types
|
19
27
|
def dclone ; self ; end
|
20
28
|
end
|
21
29
|
class Array
|
30
|
+
# provides a unified +clone+ operation, for REXML::XPathParser
|
31
|
+
# to use across multiple Object+ types
|
22
32
|
def dclone
|
23
33
|
klone = self.clone
|
24
34
|
klone.clear
|
@@ -88,7 +98,7 @@ module REXML
|
|
88
98
|
|
89
99
|
case path[0]
|
90
100
|
when :document
|
91
|
-
# do nothing
|
101
|
+
# do nothing
|
92
102
|
return first( path[1..-1], node )
|
93
103
|
when :child
|
94
104
|
for c in node.children
|
@@ -123,7 +133,7 @@ module REXML
|
|
123
133
|
end
|
124
134
|
|
125
135
|
|
126
|
-
def match( path_stack, nodeset )
|
136
|
+
def match( path_stack, nodeset )
|
127
137
|
#puts "MATCH: path_stack = #{path_stack.inspect}"
|
128
138
|
#puts "MATCH: nodeset = #{nodeset.inspect}"
|
129
139
|
r = expr( path_stack, nodeset )
|
@@ -136,7 +146,7 @@ module REXML
|
|
136
146
|
|
137
147
|
# Returns a String namespace for a node, given a prefix
|
138
148
|
# The rules are:
|
139
|
-
#
|
149
|
+
#
|
140
150
|
# 1. Use the supplied namespace mapping first.
|
141
151
|
# 2. If no mapping was supplied, use the context node to look up the namespace
|
142
152
|
def get_namespace( node, prefix )
|
@@ -187,8 +197,8 @@ module REXML
|
|
187
197
|
#puts "node.namespace == #{ns.inspect} => #{node.namespace == ns}"
|
188
198
|
end
|
189
199
|
end
|
190
|
-
!(node.node_type == :element and
|
191
|
-
node.name == name and
|
200
|
+
!(node.node_type == :element and
|
201
|
+
node.name == name and
|
192
202
|
node.namespace == ns )
|
193
203
|
end
|
194
204
|
node_types = ELEMENTS
|
@@ -205,7 +215,7 @@ module REXML
|
|
205
215
|
when :processing_instruction
|
206
216
|
target = path_stack.shift
|
207
217
|
nodeset.delete_if do |node|
|
208
|
-
(node.node_type != :processing_instruction) or
|
218
|
+
(node.node_type != :processing_instruction) or
|
209
219
|
( target!='' and ( node.target != target ) )
|
210
220
|
end
|
211
221
|
|
@@ -222,7 +232,7 @@ module REXML
|
|
222
232
|
when :child
|
223
233
|
new_nodeset = []
|
224
234
|
nt = nil
|
225
|
-
|
235
|
+
nodeset.each do |node|
|
226
236
|
nt = node.node_type
|
227
237
|
new_nodeset += node.children if nt == :element or nt == :document
|
228
238
|
end
|
@@ -231,7 +241,7 @@ module REXML
|
|
231
241
|
|
232
242
|
when :literal
|
233
243
|
return path_stack.shift
|
234
|
-
|
244
|
+
|
235
245
|
when :attribute
|
236
246
|
new_nodeset = []
|
237
247
|
case path_stack.shift
|
@@ -266,7 +276,7 @@ module REXML
|
|
266
276
|
|
267
277
|
when :ancestor
|
268
278
|
new_nodeset = []
|
269
|
-
|
279
|
+
nodeset.each do |node|
|
270
280
|
while node.parent
|
271
281
|
node = node.parent
|
272
282
|
new_nodeset << node unless new_nodeset.include? node
|
@@ -277,7 +287,7 @@ module REXML
|
|
277
287
|
|
278
288
|
when :ancestor_or_self
|
279
289
|
new_nodeset = []
|
280
|
-
|
290
|
+
nodeset.each do |node|
|
281
291
|
if node.node_type == :element
|
282
292
|
new_nodeset << node
|
283
293
|
while ( node.parent )
|
@@ -341,7 +351,7 @@ module REXML
|
|
341
351
|
when :descendant
|
342
352
|
results = []
|
343
353
|
nt = nil
|
344
|
-
|
354
|
+
nodeset.each do |node|
|
345
355
|
nt = node.node_type
|
346
356
|
results += expr( path_stack.dclone.unshift( :descendant_or_self ),
|
347
357
|
node.children ) if nt == :element or nt == :document
|
@@ -376,7 +386,7 @@ module REXML
|
|
376
386
|
|
377
387
|
when :preceding
|
378
388
|
new_nodeset = []
|
379
|
-
|
389
|
+
nodeset.each do |node|
|
380
390
|
new_nodeset += preceding( node )
|
381
391
|
end
|
382
392
|
#puts "NEW NODESET => #{new_nodeset.inspect}"
|
@@ -385,7 +395,7 @@ module REXML
|
|
385
395
|
|
386
396
|
when :following
|
387
397
|
new_nodeset = []
|
388
|
-
|
398
|
+
nodeset.each do |node|
|
389
399
|
new_nodeset += following( node )
|
390
400
|
end
|
391
401
|
nodeset = new_nodeset
|
@@ -395,7 +405,7 @@ module REXML
|
|
395
405
|
#puts "In :namespace"
|
396
406
|
new_nodeset = []
|
397
407
|
prefix = path_stack.shift
|
398
|
-
|
408
|
+
nodeset.each do |node|
|
399
409
|
if (node.node_type == :element or node.node_type == :attribute)
|
400
410
|
if @namespaces
|
401
411
|
namespaces = @namespaces
|
@@ -419,10 +429,10 @@ module REXML
|
|
419
429
|
return @variables[ var_name ]
|
420
430
|
|
421
431
|
# :and, :or, :eq, :neq, :lt, :lteq, :gt, :gteq
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
when :eq, :neq, :lt, :lteq, :gt, :gteq, :
|
432
|
+
# TODO: Special case for :or and :and -- not evaluate the right
|
433
|
+
# operand if the left alone determines result (i.e. is true for
|
434
|
+
# :or and false for :and).
|
435
|
+
when :eq, :neq, :lt, :lteq, :gt, :gteq, :or
|
426
436
|
left = expr( path_stack.shift, nodeset.dup, context )
|
427
437
|
#puts "LEFT => #{left.inspect} (#{left.class.name})"
|
428
438
|
right = expr( path_stack.shift, nodeset.dup, context )
|
@@ -434,7 +444,8 @@ module REXML
|
|
434
444
|
when :and
|
435
445
|
left = expr( path_stack.shift, nodeset.dup, context )
|
436
446
|
#puts "LEFT => #{left.inspect} (#{left.class.name})"
|
437
|
-
|
447
|
+
return [] unless left
|
448
|
+
if left.respond_to?(:inject) and !left.inject(false) {|a,b| a | b}
|
438
449
|
return []
|
439
450
|
end
|
440
451
|
right = expr( path_stack.shift, nodeset.dup, context )
|
@@ -481,23 +492,23 @@ module REXML
|
|
481
492
|
when :function
|
482
493
|
func_name = path_stack.shift.tr('-','_')
|
483
494
|
arguments = path_stack.shift
|
484
|
-
#puts "FUNCTION 0: #{func_name}(#{arguments.collect{|a|a.inspect}.join(', ')})"
|
495
|
+
#puts "FUNCTION 0: #{func_name}(#{arguments.collect{|a|a.inspect}.join(', ')})"
|
485
496
|
subcontext = context ? nil : { :size => nodeset.size }
|
486
497
|
|
487
498
|
res = []
|
488
499
|
cont = context
|
489
|
-
nodeset.each_with_index { |n, i|
|
500
|
+
nodeset.each_with_index { |n, i|
|
490
501
|
if subcontext
|
491
502
|
subcontext[:node] = n
|
492
503
|
subcontext[:index] = i
|
493
504
|
cont = subcontext
|
494
505
|
end
|
495
506
|
arg_clone = arguments.dclone
|
496
|
-
args = arg_clone.collect { |arg|
|
507
|
+
args = arg_clone.collect { |arg|
|
497
508
|
#puts "FUNCTION 1: Calling expr( #{arg.inspect}, [#{n.inspect}] )"
|
498
|
-
expr( arg, [n], cont )
|
509
|
+
expr( arg, [n], cont )
|
499
510
|
}
|
500
|
-
#puts "FUNCTION 2: #{func_name}(#{args.collect{|a|a.inspect}.join(', ')})"
|
511
|
+
#puts "FUNCTION 2: #{func_name}(#{args.collect{|a|a.inspect}.join(', ')})"
|
501
512
|
Functions.context = cont
|
502
513
|
res << Functions.send( func_name, *args )
|
503
514
|
#puts "FUNCTION 3: #{res[-1].inspect}"
|
@@ -515,10 +526,10 @@ module REXML
|
|
515
526
|
# FIXME
|
516
527
|
# The next two methods are BAD MOJO!
|
517
528
|
# This is my achilles heel. If anybody thinks of a better
|
518
|
-
# way of doing this, be my guest. This really sucks, but
|
529
|
+
# way of doing this, be my guest. This really sucks, but
|
519
530
|
# it is a wonder it works at all.
|
520
531
|
# ########################################################
|
521
|
-
|
532
|
+
|
522
533
|
def descendant_or_self( path_stack, nodeset )
|
523
534
|
rs = []
|
524
535
|
#puts "#"*80
|
@@ -547,7 +558,7 @@ module REXML
|
|
547
558
|
# Reorders an array of nodes so that they are in document order
|
548
559
|
# It tries to do this efficiently.
|
549
560
|
#
|
550
|
-
# FIXME: I need to get rid of this, but the issue is that most of the XPath
|
561
|
+
# FIXME: I need to get rid of this, but the issue is that most of the XPath
|
551
562
|
# interpreter functions as a filter, which means that we lose context going
|
552
563
|
# in and out of function calls. If I knew what the index of the nodes was,
|
553
564
|
# I wouldn't have to do this. Maybe add a document IDX for each node?
|
@@ -555,7 +566,7 @@ module REXML
|
|
555
566
|
def document_order( array_of_nodes )
|
556
567
|
new_arry = []
|
557
568
|
array_of_nodes.each { |node|
|
558
|
-
node_idx = []
|
569
|
+
node_idx = []
|
559
570
|
np = node.node_type == :attribute ? node.element : node
|
560
571
|
while np.parent and np.parent.node_type == :element
|
561
572
|
node_idx << np.parent.index( np )
|
@@ -579,7 +590,7 @@ module REXML
|
|
579
590
|
|
580
591
|
# Builds a nodeset of all of the preceding nodes of the supplied node,
|
581
592
|
# in reverse document order
|
582
|
-
# preceding:: includes every element in the document that precedes this node,
|
593
|
+
# preceding:: includes every element in the document that precedes this node,
|
583
594
|
# except for ancestors
|
584
595
|
def preceding( node )
|
585
596
|
#puts "IN PRECEDING"
|
@@ -609,9 +620,9 @@ module REXML
|
|
609
620
|
#puts "NODE: #{node.inspect}"
|
610
621
|
#puts "PREVIOUS NODE: #{node.previous_sibling_node.inspect}"
|
611
622
|
#puts "PARENT NODE: #{node.parent}"
|
612
|
-
psn = node.previous_sibling_node
|
623
|
+
psn = node.previous_sibling_node
|
613
624
|
if psn.nil?
|
614
|
-
if node.parent.nil? or node.parent.class == Document
|
625
|
+
if node.parent.nil? or node.parent.class == Document
|
615
626
|
return nil
|
616
627
|
end
|
617
628
|
return node.parent
|
@@ -647,9 +658,9 @@ module REXML
|
|
647
658
|
end
|
648
659
|
|
649
660
|
def next_sibling_node(node)
|
650
|
-
psn = node.next_sibling_node
|
661
|
+
psn = node.next_sibling_node
|
651
662
|
while psn.nil?
|
652
|
-
if node.parent.nil? or node.parent.class == Document
|
663
|
+
if node.parent.nil? or node.parent.class == Document
|
653
664
|
return nil
|
654
665
|
end
|
655
666
|
node = node.parent
|
@@ -675,7 +686,7 @@ module REXML
|
|
675
686
|
def equality_relational_compare( set1, op, set2 )
|
676
687
|
#puts "EQ_REL_COMP(#{set1.inspect} #{op.inspect} #{set2.inspect})"
|
677
688
|
if set1.kind_of? Array and set2.kind_of? Array
|
678
|
-
|
689
|
+
#puts "#{set1.size} & #{set2.size}"
|
679
690
|
if set1.size == 1 and set2.size == 1
|
680
691
|
set1 = set1[0]
|
681
692
|
set2 = set2[0]
|
@@ -686,7 +697,7 @@ module REXML
|
|
686
697
|
return rv
|
687
698
|
else
|
688
699
|
res = []
|
689
|
-
|
700
|
+
SyncEnumerator.new( set1, set2 ).each { |i1, i2|
|
690
701
|
#puts "i1 = #{i1.inspect} (#{i1.class.name})"
|
691
702
|
#puts "i2 = #{i2.inspect} (#{i2.class.name})"
|
692
703
|
i1 = norm( i1 )
|
@@ -696,7 +707,7 @@ module REXML
|
|
696
707
|
return res
|
697
708
|
end
|
698
709
|
end
|
699
|
-
|
710
|
+
#puts "EQ_REL_COMP: #{set1.inspect} (#{set1.class.name}), #{op}, #{set2.inspect} (#{set2.class.name})"
|
700
711
|
#puts "COMPARING VALUES"
|
701
712
|
# If one is nodeset and other is number, compare number to each item
|
702
713
|
# in nodeset s.t. number op number(string(item))
|
@@ -705,7 +716,7 @@ module REXML
|
|
705
716
|
# If one is nodeset and other is boolean, compare boolean to each item
|
706
717
|
# in nodeset s.t. boolean op boolean(item)
|
707
718
|
if set1.kind_of? Array or set2.kind_of? Array
|
708
|
-
|
719
|
+
#puts "ISA ARRAY"
|
709
720
|
if set1.kind_of? Array
|
710
721
|
a = set1
|
711
722
|
b = set2
|
@@ -724,7 +735,7 @@ module REXML
|
|
724
735
|
#puts "B = #{b.inspect}"
|
725
736
|
return a.collect {|v| compare( Functions::number(v), op, b )}
|
726
737
|
else
|
727
|
-
|
738
|
+
#puts "Functions::string( #{b}(#{b.class.name}) ) = #{Functions::string(b)}"
|
728
739
|
b = Functions::string( b )
|
729
740
|
return a.collect { |v| compare( Functions::string(v), op, b ) }
|
730
741
|
end
|
data/lib/rubysl/rexml.rb
CHANGED
data/lib/rubysl/rexml/version.rb
CHANGED
data/rubysl-rexml.gemspec
CHANGED
@@ -16,8 +16,10 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
|
+
spec.required_ruby_version = "~> 2.0"
|
20
|
+
|
19
21
|
spec.add_development_dependency "bundler", "~> 1.3"
|
20
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
21
23
|
spec.add_development_dependency "mspec", "~> 1.5"
|
22
|
-
spec.add_development_dependency "rubysl-prettyprint", "~>
|
24
|
+
spec.add_development_dependency "rubysl-prettyprint", "~> 2.0"
|
23
25
|
end
|
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubysl-rexml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Shirai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: mspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.5'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.5'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rubysl-prettyprint
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.0'
|
69
69
|
description: Ruby standard library rexml.
|
70
70
|
email:
|
71
71
|
- brixen@gmail.com
|
@@ -73,8 +73,8 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- .gitignore
|
77
|
-
- .travis.yml
|
76
|
+
- ".gitignore"
|
77
|
+
- ".travis.yml"
|
78
78
|
- Gemfile
|
79
79
|
- LICENSE
|
80
80
|
- README.md
|
@@ -93,17 +93,6 @@ files:
|
|
93
93
|
- lib/rexml/dtd/notationdecl.rb
|
94
94
|
- lib/rexml/element.rb
|
95
95
|
- lib/rexml/encoding.rb
|
96
|
-
- lib/rexml/encodings/CP-1252.rb
|
97
|
-
- lib/rexml/encodings/EUC-JP.rb
|
98
|
-
- lib/rexml/encodings/ICONV.rb
|
99
|
-
- lib/rexml/encodings/ISO-8859-1.rb
|
100
|
-
- lib/rexml/encodings/ISO-8859-15.rb
|
101
|
-
- lib/rexml/encodings/SHIFT-JIS.rb
|
102
|
-
- lib/rexml/encodings/SHIFT_JIS.rb
|
103
|
-
- lib/rexml/encodings/UNILE.rb
|
104
|
-
- lib/rexml/encodings/US-ASCII.rb
|
105
|
-
- lib/rexml/encodings/UTF-16.rb
|
106
|
-
- lib/rexml/encodings/UTF-8.rb
|
107
96
|
- lib/rexml/entity.rb
|
108
97
|
- lib/rexml/formatters/default.rb
|
109
98
|
- lib/rexml/formatters/pretty.rb
|
@@ -127,6 +116,7 @@ files:
|
|
127
116
|
- lib/rexml/quickpath.rb
|
128
117
|
- lib/rexml/rexml.rb
|
129
118
|
- lib/rexml/sax2listener.rb
|
119
|
+
- lib/rexml/security.rb
|
130
120
|
- lib/rexml/source.rb
|
131
121
|
- lib/rexml/streamlistener.rb
|
132
122
|
- lib/rexml/syncenumerator.rb
|
@@ -260,12 +250,12 @@ require_paths:
|
|
260
250
|
- lib
|
261
251
|
required_ruby_version: !ruby/object:Gem::Requirement
|
262
252
|
requirements:
|
263
|
-
- -
|
253
|
+
- - "~>"
|
264
254
|
- !ruby/object:Gem::Version
|
265
|
-
version: '0'
|
255
|
+
version: '2.0'
|
266
256
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
267
257
|
requirements:
|
268
|
-
- -
|
258
|
+
- - ">="
|
269
259
|
- !ruby/object:Gem::Version
|
270
260
|
version: '0'
|
271
261
|
requirements: []
|
@@ -383,3 +373,4 @@ test_files:
|
|
383
373
|
- spec/text/value_spec.rb
|
384
374
|
- spec/text/wrap_spec.rb
|
385
375
|
- spec/text/write_with_substitution_spec.rb
|
376
|
+
has_rdoc:
|