rexslt 0.3.8 → 0.3.9

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 (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