mml 2.2.0 → 2.3.0

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 (159) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +14 -4
  3. data/CLAUDE.md +79 -0
  4. data/README.adoc +226 -83
  5. data/lib/mml/base/deprecated_font_attributes.rb +31 -0
  6. data/lib/mml/base/maction.rb +28 -0
  7. data/lib/mml/base/maligngroup.rb +26 -0
  8. data/lib/mml/base/malignmark.rb +26 -0
  9. data/lib/mml/base/math.rb +23 -0
  10. data/lib/mml/base/menclose.rb +27 -0
  11. data/lib/mml/base/merror.rb +25 -0
  12. data/lib/mml/base/mfenced.rb +34 -0
  13. data/lib/mml/base/mfrac.rb +33 -0
  14. data/lib/mml/base/mfraction.rb +33 -0
  15. data/lib/mml/base/mglyph.rb +42 -0
  16. data/lib/mml/base/mi.rb +32 -0
  17. data/lib/mml/base/mlabeledtr.rb +37 -0
  18. data/lib/mml/base/mlongdiv.rb +31 -0
  19. data/lib/mml/base/mmultiscripts.rb +31 -0
  20. data/lib/mml/base/mn.rb +32 -0
  21. data/lib/mml/base/mo.rb +76 -0
  22. data/lib/mml/base/mover.rb +29 -0
  23. data/lib/mml/base/mpadded.rb +35 -0
  24. data/lib/mml/base/mphantom.rb +25 -0
  25. data/lib/mml/base/mprescripts.rb +24 -0
  26. data/lib/mml/base/mroot.rb +25 -0
  27. data/lib/mml/base/mrow.rb +29 -0
  28. data/lib/mml/base/ms.rb +37 -0
  29. data/lib/mml/base/mscarries.rb +33 -0
  30. data/lib/mml/base/mscarry.rb +29 -0
  31. data/lib/mml/base/msgroup.rb +31 -0
  32. data/lib/mml/base/msline.rb +34 -0
  33. data/lib/mml/base/mspace.rb +52 -0
  34. data/lib/mml/base/msqrt.rb +25 -0
  35. data/lib/mml/base/msrow.rb +27 -0
  36. data/lib/mml/base/mstack.rb +33 -0
  37. data/lib/mml/base/mstyle.rb +189 -0
  38. data/lib/mml/base/msub.rb +27 -0
  39. data/lib/mml/base/msubsup.rb +29 -0
  40. data/lib/mml/base/msup.rb +27 -0
  41. data/lib/mml/base/mtable.rb +57 -0
  42. data/lib/mml/base/mtd.rb +29 -0
  43. data/lib/mml/base/mtext.rb +32 -0
  44. data/lib/mml/base/mtr.rb +35 -0
  45. data/lib/mml/base/munder.rb +31 -0
  46. data/lib/mml/base/munderover.rb +31 -0
  47. data/lib/mml/base/none.rb +24 -0
  48. data/lib/mml/base/semantics.rb +23 -0
  49. data/lib/mml/base/v3_only/operator_attrs.rb +24 -0
  50. data/lib/mml/base/v3_only/style_attrs.rb +31 -0
  51. data/lib/mml/base/v3_only/table_attrs.rb +28 -0
  52. data/lib/mml/base/v3_only.rb +11 -0
  53. data/lib/mml/base/v4_attributes.rb +30 -0
  54. data/lib/mml/base.rb +51 -0
  55. data/lib/mml/common_elements.rb +85 -0
  56. data/lib/mml/context_configuration.rb +118 -0
  57. data/lib/mml/context_options.rb +64 -0
  58. data/lib/mml/namespace.rb +10 -0
  59. data/lib/mml/v3/common_elements.rb +8 -0
  60. data/lib/mml/v3/configuration.rb +4 -96
  61. data/lib/mml/v3/maction.rb +2 -14
  62. data/lib/mml/v3/maligngroup.rb +2 -12
  63. data/lib/mml/v3/malignmark.rb +2 -12
  64. data/lib/mml/v3/math.rb +3 -10
  65. data/lib/mml/v3/menclose.rb +3 -14
  66. data/lib/mml/v3/merror.rb +3 -12
  67. data/lib/mml/v3/mfenced.rb +3 -21
  68. data/lib/mml/v3/mfrac.rb +3 -20
  69. data/lib/mml/v3/mfraction.rb +3 -20
  70. data/lib/mml/v3/mglyph.rb +3 -38
  71. data/lib/mml/v3/mi.rb +3 -30
  72. data/lib/mml/v3/mlabeledtr.rb +2 -23
  73. data/lib/mml/v3/mlongdiv.rb +3 -18
  74. data/lib/mml/v3/mmultiscripts.rb +3 -20
  75. data/lib/mml/v3/mn.rb +3 -30
  76. data/lib/mml/v3/mo.rb +4 -78
  77. data/lib/mml/v3/mover.rb +3 -16
  78. data/lib/mml/v3/mpadded.rb +3 -22
  79. data/lib/mml/v3/mphantom.rb +3 -12
  80. data/lib/mml/v3/mprescripts.rb +2 -10
  81. data/lib/mml/v3/mroot.rb +3 -12
  82. data/lib/mml/v3/mrow.rb +3 -18
  83. data/lib/mml/v3/ms.rb +4 -36
  84. data/lib/mml/v3/mscarries.rb +3 -20
  85. data/lib/mml/v3/mscarry.rb +3 -16
  86. data/lib/mml/v3/msgroup.rb +3 -18
  87. data/lib/mml/v3/msline.rb +2 -20
  88. data/lib/mml/v3/mspace.rb +3 -50
  89. data/lib/mml/v3/msqrt.rb +3 -12
  90. data/lib/mml/v3/msrow.rb +3 -14
  91. data/lib/mml/v3/mstack.rb +3 -20
  92. data/lib/mml/v3/mstyle.rb +5 -204
  93. data/lib/mml/v3/msub.rb +3 -14
  94. data/lib/mml/v3/msubsup.rb +3 -16
  95. data/lib/mml/v3/msup.rb +3 -14
  96. data/lib/mml/v3/mtable.rb +3 -53
  97. data/lib/mml/v3/mtd.rb +3 -16
  98. data/lib/mml/v3/mtext.rb +3 -30
  99. data/lib/mml/v3/mtr.rb +2 -21
  100. data/lib/mml/v3/munder.rb +3 -18
  101. data/lib/mml/v3/munderover.rb +3 -18
  102. data/lib/mml/v3/namespace.rb +1 -4
  103. data/lib/mml/v3/none.rb +2 -10
  104. data/lib/mml/v3/semantics.rb +3 -12
  105. data/lib/mml/v3.rb +51 -77
  106. data/lib/mml/v4/a.rb +4 -13
  107. data/lib/mml/v4/common_elements.rb +13 -0
  108. data/lib/mml/v4/configuration.rb +4 -97
  109. data/lib/mml/v4/maction.rb +4 -19
  110. data/lib/mml/v4/maligngroup.rb +4 -17
  111. data/lib/mml/v4/malignmark.rb +4 -17
  112. data/lib/mml/v4/math.rb +4 -14
  113. data/lib/mml/v4/menclose.rb +4 -18
  114. data/lib/mml/v4/merror.rb +4 -16
  115. data/lib/mml/v4/mfenced.rb +4 -25
  116. data/lib/mml/v4/mfrac.rb +4 -24
  117. data/lib/mml/v4/mfraction.rb +4 -20
  118. data/lib/mml/v4/mglyph.rb +4 -35
  119. data/lib/mml/v4/mi.rb +4 -30
  120. data/lib/mml/v4/mlabeledtr.rb +6 -23
  121. data/lib/mml/v4/mlongdiv.rb +4 -18
  122. data/lib/mml/v4/mmultiscripts.rb +4 -24
  123. data/lib/mml/v4/mn.rb +4 -29
  124. data/lib/mml/v4/mo.rb +4 -75
  125. data/lib/mml/v4/mover.rb +4 -20
  126. data/lib/mml/v4/mpadded.rb +4 -26
  127. data/lib/mml/v4/mphantom.rb +4 -16
  128. data/lib/mml/v4/mprescripts.rb +4 -11
  129. data/lib/mml/v4/mroot.rb +4 -16
  130. data/lib/mml/v4/mrow.rb +4 -20
  131. data/lib/mml/v4/ms.rb +4 -34
  132. data/lib/mml/v4/mscarries.rb +4 -20
  133. data/lib/mml/v4/mscarry.rb +4 -16
  134. data/lib/mml/v4/msgroup.rb +4 -18
  135. data/lib/mml/v4/msline.rb +4 -21
  136. data/lib/mml/v4/mspace.rb +4 -49
  137. data/lib/mml/v4/msqrt.rb +4 -16
  138. data/lib/mml/v4/msrow.rb +4 -18
  139. data/lib/mml/v4/mstack.rb +4 -24
  140. data/lib/mml/v4/mstyle.rb +4 -186
  141. data/lib/mml/v4/msub.rb +4 -18
  142. data/lib/mml/v4/msubsup.rb +4 -20
  143. data/lib/mml/v4/msup.rb +4 -18
  144. data/lib/mml/v4/mtable.rb +4 -55
  145. data/lib/mml/v4/mtd.rb +4 -20
  146. data/lib/mml/v4/mtext.rb +4 -29
  147. data/lib/mml/v4/mtr.rb +4 -25
  148. data/lib/mml/v4/munder.rb +4 -22
  149. data/lib/mml/v4/munderover.rb +4 -22
  150. data/lib/mml/v4/namespace.rb +1 -4
  151. data/lib/mml/v4/none.rb +6 -11
  152. data/lib/mml/v4/semantics.rb +4 -12
  153. data/lib/mml/v4.rb +52 -74
  154. data/lib/mml/version.rb +1 -1
  155. data/lib/mml/versioned_parser.rb +46 -0
  156. data/lib/mml.rb +33 -25
  157. metadata +60 -4
  158. data/lib/mml/v3/common_attributes.rb +0 -22
  159. data/lib/mml/v4/common_attributes.rb +0 -26
