expressir 0.2.27-x86-mingw32 → 1.0.0-x86-mingw32

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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +3 -3
  3. data/.gitignore +2 -2
  4. data/demo.rb +5 -5
  5. data/exe/format +8 -8
  6. data/exe/format-test +11 -11
  7. data/expressir.gemspec +0 -1
  8. data/lib/expressir.rb +0 -1
  9. data/lib/expressir/cli.rb +0 -6
  10. data/lib/expressir/{express_exp → express}/2.4/express_parser.so +0 -0
  11. data/lib/expressir/{express_exp → express}/2.5/express_parser.so +0 -0
  12. data/lib/expressir/{express_exp → express}/2.6/express_parser.so +0 -0
  13. data/lib/expressir/{express_exp → express}/2.7/express_parser.so +0 -0
  14. data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
  15. data/lib/expressir/{express_exp → express}/cache.rb +3 -6
  16. data/lib/expressir/{express_exp → express}/formatter.rb +72 -66
  17. data/lib/expressir/{express_exp → express}/hyperlink_formatter.rb +1 -1
  18. data/lib/expressir/{express_exp → express}/model_visitor.rb +1 -1
  19. data/lib/expressir/{express_exp → express}/parser.rb +3 -3
  20. data/lib/expressir/{express_exp → express}/resolve_references_model_visitor.rb +2 -2
  21. data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
  22. data/lib/expressir/{express_exp → express}/visitor.rb +21 -25
  23. data/lib/expressir/model.rb +2 -2
  24. data/lib/expressir/model/entity.rb +6 -6
  25. data/lib/expressir/model/model_element.rb +1 -1
  26. data/lib/expressir/model/rule.rb +3 -3
  27. data/lib/expressir/model/type.rb +6 -6
  28. data/lib/expressir/model/types/enumeration.rb +2 -4
  29. data/lib/expressir/model/types/select.rb +2 -4
  30. data/lib/expressir/model/{unique.rb → unique_rule.rb} +1 -1
  31. data/lib/expressir/model/{where.rb → where_rule.rb} +1 -1
  32. data/lib/expressir/version.rb +1 -1
  33. data/rakelib/cross-ruby.rake +1 -1
  34. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  35. data/spec/expressir/express/formatter_spec.rb +127 -0
  36. data/spec/expressir/{express_exp → express}/parser_spec.rb +23 -23
  37. data/spec/expressir/model/model_element_spec.rb +45 -45
  38. data/{original/examples → spec}/syntax/multiple.exp +0 -0
  39. data/{original/examples → spec}/syntax/multiple.yaml +4 -4
  40. data/{original/examples → spec}/syntax/multiple_formatted.exp +0 -0
  41. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +0 -0
  42. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -0
  43. data/{original/examples → spec}/syntax/remark.exp +0 -0
  44. data/{original/examples → spec}/syntax/remark.yaml +13 -13
  45. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  46. data/{original/examples → spec}/syntax/single.exp +0 -0
  47. data/{original/examples → spec}/syntax/single.yaml +1 -1
  48. data/{original/examples → spec}/syntax/single_formatted.exp +0 -0
  49. data/{original/examples → spec}/syntax/single_formatted.yaml +1 -1
  50. data/{original/examples → spec}/syntax/syntax.exp +10 -10
  51. data/{original/examples → spec}/syntax/syntax.yaml +106 -106
  52. data/{original/examples → spec}/syntax/syntax_formatted.exp +10 -10
  53. data/{original/examples → spec}/syntax/syntax_hyperlink_formatted.exp +10 -10
  54. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +0 -0
  55. metadata +37 -85
  56. data/lib/expressir/express.rb +0 -11
  57. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  58. data/lib/expressir/express/attribute.rb +0 -15
  59. data/lib/expressir/express/comment.rb +0 -7
  60. data/lib/expressir/express/defined_type.rb +0 -36
  61. data/lib/expressir/express/derived.rb +0 -65
  62. data/lib/expressir/express/derived_aggregate.rb +0 -43
  63. data/lib/expressir/express/entity.rb +0 -137
  64. data/lib/expressir/express/explicit.rb +0 -70
  65. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  66. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  67. data/lib/expressir/express/global_rule.rb +0 -44
  68. data/lib/expressir/express/interface_specification.rb +0 -51
  69. data/lib/expressir/express/interfaced_item.rb +0 -38
  70. data/lib/expressir/express/inverse.rb +0 -46
  71. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  72. data/lib/expressir/express/model_element.rb +0 -7
  73. data/lib/expressir/express/named_type.rb +0 -19
  74. data/lib/expressir/express/remark.rb +0 -8
  75. data/lib/expressir/express/repository.rb +0 -306
  76. data/lib/expressir/express/schema_definition.rb +0 -96
  77. data/lib/expressir/express/subtype_constraint.rb +0 -14
  78. data/lib/expressir/express/type.rb +0 -26
  79. data/lib/expressir/express/type_aggregate.rb +0 -42
  80. data/lib/expressir/express/type_enum.rb +0 -29
  81. data/lib/expressir/express/type_parser.rb +0 -45
  82. data/lib/expressir/express/type_select.rb +0 -82
  83. data/lib/expressir/express/unique_rule.rb +0 -35
  84. data/lib/expressir/express/where_rule.rb +0 -32
  85. data/lib/expressir/express_parser.rb +0 -30
  86. data/lib/expressir/parser.rb +0 -6
  87. data/lib/expressir/parser/owl_parser.rb +0 -8
  88. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  89. data/spec/expressir/express/repository_spec.rb +0 -25
  90. data/spec/expressir/express_exp/formatter_spec.rb +0 -127
