rexle 0.9.64 → 0.9.65
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.
- data/lib/rexle.rb +17 -7
- metadata +2 -2
data/lib/rexle.rb
CHANGED
@@ -10,8 +10,9 @@ require 'cgi'
|
|
10
10
|
include REXML
|
11
11
|
|
12
12
|
# modifications:
|
13
|
+
# 10-Nov-2012: Elements can now be added starting from an empty document
|
13
14
|
# 06-Nov-2012: additional xpath predicate now implemented e.g.
|
14
|
-
#
|
15
|
+
# fun/. > 200 => [false, false, true, true]
|
15
16
|
# 21-Oct-2012: xpath predicate now implemented e.g. fun/@id='4' => true
|
16
17
|
# 20-Oct-2012: feature: added Rexle::Element#texts which is the equivalent
|
17
18
|
# of REXML::Element#texts
|
@@ -124,12 +125,9 @@ class Rexle
|
|
124
125
|
include XMLhelper
|
125
126
|
|
126
127
|
attr_reader :prefixes
|
127
|
-
|
128
|
-
def self.version()
|
129
|
-
'0.9.xx'
|
130
|
-
end
|
131
128
|
|
132
129
|
def initialize(x=nil)
|
130
|
+
|
133
131
|
super()
|
134
132
|
|
135
133
|
# what type of input is it? Is it a string, array, or REXML doc?
|
@@ -153,7 +151,7 @@ class Rexle
|
|
153
151
|
xmlns = @doc.root.attributes.select {|k,v| k[/^xmlns:/]}
|
154
152
|
@prefixes = xmlns.keys.map{|x| x[/\w+$/]}
|
155
153
|
end
|
156
|
-
|
154
|
+
|
157
155
|
end
|
158
156
|
|
159
157
|
end
|
@@ -407,6 +405,7 @@ class Rexle
|
|
407
405
|
|
408
406
|
def add_element(item)
|
409
407
|
if item.is_a? Rexle::Element then
|
408
|
+
|
410
409
|
@child_lookup << [item.name, item.attributes, item.value]
|
411
410
|
@child_elements << item
|
412
411
|
# add a reference from this element (the parent) to the child
|
@@ -743,7 +742,18 @@ class Rexle
|
|
743
742
|
def add_attribute(x) @doc.attribute(x) end
|
744
743
|
def attribute(key) @doc.attribute(key) end
|
745
744
|
def attributes() @doc.attributes end
|
746
|
-
|
745
|
+
|
746
|
+
def add_element(element)
|
747
|
+
if @doc then
|
748
|
+
raise 'attempted adding second root element to document' if @doc.root
|
749
|
+
@doc.root.add_element(element)
|
750
|
+
else
|
751
|
+
doc_node = ['doc','',{},[element.name, element.value,element.attributes]]
|
752
|
+
@doc = scan_element(*doc_node)
|
753
|
+
end
|
754
|
+
element
|
755
|
+
end
|
756
|
+
|
747
757
|
def add_text(s) end
|
748
758
|
|
749
759
|
alias add add_element
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rexle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.9.
|
5
|
+
version: 0.9.65
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- James Robertson
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-11-
|
13
|
+
date: 2012-11-10 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rexleparser
|