@@ -2,26 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mphantom < Mml::V3::Mphantom
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :intent, :string
9
- attribute :arg, :string
10
- attribute :displaystyle, :string
11
- attribute :scriptlevel, :integer
5
+ class Mphantom < CommonElements
6
+ include Base::Mphantom
7
+ include Base::V4Attributes
12
8
 
13
9
  xml do
14
10
  namespace Namespace
15
- element "mphantom"
16
- mixed_content
17
-
18
- map_attribute "mathcolor", to: :mathcolor
19
- map_attribute "mathbackground", to: :mathbackground
20
- map_attribute "intent", to: :intent
21
- map_attribute "arg", to: :arg
22
- map_attribute "displaystyle", to: :displaystyle
23
- map_attribute "scriptlevel", to: :scriptlevel
24
11
  end
25
12
  end
13
+ Configuration.register_model(Mphantom, id: :mphantom)
26
14
  end
27
15
  end
@@ -2,21 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mprescripts < Mml::V3::Mprescripts
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :intent, :string
9
- attribute :arg, :string
5
+ class Mprescripts < Lutaml::Model::Serializable
6
+ include Base::Mprescripts
7
+ include Base::V4Attributes
10
8
 
11
9
  xml do
12
10
  namespace Namespace
13
- element "mprescripts"
14
-
15
- map_attribute "mathcolor", to: :mathcolor
16
- map_attribute "mathbackground", to: :mathbackground
17
- map_attribute "intent", to: :intent
18
- map_attribute "arg", to: :arg
19
11
  end
