mml 2.3.0 → 2.3.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 (336) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +9 -0
  3. data/.rubocop.yml +4 -0
  4. data/.rubocop_todo.yml +83 -18
  5. data/Gemfile +0 -2
  6. data/README.adoc +176 -47
  7. data/Rakefile +16 -1
  8. data/lib/mml/base/common_attributes.rb +44 -0
  9. data/lib/mml/base/content/annotation.rb +28 -0
  10. data/lib/mml/base/content/annotation_xml.rb +31 -0
  11. data/lib/mml/base/content/apply.rb +27 -0
  12. data/lib/mml/base/content/arith.rb +243 -0
  13. data/lib/mml/base/content/bind.rb +27 -0
  14. data/lib/mml/base/content/bvar.rb +20 -0
  15. data/lib/mml/base/content/calculus.rb +103 -0
  16. data/lib/mml/base/content/cbytes.rb +24 -0
  17. data/lib/mml/base/content/cerror.rb +24 -0
  18. data/lib/mml/base/content/ci.rb +77 -0
  19. data/lib/mml/base/content/cn.rb +33 -0
  20. data/lib/mml/base/content/condition.rb +20 -0
  21. data/lib/mml/base/content/constants.rb +173 -0
  22. data/lib/mml/base/content/cs.rb +22 -0
  23. data/lib/mml/base/content/csymbol.rb +79 -0
  24. data/lib/mml/base/content/declare.rb +34 -0
  25. data/lib/mml/base/content/degree.rb +20 -0
  26. data/lib/mml/base/content/elementary_functions.rb +309 -0
  27. data/lib/mml/base/content/fn.rb +25 -0
  28. data/lib/mml/base/content/functions.rb +85 -0
  29. data/lib/mml/base/content/interval.rb +24 -0
  30. data/lib/mml/base/content/inverse.rb +25 -0
  31. data/lib/mml/base/content/lambda.rb +20 -0
  32. data/lib/mml/base/content/linear_algebra.rb +122 -0
  33. data/lib/mml/base/content/logic.rb +93 -0
  34. data/lib/mml/base/content/otherwise.rb +20 -0
  35. data/lib/mml/base/content/piece.rb +20 -0
  36. data/lib/mml/base/content/piecewise.rb +20 -0
  37. data/lib/mml/base/content/relations.rb +113 -0
  38. data/lib/mml/base/content/reln.rb +19 -0
  39. data/lib/mml/base/content/semantics.rb +27 -0
  40. data/lib/mml/base/content/sep.rb +19 -0
  41. data/lib/mml/base/content/sets.rb +163 -0
  42. data/lib/mml/base/content/share.rb +22 -0
  43. data/lib/mml/base/content/statistics.rb +95 -0
  44. data/lib/mml/base/content/vector_calculus.rb +63 -0
  45. data/lib/mml/base/content_loader.rb +195 -0
  46. data/lib/mml/base/maction.rb +1 -0
  47. data/lib/mml/base/math.rb +47 -0
  48. data/lib/mml/base/menclose.rb +1 -1
  49. data/lib/mml/base/mfenced.rb +2 -2
  50. data/lib/mml/base/mglyph.rb +2 -2
  51. data/lib/mml/base/mi.rb +9 -6
  52. data/lib/mml/base/mlabeledtr.rb +2 -6
  53. data/lib/mml/base/mn.rb +3 -2
  54. data/lib/mml/base/mo.rb +3 -3
  55. data/lib/mml/base/mrow.rb +0 -2
  56. data/lib/mml/base/ms.rb +4 -6
  57. data/lib/mml/base/mscarries.rb +1 -1
  58. data/lib/mml/base/mspace.rb +0 -2
  59. data/lib/mml/base/mstyle.rb +4 -8
  60. data/lib/mml/base/mtable.rb +8 -0
  61. data/lib/mml/base/mtd.rb +6 -0
  62. data/lib/mml/base/mtext.rb +0 -2
  63. data/lib/mml/base/semantics.rb +4 -2
  64. data/lib/mml/base/universal_presentation_attributes.rb +46 -0
  65. data/lib/mml/base/v3_common.rb +16 -0
  66. data/lib/mml/base/v3_presentation_attributes.rb +15 -0
  67. data/lib/mml/base/v4_attributes.rb +4 -18
  68. data/lib/mml/base.rb +11 -0
  69. data/lib/mml/common_elements.rb +336 -0
  70. data/lib/mml/context_configuration.rb +29 -0
  71. data/lib/mml/v2/annotation.rb +9 -0
  72. data/lib/mml/v2/annotation_xml.rb +9 -0
  73. data/lib/mml/v2/apply.rb +9 -0
  74. data/lib/mml/v2/arith.rb +93 -0
  75. data/lib/mml/v2/bind.rb +9 -0
  76. data/lib/mml/v2/bvar.rb +9 -0
  77. data/lib/mml/v2/calculus.rb +33 -0
  78. data/lib/mml/v2/ci.rb +9 -0
  79. data/lib/mml/v2/cn.rb +9 -0
  80. data/lib/mml/v2/common_elements.rb +34 -0
  81. data/lib/mml/v2/condition.rb +9 -0
  82. data/lib/mml/v2/configuration.rb +13 -0
  83. data/lib/mml/v2/constants.rb +65 -0
  84. data/lib/mml/v2/csymbol.rb +9 -0
  85. data/lib/mml/v2/degree.rb +9 -0
  86. data/lib/mml/v2/elementary_functions.rb +121 -0
  87. data/lib/mml/v2/fn.rb +9 -0
  88. data/lib/mml/v2/functions.rb +29 -0
  89. data/lib/mml/v2/interval.rb +9 -0
  90. data/lib/mml/v2/inverse.rb +9 -0
  91. data/lib/mml/v2/lambda.rb +9 -0
  92. data/lib/mml/v2/linear_algebra.rb +41 -0
  93. data/lib/mml/v2/logic.rb +33 -0
  94. data/lib/mml/v2/maction.rb +9 -0
  95. data/lib/mml/v2/maligngroup.rb +9 -0
  96. data/lib/mml/v2/malignmark.rb +9 -0
  97. data/lib/mml/v2/math.rb +11 -0
  98. data/lib/mml/v2/menclose.rb +9 -0
  99. data/lib/mml/v2/merror.rb +9 -0
  100. data/lib/mml/v2/mfenced.rb +9 -0
  101. data/lib/mml/v2/mfrac.rb +9 -0
  102. data/lib/mml/v2/mfraction.rb +9 -0
  103. data/lib/mml/v2/mglyph.rb +9 -0
  104. data/lib/mml/v2/mi.rb +9 -0
  105. data/lib/mml/v2/mlabeledtr.rb +9 -0
  106. data/lib/mml/v2/mlongdiv.rb +9 -0
  107. data/lib/mml/v2/mmultiscripts.rb +9 -0
  108. data/lib/mml/v2/mn.rb +9 -0
  109. data/lib/mml/v2/mo.rb +10 -0
  110. data/lib/mml/v2/mover.rb +9 -0
  111. data/lib/mml/v2/mpadded.rb +9 -0
  112. data/lib/mml/v2/mphantom.rb +9 -0
  113. data/lib/mml/v2/mprescripts.rb +9 -0
  114. data/lib/mml/v2/mroot.rb +9 -0
  115. data/lib/mml/v2/mrow.rb +9 -0
  116. data/lib/mml/v2/ms.rb +9 -0
  117. data/lib/mml/v2/mscarries.rb +9 -0
  118. data/lib/mml/v2/mscarry.rb +9 -0
  119. data/lib/mml/v2/msgroup.rb +9 -0
  120. data/lib/mml/v2/msline.rb +9 -0
  121. data/lib/mml/v2/mspace.rb +9 -0
  122. data/lib/mml/v2/msqrt.rb +9 -0
  123. data/lib/mml/v2/msrow.rb +9 -0
  124. data/lib/mml/v2/mstack.rb +9 -0
  125. data/lib/mml/v2/mstyle.rb +10 -0
  126. data/lib/mml/v2/msub.rb +9 -0
  127. data/lib/mml/v2/msubsup.rb +9 -0
  128. data/lib/mml/v2/msup.rb +9 -0
  129. data/lib/mml/v2/mtable.rb +9 -0
  130. data/lib/mml/v2/mtd.rb +9 -0
  131. data/lib/mml/v2/mtext.rb +9 -0
  132. data/lib/mml/v2/mtr.rb +9 -0
  133. data/lib/mml/v2/munder.rb +9 -0
  134. data/lib/mml/v2/munderover.rb +9 -0
  135. data/lib/mml/v2/namespace.rb +7 -0
  136. data/lib/mml/v2/none.rb +9 -0
  137. data/lib/mml/v2/otherwise.rb +9 -0
  138. data/lib/mml/v2/piece.rb +9 -0
  139. data/lib/mml/v2/piecewise.rb +9 -0
  140. data/lib/mml/v2/relations.rb +41 -0
  141. data/lib/mml/v2/reln.rb +13 -0
  142. data/lib/mml/v2/semantics.rb +9 -0
  143. data/lib/mml/v2/sep.rb +9 -0
  144. data/lib/mml/v2/sets.rb +57 -0
  145. data/lib/mml/v2/statistics.rb +33 -0
  146. data/lib/mml/v2/vector_calculus.rb +21 -0
  147. data/lib/mml/v2.rb +311 -0
  148. data/lib/mml/v3/annotation.rb +10 -0
  149. data/lib/mml/v3/annotation_xml.rb +10 -0
  150. data/lib/mml/v3/apply.rb +10 -0
  151. data/lib/mml/v3/arith.rb +115 -0
  152. data/lib/mml/v3/bind.rb +10 -0
  153. data/lib/mml/v3/calculus.rb +40 -0
  154. data/lib/mml/v3/cbytes.rb +10 -0
  155. data/lib/mml/v3/cerror.rb +10 -0
  156. data/lib/mml/v3/ci.rb +10 -0
  157. data/lib/mml/v3/cn.rb +10 -0
  158. data/lib/mml/v3/common_elements.rb +34 -0
  159. data/lib/mml/v3/constants.rb +80 -0
  160. data/lib/mml/v3/constructs.rb +55 -0
  161. data/lib/mml/v3/cs.rb +10 -0
  162. data/lib/mml/v3/csymbol.rb +10 -0
  163. data/lib/mml/v3/deprecated_content.rb +29 -0
  164. data/lib/mml/v3/elementary_functions.rb +145 -0
  165. data/lib/mml/v3/functions.rb +35 -0
  166. data/lib/mml/v3/linear_algebra.rb +50 -0
  167. data/lib/mml/v3/logic.rb +40 -0
  168. data/lib/mml/v3/maction.rb +1 -1
  169. data/lib/mml/v3/math.rb +7 -1
  170. data/lib/mml/v3/mi.rb +1 -0
  171. data/lib/mml/v3/mn.rb +1 -0
  172. data/lib/mml/v3/mo.rb +1 -0
  173. data/lib/mml/v3/mrow.rb +1 -0
  174. data/lib/mml/v3/ms.rb +1 -0
  175. data/lib/mml/v3/mstyle.rb +1 -0
  176. data/lib/mml/v3/mtext.rb +1 -0
  177. data/lib/mml/v3/relations.rb +50 -0
  178. data/lib/mml/v3/sets.rb +70 -0
  179. data/lib/mml/v3/statistics.rb +40 -0
  180. data/lib/mml/v3/vector_calculus.rb +25 -0
  181. data/lib/mml/v3.rb +25 -0
  182. data/lib/mml/v4/a.rb +4 -3
  183. data/lib/mml/v4/annotation.rb +10 -0
  184. data/lib/mml/v4/annotation_xml.rb +14 -0
  185. data/lib/mml/v4/apply.rb +9 -0
  186. data/lib/mml/v4/arith.rb +93 -0
  187. data/lib/mml/v4/calculus.rb +25 -0
  188. data/lib/mml/v4/cbytes.rb +9 -0
  189. data/lib/mml/v4/cerror.rb +9 -0
  190. data/lib/mml/v4/ci.rb +9 -0
  191. data/lib/mml/v4/cn.rb +9 -0
  192. data/lib/mml/v4/common_elements.rb +33 -0
  193. data/lib/mml/v4/constants.rb +65 -0
  194. data/lib/mml/v4/constructs.rb +49 -0
  195. data/lib/mml/v4/cs.rb +9 -0
  196. data/lib/mml/v4/csymbol.rb +9 -0
  197. data/lib/mml/v4/deprecated_content.rb +25 -0
  198. data/lib/mml/v4/elementary_functions.rb +118 -0
  199. data/lib/mml/v4/factorof.rb +9 -0
  200. data/lib/mml/v4/functions.rb +30 -0
  201. data/lib/mml/v4/limit.rb +9 -0
  202. data/lib/mml/v4/linear_algebra.rb +41 -0
  203. data/lib/mml/v4/logic.rb +33 -0
  204. data/lib/mml/v4/maction.rb +1 -2
  205. data/lib/mml/v4/maligngroup.rb +0 -1
  206. data/lib/mml/v4/malignmark.rb +0 -1
  207. data/lib/mml/v4/math.rb +1 -1
  208. data/lib/mml/v4/menclose.rb +0 -1
  209. data/lib/mml/v4/merror.rb +0 -1
  210. data/lib/mml/v4/mfenced.rb +0 -1
  211. data/lib/mml/v4/mfrac.rb +0 -1
  212. data/lib/mml/v4/mfraction.rb +0 -1
  213. data/lib/mml/v4/mglyph.rb +0 -1
  214. data/lib/mml/v4/mi.rb +1 -1
  215. data/lib/mml/v4/mlabeledtr.rb +0 -1
  216. data/lib/mml/v4/mlongdiv.rb +0 -1
  217. data/lib/mml/v4/mmultiscripts.rb +0 -1
  218. data/lib/mml/v4/mn.rb +1 -1
  219. data/lib/mml/v4/mo.rb +1 -1
  220. data/lib/mml/v4/mover.rb +0 -1
  221. data/lib/mml/v4/mpadded.rb +0 -1
  222. data/lib/mml/v4/mphantom.rb +0 -1
  223. data/lib/mml/v4/mprescripts.rb +0 -1
  224. data/lib/mml/v4/mroot.rb +0 -1
  225. data/lib/mml/v4/mrow.rb +1 -1
  226. data/lib/mml/v4/ms.rb +1 -1
  227. data/lib/mml/v4/mscarries.rb +0 -1
  228. data/lib/mml/v4/mscarry.rb +0 -1
  229. data/lib/mml/v4/msgroup.rb +0 -1
  230. data/lib/mml/v4/msline.rb +0 -1
  231. data/lib/mml/v4/mspace.rb +0 -1
  232. data/lib/mml/v4/msqrt.rb +0 -1
  233. data/lib/mml/v4/msrow.rb +0 -1
  234. data/lib/mml/v4/mstack.rb +0 -1
  235. data/lib/mml/v4/mstyle.rb +1 -1
  236. data/lib/mml/v4/msub.rb +0 -1
  237. data/lib/mml/v4/msubsup.rb +0 -1
  238. data/lib/mml/v4/msup.rb +0 -1
  239. data/lib/mml/v4/mtable.rb +0 -1
  240. data/lib/mml/v4/mtd.rb +0 -1
  241. data/lib/mml/v4/mtext.rb +1 -1
  242. data/lib/mml/v4/mtr.rb +0 -1
  243. data/lib/mml/v4/munder.rb +0 -1
  244. data/lib/mml/v4/munderover.rb +0 -1
  245. data/lib/mml/v4/none.rb +0 -1
  246. data/lib/mml/v4/relations.rb +37 -0
  247. data/lib/mml/v4/semantics.rb +0 -1
  248. data/lib/mml/v4/sets.rb +57 -0
  249. data/lib/mml/v4/statistics.rb +33 -0
  250. data/lib/mml/v4/tendsto.rb +9 -0
  251. data/lib/mml/v4/vector_calculus.rb +21 -0
  252. data/lib/mml/v4.rb +421 -44
  253. data/lib/mml/version.rb +1 -1
  254. data/lib/mml/versioned_parser.rb +1 -1
  255. data/lib/mml.rb +3 -1
  256. data/reference-docs/mathml-source/pubtext/mathmlspec.dtd +150 -0
  257. data/reference-docs/mathml-source/pubtext/xmlspec.dtd +2649 -0
  258. data/reference-docs/mathml-source/readme.txt +40 -0
  259. data/reference-docs/mathml-source/run +296 -0
  260. data/reference-docs/mathml-source/style/html/html2xhtml.xsl +216 -0
  261. data/reference-docs/mathml-source/style/html/images.xsl +98 -0
  262. data/reference-docs/mathml-source/style/html/mml6.xsl +1156 -0
  263. data/reference-docs/mathml-source/style/html/mmldiff.xsl +566 -0
  264. data/reference-docs/mathml-source/style/html/mmlspec.xsl +2531 -0
  265. data/reference-docs/mathml-source/style/html/slices-common.xsl +312 -0
  266. data/reference-docs/mathml-source/style/html/slices.xsl +48 -0
  267. data/reference-docs/mathml-source/style/html/xmlspec.xsl +2542 -0
  268. data/reference-docs/mathml-source/style/pdf/mathmlspec.xsl +2510 -0
  269. data/reference-docs/mathml-source/xml/changes.xml +773 -0
  270. data/reference-docs/mathml-source/xml/character-set.xml +1011 -0
  271. data/reference-docs/mathml-source/xml/content-element-def.xml +6143 -0
  272. data/reference-docs/mathml-source/xml/content-markup.xml +8178 -0
  273. data/reference-docs/mathml-source/xml/contributors.xml +425 -0
  274. data/reference-docs/mathml-source/xml/dom-bindings.xml +20 -0
  275. data/reference-docs/mathml-source/xml/dom-intro.xml +114 -0
  276. data/reference-docs/mathml-source/xml/fundamentals.xml +1646 -0
  277. data/reference-docs/mathml-source/xml/glossary.xml +519 -0
  278. data/reference-docs/mathml-source/xml/interface.xml +1096 -0
  279. data/reference-docs/mathml-source/xml/introduction.xml +724 -0
  280. data/reference-docs/mathml-source/xml/mathml-css-sample.xml +304 -0
  281. data/reference-docs/mathml-source/xml/mathml-dom.xml +3813 -0
  282. data/reference-docs/mathml-source/xml/mathml-spec.xml +356 -0
  283. data/reference-docs/mathml-source/xml/mixing.xml +982 -0
  284. data/reference-docs/mathml-source/xml/operator-dict.xml +551 -0
  285. data/reference-docs/mathml-source/xml/parsing.xml +2565 -0
  286. data/reference-docs/mathml-source/xml/presentation-markup.xml +6834 -0
  287. data/reference-docs/mathml-source/xml/references.xml +323 -0
  288. data/reference-docs/mathml-source/xml/validation-grammar.xml +877 -0
  289. data/schemas/README.adoc +17 -0
  290. data/schemas/mathml2/common/common-attribs.xsd +41 -0
  291. data/schemas/mathml2/common/math.xsd +126 -0
  292. data/schemas/mathml2/common/xlink-href.xsd +20 -0
  293. data/schemas/mathml2/content/CVS/Entries +16 -0
  294. data/schemas/mathml2/content/CVS/Repository +1 -0
  295. data/schemas/mathml2/content/CVS/Root +1 -0
  296. data/schemas/mathml2/content/arith.xsd +90 -0
  297. data/schemas/mathml2/content/calculus.xsd +146 -0
  298. data/schemas/mathml2/content/common-attrib.xsd +30 -0
  299. data/schemas/mathml2/content/constants.xsd +83 -0
  300. data/schemas/mathml2/content/constructs.xsd +260 -0
  301. data/schemas/mathml2/content/elementary-functions.xsd +117 -0
  302. data/schemas/mathml2/content/functions.xsd +73 -0
  303. data/schemas/mathml2/content/linear-algebra.xsd +173 -0
  304. data/schemas/mathml2/content/logic.xsd +53 -0
  305. data/schemas/mathml2/content/relations.xsd +55 -0
  306. data/schemas/mathml2/content/semantics.xsd +85 -0
  307. data/schemas/mathml2/content/sets.xsd +236 -0
  308. data/schemas/mathml2/content/statistics.xsd +136 -0
  309. data/schemas/mathml2/content/tokens.xsd +120 -0
  310. data/schemas/mathml2/content/tokens.xsd.~1.3.~ +119 -0
  311. data/schemas/mathml2/content/vector-calculus.xsd +88 -0
  312. data/schemas/mathml2/mathml2.xsd +59 -0
  313. data/schemas/mathml2/presentation/action.xsd +44 -0
  314. data/schemas/mathml2/presentation/characters.xsd +37 -0
  315. data/schemas/mathml2/presentation/common-attribs.xsd +113 -0
  316. data/schemas/mathml2/presentation/common-types.xsd +103 -0
  317. data/schemas/mathml2/presentation/error.xsd +40 -0
  318. data/schemas/mathml2/presentation/layout.xsd +195 -0
  319. data/schemas/mathml2/presentation/scripts.xsd +186 -0
  320. data/schemas/mathml2/presentation/space.xsd +52 -0
  321. data/schemas/mathml2/presentation/style.xsd +69 -0
  322. data/schemas/mathml2/presentation/table.xsd +216 -0
  323. data/schemas/mathml2/presentation/tokens.xsd +124 -0
  324. data/schemas/mathml3/mathml3-common.xsd +99 -0
  325. data/schemas/mathml3/mathml3-content.xsd +684 -0
  326. data/schemas/mathml3/mathml3-presentation.xsd +2151 -0
  327. data/schemas/mathml3/mathml3-strict-content.xsd +186 -0
  328. data/schemas/mathml3/mathml3.xsd +9 -0
  329. data/schemas/mathml4/mathml4-content.rnc +382 -0
  330. data/schemas/mathml4/mathml4-core.rnc +361 -0
  331. data/schemas/mathml4/mathml4-presentation.rnc +358 -0
  332. data/schemas/mathml4/mathml4-strict-content.rnc +86 -0
  333. data/schemas/mathml4/mathml4.rnc +21 -0
  334. data/schemas/mathml4/mathml4.rnc.1 +21 -0
  335. data/schemas/mathml4/mathml4.rng +37 -0
  336. metadata +249 -2
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class Vector < CommonElements
6
+ include Base::Content::Vector
7
+ end
8
+ Configuration.register_model(Vector, id: :vector)
9
+
10
+ class Matrix < CommonElements
11
+ include Base::Content::Matrix
12
+ end
13
+ Configuration.register_model(Matrix, id: :matrix)
14
+
15
+ class Matrixrow < CommonElements
16
+ include Base::Content::Matrixrow
17
+ end
18
+ Configuration.register_model(Matrixrow, id: :matrixrow)
19
+
20
+ class Determinant < Lutaml::Model::Serializable
21
+ include Base::Content::Determinant
22
+ end
23
+ Configuration.register_model(Determinant, id: :determinant)
24
+
25
+ class Transpose < Lutaml::Model::Serializable
26
+ include Base::Content::Transpose
27
+ end
28
+ Configuration.register_model(Transpose, id: :transpose)
29
+
30
+ class Selector < Lutaml::Model::Serializable
31
+ include Base::Content::Selector
32
+ end
33
+ Configuration.register_model(Selector, id: :selector)
34
+
35
+ class Vectorproduct < Lutaml::Model::Serializable
36
+ include Base::Content::Vectorproduct
37
+ end
38
+ Configuration.register_model(Vectorproduct, id: :vectorproduct)
39
+
40
+ class Scalarproduct < Lutaml::Model::Serializable
41
+ include Base::Content::Scalarproduct
42
+ end
43
+ Configuration.register_model(Scalarproduct, id: :scalarproduct)
44
+
45
+ class Outerproduct < Lutaml::Model::Serializable
46
+ include Base::Content::Outerproduct
47
+ end
48
+ Configuration.register_model(Outerproduct, id: :outerproduct)
49
+ end
50
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class And < Lutaml::Model::Serializable
6
+ include Base::Content::And
7
+ end
8
+ Configuration.register_model(And, id: :and)
9
+
10
+ class Or < Lutaml::Model::Serializable
11
+ include Base::Content::Or
12
+ end
13
+ Configuration.register_model(Or, id: :or)
14
+
15
+ class Xor < Lutaml::Model::Serializable
16
+ include Base::Content::Xor
17
+ end
18
+ Configuration.register_model(Xor, id: :xor)
19
+
20
+ class Not < Lutaml::Model::Serializable
21
+ include Base::Content::Not
22
+ end
23
+ Configuration.register_model(Not, id: :not)
24
+
25
+ class Exists < Lutaml::Model::Serializable
26
+ include Base::Content::Exists
27
+ end
28
+ Configuration.register_model(Exists, id: :exists)
29
+
30
+ class Forall < Lutaml::Model::Serializable
31
+ include Base::Content::Forall
32
+ end
33
+ Configuration.register_model(Forall, id: :forall)
34
+
35
+ class Implies < Lutaml::Model::Serializable
36
+ include Base::Content::Implies
37
+ end
38
+ Configuration.register_model(Implies, id: :implies)
39
+ end
40
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Mml
4
4
  module V3
