rexslt 0.4.2 → 0.4.3

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 (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/rexslt.rb +27 -12
  5. metadata +43 -29
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a5d69aa2720ca591fb42c64e7b6173ce384945e5
4
- data.tar.gz: da2e4a3b8f0e41eeca068f684fbd6e79df1f5d04
3
+ metadata.gz: 3a3bf1a0e1cf9b43802dfb28fffd0c3aa04a3e08
4
+ data.tar.gz: 0f023aa72ce7df0b1e4d01eb74bedc6119c5df39
5
5
  SHA512:
6
- metadata.gz: ba6a47b920d0731d6104e59c3f6c5eb336f00d665691d92649f82ab33d45a7c0ac0502881c5646e2cc7e5cf643441c06d3a004ed165c2fced3a812d005e5e767
7
- data.tar.gz: 3a3fd80f85b7d1f4d2cb6fa9db97963dcbcbab5b6901f30b77587f45d86d5ea7633bddbd6cc30b358c7763fcbe2edb5dce7182c85784a6e5b12db9d3a7449ab8
6
+ metadata.gz: 537c86472bc5971a9e99b17f6416428240b2deef586d4c6aea9e9d94f756516ec7a3ab5a7470640d10c72bacbde888db2023884102a40c47797c8a49430cece9
7
+ data.tar.gz: b90150549fdc860d9aa6c27f106348966317b599d7e5d75c4e281fcd73d9984d189374a7469f7a667f7fab2427f26ad0d5e8c042d9341d74eead7dcf33bd5e0a
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -192,8 +192,9 @@ class Rexslt
192
192
 
193
193
  new_element = Rexle::Element.new(name) # .add_text(x.value.strip)
194
194
 
195
- doc_element.add new_element
195
+ doc_element.text = element.text if element.text
196
196
  read_node(x, element, new_element, indent, i)
197
+ doc_element.add new_element
197
198
  indent_after(element, x, doc_element, indent, i) if @indent == true
198
199
  end
199
200
 
@@ -238,6 +239,7 @@ class Rexslt
238
239
  def xsl_if(element, x, doc_element, indent, i=0)
239
240
 
240
241
  condition = x.attributes[:test].gsub('position()',i.to_s).gsub('&lt;','<').gsub('&gt;','>')
242
+
241
243
  result = element.element condition
242
244
 
243
245
  if result then
@@ -285,6 +287,7 @@ class Rexslt
285
287
  procs = {"Rexle::Element" => :read_raw_element, "String" => :read_raw_text}
286
288
 
287
289
  template_node.children.each_with_index do |x,j|
290
+
288
291
  method(procs[x.class.to_s]).call(element, x, doc_element, indent, i)
289
292
 
290
293
  end
@@ -298,12 +301,15 @@ class Rexslt
298
301
  #val = @indent == true ? padding(doc_element, raw_indent, x) : ''
299
302
  if x.to_s.strip.length > 0 then
300
303
  val = x.to_s #
301
- doc_element.add_element val
304
+ #jr040316 doc_element.add_element val
302
305
  end
306
+
307
+ doc_element.add_text x if x.is_a? String
308
+
303
309
  end
304
310
 
305
311
  def read_raw_element(element, x, doc_element, indent, j)
306
-
312
+
307
313
  method_name = x.name.gsub(/[:-]/,'_').to_sym
308
314
 
309
315
  if @xsl_methods.include? method_name then
@@ -311,7 +317,7 @@ class Rexslt
311
317
  if method_name == :'xsl_apply_templates' then
312
318
  #doc_element = doc_element.elements.last
313
319
  end
314
-
320
+
315
321
  method(method_name).call(element, x, doc_element, indent, i=0)
316
322
 
317
323
  else
@@ -323,7 +329,9 @@ class Rexslt
323
329
  if x.children.length > 0 then
324
330
 
325
331
  new_element = x.clone
326
- new_element.text = ''
332
+
333
+ #jr030316 new_element.text = ''
334
+ new_element.text = x.text
327
335
 
328
336
  new_element.attributes.each do |k,v|
329
337
 
@@ -337,8 +345,9 @@ class Rexslt
337
345
  end
338
346
 
339
347
  indent_before(element, x, doc_element, new_indent, j) if @indent == true
340
- doc_element.add new_element
348
+
341
349
  read_node(x, element, new_element, new_indent, i)
350
+ doc_element.add new_element
342
351
 
343
352
  if @indent == true then
344
353
  if doc_element.children.last.children.any? \
@@ -358,7 +367,7 @@ class Rexslt
358
367
 
359
368
  end
360
369
  end
361
-
370
+
362
371
  end
363
372
 
364
373
  def xsl_text(element, x, doc_element, indent, i)
@@ -368,7 +377,7 @@ class Rexslt
368
377
  end
369
378
 
370
379
  def xsl_value_of(element, x, doc_element, indent, i)
371
-
380
+
372
381
  field = x.attributes[:select]
373
382
 
374
383
  o = case field
@@ -381,14 +390,19 @@ class Rexslt
381
390
  ee
382
391
  end
383
392
 
384
- doc_element.add_element o.to_s #unless o.to_s.empty?
393
+ #jr030316 doc_element.add_element o.to_s #unless o.to_s.empty?
394
+
395
+ doc_element.add_text o
396
+
397
+ doc_element
385
398
  end
386
399
 
387
400
 
388
- def xslt_transform(xsl, xml, custom_params={})
401
+ def xslt_transform(raw_xsl, xml, custom_params={})
389
402
 
390
403
  doc_xml = Rexle.new xml
391
- @doc_xsl = Rexle.new xsl
404
+ @doc_xsl = Rexle.new raw_xsl.gsub(/ +/,' ').gsub(/\n/,'')\
405
+ .gsub(/> /,'>').gsub(/ </,'<')
392
406
 
393
407
  @doc = Rexle.new '<root></root>'
394
408
  indent = 0
@@ -425,7 +439,8 @@ class Rexslt
425
439
  end
426
440
 
427
441
  # using the 1st template
428
- xpath = String.new @templates.to_a[0][0]
442
+ xpath = String.new @templates.to_a[0][0]
443
+
429
444
  read_node(@templates.to_a[0][-1], doc_xml.element(xpath), @doc.root, indent)
430
445
 
431
446
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rexslt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,55 +10,69 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDRDCCAiygAwIBAgIBADANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTEzMDIwNjIxMDM0N1oXDTE0MDIwNjIxMDM0N1owSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE2MDMwNDIzNTg1NloXDTE3MDMwNDIzNTg1NlowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAPR1qjW+XgvtrXdm0fM5NbMgSzf8HszUXDfA/4XglCq8LwBp6Db9t0UXHlXS
19
- gMmtWWenWcxvLvqjHsETp+nZMRHfMqoLd0GwonuJo76HEEfkfKeRfUmnzj9+sIAD
20
- yBcHA6zrObv7a184ywp5jIknmRS0J7qL7YieEda9Fhb7YH4D4C7HO5SZEmmXxL1h
21
- vImRIJwyv0gX+i1ZPaa4oNe5ziwqNI2VBivLgjX9OnEL2OZASUlRavo4cCc5vffO
22
- pCnF+UCRA/5EIhxzWZawflxgR30baH1tElL6iu4T31R9KkWVmpnGO8sJXKjtG+j8
23
- 8NcO0L093t0sxRWVmwu3h2aRdJECAwEAAaM5MDcwCQYDVR0TBAIwADAdBgNVHQ4E
24
- FgQU83c8Gj6E2y+OjyMZ8ymnvGDT41gwCwYDVR0PBAQDAgSwMA0GCSqGSIb3DQEB
25
- BQUAA4IBAQB3RVL1KMBxJX1n3JsvQt0TS8vJxfnGdI8taDY7G3Zpb3n4H6VfbTOU
26
- BtxxMS+IRb4Vn5SoSl5G0D2AKRMq8RSvaYOeoLo8DX49Gz62llrJ1E5la6vjRrQl
27
- hP7lZWMn+7F/Ou54j//Z3p3U0dqyy2dhvDDm72UQ8pCEOLcIAz3vCBdnJwVp+gmd
28
- LPfHePTnVLzlKkBKornHC7clzLLtoE6/YW0ximDJZ6DG0PI0Ua6JLALluMiSMloi
29
- 1EigaCsx54frcmMsPZoLQ9vQ16ROqPAH1C131exu4wmQoeBd6s8hOLvmrfyTjo2K
30
- 6bAKBmswt4DzBQG3jblepE2u/lMoMrjo
18
+ ggEBAKzE015vYQSwDJ3b9+oMbtv9xKd3bx9aTF0MuF00hKmbPjFHd3L6dyJoEWCy
19
+ ZYxqiJZykN/TH8RD6wCvqPqtRwCM4j4zubSLfx9pLrWfA9KyHZ76sHNFvMwKJowV
20
+ /LvaQVWFsyvisyUGE5700jKE0pzt42g2MTIBsci6Lj6RTWzP5o1GgKVHEGW8JDv/
21
+ AEWspA+gCGoScP4lBKrwnfhjx8e0giWenEMxZFQLllLJcd95bxBsPudVXA9fSsZJ
22
+ LTSRPrEzX2w/T+BxTMwA3avOWPij/EqmfalHjBvruV9VHX7SIQb3wp8njvgFwI80
23
+ ctKDJ9kHhU0ImdBFsrEV91m3occCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUDSdtw1Awl7Da9uo7Dk/jGadtV8swJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAPMbAn90u
27
+ s7nXLA0sr2fcImZAoeklGL7xVxAjKPgy9T56LFU6KVe0p9u4uxXzs3Gi4HKIF/5P
28
+ P5uGfjvfnzhl0vNKbFMyrvAcgAYRR+4/T2KJHetMUBEOll3hvOgCEL96P2A3rvBs
29
+ Ey6GvidwOJWsH1l2PuYXh/XHX9OAUoYuzZf0oK0LSMpdqwmdyGBaIaGS/JIfusfZ
30
+ qti4dC2jX2jBO+yVrjhxjUa2mhJ4FMvFakkFu6ygoV2E2xff/njkAaoQHh6LW1R4
31
+ 38j2+6ULVWalsVein3whb7qB6IOvxoSqjz6n7jAKFGHovoXPUqpv5y5Yor23rTrn
32
+ 0YwisIc3UkL30g==
31
33
  -----END CERTIFICATE-----
32
- date: 2013-07-27 00:00:00.000000000 Z
34
+ date: 2016-03-04 00:00:00.000000000 Z
33
35
  dependencies:
34
36
  - !ruby/object:Gem::Dependency
35
37
  name: rxfhelper
36
38
  requirement: !ruby/object:Gem::Requirement
37
39
  requirements:
38
- - - '>='
40
+ - - "~>"
39
41
  - !ruby/object:Gem::Version
40
- version: '0'
42
+ version: '0.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.12
41
46
  type: :runtime
42
47
  prerelease: false
43
48
  version_requirements: !ruby/object:Gem::Requirement
44
49
  requirements:
45
- - - '>='
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.1'
53
+ - - ">="
46
54
  - !ruby/object:Gem::Version
47
- version: '0'
55
+ version: 0.1.12
48
56
  - !ruby/object:Gem::Dependency
49
57
  name: rexle
50
58
  requirement: !ruby/object:Gem::Requirement
51
59
  requirements:
52
- - - '>='
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ - - ">="
53
64
  - !ruby/object:Gem::Version
54
- version: '0'
65
+ version: 1.0.11
55
66
  type: :runtime
56
67
  prerelease: false
57
68
  version_requirements: !ruby/object:Gem::Requirement
58
69
  requirements:
59
- - - '>='
70
+ - - "~>"
60
71
  - !ruby/object:Gem::Version
61
- version: '0'
72
+ version: '1.0'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.11
62
76
  description:
63
77
  email: james@r0bertson.co.uk
64
78
  executables: []
@@ -76,17 +90,17 @@ require_paths:
76
90
  - lib
77
91
  required_ruby_version: !ruby/object:Gem::Requirement
78
92
  requirements:
79
- - - '>='
93
+ - - ">="
80
94
  - !ruby/object:Gem::Version
81
- version: '0'
95
+ version: 2.1.2
82
96
  required_rubygems_version: !ruby/object:Gem::Requirement
83
97
  requirements:
84
- - - '>='
98
+ - - ">="
85
99
  - !ruby/object:Gem::Version
86
100
  version: '0'
87
101
  requirements: []
88
102
  rubyforge_project:
89
- rubygems_version: 2.0.0.rc.2
103
+ rubygems_version: 2.4.8
90
104
  signing_key:
91
105
  specification_version: 4
92
106
  summary: Rexslt is an XSLT processor written purely in Ruby
metadata.gz.sig CHANGED
Binary file