20
12
  end
13
+ Configuration.register_model(Mprescripts, id: :mprescripts)
21
14
  end
22
15
  end
data/lib/mml/v4/mroot.rb CHANGED
@@ -2,26 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mroot < Mml::V3::Mroot
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :intent, :string
9
- attribute :arg, :string
10
- attribute :displaystyle, :string
11
- attribute :scriptlevel, :integer
5
+ class Mroot < CommonElements
6
+ include Base::Mroot
7
+ include Base::V4Attributes
12
8
 
13
9
  xml do
14
10
  namespace Namespace
15
- element "mroot"
16
- mixed_content
17
-
18
- map_attribute "mathcolor", to: :mathcolor
19
- map_attribute "mathbackground", to: :mathbackground
20
- map_attribute "intent", to: :intent
21
- map_attribute "arg", to: :arg
22
- map_attribute "displaystyle", to: :displaystyle
23
- map_attribute "scriptlevel", to: :scriptlevel
24
11
  end
25
12
  end
13
+ Configuration.register_model(Mroot, id: :mroot)
26
14
  end
27
15
  end
data/lib/mml/v4/mrow.rb CHANGED
@@ -2,30 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mrow < Mml::V3::Mrow
6
- attribute :mathbackground, :string
7
- attribute :mathcolor, :string
8
- attribute :content, :string
9
- attribute :intent, :string
10
- attribute :dir, :string
11
- attribute :arg, :string
12
- attribute :displaystyle, :string
13
- attribute :scriptlevel, :integer
5
+ class Mrow < CommonElements
6
+ include Base::Mrow
7
+ include Base::V4Attributes
14
8
 