5
- class Maction < Lutaml::Model::Serializable
5
+ class Maction < CommonElements
6
6
  include Base::Maction
7
7
  end
8
8
  Configuration.register_model(Maction, id: :maction)
data/lib/mml/v3/math.rb CHANGED
@@ -4,10 +4,16 @@ module Mml
4
4
  module V3
5
5
  class Math < CommonElements
6
6
  include Base::Math
7
+ include Base::V3Common
8
+
9
+ attribute :overflow, :string
10
+
11
+ xml do
12
+ map_attribute "overflow", to: :overflow
13
+ end
7
14
  end
8
15
  Configuration.register_model(Math, id: :math)
9
16
 
10
- # For backward compatibility, we keep MathWithNamespace as an alias to Math.
11
17
  MathWithNamespace = Math
12
18
  end
13
19
  end
data/lib/mml/v3/mi.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mi < Lutaml::Model::Serializable
6
6
  include Base::Mi
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  end
9
10
  Configuration.register_model(Mi, id: :mi)
data/lib/mml/v3/mn.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mn < Lutaml::Model::Serializable
6
6
  include Base::Mn
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  end
9
10
  Configuration.register_model(Mn, id: :mn)
data/lib/mml/v3/mo.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mo < Lutaml::Model::Serializable
6
6
  include Base::Mo
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  include Base::V3Only::OperatorAttributes
9
10
  end