@@ -747,19 +747,19 @@ PROCEDURE types;
747
747
  END_TYPE;
748
748
  TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
749
749
  END_TYPE;
750
- TYPE select_list_type = SELECT
750
+ TYPE select_item_type = SELECT
751
751
  (empty_type);
752
752
  END_TYPE;
753
- TYPE select_list_multiple_type = SELECT
753
+ TYPE select_multiple_item_type = SELECT
754
754
  (empty_type,
755
755
  empty_type);
756
756
  END_TYPE;
757
- TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
757
+ TYPE select_based_on_type = SELECT BASED_ON select_type;
758
758
  END_TYPE;
759
- TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH
759
+ TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
760
760
  (empty_type);
761
761
  END_TYPE;
762
- TYPE select_extension_type_ref_list_multiple_type = SELECT BASED_ON select_type WITH
762
+ TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
763
763
  (empty_type,
764
764
  empty_type);
765
765
  END_TYPE;
@@ -767,19 +767,19 @@ PROCEDURE types;
767
767
  END_TYPE;
768
768
  TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
769
769
  END_TYPE;
770
- TYPE enumeration_list_type = ENUMERATION OF
770
+ TYPE enumeration_item_type = ENUMERATION OF
771
771
  (test);
772
772
  END_TYPE;
773
- TYPE enumeration_list_multiple_type = ENUMERATION OF
773
+ TYPE enumeration_multiple_item_type = ENUMERATION OF
774
774
  (test,
775
775
  test2);
776
776
  END_TYPE;
777
- TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
777
+ TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
778
778
  END_TYPE;
779
- TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH
779
+ TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
780
780
  (test);
781
781
  END_TYPE;
782
- TYPE enumeration_extension_type_ref_list_multiple_type = ENUMERATION BASED_ON enumeration_type WITH
782
+ TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
783
783
  (test,
784
784
  test2);
785
785
  END_TYPE;
@@ -747,19 +747,19 @@ PROCEDURE types;
747
747
  END_TYPE;
748
748
  TYPE select_extensible_generic_entity_type = EXTENSIBLE GENERIC_ENTITY SELECT;