15
9
  xml do
16
10
  namespace Namespace
17
- element "mrow"
18
- mixed_content
19
-
20
- map_content to: :content
21
- map_attribute "dir", to: :dir
22
- map_attribute "intent", to: :intent
23
- map_attribute "mathcolor", to: :mathcolor
24
- map_attribute "mathbackground", to: :mathbackground
25
- map_attribute "arg", to: :arg
26
- map_attribute "displaystyle", to: :displaystyle
27
- map_attribute "scriptlevel", to: :scriptlevel
28
11
  end
29
12
  end
13
+ Configuration.register_model(Mrow, id: :mrow)
30
14
  end
31
15
  end
data/lib/mml/v4/ms.rb CHANGED
@@ -2,44 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Ms < Mml::V3::Ms
6
- attribute :mathbackground, :string
7
- attribute :mathvariant, :string
8
- attribute :fontfamily, :string
9
- attribute :background, :string
10
- attribute :fontweight, :string
11
- attribute :mathcolor, :string
12
- attribute :fontstyle, :string
13
- attribute :mathsize, :string
14
- attribute :fontsize, :string
15
- attribute :lquote, :string
16
- attribute :rquote, :string
17
- attribute :color, :string
18
- attribute :value, :string
19
- attribute :dir, :string
20
- attribute :intent, :string
21
- attribute :arg, :string
22
- attribute :displaystyle, :string
23
- attribute :scriptlevel, :integer
5
+ class Ms < CommonElements
6
+ include Base::Ms
7
+ include Base::V4Attributes
24
8
 
25
9
  xml do
26
10
  namespace Namespace
27
- element "ms"
28
- mixed_content
29
-
30
- map_content to: :value
31
- map_attribute "mathbackground", to: :mathbackground
32
- map_attribute "mathvariant", to: :mathvariant
33
- map_attribute "mathcolor", to: :mathcolor
34
- map_attribute "mathsize", to: :mathsize
35
- map_attribute "lquote", to: :lquote
36
- map_attribute "rquote", to: :rquote
37
- map_attribute "dir", to: :dir
38
- map_attribute "intent", to: :intent
39
- map_attribute "arg", to: :arg
40
- map_attribute "displaystyle", to: :displaystyle
41
- map_attribute "scriptlevel", to: :scriptlevel
42
11
  end
43
12
  end
13
+ Configuration.register_model(Ms, id: :ms)
44
14
  end
45
15
  end
@@ -2,30 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mscarries < Mml::V3::Mscarries
6
- attribute :scriptsizemultiplier, :integer
7
- attribute :mathbackground, :string
8
- attribute :mathcolor, :string
9
- attribute :position, :integer
10
- attribute :location, :string
11
- attribute :crossout, :string
12
- attribute :intent, :string
13
- attribute :arg, :string
5
+ class Mscarries < CommonElements
6
+ include Base::Mscarries
7
+ include Base::V4Attributes
14
8
 
15
9
  xml do
16
10
  namespace Namespace
17
- element "mscarries"
18
- mixed_content
19
-
20
- map_attribute "scriptsizemultiplier", to: :scriptsizemultiplier
21
- map_attribute "mathbackground", to: :mathbackground
22
- map_attribute "mathcolor", to: :mathcolor
23
- map_attribute "position", to: :position
24
- map_attribute "location", to: :location
25
- map_attribute "crossout", to: :crossout
26
- map_attribute "intent", to: :intent
27
- map_attribute "arg", to: :arg
28
11
  end
29
12
  end
13
+ Configuration.register_model(Mscarries, id: :mscarries)
30
14
  end
31
15
  end
@@ -2,26 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mscarry < Mml::V3::Mscarry
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :location, :string
9
- attribute :crossout, :string
10
- attribute :intent, :string
11
- attribute :arg, :string
5
+ class Mscarry < CommonElements
6
+ include Base::Mscarry
7
+ include Base::V4Attributes
12
8
 
13
9
  xml do
14
10
  namespace Namespace