data/lib/mml/v3/mrow.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mrow < CommonElements
6
6
  include Base::Mrow
7
+ include Base::V3Common
7
8
  end
8
9
  Configuration.register_model(Mrow, id: :mrow)
9
10
  end
data/lib/mml/v3/ms.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Ms < CommonElements
6
6
  include Base::Ms
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  end
9
10
  Configuration.register_model(Ms, id: :ms)
data/lib/mml/v3/mstyle.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mstyle < CommonElements
6
6
  include Base::Mstyle
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  include Base::V3Only::StyleAttributes
9
10
  end
data/lib/mml/v3/mtext.rb CHANGED
@@ -4,6 +4,7 @@ module Mml
4
4
  module V3
5
5
  class Mtext < Lutaml::Model::Serializable
6
6
  include Base::Mtext
7
+ include Base::V3Common
7
8
  include Base::DeprecatedFontAttributes
8
9
  end
9
10
  Configuration.register_model(Mtext, id: :mtext)
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class Eq < Lutaml::Model::Serializable
6
+ include Base::Content::Eq
7
+ end
8
+ Configuration.register_model(Eq, id: :eq)
9
+
10
+ class Neq < Lutaml::Model::Serializable
11
+ include Base::Content::Neq
12
+ end
13
+ Configuration.register_model(Neq, id: :neq)
14
+
15
+ class Leq < Lutaml::Model::Serializable
16
+ include Base::Content::Leq
17
+ end
18
+ Configuration.register_model(Leq, id: :leq)
19
+
20
+ class Lt < Lutaml::Model::Serializable
21
+ include Base::Content::Lt
22
+ end
23
+ Configuration.register_model(Lt, id: :lt)
24
+
25
+ class Geq < Lutaml::Model::Serializable
26
+ include Base::Content::Geq
27
+ end
28
+ Configuration.register_model(Geq, id: :geq)
29
+
30
+ class Gt < Lutaml::Model::Serializable
31
+ include Base::Content::Gt
32
+ end
33
+ Configuration.register_model(Gt, id: :gt)
34
+
35
+ class Equivalent < Lutaml::Model::Serializable
36
+ include Base::Content::Equivalent
37
+ end
38
+ Configuration.register_model(Equivalent, id: :equivalent)
39
+
40
+ class Approx < Lutaml::Model::Serializable
41
+ include Base::Content::Approx
42
+ end
43
+ Configuration.register_model(Approx, id: :approx)
44
+
45
+ class Factorof < Lutaml::Model::Serializable
46
+ include Base::Content::Factorof
47
+ end
48
+ Configuration.register_model(Factorof, id: :factorof)
49
+ end
50
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class Set < CommonElements
6
+ include Base::Content::Set
7
+ end
8
+ Configuration.register_model(Set, id: :set)
9
+
10
+ class Mlist < CommonElements
11
+ include Base::Content::List
12
+ end
13
+ Configuration.register_model(Mlist, id: :list)
14
+
15
+ class Union < Lutaml::Model::Serializable
16
+ include Base::Content::Union
17
+ end
18
+ Configuration.register_model(Union, id: :union)
19
+
20
+ class Intersect < Lutaml::Model::Serializable
21
+ include Base::Content::Intersect
22
+ end
23
+ Configuration.register_model(Intersect, id: :intersect)
24
+
25
+ class In < Lutaml::Model::Serializable
26
+ include Base::Content::In
27
+ end
28
+ Configuration.register_model(In, id: :in)
29
+
30
+ class Notin < Lutaml::Model::Serializable
31
+ include Base::Content::Notin
32
+ end
33
+ Configuration.register_model(Notin, id: :notin)
34
+
35
+ class Subset < Lutaml::Model::Serializable
36
+ include Base::Content::Subset
37
+ end
38
+ Configuration.register_model(Subset, id: :subset)
39
+
40
+ class Prsubset < Lutaml::Model::Serializable
41
+ include Base::Content::Prsubset
42
+ end
43
+ Configuration.register_model(Prsubset, id: :prsubset)
44
+
45
+ class Notsubset < Lutaml::Model::Serializable
46
+ include Base::Content::Notsubset
47
+ end
48
+ Configuration.register_model(Notsubset, id: :notsubset)
49
+
50
+ class Notprsubset < Lutaml::Model::Serializable
51
+ include Base::Content::Notprsubset
52
+ end
53
+ Configuration.register_model(Notprsubset, id: :notprsubset)
54
+
55
+ class Setdiff < Lutaml::Model::Serializable
56
+ include Base::Content::Setdiff
57
+ end
58
+ Configuration.register_model(Setdiff, id: :setdiff)
59
+
60
+ class Card < Lutaml::Model::Serializable
61
+ include Base::Content::Card
62
+ end
63
+ Configuration.register_model(Card, id: :card)
64
+
65
+ class Cartesianproduct < Lutaml::Model::Serializable
66
+ include Base::Content::Cartesianproduct
67
+ end
68
+ Configuration.register_model(Cartesianproduct, id: :cartesianproduct)
69
+ end
70
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class Mean < Lutaml::Model::Serializable
6
+ include Base::Content::Mean
7
+ end
8
+ Configuration.register_model(Mean, id: :mean)
9
+
10
+ class Sdev < Lutaml::Model::Serializable
11
+ include Base::Content::Sdev
12
+ end
13
+ Configuration.register_model(Sdev, id: :sdev)
14
+
15
+ class Variance < Lutaml::Model::Serializable
16
+ include Base::Content::Variance
17
+ end
18
+ Configuration.register_model(Variance, id: :variance)
19
+
20
+ class Median < Lutaml::Model::Serializable
21
+ include Base::Content::Median
22
+ end
23
+ Configuration.register_model(Median, id: :median)
24
+
25
+ class Mode < Lutaml::Model::Serializable
26
+ include Base::Content::Mode
27
+ end
28
+ Configuration.register_model(Mode, id: :mode)
29
+
30
+ class Moment < Lutaml::Model::Serializable
31
+ include Base::Content::Moment
32
+ end
33
+ Configuration.register_model(Moment, id: :moment)
34
+
35
+ class Momentabout < CommonElements
36
+ include Base::Content::Momentabout
37
+ end
38
+ Configuration.register_model(Momentabout, id: :momentabout)
39
+ end
40
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V3
5
+ class Divergence < Lutaml::Model::Serializable
6
+ include Base::Content::Divergence
7
+ end
8
+ Configuration.register_model(Divergence, id: :divergence)
9
+
10
+ class Grad < Lutaml::Model::Serializable
11
+ include Base::Content::Grad
12
+ end
13
+ Configuration.register_model(Grad, id: :grad)
14
+
15
+ class Curl < Lutaml::Model::Serializable
16
+ include Base::Content::Curl
17
+ end
18
+ Configuration.register_model(Curl, id: :curl)
19
+
20
+ class Laplacian < Lutaml::Model::Serializable
21
+ include Base::Content::Laplacian
22
+ end
23
+ Configuration.register_model(Laplacian, id: :laplacian)
24
+ end
25
+ end
data/lib/mml/v3.rb CHANGED
@@ -52,6 +52,31 @@ require_relative "v3/none"
52
52
  require_relative "v3/semantics"