749
749
  END_TYPE;
750
- TYPE select_list_type = SELECT
750
+ TYPE select_item_type = SELECT
751
751
  ({{{<<express:syntax_schema.empty_type,empty_type>>}}});
752
752
  END_TYPE;
753
- TYPE select_list_multiple_type = SELECT
753
+ TYPE select_multiple_item_type = SELECT
754
754
  ({{{<<express:syntax_schema.empty_type,empty_type>>}}},
755
755
  {{{<<express:syntax_schema.empty_type,empty_type>>}}});
756
756
  END_TYPE;
757
- TYPE select_extension_type_ref_type = SELECT BASED_ON select_type;
757
+ TYPE select_based_on_type = SELECT BASED_ON select_type;
758
758
  END_TYPE;
759
- TYPE select_extension_type_ref_list_type = SELECT BASED_ON select_type WITH
759
+ TYPE select_based_on_item_type = SELECT BASED_ON select_type WITH
760
760
  ({{{<<express:syntax_schema.empty_type,empty_type>>}}});
761
761
  END_TYPE;
762
- TYPE select_extension_type_ref_list_multiple_type = SELECT BASED_ON select_type WITH
762
+ TYPE select_based_on_multiple_item_type = SELECT BASED_ON select_type WITH
763
763
  ({{{<<express:syntax_schema.empty_type,empty_type>>}}},
764
764
  {{{<<express:syntax_schema.empty_type,empty_type>>}}});
765
765
  END_TYPE;
@@ -767,19 +767,19 @@ PROCEDURE types;
767
767
  END_TYPE;
768
768
  TYPE enumeration_extensible_type = EXTENSIBLE ENUMERATION;
769
769
  END_TYPE;
770
- TYPE enumeration_list_type = ENUMERATION OF
770
+ TYPE enumeration_item_type = ENUMERATION OF
771
771
  (test);
772
772
  END_TYPE;
773
- TYPE enumeration_list_multiple_type = ENUMERATION OF
773
+ TYPE enumeration_multiple_item_type = ENUMERATION OF
774
774
  (test,
775
775
  test2);
776
776
  END_TYPE;
777
- TYPE enumeration_extension_type_ref_type = ENUMERATION BASED_ON enumeration_type;
777
+ TYPE enumeration_based_on_type = ENUMERATION BASED_ON enumeration_type;
778
778
  END_TYPE;
779
- TYPE enumeration_extension_type_ref_list_type = ENUMERATION BASED_ON enumeration_type WITH
779
+ TYPE enumeration_based_on_item_type = ENUMERATION BASED_ON enumeration_type WITH
780
780
  (test);
781
781
  END_TYPE;
782
- TYPE enumeration_extension_type_ref_list_multiple_type = ENUMERATION BASED_ON enumeration_type WITH
782
+ TYPE enumeration_based_on_multiple_item_type = ENUMERATION BASED_ON enumeration_type WITH
783
783
  (test,
784
784
  test2);
785
785
  END_TYPE;
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: expressir
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.27
4
+ version: 1.0.0
5
5
  platform: x86-mingw32
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-30 00:00:00.000000000 Z
11
+ date: 2021-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: nokogiri
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.10'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.10'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: thor
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -182,49 +168,19 @@ files:
182
168
  - lib/expressir/cli.rb
183
169
  - lib/expressir/cli/ui.rb
184
170
  - lib/expressir/config.rb