15
- element "mscarry"
16
- mixed_content
17
-
18
- map_attribute "mathcolor", to: :mathcolor
19
- map_attribute "mathbackground", to: :mathbackground
20
- map_attribute "location", to: :location
21
- map_attribute "crossout", to: :crossout
22
- map_attribute "intent", to: :intent
23
- map_attribute "arg", to: :arg
24
11
  end
25
12
  end
13
+ Configuration.register_model(Mscarry, id: :mscarry)
26
14
  end
27
15
  end
@@ -2,28 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Msgroup < Mml::V3::Msgroup
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :position, :integer
9
- attribute :shift, :integer
10
- attribute :intent, :string
11
- attribute :arg, :string
12
- attribute :msgroup_text, :string
5
+ class Msgroup < CommonElements
6
+ include Base::Msgroup
7
+ include Base::V4Attributes
13
8
 
14
9
  xml do
15
10
  namespace Namespace
16
- element "msgroup"
17
- mixed_content
18
-
19
- map_content to: :msgroup_text
20
- map_attribute "mathcolor", to: :mathcolor
21
- map_attribute "mathbackground", to: :mathbackground
22
- map_attribute "position", to: :position
23
- map_attribute "shift", to: :shift
24
- map_attribute "intent", to: :intent
25
- map_attribute "arg", to: :arg
26
11
  end
27
12
  end
13
+ Configuration.register_model(Msgroup, id: :msgroup)
28
14
  end
29
15
  end
data/lib/mml/v4/msline.rb CHANGED
@@ -2,31 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Msline < Mml::V3::Msline
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :position, :integer
9
- attribute :length, :integer
10
- attribute :leftoverhang, :string
11
- attribute :rightoverhang, :string
12
- attribute :mslinethickness, :string
13
- attribute :intent, :string
14
- attribute :arg, :string
5
+ class Msline < Lutaml::Model::Serializable
6
+ include Base::Msline
7
+ include Base::V4Attributes
15
8
 
16
9
  xml do
17
10
  namespace Namespace
18
- element "msline"
19
-
20
- map_attribute "mathcolor", to: :mathcolor
21
- map_attribute "mathbackground", to: :mathbackground
22
- map_attribute "position", to: :position
23
- map_attribute "length", to: :length
24
- map_attribute "leftoverhang", to: :leftoverhang
25
- map_attribute "rightoverhang", to: :rightoverhang
26
- map_attribute "mslinethickness", to: :mslinethickness
27
- map_attribute "intent", to: :intent
28
- map_attribute "arg", to: :arg
29
11
  end
30
12
  end
13
+ Configuration.register_model(Msline, id: :msline)
31
14
  end
32
15
  end
data/lib/mml/v4/mspace.rb CHANGED
@@ -2,59 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mspace < Mml::V3::Mspace
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :mathvariant, :string
9
- attribute :mathsize, :string
10
- attribute :dir, :string
11
- attribute :fontfamily, :string
12
- attribute :fontweight, :string
13
- attribute :fontstyle, :string
14
- attribute :fontsize, :string
15
- attribute :color, :string
16
- attribute :background, :string
17
- attribute :width, :string
18
- attribute :height, :string
19
- attribute :depth, :string
20
- attribute :linebreak, :string
21
- attribute :indentalign, :string
22
- attribute :indentshift, :string
23
- attribute :indenttarget, :string
24
- attribute :indentalignfirst, :string
25
- attribute :indentshiftfirst, :string
26
- attribute :indentalignlast, :string
27
- attribute :indentshiftlast, :string
28
- attribute :intent, :string
29
- attribute :arg, :string
30
- attribute :displaystyle, :string
31
- attribute :scriptlevel, :integer
5
+ class Mspace < Lutaml::Model::Serializable
6
+ include Base::Mspace
7
+ include Base::V4Attributes
32
8
 
33
9
  xml do
34
10
  namespace Namespace
35
- element "mspace"
36
-
37
- map_attribute "mathcolor", to: :mathcolor
38
- map_attribute "mathbackground", to: :mathbackground
39
- map_attribute "mathvariant", to: :mathvariant
40
- map_attribute "mathsize", to: :mathsize
41
- map_attribute "dir", to: :dir
42
- map_attribute "width", to: :width
43
- map_attribute "height", to: :height
44
- map_attribute "depth", to: :depth
45
- map_attribute "linebreak", to: :linebreak
46
- map_attribute "indentalign", to: :indentalign
47
- map_attribute "indentshift", to: :indentshift
48
- map_attribute "indenttarget", to: :indenttarget
49
- map_attribute "indentalignfirst", to: :indentalignfirst
50
- map_attribute "indentshiftfirst", to: :indentshiftfirst
51
- map_attribute "indentalignlast", to: :indentalignlast
52
- map_attribute "indentshiftlast", to: :indentshiftlast
53
- map_attribute "intent", to: :intent
54
- map_attribute "arg", to: :arg
55
- map_attribute "displaystyle", to: :displaystyle
56
- map_attribute "scriptlevel", to: :scriptlevel
57
11
  end