53
53
  require_relative "v3/math"
54
54
 
55
+ # Content elements - must be eagerly loaded for Configuration.register_model
56
+ require_relative "v3/apply"
57
+ require_relative "v3/cbytes"
58
+ require_relative "v3/cerror"
59
+ require_relative "v3/cs"
60
+ require_relative "v3/ci"
61
+ require_relative "v3/cn"
62
+ require_relative "v3/csymbol"
63
+ require_relative "v3/annotation_xml"
64
+ require_relative "v3/annotation"
65
+ require_relative "v3/constructs"
66
+ require_relative "v3/bind"
67
+ require_relative "v3/arith"
68
+ require_relative "v3/logic"
69
+ require_relative "v3/relations"
70
+ require_relative "v3/sets"
71
+ require_relative "v3/calculus"
72
+ require_relative "v3/vector_calculus"
73
+ require_relative "v3/functions"
74
+ require_relative "v3/elementary_functions"
75
+ require_relative "v3/constants"
76
+ require_relative "v3/linear_algebra"
77
+ require_relative "v3/statistics"
78
+ require_relative "v3/deprecated_content"
79
+
55
80
  module Mml
56
81
  module V3
57
82
  extend Mml::VersionedParser
data/lib/mml/v4/a.rb CHANGED
@@ -5,18 +5,19 @@ module Mml
5
5
  class A < CommonElements
