xmlutils 0.0.2

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 (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +22 -0
  5. data/README.md +77 -0
  6. data/bin/xmltogdl +88 -0
  7. data/docs/README.txt +20 -0
  8. data/lib/xmlutils/contextlistener.rb +432 -0
  9. data/lib/xmlutils/contextparser.rb +111 -0
  10. data/lib/xmlutils/dumplistener.rb +57 -0
  11. data/lib/xmlutils/gdlcontext.rb +305 -0
  12. data/lib/xmlutils/gdlcontextobjs.rb +286 -0
  13. data/lib/xmlutils/gdldoc.rb +547 -0
  14. data/lib/xmlutils/gdldocbuilder.rb +181 -0
  15. data/lib/xmlutils/gdllistener.rb +265 -0
  16. data/lib/xmlutils/gdltemplate.rb +488 -0
  17. data/lib/xmlutils/lineparser.rb +193 -0
  18. data/lib/xmlutils/listener.rb +459 -0
  19. data/lib/xmlutils/rulelistener.rb +414 -0
  20. data/lib/xmlutils/ruleparser.rb +112 -0
  21. data/lib/xmlutils/varlistener.rb +86 -0
  22. data/lib/xmlutils/version.rb +5 -0
  23. data/lib/xmlutils/xmlrulevisitor.rb +704 -0
  24. data/lib/xmlutils/xmltogdlcontroller.rb +93 -0
  25. data/lib/xmlutils/xmltogdltask.rb +23 -0
  26. data/lib/xmlutils/xmlvisitor.rb +690 -0
  27. data/lib/xmlutils.rb +40 -0
  28. data/rakefile.rb +34 -0
  29. data/unittests/2830.xml +1 -0
  30. data/unittests/chunks.rb +31 -0
  31. data/unittests/curDirTest.rb +2 -0
  32. data/unittests/data/2830-GENERATED.gdl +309 -0
  33. data/unittests/data/2830-GENERATED.xml +1 -0
  34. data/unittests/data/AUGuideline.xml +12 -0
  35. data/unittests/data/AUGuideline.xml.gdl +19190 -0
  36. data/unittests/data/BAKUP.DCTEST1.xml +1 -0
  37. data/unittests/data/DCTEST.xml +1 -0
  38. data/unittests/data/DCTEST1.xml +1 -0
  39. data/unittests/data/DCTEST1.xml.gdl +14890 -0
  40. data/unittests/data/DCTEST1.xml.rename.csv +180 -0
  41. data/unittests/data/DCTEST1wLookups.xml +174 -0
  42. data/unittests/data/DCTEST1wLookups.xml.gdl +127 -0
  43. data/unittests/data/GENERATED.gdl.xml +1 -0
  44. data/unittests/data/Message.xml +1 -0
  45. data/unittests/data/Message.xml.gdl +142 -0
  46. data/unittests/data/Pricing2ndGuideline.xml +1 -0
  47. data/unittests/data/Pricing2ndGuideline.xml.gdl +52670 -0
  48. data/unittests/data/Z-TEMP-Jeff.xml +1 -0
  49. data/unittests/data/Z-TEMP-Jeff.xml.gdl +288 -0
  50. data/unittests/tc_convert_xml_to_gdl.rb +23 -0
  51. data/unittests/ts_allTests.rb +2 -0
  52. data/xmlutils.gemspec +25 -0
  53. metadata +139 -0
@@ -0,0 +1,459 @@
1
+ #
2
+ # File: listener.rb
3
+ #
4
+ # This class is an abstract listener base class
5
+ #
6
+ #
7
+
8
+ require 'rexml/streamlistener'
9
+
10
+ include REXML
11
+
12
+
13
+
14
+
15
+ #################################################
16
+ #
17
+ # class Listener
18
+ #
19
+ #################################################
20
+ class Listener
21
+ include StreamListener
22
+
23
+ attr_writer :verbose
24
+
25
+ def verbose?
26
+ @verbose
27
+ end
28
+
29
+
30
+
31
+ #-------------------------------------------------------------------------------------------------------------#
32
+ # initialize - Ctor
33
+ #
34
+ #
35
+ #------------------------------------------------------------------------------------------------------------#
36
+ def initialize()
37
+ @verbose = false
38
+ end
39
+
40
+
41
+
42
+ #-------------------------------------------------------------------------------------------------------------#
43
+ # tag_start - A start tag has been parsed
44
+ #
45
+ # tag - name of tag (element name)
46
+ # attributes - element tag attributes
47
+ #------------------------------------------------------------------------------------------------------------#
48
+ def tag_start(tag, attributes)
49
+ if ($DEBUG)
50
+ puts "tag_start: #{tag}"
51
+
52
+ if(!attributes.empty?)
53
+ puts " Attr:"
54
+ attributes.each do |attr|
55
+ puts " #{attr[0]}: #{attr[1]}"
56
+ end
57
+ end
58
+ end # if $DEBUG
59
+
60
+ case tag
61
+ when 'DPM'
62
+ openDPM(attributes)
63
+
64
+ when 'PPM'
65
+ openPPM(attributes)
66
+
67
+ when 'Rule'
68
+ openRule(attributes)
69
+
70
+ when 'Ruleset'
71
+ openRuleset(attributes)
72
+
73
+ when 'Lookup'
74
+ openLookup(attributes)
75
+
76
+ when 'LOOKUPS'
77
+ openLOOKUPS(attributes)
78
+
79
+ when 'LOOKUP'
80
+ openLOOKUP(attributes)
81
+
82
+ when 'Message'
83
+ openMessage(attributes)
84
+
85
+ when 'XParameter'
86
+ openXParameter(attributes)
87
+
88
+ when 'YParameter'
89
+ openYParameter(attributes)
90
+
91
+ when 'Function'
92
+ openXmlFunction(attributes)
93
+
94
+ else
95
+ openUnknown(tag, attributes)
96
+ end # case
97
+
98
+ end
99
+
100
+
101
+
102
+
103
+ #-------------------------------------------------------------------------------------------------------------#
104
+ # tag_end - An ending tag has been parsed
105
+ #
106
+ # tag - name of tag (element name)
107
+ #------------------------------------------------------------------------------------------------------------#
108
+ def tag_end(tag)
109
+ puts "tag_end: #{tag}" unless !$DEBUG
110
+ puts "" if $DEBUG
111
+
112
+ case tag
113
+ when 'Ruleset'
114
+ closeRuleset()
115
+
116
+ when 'Lookup'
117
+ closeLookup()
118
+
119
+ when 'LOOKUPS'
120
+ closeLOOKUPS()
121
+
122
+ when 'LOOKUP'
123
+ closeLOOKUP()
124
+
125
+ when 'Message'
126
+ closeMessage()
127
+
128
+ when 'XParameter'
129
+ closeXParameter()
130
+
131
+ when 'YParameter'
132
+ closeYParameter()
133
+
134
+ when 'Function'
135
+ closeXmlFunction()
136
+
137
+ else
138
+ closeUnknown(tag)
139
+ end # case
140
+
141
+ end
142
+
143
+
144
+
145
+
146
+ #-------------------------------------------------------------------------------------------------------------#
147
+ # entity - An entity has been parsed
148
+ #
149
+ # content - entity content
150
+ #------------------------------------------------------------------------------------------------------------#
151
+ def entity(content)
152
+ puts "entity: #{content}" unless !$DEBUG
153
+ end
154
+
155
+
156
+
157
+
158
+ #-------------------------------------------------------------------------------------------------------------#
159
+ # text - A text node has been parsed
160
+ #
161
+ # txt - node text
162
+ #------------------------------------------------------------------------------------------------------------#
163
+ def text(txt)
164
+ puts "text: #{txt}" unless !$DEBUG
165
+ end
166
+
167
+
168
+
169
+
170
+ #-------------------------------------------------------------------------------------------------------------#
171
+ # cdata - A cdata node has been parsed
172
+ # Called when <![CDATA[ � ]]> is encountered in a document. @p content "�"
173
+ # txt - node text
174
+ #------------------------------------------------------------------------------------------------------------#
175
+ def cdata(txt)
176
+ puts "cdata: #{txt}" unless !$DEBUG
177
+ end
178
+
179
+
180
+
181
+
182
+ #-------------------------------------------------------------------------------------------------------------#
183
+ # openMessage - A Message element has been started
184
+ #
185
+ # attributes - Message element attributes
186
+ #
187
+ #------------------------------------------------------------------------------------------------------------#
188
+ def openMessage(attributes)
189
+ end # openMessage
190
+
191
+
192
+
193
+
194
+ #-------------------------------------------------------------------------------------------------------------#
195
+ # closeMessage - A Message element has been ended
196
+ #
197
+ #
198
+ #------------------------------------------------------------------------------------------------------------#
199
+ def closeMessage()
200
+ end # closeMessage
201
+
202
+
203
+
204
+
205
+ #-------------------------------------------------------------------------------------------------------------#
206
+ # openDPM - A DPM element has been started
207
+ #
208
+ # attributes - DPM element attributes
209
+ #
210
+ #------------------------------------------------------------------------------------------------------------#
211
+ def openDPM(attributes)
212
+ end # openDpm
213
+
214
+
215
+
216
+
217
+ #-------------------------------------------------------------------------------------------------------------#
218
+ # closeDPM - A DPM element has been ended
219
+ #
220
+ #
221
+ #------------------------------------------------------------------------------------------------------------#
222
+ def closeDPM()
223
+ end # closeDPM
224
+
225
+
226
+
227
+
228
+ #-------------------------------------------------------------------------------------------------------------#
229
+ # openPPM - A PPM element has been started
230
+ #
231
+ # attributes - PPM element attributes
232
+ #
233
+ #------------------------------------------------------------------------------------------------------------#
234
+ def openPPM(attributes)
235
+ end # openPPM
236
+
237
+
238
+
239
+
240
+ #-------------------------------------------------------------------------------------------------------------#
241
+ # closePPM - A PPM element has been ended
242
+ #
243
+ #
244
+ #------------------------------------------------------------------------------------------------------------#
245
+ def closePPM()
246
+ end # closePPM
247
+
248
+
249
+
250
+
251
+ #-------------------------------------------------------------------------------------------------------------#
252
+ # openRule - A Rule element has been started
253
+ #
254
+ # attributes - rule element attributes
255
+ #
256
+ #------------------------------------------------------------------------------------------------------------#
257
+ def openRule(attributes)
258
+ end # openRule
259
+
260
+
261
+
262
+
263
+ #-------------------------------------------------------------------------------------------------------------#
264
+ # closeRule - A Rule element has been ended
265
+ #
266
+ #
267
+ #------------------------------------------------------------------------------------------------------------#
268
+ def closeRule()
269
+ end # closeRule
270
+
271
+
272
+
273
+
274
+ #-------------------------------------------------------------------------------------------------------------#
275
+ # openRuleset - A Ruleset element has been started
276
+ #
277
+ # attributes - ruleset element attributes
278
+ #
279
+ #------------------------------------------------------------------------------------------------------------#
280
+ def openRuleset(attributes)
281
+ end # openRuleset
282
+
283
+
284
+
285
+
286
+ #-------------------------------------------------------------------------------------------------------------#
287
+ # closeRuleset - A Ruleset element has been ended
288
+ #
289
+ #
290
+ #------------------------------------------------------------------------------------------------------------#
291
+ def closeRuleset()
292
+ end # closeRuleset
293
+
294
+
295
+
296
+
297
+ #-------------------------------------------------------------------------------------------------------------#
298
+ # openLookup - A Lookup element has been started
299
+ #
300
+ # attributes - Lookup element attributes
301
+ #
302
+ #------------------------------------------------------------------------------------------------------------#
303
+ def openLookup(attributes)
304
+ end # openLookup
305
+
306
+
307
+
308
+
309
+ #-------------------------------------------------------------------------------------------------------------#
310
+ # closeLookup - A Lookup element has been ended
311
+ #
312
+ #
313
+ #------------------------------------------------------------------------------------------------------------#
314
+ def closeLookup()
315
+ end # closeLookup
316
+
317
+
318
+
319
+
320
+ #-------------------------------------------------------------------------------------------------------------#
321
+ # openLOOKUPS - A LOOKUPS element has been started
322
+ #
323
+ # attributes - LOOKUPS element attributes
324
+ #
325
+ #------------------------------------------------------------------------------------------------------------#
326
+ def openLOOKUPS(attributes)
327
+ end # openLOOKUPS
328
+
329
+
330
+
331
+
332
+ #-------------------------------------------------------------------------------------------------------------#
333
+ # closeLOOKUPS - A LOOKUPS element has been ended
334
+ #
335
+ #
336
+ #------------------------------------------------------------------------------------------------------------#
337
+ def closeLOOKUPS()
338
+ end # closeUnknown
339
+
340
+
341
+
342
+
343
+ #-------------------------------------------------------------------------------------------------------------#
344
+ # openLOOKUP - A LOOKUP element has been started
345
+ #
346
+ # attributes - LOOKUP element attributes
347
+ #
348
+ #------------------------------------------------------------------------------------------------------------#
349
+ def openLOOKUP(attributes)
350
+ end # openLOOKUP
351
+
352
+
353
+
354
+
355
+ #-------------------------------------------------------------------------------------------------------------#
356
+ # closeLOOKUP - A LOOKUP element has been ended
357
+ #
358
+ #
359
+ #------------------------------------------------------------------------------------------------------------#
360
+ def closeLOOKUP()
361
+ end # closeUnknown
362
+
363
+
364
+
365
+
366
+ #-------------------------------------------------------------------------------------------------------------#
367
+ # openXParameter - A XParameter element has been started
368
+ #
369
+ # attributes - XParameter element attributes
370
+ #
371
+ #------------------------------------------------------------------------------------------------------------#
372
+ def openXParameter(attributes)
373
+ end # openXParameter
374
+
375
+
376
+
377
+
378
+ #-------------------------------------------------------------------------------------------------------------#
379
+ # closeXParameter - A XParameter element has been ended
380
+ #
381
+ #
382
+ #------------------------------------------------------------------------------------------------------------#
383
+ def closeXParameter()
384
+ end # closeUnknown
385
+
386
+
387
+
388
+
389
+ #-------------------------------------------------------------------------------------------------------------#
390
+ # openYParameter - A YParameter element has been started
391
+ #
392
+ # attributes - YParameter element attributes
393
+ #
394
+ #------------------------------------------------------------------------------------------------------------#
395
+ def openYParameter(attributes)
396
+ end # openYParameter
397
+
398
+
399
+
400
+
401
+ #-------------------------------------------------------------------------------------------------------------#
402
+ # closeYParameter - A YParameter element has been ended
403
+ #
404
+ #
405
+ #------------------------------------------------------------------------------------------------------------#
406
+ def closeYParameter()
407
+ end # closeYParameter
408
+
409
+
410
+
411
+
412
+ #-------------------------------------------------------------------------------------------------------------#
413
+ # openXmlFunction - A XmlFunction element has been started
414
+ #
415
+ # attributes - XmlFunction element attributes
416
+ #
417
+ #------------------------------------------------------------------------------------------------------------#
418
+ def openXmlFunction(attributes)
419
+ end # openXmlFunction
420
+
421
+
422
+
423
+
424
+ #-------------------------------------------------------------------------------------------------------------#
425
+ # closeXmlFunction - A XmlFunction element has been ended
426
+ #
427
+ #
428
+ #------------------------------------------------------------------------------------------------------------#
429
+ def closeXmlFunction()
430
+ end # closeXmlFunction
431
+
432
+
433
+
434
+
435
+ #-------------------------------------------------------------------------------------------------------------#
436
+ # openUnknown - A Unknown element has been started
437
+ #
438
+ # tag - Tag name of unknown element
439
+ # attributes - Unknown element attributes
440
+ #
441
+ #------------------------------------------------------------------------------------------------------------#
442
+ def openUnknown(tag, attributes)
443
+ puts "opening unknown tag: #{tag}" unless !$DEBUG
444
+ end # openUnknown
445
+
446
+
447
+
448
+
449
+ #-------------------------------------------------------------------------------------------------------------#
450
+ # closeUnknown - A Unknown element has been ended
451
+ #
452
+ # tag - Tag name of unknown element
453
+ #
454
+ #------------------------------------------------------------------------------------------------------------#
455
+ def closeUnknown(tag)
456
+ puts "closing unknown tag: #{tag}" unless !$DEBUG
457
+ end # closeUnknown
458
+ end # class Listener
459
+