185
- - lib/expressir/express.rb
186
- - lib/expressir/express/aggregate_dimension.rb
187
- - lib/expressir/express/attribute.rb
188
- - lib/expressir/express/comment.rb
189
- - lib/expressir/express/defined_type.rb
190
- - lib/expressir/express/derived.rb
191
- - lib/expressir/express/derived_aggregate.rb
192
- - lib/expressir/express/entity.rb
193
- - lib/expressir/express/explicit.rb
194
- - lib/expressir/express/explicit_aggregate.rb
195
- - lib/expressir/express/explicit_or_derived.rb
196
- - lib/expressir/express/global_rule.rb
197
- - lib/expressir/express/interface_specification.rb
198
- - lib/expressir/express/interfaced_item.rb
199
- - lib/expressir/express/inverse.rb
200
- - lib/expressir/express/inverse_aggregate.rb
201
- - lib/expressir/express/model_element.rb
202
- - lib/expressir/express/named_type.rb
203
- - lib/expressir/express/remark.rb
204
- - lib/expressir/express/repository.rb
205
- - lib/expressir/express/schema_definition.rb
206
- - lib/expressir/express/subtype_constraint.rb
207
- - lib/expressir/express/type.rb
208
- - lib/expressir/express/type_aggregate.rb
209
- - lib/expressir/express/type_enum.rb
210
- - lib/expressir/express/type_parser.rb
211
- - lib/expressir/express/type_select.rb
212
- - lib/expressir/express/unique_rule.rb
213
- - lib/expressir/express/where_rule.rb
214
- - lib/expressir/express_exp/2.4/express_parser.so
215
- - lib/expressir/express_exp/2.5/express_parser.so
216
- - lib/expressir/express_exp/2.6/express_parser.so
217
- - lib/expressir/express_exp/2.7/express_parser.so
218
- - lib/expressir/express_exp/3.0/express_parser.so
219
- - lib/expressir/express_exp/cache.rb
220
- - lib/expressir/express_exp/formatter.rb
221
- - lib/expressir/express_exp/hyperlink_formatter.rb
222
- - lib/expressir/express_exp/model_visitor.rb
223
- - lib/expressir/express_exp/parser.rb
224
- - lib/expressir/express_exp/resolve_references_model_visitor.rb
225
- - lib/expressir/express_exp/schema_head_formatter.rb
226
- - lib/expressir/express_exp/visitor.rb
227
- - lib/expressir/express_parser.rb
171
+ - lib/expressir/express/2.4/express_parser.so
172
+ - lib/expressir/express/2.5/express_parser.so
173
+ - lib/expressir/express/2.6/express_parser.so
174
+ - lib/expressir/express/2.7/express_parser.so
175
+ - lib/expressir/express/3.0/express_parser.so
176
+ - lib/expressir/express/cache.rb
177
+ - lib/expressir/express/formatter.rb
178
+ - lib/expressir/express/hyperlink_formatter.rb
179
+ - lib/expressir/express/model_visitor.rb
180
+ - lib/expressir/express/parser.rb
181
+ - lib/expressir/express/resolve_references_model_visitor.rb
182
+ - lib/expressir/express/schema_head_formatter.rb
183
+ - lib/expressir/express/visitor.rb
228
184
  - lib/expressir/model.rb
229
185
  - lib/expressir/model/attribute.rb
230
186
  - lib/expressir/model/cache.rb
@@ -292,11 +248,9 @@ files:
292
248
  - lib/expressir/model/types/select.rb
293
249
  - lib/expressir/model/types/set.rb
294
250
  - lib/expressir/model/types/string.rb
295
- - lib/expressir/model/unique.rb
251
+ - lib/expressir/model/unique_rule.rb
296
252
  - lib/expressir/model/variable.rb
297
- - lib/expressir/model/where.rb
298
- - lib/expressir/parser.rb
299
- - lib/expressir/parser/owl_parser.rb
253
+ - lib/expressir/model/where_rule.rb
300
254
  - lib/expressir/version.rb
301
255
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp
302
256
  - original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl
@@ -327,23 +281,6 @@ files:
327
281
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl
328
282
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi
329
283
  - original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml
