stepmod-utils 0.4.14 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +4 -3
  3. data/exe/stepmod-annotate-all +5 -4
  4. data/exe/stepmod-convert-express-description +4 -6
  5. data/exe/stepmod-convert-express-resource +4 -6
  6. data/exe/stepmod-extract-concepts +5 -4
  7. data/exe/stepmod-srl-migrate +21 -22
  8. data/exe/stepmod-validate-express +13 -15
  9. data/lib/stepmod/utils/change.rb +33 -5
  10. data/lib/stepmod/utils/change_collection.rb +1 -1
  11. data/lib/stepmod/utils/changes_extractor.rb +23 -3
  12. data/lib/stepmod/utils/concept.rb +12 -10
  13. data/lib/stepmod/utils/converters/blockquote.rb +0 -2
  14. data/lib/stepmod/utils/converters/def.rb +4 -4
  15. data/lib/stepmod/utils/converters/dt.rb +1 -1
  16. data/lib/stepmod/utils/converters/em_express_description.rb +8 -7
  17. data/lib/stepmod/utils/converters/eqn.rb +8 -6
  18. data/lib/stepmod/utils/converters/express_figure.rb +1 -1
  19. data/lib/stepmod/utils/converters/express_g.rb +1 -1
  20. data/lib/stepmod/utils/converters/express_table.rb +1 -1
  21. data/lib/stepmod/utils/converters/ext_description.rb +2 -1
  22. data/lib/stepmod/utils/converters/figure.rb +5 -5
  23. data/lib/stepmod/utils/converters/module_ref.rb +3 -5
  24. data/lib/stepmod/utils/converters/module_ref_express_description.rb +3 -7
  25. data/lib/stepmod/utils/converters/ol.rb +7 -7
  26. data/lib/stepmod/utils/converters/stepmod_ext_description.rb +3 -3
  27. data/lib/stepmod/utils/converters/strong.rb +12 -11
  28. data/lib/stepmod/utils/converters/term.rb +0 -1
  29. data/lib/stepmod/utils/express_bibdata.rb +6 -2
  30. data/lib/stepmod/utils/html_to_asciimath.rb +80 -80
  31. data/lib/stepmod/utils/parsers/mapping_table_parser.rb +31 -0
  32. data/lib/stepmod/utils/parsers/models/a.rb +40 -0
  33. data/lib/stepmod/utils/parsers/models/aa.rb +53 -0
  34. data/lib/stepmod/utils/parsers/models/ae.rb +54 -0
  35. data/lib/stepmod/utils/parsers/models/aimelt.rb +21 -0
  36. data/lib/stepmod/utils/parsers/models/alt.rb +19 -0
  37. data/lib/stepmod/utils/parsers/models/alt_map.rb +46 -0
  38. data/lib/stepmod/utils/parsers/models/alt_scmap.rb +34 -0
  39. data/lib/stepmod/utils/parsers/models/b.rb +58 -0
  40. data/lib/stepmod/utils/parsers/models/bigeqn.rb +55 -0
  41. data/lib/stepmod/utils/parsers/models/bold.rb +52 -0
  42. data/lib/stepmod/utils/parsers/models/bom_ref.rb +21 -0
  43. data/lib/stepmod/utils/parsers/models/constraint.rb +19 -0
  44. data/lib/stepmod/utils/parsers/models/dd.rb +86 -0
  45. data/lib/stepmod/utils/parsers/models/description.rb +86 -0
  46. data/lib/stepmod/utils/parsers/models/dl.rb +24 -0
  47. data/lib/stepmod/utils/parsers/models/dt.rb +86 -0
  48. data/lib/stepmod/utils/parsers/models/eqn.rb +57 -0
  49. data/lib/stepmod/utils/parsers/models/example.rb +84 -0
  50. data/lib/stepmod/utils/parsers/models/express_extref.rb +21 -0
  51. data/lib/stepmod/utils/parsers/models/express_ref.rb +21 -0
  52. data/lib/stepmod/utils/parsers/models/figure.rb +30 -0
  53. data/lib/stepmod/utils/parsers/models/i.rb +52 -0
  54. data/lib/stepmod/utils/parsers/models/img.rb +25 -0
  55. data/lib/stepmod/utils/parsers/models/imgarea.rb +23 -0
  56. data/lib/stepmod/utils/parsers/models/li.rb +86 -0
  57. data/lib/stepmod/utils/parsers/models/mapping_table.rb +26 -0
  58. data/lib/stepmod/utils/parsers/models/module_ref.rb +21 -0
  59. data/lib/stepmod/utils/parsers/models/note.rb +84 -0
  60. data/lib/stepmod/utils/parsers/models/ol.rb +25 -0
  61. data/lib/stepmod/utils/parsers/models/p.rb +56 -0
  62. data/lib/stepmod/utils/parsers/models/refpath.rb +23 -0
  63. data/lib/stepmod/utils/parsers/models/refpath_extend.rb +23 -0
  64. data/lib/stepmod/utils/parsers/models/rules.rb +19 -0
  65. data/lib/stepmod/utils/parsers/models/sc.rb +36 -0
  66. data/lib/stepmod/utils/parsers/models/screen.rb +55 -0
  67. data/lib/stepmod/utils/parsers/models/source.rb +21 -0
  68. data/lib/stepmod/utils/parsers/models/sub.rb +52 -0
  69. data/lib/stepmod/utils/parsers/models/sup.rb +52 -0
  70. data/lib/stepmod/utils/parsers/models/table.rb +29 -0
  71. data/lib/stepmod/utils/parsers/models/td.rb +98 -0
  72. data/lib/stepmod/utils/parsers/models/th.rb +98 -0
  73. data/lib/stepmod/utils/parsers/models/title.rb +53 -0
  74. data/lib/stepmod/utils/parsers/models/tr.rb +26 -0
  75. data/lib/stepmod/utils/parsers/models/tt.rb +68 -0
  76. data/lib/stepmod/utils/parsers/models/ul.rb +21 -0
  77. data/lib/stepmod/utils/parsers/models.rb +0 -0
  78. data/lib/stepmod/utils/parsers/types/string_without_indent.rb +17 -0
  79. data/lib/stepmod/utils/parsers.rb +4 -0
  80. data/lib/stepmod/utils/smrl_description_converter.rb +2 -1
  81. data/lib/stepmod/utils/smrl_resource_converter.rb +2 -1
  82. data/lib/stepmod/utils/stepmod_file_annotator.rb +14 -7
  83. data/lib/stepmod/utils/term.rb +1 -1
  84. data/lib/stepmod/utils/terms_extractor.rb +33 -31
  85. data/lib/stepmod/utils/version.rb +1 -1
  86. data/stepmod-utils.gemspec +4 -3
  87. metadata +76 -13