58
12
  end
13
+ Configuration.register_model(Mspace, id: :mspace)
59
14
  end
60
15
  end
data/lib/mml/v4/msqrt.rb CHANGED
@@ -2,26 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Msqrt < Mml::V3::Msqrt
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :intent, :string
9
- attribute :arg, :string
10
- attribute :displaystyle, :string
11
- attribute :scriptlevel, :integer
5
+ class Msqrt < CommonElements
6
+ include Base::Msqrt
7
+ include Base::V4Attributes
12
8
 
13
9
  xml do
14
10
  namespace Namespace
15
- element "msqrt"
16
- mixed_content
17
-
18
- map_attribute "mathcolor", to: :mathcolor
19
- map_attribute "mathbackground", to: :mathbackground
20
- map_attribute "intent", to: :intent
21
- map_attribute "arg", to: :arg
22
- map_attribute "displaystyle", to: :displaystyle
23
- map_attribute "scriptlevel", to: :scriptlevel
24
11
  end
25
12
  end
13
+ Configuration.register_model(Msqrt, id: :msqrt)
26
14
  end
27
15
  end
data/lib/mml/v4/msrow.rb CHANGED
@@ -2,28 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Msrow < Mml::V3::Msrow
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :position, :integer
9
- attribute :intent, :string
10
- attribute :arg, :string
11
- attribute :displaystyle, :string
12
- attribute :scriptlevel, :integer
5
+ class Msrow < CommonElements
6
+ include Base::Msrow
7
+ include Base::V4Attributes
13
8
 
14
9
  xml do
15
10
  namespace Namespace
16
- element "msrow"
17
- mixed_content
18
-
19
- map_attribute "mathcolor", to: :mathcolor
20
- map_attribute "mathbackground", to: :mathbackground
21
- map_attribute "position", to: :position
22
- map_attribute "intent", to: :intent
23
- map_attribute "arg", to: :arg
24
- map_attribute "displaystyle", to: :displaystyle
25
- map_attribute "scriptlevel", to: :scriptlevel
26
11
  end
27
12
  end
13
+ Configuration.register_model(Msrow, id: :msrow)
28
14
  end
29
15
  end
data/lib/mml/v4/mstack.rb CHANGED
@@ -2,34 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- class Mstack < Mml::V3::Mstack
6
- attribute :mathcolor, :string
7
- attribute :mathbackground, :string
8
- attribute :align, :string
9
- attribute :stackalign, :string
10
- attribute :charalign, :string
11
- attribute :charspacing, :string
12
- attribute :intent, :string
13
- attribute :arg, :string
14
- attribute :displaystyle, :string
15
- attribute :scriptlevel, :integer
5
+ class Mstack < CommonElements
6
+ include Base::Mstack
7
+ include Base::V4Attributes
16
8
 
17
9
  xml do
18
10
  namespace Namespace
19
- element "mstack"
20
- mixed_content
21
-
22
- map_attribute "mathcolor", to: :mathcolor
23
- map_attribute "mathbackground", to: :mathbackground
24
- map_attribute "align", to: :align
25
- map_attribute "stackalign", to: :stackalign
26
- map_attribute "charalign", to: :charalign
27
- map_attribute "charspacing", to: :charspacing
28
- map_attribute "intent", to: :intent
29
- map_attribute "arg", to: :arg
30
- map_attribute "displaystyle", to: :displaystyle
31
- map_attribute "scriptlevel", to: :scriptlevel
32
11
  end
33
12
  end
13
+ Configuration.register_model(Mstack, id: :mstack)
34
14
  end
35
15
  end
data/lib/mml/v4/mstyle.rb CHANGED
@@ -2,196 +2,14 @@
2
2
 
3
3
  module Mml
4
4
  module V4