330
- - original/examples/syntax/multiple.exp
331
- - original/examples/syntax/multiple.yaml
332
- - original/examples/syntax/multiple_formatted.exp
333
- - original/examples/syntax/multiple_hyperlink_formatted.exp
334
- - original/examples/syntax/multiple_schema_head_hyperlink_formatted.exp
335
- - original/examples/syntax/remark.exp
336
- - original/examples/syntax/remark.yaml
337
- - original/examples/syntax/remark_formatted.exp
338
- - original/examples/syntax/single.exp
339
- - original/examples/syntax/single.yaml
340
- - original/examples/syntax/single_formatted.exp
341
- - original/examples/syntax/single_formatted.yaml
342
- - original/examples/syntax/syntax.exp
343
- - original/examples/syntax/syntax.yaml
344
- - original/examples/syntax/syntax_formatted.exp
345
- - original/examples/syntax/syntax_hyperlink_formatted.exp
346
- - original/examples/syntax/syntax_schema_head_formatted.exp
347
284
  - original/exp2ruby.rb
348
285
  - original/expsm.rb
349
286
  - original/mapping_owl.rb
@@ -352,16 +289,31 @@ files:
352
289
  - original/mapping_uml2_eclipse.rb
353
290
  - original/reeper.rb
354
291
  - rakelib/cross-ruby.rake
355
- - spec/acceptance/express_to_owl_spec.rb
356
292
  - spec/acceptance/version_spec.rb
357
- - spec/expressir/express/repository_spec.rb
358
- - spec/expressir/express_exp/cache_spec.rb
359
- - spec/expressir/express_exp/formatter_spec.rb
360
- - spec/expressir/express_exp/parser_spec.rb
293
+ - spec/expressir/express/cache_spec.rb
294
+ - spec/expressir/express/formatter_spec.rb
295
+ - spec/expressir/express/parser_spec.rb
361
296
  - spec/expressir/model/model_element_spec.rb
362
297
  - spec/expressr_spec.rb
363
298
  - spec/spec_helper.rb
364
299
  - spec/support/console_helper.rb
300
+ - spec/syntax/multiple.exp
301
+ - spec/syntax/multiple.yaml
302
+ - spec/syntax/multiple_formatted.exp
303
+ - spec/syntax/multiple_hyperlink_formatted.exp
304
+ - spec/syntax/multiple_schema_head_hyperlink_formatted.exp
305
+ - spec/syntax/remark.exp
306
+ - spec/syntax/remark.yaml
307
+ - spec/syntax/remark_formatted.exp
308
+ - spec/syntax/single.exp
309
+ - spec/syntax/single.yaml
310
+ - spec/syntax/single_formatted.exp
311
+ - spec/syntax/single_formatted.yaml
312
+ - spec/syntax/syntax.exp
313
+ - spec/syntax/syntax.yaml
314
+ - spec/syntax/syntax_formatted.exp
315
+ - spec/syntax/syntax_hyperlink_formatted.exp
316
+ - spec/syntax/syntax_schema_head_formatted.exp
365
317
  homepage: https://github.com/lutaml/expressir
366
318
  licenses:
367
319
  - MIT