6
6
  include Base::V4Attributes
7
7
 
8
- attribute :href, :string
9
8
  attribute :hreflang, :string
9
+ attribute :width, :string
10
+ attribute :height, :string
10
11
 
11
12
  xml do
12
13
  namespace Namespace
13
14
  element "a"
14
15
  mixed_content
15
16
 
16
- map_attribute "href", to: :href
17
17
  map_attribute "hreflang", to: :hreflang
18
+ map_attribute "width", to: :width
19
+ map_attribute "height", to: :height
18
20
  end
19
21
  end
20
- Configuration.register_model(A, id: :a)
21
22
  end
22
23
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Annotation < CommonElements
6
+ include Base::Content::Annotation
7
+ end
8
+ Configuration.register_model(Annotation, id: :annotation)
9
+ end
10
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class AnnotationXml < CommonElements
6
+ include Base::Content::AnnotationXml
7
+ include Base::V4Attributes
8
+
9
+ xml do
10
+ namespace Namespace
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Apply < CommonElements
6
+ include Base::Content::Apply
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Abs < Lutaml::Model::Serializable
6
+ include Base::Content::Abs
7
+ end
8
+
9
+ class Conjugate < Lutaml::Model::Serializable
10
+ include Base::Content::Conjugate
11
+ end
12
+
13
+ class Arg < Lutaml::Model::Serializable
14
+ include Base::Content::Arg
15
+ end
16
+
17
+ class Real < Lutaml::Model::Serializable
18
+ include Base::Content::Real
19
+ end
20
+
21
+ class Imaginary < Lutaml::Model::Serializable
22
+ include Base::Content::Imaginary
23
+ end
24
+
25
+ class Floor < Lutaml::Model::Serializable
26
+ include Base::Content::Floor
27
+ end
28
+
29
+ class Ceiling < Lutaml::Model::Serializable
30
+ include Base::Content::Ceiling
31
+ end
32
+
33
+ class Quotient < Lutaml::Model::Serializable
34
+ include Base::Content::Quotient
35
+ end
36
+
37
+ class Divide < Lutaml::Model::Serializable
38
+ include Base::Content::Divide
39
+ end
40
+
41
+ class Rem < Lutaml::Model::Serializable
42
+ include Base::Content::Rem
43
+ end
44
+
45
+ class Minus < Lutaml::Model::Serializable
46
+ include Base::Content::Minus
47
+ end
48
+
49
+ class Plus < Lutaml::Model::Serializable
50
+ include Base::Content::Plus
51
+ end
52
+
53
+ class Times < Lutaml::Model::Serializable
54
+ include Base::Content::Times
55
+ end
56
+
57
+ class Power < Lutaml::Model::Serializable
58
+ include Base::Content::Power
59
+ end
60
+
61
+ class Root < Lutaml::Model::Serializable
62
+ include Base::Content::Root
63
+ end
64
+
65
+ class Max < Lutaml::Model::Serializable
66
+ include Base::Content::Max
67
+ end
68
+
69
+ class Min < Lutaml::Model::Serializable
70
+ include Base::Content::Min
71
+ end
72
+
73
+ class Gcd < Lutaml::Model::Serializable
74
+ include Base::Content::Gcd
75
+ end
76
+
77
+ class Lcm < Lutaml::Model::Serializable
78
+ include Base::Content::Lcm
79
+ end
80
+
81
+ class Sum < Lutaml::Model::Serializable
82
+ include Base::Content::Sum
83
+ end
84
+
85
+ class Product < Lutaml::Model::Serializable
86
+ include Base::Content::Product
87
+ end
88
+
89
+ class Factorial < Lutaml::Model::Serializable
90
+ include Base::Content::Factorial
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Diff < Lutaml::Model::Serializable
6
+ include Base::Content::Diff
7
+ end
8
+
9
+ class Partialdiff < Lutaml::Model::Serializable
10
+ include Base::Content::Partialdiff
11
+ end
12
+
13
+ class Int < Lutaml::Model::Serializable
14
+ include Base::Content::Int
15
+ end
16
+
17
+ class Lowlimit < Lutaml::Model::Serializable
18
+ include Base::Content::Lowlimit
19
+ end
20
+
21
+ class Uplimit < Lutaml::Model::Serializable
22
+ include Base::Content::Uplimit
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Cbytes < Lutaml::Model::Serializable
6
+ include Base::Content::Cbytes
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Cerror < CommonElements
6
+ include Base::Content::Cerror
7
+ end
8
+ end
9
+ end
data/lib/mml/v4/ci.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Ci < Lutaml::Model::Serializable
6
+ include Base::Content::Ci
7
+ end
8
+ end
9
+ end
data/lib/mml/v4/cn.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V4
5
+ class Cn < Lutaml::Model::Serializable
6
+ include Base::Content::Cn
7
+ end
8
+ end
9
+ end
@@ -3,10 +3,43 @@
3
3
  module Mml