5
- # rubocop:disable Metrics/ClassLength
6
- class Mstyle < Mml::V3::Mstyle
7
- attribute :mathcolor, :string
8
- attribute :mathbackground, :string
9
- attribute :scriptlevel, :integer
10
- attribute :displaystyle, :string
11
- attribute :scriptsizemultiplier, :integer
12
- attribute :scriptminsize, :string
13
- attribute :infixlinebreakstyle, :string
14
- attribute :decimalpoint, :string
15
- attribute :accent, :string
16
- attribute :accentunder, :string
17
- attribute :align, :string
18
- attribute :alignmentscope, :string
19
- attribute :bevelled, :string
20
- attribute :charalign, :string
21
- attribute :charspacing, :string
22
- attribute :close, :string
23
- attribute :columnalign, :string
24
- attribute :columnlines, :string
25
- attribute :columnspacing, :string
26
- attribute :columnspan, :integer
27
- attribute :columnwidth, :string
28
- attribute :crossout, :string
29
- attribute :denomalign, :string
30
- attribute :depth, :string
31
- attribute :dir, :string
32
- attribute :edge, :string
33
- attribute :equalcolumns, :string
34
- attribute :equalrows, :string
35
- attribute :fence, :string
36
- attribute :form, :string
37
- attribute :frame, :string
38
- attribute :framespacing, :string
39
- attribute :groupalign, :string
40
- attribute :height, :string
41
- attribute :indentalign, :string
42
- attribute :indentalignfirst, :string
43
- attribute :indentalignlast, :string
44
- attribute :indentshift, :string
45
- attribute :indentshiftfirst, :string
46
- attribute :indentshiftlast, :string
47
- attribute :indenttarget, :string
48
- attribute :largeop, :string
49
- attribute :leftoverhang, :string
50
- attribute :length, :integer
51
- attribute :linebreak, :string
52
- attribute :linebreakmultchar, :string
53
- attribute :linebreakstyle, :string
54
- attribute :lineleading, :string
55
- attribute :linethickness, :string
56
- attribute :location, :string
57
- attribute :longdivstyle, :string
58
- attribute :lquote, :string
59
- attribute :lspace, :string
60
- attribute :mathsize, :string
61
- attribute :mathvariant, :string
62
- attribute :maxsize, :string
63
- attribute :minlabelspacing, :string
64
- attribute :minsize, :string
65
- attribute :movablelimits, :string
66
- attribute :mslinethickness, :string
67
- attribute :notation, :string
68
- attribute :numalign, :string
69
- attribute :open, :string
70
- attribute :position, :integer
71
- attribute :rightoverhang, :string
72
- attribute :rowalign, :string
73
- attribute :rowlines, :string
74
- attribute :rowspacing, :string
75
- attribute :rowspan, :integer
76
- attribute :rquote, :string
77
- attribute :rspace, :string
78
- attribute :selection, :integer
79
- attribute :separator, :string
80
- attribute :separators, :string
81
- attribute :shift, :integer
82
- attribute :side, :string
83
- attribute :stackalign, :string
84
- attribute :stretchy, :string
85
- attribute :subscriptshift, :string
86
- attribute :superscriptshift, :string
87
- attribute :symmetric, :string
88
- attribute :valign, :string
89
- attribute :width, :string
90
- attribute :fontfamily, :string
91
- attribute :fontweight, :string
92
- attribute :fontstyle, :string
93
- attribute :fontsize, :string
94
- attribute :color, :string
95
- attribute :background, :string
96
- attribute :veryverythinmathspace, :string
97
- attribute :verythinmathspace, :string
98
- attribute :thinmathspace, :string
99
- attribute :mediummathspace, :string
100
- attribute :thickmathspace, :string
101
- attribute :verythickmathspace, :string
102
- attribute :veryverythickmathspace, :string
103
- attribute :intent, :string
104
- attribute :arg, :string
5
+ class Mstyle < CommonElements
6
+ include Base::Mstyle
7
+ include Base::V4Attributes
105
8
 
106
- # rubocop:disable Metrics/BlockLength
107
9
  xml do
108
10
  namespace Namespace