@@ -1,11 +0,0 @@
1
- require "nokogiri"
2
- require "expressir/express/repository"
3
- require "expressir/express/schema_definition"
4
-
5
- module Expressir
6
- module Express
7
- def self.from_xml(file)
8
- Expressir::Express::Repository.from_xml(file)
9
- end
10
- end
11
- end
@@ -1,38 +0,0 @@
1
- module Expressir
2
- module Express
3
- class AggregateDimension
4
- attr_accessor :aggrtype, :lower, :upper, :isUnique, :isOptionalArray
5
-
6
- def initialize(options = {})
7
- @aggrtype = "SET"
8
- @lower = "0"
9
- @upper = "?"
10
- @isUnique = false
11
- @isOptionalArray = false
12
-
13
- @options = options
14
- end
15
-
16
- def parse
17
- document = @options.fetch(:document, nil)
18
- extract_attributes(document) if document
19
-
20
- self
21
- end
22
-
23
- def self.parse(document)
24
- new(document: document).parse
25
- end
26
-
27
- private
28
-
29
- def extract_attributes(document)
30
- @aggrtype = document.attributes["type"]
31
- @lower = document.attributes["lower"]
32
- @upper = document.attributes["upper"]
33
- @isUnique = document.attributes["unique"] == "YES"
34
- @isOptionalArray = document.attributes["optional"] == "YES"
35
- end
36
- end
37
- end
38
- end
@@ -1,15 +0,0 @@
1
- require "expressir/express/model_element"
2
-
3
- module Expressir
4
- module Express
5
- class Attribute < ModelElement
6
- attr_accessor :name, :entity, :domain, :redeclare_entity,
7
- :redeclare_oldname
8
-
9
- def initialize
10
- @redeclare_entity = nil
11
- @redeclare_oldname = nil
12
- end
13
- end
14
- end
15
- end
@@ -1,7 +0,0 @@
1
- module Expressir
2
- module Express
3
- class Comment
4
- attr_accessor :comment, :ModelElement
5
- end
6
- end
7
- end
@@ -1,36 +0,0 @@
1
- require "expressir/express/named_type"
2
-
3
- module Expressir
4
- module Express
5
- class DefinedType < NamedType
6
- def initialize(options = {})
7
- @options = options
8
- @schema = options.fetch(:schema)
9
- end
10
-
11
- def parse
12
- document = @options.fetch(:document)
13
- extract_type_attributes(document)
14
-
15
- self
16
- end
17
-
18
- def self.parse(document, schema)
19
- new(document: document, schema: schema).parse
20
- end
21
-
22
- private
23
-
24
- def extract_type_attributes(document)
25
- @name = document.attributes["name"].to_s
26
- @wheres = extract_where_rules(document)
27
- end
28
-
29
- def extract_where_rules(document)
30
- document.xpath("where").map do |where|
31
- Express::WhereRule.parse(where)
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,65 +0,0 @@
1
- module Expressir
2
- module Express
3
- class Derived < ExplicitOrDerived
4
- attr_accessor :expression
5
-
6
- def initialize(options = {})
7
- @options = options
8
- @entity = options.fetch(:entity, nil)
9
- end
10
-
11
- def parse
12
- document = @options.fetch(:document, nil)
13
- extract_common_attributes(document)
14
- extract_type_specific_attributes(document)
15
-
16
- self
17
- end
18
-
19
- def self.parse(document, entity)
20
- new(document: document, entity: entity).parse
21
- end
22
-
23
- private
24
-
25
- def extract_type_specific_attributes(document); end
26
-
27
- def extract_common_attributes(document)
28
- @name = document.attributes["name"].to_s
29
- @expression = document.attributes["expression"].to_s
30
- @domain = extract_domain_name(document.xpath("typename"))
31
-
32
- extract_builtintype_attributes(document)
33
- extract_redeclaration_attributes(document)
34
- end
35
-
36
- def extract_domain_name(typename)
37
- unless typename.empty?
38
- typename.first.attributes["name"].to_s
39
- end
40
- end
41
-
42
- def extract_redeclaration_attributes(document)
43
- redeclaration = document.xpath("redeclaration").first
44
-
45
- if redeclaration
46
- @redeclare_entity = redeclaration.attributes["entity-ref"].to_s
47
- old_name = redeclaration.attributes["old_name"]
48
- @redeclare_oldname = old_name.to_s if old_name
49
- end
50
- end
51
-
52
- def extract_builtintype_attributes(document)
53
- builtin_type = document.xpath("builtintype").first
54
-
55
- if builtin_type
56
- @isBuiltin = true
57
- @domain = builtin_type.attributes["type"].to_s
58
- @width = builtin_type.attributes["width"].to_s
59
- @fixed = builtin_type.attributes["fixed"] == "YES"
60
- @precision = builtin_type.attributes["precision"].to_s
61
- end
62
- end
63
- end
64
- end
65
- end