@@ -0,0 +1,21 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class ExpressExtref < Shale::Mapper
8
+ attribute :linkend, Shale::Type::String
9
+ attribute :standard, Shale::Type::String
10
+
11
+ xml do
12
+ root "express_extref"
13
+
14
+ map_attribute "linkend", to: :linkend
15
+ map_attribute "standard", to: :standard
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class ExpressRef < Shale::Mapper
8
+ attribute :content, Shale::Type::String
9
+ attribute :linkend, Shale::Type::String
10
+
11
+ xml do
12
+ root "express_ref"
13
+
14
+ map_content to: :content
15
+ map_attribute "linkend", to: :linkend
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,30 @@
1
+ require "shale"
2
+
3
+ require_relative "img"
4
+ require_relative "title"
5
+
6
+ module Stepmod
7
+ module Utils
8
+ module Parsers
9
+ module Models
10
+ class Figure < Shale::Mapper
11
+ attribute :id, Shale::Type::Value
12
+ attribute :number, Shale::Type::String
13
+ attribute :letter, Shale::Type::String
14
+ attribute :title, Title
15
+ attribute :img, Img
16
+
17
+ xml do
18
+ root "figure"
19
+
20
+ map_attribute "id", to: :id
21
+ map_attribute "number", to: :number
22
+ map_attribute "letter", to: :letter
23
+ map_element "title", to: :title
24
+ map_element "img", to: :img
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,52 @@
1
+ require "shale"
2
+
3
+ require_relative "a"
4
+ require_relative "b"
5
+ require_relative "bold"
6
+ require_relative "bom_ref"
7
+ require_relative "express_extref"
8
+ require_relative "express_ref"
9
+ require_relative "module_ref"
10
+ require_relative "sub"
11
+ require_relative "sup"
12
+ require_relative "tt"
13
+
14
+ module Stepmod
15
+ module Utils
16
+ module Parsers
17
+ module Models
18
+ class Italic < Shale::Mapper
19
+ attribute :content, Shale::Type::String
20
+ attribute :express_ref, ExpressRef, collection: true
21
+ attribute :express_extref, ExpressExtref, collection: true
22
+ attribute :module_ref, ModuleRef, collection: true
23
+ attribute :bom_ref, BomRef, collection: true
24
+ attribute :i, Italic, collection: true
25
+ attribute :b, B, collection: true
26
+ attribute :sub, Sub, collection: true
27
+ attribute :sup, Sup, collection: true
28
+ attribute :tt, Tt, collection: true
29
+ attribute :bold, Bold, collection: true
30
+ attribute :a, A, collection: true
31
+
32
+ xml do
33
+ root "i"
34
+
35
+ map_content to: :content
36
+ map_element "express_ref", to: :express_ref
37
+ map_element "express_extref", to: :express_extref
38
+ map_element "module_ref", to: :module_ref
39
+ map_element "bom_ref", to: :bom_ref
40
+ map_element "i", to: :i
41
+ map_element "b", to: :b
42
+ map_element "sub", to: :sub
43
+ map_element "sup", to: :sup
44
+ map_element "tt", to: :tt
45
+ map_element "bold", to: :bold
46
+ map_element "a", to: :a
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,25 @@
1
+ require "shale"
2
+
3
+ require_relative "imgarea"
4
+
5
+ module Stepmod
6
+ module Utils
7
+ module Parsers
8
+ module Models
9
+ class Img < Shale::Mapper
10
+ attribute :src, Shale::Type::String
11
+ attribute :alt, Shale::Type::String
12
+ attribute :img_area, Imgarea, collection: true
13
+
14
+ xml do
15
+ root "img"
16
+
17
+ map_attribute "src", to: :src
18
+ map_attribute "alt", to: :alt
19
+ map_element "img.area", to: :img_area
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class Imgarea < Shale::Mapper
8
+ attribute :shape, Shale::Type::String
9
+ attribute :coords, Shale::Type::String
10
+ attribute :href, Shale::Type::String
11
+
12
+ xml do
13
+ root "img.area"
14
+
15
+ map_attribute "shape", to: :shape
16
+ map_attribute "coords", to: :coords
17
+ map_attribute "href", to: :href
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,86 @@
1
+ require "shale"
2
+
3
+ require_relative "a"
4
+ require_relative "b"
5
+ require_relative "bigeqn"
6
+ require_relative "bold"
7
+ require_relative "bom_ref"
8
+ require_relative "dl"
9
+ require_relative "eqn"
10
+ require_relative "example"
11
+ require_relative "express_extref"
12
+ require_relative "express_ref"
13
+ require_relative "figure"
14
+ require_relative "i"
15
+ require_relative "module_ref"
16
+ require_relative "note"
17
+ require_relative "ol"
18
+ require_relative "p"
19
+ require_relative "screen"
20
+ require_relative "sub"
21
+ require_relative "sup"
22
+ require_relative "table"
23
+ require_relative "tt"
24
+ require_relative "ul"
25
+
26
+ module Stepmod
27
+ module Utils
28
+ module Parsers
29
+ module Models
30
+ class Li < Shale::Mapper
31
+ attribute :content, Shale::Type::String
32
+ attribute :express_ref, ExpressRef, collection: true
33
+ attribute :express_extref, ExpressExtref, collection: true
34
+ attribute :module_ref, ModuleRef, collection: true
35
+ attribute :bom_ref, BomRef, collection: true
36
+ attribute :i, Italic, collection: true
37
+ attribute :b, B, collection: true
38
+ attribute :sub, Sub, collection: true
39
+ attribute :sup, Sup, collection: true
40
+ attribute :tt, Tt, collection: true
41
+ attribute :bold, Bold, collection: true
42
+ attribute :a, A, collection: true
43
+ attribute :p, P, collection: true
44
+ attribute :ul, Ul, collection: true
45
+ attribute :ol, Ol, collection: true
46
+ attribute :dl, Dl, collection: true
47
+ attribute :screen, Screen, collection: true
48
+ attribute :note, Note, collection: true
49
+ attribute :example, Example, collection: true
50
+ attribute :eqn, Eqn, collection: true
51
+ attribute :bigeqn, Bigeqn, collection: true
52
+ attribute :figure, Figure, collection: true
53
+ attribute :table, Table, collection: true
54
+
55
+ xml do
56
+ root "li"
57
+
58
+ map_content to: :content
59
+ map_element "express_ref", to: :express_ref
60
+ map_element "express_extref", to: :express_extref
61
+ map_element "module_ref", to: :module_ref
62
+ map_element "bom_ref", to: :bom_ref
63
+ map_element "i", to: :i
64
+ map_element "b", to: :b
65
+ map_element "sub", to: :sub
66
+ map_element "sup", to: :sup
67
+ map_element "tt", to: :tt
68
+ map_element "bold", to: :bold
69
+ map_element "a", to: :a
70
+ map_element "p", to: :p
71
+ map_element "ul", to: :ul
72
+ map_element "ol", to: :ol
73
+ map_element "dl", to: :dl
74
+ map_element "screen", to: :screen
75
+ map_element "note", to: :note
76
+ map_element "example", to: :example
77
+ map_element "eqn", to: :eqn
78
+ map_element "bigeqn", to: :bigeqn
79
+ map_element "figure", to: :figure
80
+ map_element "table", to: :table
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,26 @@
1
+ require "shale"
2
+
3
+ require_relative "../types/string_without_indent"
4
+
5
+ require_relative "ae"
6
+ require_relative "sc"
7
+
8
+ module Stepmod
9
+ module Utils
10
+ module Parsers
11
+ module Models
12
+ class MappingTable < Shale::Mapper
13
+ attribute :ae, Ae, collection: true
14
+ attribute :sc, Sc, collection: true
15
+
16
+ xml do
17
+ root "mapping_table"
18
+
19
+ map_element "ae", to: :ae
20
+ map_element "sc", to: :sc
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class ModuleRef < Shale::Mapper
8
+ attribute :content, Shale::Type::String
9
+ attribute :linkend, Shale::Type::String
10
+
11
+ xml do
12
+ root "module_ref"
13
+
14
+ map_content to: :content
15
+ map_attribute "linkend", to: :linkend
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,84 @@
1
+ require "shale"
2
+
3
+ require_relative "a"
4
+ require_relative "b"
5
+ require_relative "bigeqn"
6
+ require_relative "bold"
7
+ require_relative "bom_ref"
8
+ require_relative "dl"
9
+ require_relative "eqn"
10
+ require_relative "express_extref"
11
+ require_relative "express_ref"
12
+ require_relative "figure"
13
+ require_relative "i"
14
+ require_relative "module_ref"
15
+ require_relative "ol"
16
+ require_relative "p"
17
+ require_relative "screen"
18
+ require_relative "sub"
19
+ require_relative "sup"
20
+ require_relative "table"
21
+ require_relative "tt"
22
+ require_relative "ul"
23
+
24
+ module Stepmod
25
+ module Utils
26
+ module Parsers
27
+ module Models
28
+ class Note < Shale::Mapper
29
+ attribute :content, Shale::Type::String
30
+ attribute :id, Shale::Type::Value
31
+ attribute :number, Shale::Type::String
32
+ attribute :express_ref, ExpressRef, collection: true
33
+ attribute :express_extref, ExpressExtref, collection: true
34
+ attribute :module_ref, ModuleRef, collection: true
35
+ attribute :bom_ref, BomRef, collection: true
36
+ attribute :i, Italic, collection: true
37
+ attribute :b, B, collection: true
38
+ attribute :sub, Sub, collection: true
39
+ attribute :sup, Sup, collection: true
40
+ attribute :tt, Tt, collection: true
41
+ attribute :bold, Bold, collection: true
42
+ attribute :a, A, collection: true
43
+ attribute :p, P, collection: true
44
+ attribute :ul, Ul, collection: true
45
+ attribute :ol, Ol, collection: true
46
+ attribute :dl, Dl, collection: true
47
+ attribute :screen, Screen, collection: true
48
+ attribute :figure, Figure, collection: true
49
+ attribute :table, Table, collection: true
50
+ attribute :eqn, Eqn, collection: true
51
+ attribute :bigeqn, Bigeqn, collection: true
52
+
53
+ xml do
54
+ root "note"
55
+
56
+ map_content to: :content
57
+ map_attribute "id", to: :id
58
+ map_attribute "number", to: :number
59
+ map_element "express_ref", to: :express_ref
60
+ map_element "express_extref", to: :express_extref
61
+ map_element "module_ref", to: :module_ref
62
+ map_element "bom_ref", to: :bom_ref
63
+ map_element "i", to: :i
64
+ map_element "b", to: :b
65
+ map_element "sub", to: :sub
66
+ map_element "sup", to: :sup
67
+ map_element "tt", to: :tt
68
+ map_element "bold", to: :bold
69
+ map_element "a", to: :a
70
+ map_element "p", to: :p
71
+ map_element "ul", to: :ul
72
+ map_element "ol", to: :ol
73
+ map_element "dl", to: :dl
74
+ map_element "screen", to: :screen
75
+ map_element "figure", to: :figure
76
+ map_element "table", to: :table
77
+ map_element "eqn", to: :eqn
78
+ map_element "bigeqn", to: :bigeqn
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,25 @@
1
+ require "shale"
2
+
3
+ require_relative "li"
4
+
5
+ module Stepmod
6
+ module Utils
7
+ module Parsers
8
+ module Models
9
+ class Ol < Shale::Mapper
10
+ attribute :type, Shale::Type::String
11
+ attribute :start, Shale::Type::String
12
+ attribute :li, Li, collection: true
13
+
14
+ xml do
15
+ root "ol"
16
+
17
+ map_attribute "type", to: :type
18
+ map_attribute "start", to: :start
19
+ map_element "li", to: :li
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,56 @@
1
+ require "shale"
2
+
3
+ require_relative "a"
4
+ require_relative "b"
5
+ require_relative "bold"
6
+ require_relative "bom_ref"
7
+ require_relative "express_extref"
8
+ require_relative "express_ref"
9
+ require_relative "i"
10
+ require_relative "img"
11
+ require_relative "module_ref"
12
+ require_relative "sub"
13
+ require_relative "sup"
14
+ require_relative "tt"
15
+
16
+ module Stepmod
17
+ module Utils
18
+ module Parsers
19
+ module Models
20
+ class P < Shale::Mapper
21
+ attribute :content, Shale::Type::String
22
+ attribute :express_ref, ExpressRef, collection: true
23
+ attribute :express_extref, ExpressExtref, collection: true
24
+ attribute :module_ref, ModuleRef, collection: true
25
+ attribute :bom_ref, BomRef, collection: true
26
+ attribute :i, Italic, collection: true
27
+ attribute :b, B, collection: true
28
+ attribute :sub, Sub, collection: true
29
+ attribute :sup, Sup, collection: true
30
+ attribute :tt, Tt, collection: true
31
+ attribute :bold, Bold, collection: true
32
+ attribute :a, A, collection: true
33
+ attribute :img, Img, collection: true
34
+
35
+ xml do
36
+ root "p"
37
+
38
+ map_content to: :content
39
+ map_element "express_ref", to: :express_ref
40
+ map_element "express_extref", to: :express_extref
41
+ map_element "module_ref", to: :module_ref
42
+ map_element "bom_ref", to: :bom_ref
43
+ map_element "i", to: :i
44
+ map_element "b", to: :b
45
+ map_element "sub", to: :sub
46
+ map_element "sup", to: :sup
47
+ map_element "tt", to: :tt
48
+ map_element "bold", to: :bold
49
+ map_element "a", to: :a
50
+ map_element "img", to: :img
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,23 @@
1
+ require "shale"
2
+ require_relative "../types/string_without_indent"
3
+
4
+ module Stepmod
5
+ module Utils
6
+ module Parsers
7
+ module Models
8
+ class Refpath < Shale::Mapper
9
+ attribute :content,
10
+ Stepmod::Utils::Parsers::Types::StringWithoutIndent
11
+ attribute :space, Shale::Type::Value
12
+
13
+ xml do
14
+ root "refpath"
15
+
16
+ map_content to: :content
17
+ map_attribute "space", to: :space
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class RefpathExtend < Shale::Mapper
8
+ attribute :content, Shale::Type::String
9
+ attribute :extended_select, Shale::Type::Value
10
+ attribute :space, Shale::Type::Value
11
+
12
+ xml do
13
+ root "refpath_extend"
14
+
15
+ map_content to: :content
16
+ map_attribute "extended_select", to: :extended_select
17
+ map_attribute "space", to: :space
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class Rules < Shale::Mapper
8
+ attribute :content, Shale::Type::String
9
+
10
+ xml do
11
+ root "rules"
12
+
13
+ map_content to: :content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,36 @@
1
+ require "shale"
2
+
3
+ require_relative "alt_scmap"
4
+ require_relative "description"
5
+ require_relative "rules"
6
+ require_relative "source"
7
+
8
+ module Stepmod
9
+ module Utils
10
+ module Parsers
11
+ module Models
12
+ class Sc < Shale::Mapper
13
+ attribute :constraint, Shale::Type::Value
14
+ attribute :entity, Shale::Type::Value
15
+ attribute :original_module, Shale::Type::Value
16
+ attribute :description, Description
17
+ attribute :rules, Rules
18
+ attribute :source, Source
19
+ attribute :alt_scmap, AltScmap
20
+
21
+ xml do
22
+ root "sc"
23
+
24
+ map_attribute "constraint", to: :constraint
25
+ map_attribute "entity", to: :entity
26
+ map_attribute "original_module", to: :original_module
27
+ map_element "description", to: :description
28
+ map_element "rules", to: :rules
29
+ map_element "source", to: :source
30
+ map_element "alt_scmap", to: :alt_scmap
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,55 @@
1
+ require "shale"
2
+
3
+ require_relative "a"
4
+ require_relative "b"
5
+ require_relative "bold"
6
+ require_relative "bom_ref"
7
+ require_relative "express_extref"
8
+ require_relative "express_ref"
9
+ require_relative "i"
10
+ require_relative "module_ref"
11
+ require_relative "sub"
12
+ require_relative "sup"
13
+ require_relative "tt"
14
+
15
+ module Stepmod
16
+ module Utils
17
+ module Parsers
18
+ module Models
19
+ class Screen < Shale::Mapper
20
+ attribute :content, Shale::Type::String
21
+ attribute :xml_space, Shale::Type::String
22
+ attribute :express_ref, ExpressRef, collection: true
23
+ attribute :express_extref, ExpressExtref, collection: true
24
+ attribute :module_ref, ModuleRef, collection: true
25
+ attribute :bom_ref, BomRef, collection: true
26
+ attribute :i, Italic, collection: true
27
+ attribute :b, B, collection: true
28
+ attribute :sub, Sub, collection: true
29
+ attribute :sup, Sup, collection: true
30
+ attribute :tt, Tt, collection: true
31
+ attribute :bold, Bold, collection: true
32
+ attribute :a, A, collection: true
33
+
34
+ xml do
35
+ root "screen"
36
+
37
+ map_content to: :content
38
+ map_attribute "xml-space", to: :xml_space
39
+ map_element "express_ref", to: :express_ref
40
+ map_element "express_extref", to: :express_extref
41
+ map_element "module_ref", to: :module_ref
42
+ map_element "bom_ref", to: :bom_ref
43
+ map_element "i", to: :i
44
+ map_element "b", to: :b
45
+ map_element "sub", to: :sub
46
+ map_element "sup", to: :sup
47
+ map_element "tt", to: :tt
48
+ map_element "bold", to: :bold
49
+ map_element "a", to: :a
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,21 @@
1
+ require "shale"
2
+
3
+ module Stepmod
4
+ module Utils
5
+ module Parsers
6
+ module Models
7
+ class Source < Shale::Mapper
8
+ attribute :content, Shale::Type::String
9
+ attribute :space, Shale::Type::Value
10
+
11
+ xml do
12
+ root "source"
13
+
14
+ map_content to: :content
15
+ map_attribute "space", to: :space
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end