109
- element "mstyle"
110
- mixed_content
111
-
112
- map_attribute "mathcolor", to: :mathcolor
113
- map_attribute "mathbackground", to: :mathbackground
114
- map_attribute "scriptlevel", to: :scriptlevel
115
- map_attribute "displaystyle", to: :displaystyle
116
- map_attribute "scriptsizemultiplier", to: :scriptsizemultiplier
117
- map_attribute "scriptminsize", to: :scriptminsize
118
- map_attribute "infixlinebreakstyle", to: :infixlinebreakstyle
119
- map_attribute "decimalpoint", to: :decimalpoint
120
- map_attribute "accent", to: :accent
121
- map_attribute "accentunder", to: :accentunder
122
- map_attribute "align", to: :align
123
- map_attribute "alignmentscope", to: :alignmentscope
124
- map_attribute "bevelled", to: :bevelled
125
- map_attribute "charalign", to: :charalign
126
- map_attribute "charspacing", to: :charspacing
127
- map_attribute "close", to: :close
128
- map_attribute "columnalign", to: :columnalign
129
- map_attribute "columnlines", to: :columnlines
130
- map_attribute "columnspacing", to: :columnspacing
131
- map_attribute "columnspan", to: :columnspan
132
- map_attribute "columnwidth", to: :columnwidth
133
- map_attribute "crossout", to: :crossout
134
- map_attribute "denomalign", to: :denomalign
135
- map_attribute "depth", to: :depth
136
- map_attribute "dir", to: :dir
137
- map_attribute "edge", to: :edge
138
- map_attribute "equalcolumns", to: :equalcolumns
139
- map_attribute "equalrows", to: :equalrows
140
- map_attribute "form", to: :form
141
- map_attribute "frame", to: :frame
142
- map_attribute "framespacing", to: :framespacing
143
- map_attribute "height", to: :height
144
- map_attribute "indentalign", to: :indentalign
145
- map_attribute "indentalignfirst", to: :indentalignfirst
146
- map_attribute "indentalignlast", to: :indentalignlast
147
- map_attribute "indentshift", to: :indentshift
148
- map_attribute "indentshiftfirst", to: :indentshiftfirst
149
- map_attribute "indentshiftlast", to: :indentshiftlast
150
- map_attribute "indenttarget", to: :indenttarget
151
- map_attribute "largeop", to: :largeop
152
- map_attribute "leftoverhang", to: :leftoverhang
153
- map_attribute "length", to: :length
154
- map_attribute "linebreak", to: :linebreak
155
- map_attribute "linebreakmultchar", to: :linebreakmultchar
156
- map_attribute "linebreakstyle", to: :linebreakstyle
157
- map_attribute "lineleading", to: :lineleading
158
- map_attribute "linethickness", to: :linethickness
159
- map_attribute "location", to: :location
160
- map_attribute "longdivstyle", to: :longdivstyle
161
- map_attribute "lquote", to: :lquote
162
- map_attribute "lspace", to: :lspace
163
- map_attribute "mathsize", to: :mathsize
164
- map_attribute "mathvariant", to: :mathvariant
165
- map_attribute "maxsize", to: :maxsize
166
- map_attribute "minsize", to: :minsize
167
- map_attribute "movablelimits", to: :movablelimits
168
- map_attribute "mslinethickness", to: :mslinethickness
169
- map_attribute "notation", to: :notation
170
- map_attribute "numalign", to: :numalign
171
- map_attribute "open", to: :open
172
- map_attribute "position", to: :position
173
- map_attribute "rightoverhang", to: :rightoverhang
174
- map_attribute "rowalign", to: :rowalign
175
- map_attribute "rowlines", to: :rowlines
176
- map_attribute "rowspacing", to: :rowspacing
177
- map_attribute "rowspan", to: :rowspan
178
- map_attribute "rquote", to: :rquote
179
- map_attribute "rspace", to: :rspace
180
- map_attribute "selection", to: :selection
181
- map_attribute "separators", to: :separators
182
- map_attribute "shift", to: :shift
183
- map_attribute "stackalign", to: :stackalign
184
- map_attribute "stretchy", to: :stretchy
185
- map_attribute "subscriptshift", to: :subscriptshift
186
- map_attribute "superscriptshift", to: :superscriptshift
187
- map_attribute "symmetric", to: :symmetric
188
- map_attribute "valign", to: :valign
189
- map_attribute "width", to: :width
190
- map_attribute "intent", to: :intent
191
- map_attribute "arg", to: :arg
192
11
  end
193
- # rubocop:enable Metrics/BlockLength
194
12
  end
195
- # rubocop:enable Metrics/ClassLength
13
+ Configuration.register_model(Mstyle, id: :mstyle)
196
14
  end
197
15
  end