4
4
  module V4
5
5
  class CommonElements < Mml::CommonElements
6
+ def self.lutaml_default_register
7
+ :mml_v4
8
+ end
9
+
6
10
  attribute :a_value, :a, collection: true
11
+ attribute :annotation_xml_value, :"annotation-xml", collection: true
12
+ attribute :annotation_value, :annotation, collection: true
13
+ attribute :cbytes_value, :cbytes, collection: true
14
+ attribute :cerror_value, :cerror, collection: true
15
+ attribute :cs_value, :cs, collection: true
16
+ attribute :declare_value, :declare, collection: true
17
+ attribute :domainofapplication_value, :domainofapplication,
18
+ collection: true
19
+ attribute :factorof_value, :factorof, collection: true
20
+ attribute :fn_value, :fn, collection: true
21
+ attribute :limit_value, :limit, collection: true
22
+ attribute :logbase_value, :logbase, collection: true
23
+ attribute :reln_value, :reln, collection: true
24
+ attribute :share_value, :share, collection: true
25
+ attribute :tendsto_value, :tendsto, collection: true
7
26
 
8
27
  xml do
9
28
  map_element "a", to: :a_value
29
+ map_element "annotation-xml", to: :annotation_xml_value
30
+ map_element "annotation", to: :annotation_value
31
+ map_element "cbytes", to: :cbytes_value
32
+ map_element "cerror", to: :cerror_value
33
+ map_element "cs", to: :cs_value
34
+ map_element "declare", to: :declare_value
35
+ map_element "domainofapplication", to: :domainofapplication_value
36
+ map_element "factorof", to: :factorof_value
37
+ map_element "fn", to: :fn_value
38
+ map_element "limit", to: :limit_value
39
+ map_element "logbase", to: :logbase_value
40
+ map_element "reln", to: :reln_value
41
+ map_element "share", to: :share_value
42
+ map_element "tendsto", to: :tendsto_value
10
43
  end
11
44
  end
12
45
  end