rexslt 0.3.8 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/rexslt.rb +19 -26
  2. metadata +2 -2
data/lib/rexslt.rb CHANGED
@@ -95,7 +95,7 @@ class Rexslt
95
95
  r = x.element(sort_field);
96
96
 
97
97
  if r.respond_to?(:text) then
98
- orderx == 'ascending' ? r.text : -r.text
98
+ orderx == 'ascending' ? r.value : -r.value
99
99
  else
100
100
 
101
101
  if orderx == 'ascending' then
@@ -140,14 +140,12 @@ class Rexslt
140
140
  def xsl_attribute(element, x, doc_element, indent, i)
141
141
 
142
142
  name = x.attributes[:name]
143
- value = x.text
143
+ value = x.value
144
144
  doc_element.add_attribute name, value
145
145
  end
146
146
 
147
147
  def xsl_choose(element, x, doc_element, indent, i)
148
148
 
149
- #get the when clause
150
-
151
149
  r = x.xpath("xsl:when").map do |xsl_node|
152
150
 
153
151
  condition = xsl_node.attributes[:test]
@@ -187,7 +185,7 @@ class Rexslt
187
185
  name = element.element("name()")
188
186
  end
189
187
 
190
- new_element = Rexle::Element.new(name).add_text(x.text.strip)
188
+ new_element = Rexle::Element.new(name).add_text(x.value.strip)
191
189
  doc_element.add new_element
192
190
  read_node(x, element, new_element, indent, i)
193
191
  indent_after(element, x, doc_element, indent, i) if @indent == true
@@ -204,7 +202,7 @@ class Rexslt
204
202
  if sort_node then
205
203
 
206
204
  sort_field = sort_node.attributes[:select]
207
- order = sort_node.attributes[:order]
205
+ raw_order = sort_node.attributes[:order]
208
206
  sort_node.parent.delete sort_node
209
207
 
210
208
  if sort_field then
@@ -213,7 +211,7 @@ class Rexslt
213
211
  r = node.element sort_field
214
212
 
215
213
  if r.is_a? Rexle::Element then
216
- r.text
214
+ r.value
217
215
  else
218
216
  # it's a string
219
217
  r
@@ -221,6 +219,9 @@ class Rexslt
221
219
  end
222
220
 
223
221
  end
222
+
223
+ field = raw_order[/^\{\$(.*)\}/,1]
224
+ order = field ? @param[field] : raw_order
224
225
  nodes.reverse! if order.downcase == 'descending'
225
226
  end
226
227
 
@@ -317,7 +318,7 @@ class Rexslt
317
318
  if v[/{/] then
318
319
 
319
320
  v.gsub!(/(\{[^\}]+\})/) do |x2|
320
- element.text(x2[/\{([^\}]+)\}/,1]).clone
321
+ element.value(x2[/\{([^\}]+)\}/,1]).clone
321
322
  end
322
323
 
323
324
  end
@@ -325,9 +326,7 @@ class Rexslt
325
326
 
326
327
  indent_before(element, x, doc_element, new_indent, i) if @indent == true
327
328
 
328
- #jr070412 new_element.text = new_element.text.strip if @indent == false
329
-
330
- new_element2.text = new_element2.text.strip
329
+ new_element2.value = new_element2.value.strip
331
330
  doc_element.add new_element2
332
331
 
333
332
  read_node(x, element, new_element2, new_indent, i)
@@ -352,22 +351,22 @@ class Rexslt
352
351
 
353
352
  def xsl_text(element, x, doc_element, indent, i)
354
353
  val = @indent == true ? padding(doc_element, indent, x) : ''
355
- val += x.text
354
+ val += x.value
356
355
  doc_element.add_element val
357
356
  end
358
357
 
359
358
  def xsl_value_of(element, x, doc_element, indent, i)
360
- #@param = {'view' => 'eee'}
359
+
361
360
  field = x.attributes[:select]
362
361
  o = case field
363
362
  when '.'
364
- element.text
363
+ element.value
365
364
  when /^\$/
366
365
  @param[field[/^\$(.*)/,1]]
367
366
  else
368
- element.text(field)
367
+ element.value(field)
369
368
  end
370
- #o = field == '.' ? element.text : element.text(field)
369
+
371
370
  doc_element.add_element o.to_s
372
371
  end
373
372
 
@@ -389,7 +388,7 @@ class Rexslt
389
388
  elements = strip_space.value
390
389
  elements.split.each do |element|
391
390
  nodes = doc_xml.root.xpath "//" + element + "[text()]"
392
- a = nodes.select {|x| x.text.to_s.strip.empty?}
391
+ a = nodes.select {|x| x.value.to_s.strip.empty?}
393
392
  a.each {|node| node.parent.delete node}
394
393
  end
395
394
  end
@@ -399,7 +398,7 @@ class Rexslt
399
398
 
400
399
  @indent = (h and h[:indent] == 'yes') ? true : false
401
400
 
402
- params = @doc_xsl.root.xpath("xsl:param").map{|x| [x.attributes[:name], x.text]}
401
+ params = @doc_xsl.root.xpath("xsl:param").map{|x| [x.attributes[:name], x.value]}
403
402
  @param = Hash[params].merge(custom_params) if params
404
403
  # search for params
405
404
 
@@ -412,14 +411,8 @@ class Rexslt
412
411
  end
413
412
 
414
413
  # using the 1st template
415
- xpath = String.new @templates.to_a[0][0]
416
-
417
- if doc_xml.root.name == xpath then
418
- read_node(@templates.to_a[0][-1], doc_xml.element(xpath), @doc.root, indent)
419
- else
420
- # use this template
421
- read_node(@templates.to_a[0][-1], doc_xml.element(xpath), @doc.root, indent)
422
- end
414
+ xpath = String.new @templates.to_a[0][0]
415
+ read_node(@templates.to_a[0][-1], doc_xml.element(xpath), @doc.root, indent)
423
416
 
424
417
  end
425
418
 
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: rexslt
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.8
5
+ version: 0.3.9
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-08-17 00:00:00 Z
13
+ date: 2012-08-19 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rxfhelper