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,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mstack < CommonElements
6
+ include Base::Mstack
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mstyle < CommonElements
6
+ include Base::Mstyle
7
+ include Base::DeprecatedFontAttributes
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Msub < CommonElements
6
+ include Base::Msub
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Msubsup < CommonElements
6
+ include Base::Msubsup
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Msup < CommonElements
6
+ include Base::Msup
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mtable < CommonElements
6
+ include Base::Mtable
7
+ end
8
+ end
9
+ end
data/lib/mml/v2/mtd.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mtd < CommonElements
6
+ include Base::Mtd
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mtext < CommonElements
6
+ include Base::Mtext
7
+ end
8
+ end
9
+ end
data/lib/mml/v2/mtr.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mtr < CommonElements
6
+ include Base::Mtr
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Munder < CommonElements
6
+ include Base::Munder
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Munderover < CommonElements
6
+ include Base::Munderover
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ Namespace = "http://www.w3.org/1998/Math/MathML"
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class None < CommonElements
6
+ include Base::None
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Otherwise < CommonElements
6
+ include Base::Content::Otherwise
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Piece < CommonElements
6
+ include Base::Content::Piece
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Piecewise < CommonElements
6
+ include Base::Content::Piecewise
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Eq < Lutaml::Model::Serializable
6
+ include Base::Content::Eq
7
+ end
8
+
9
+ class Neq < Lutaml::Model::Serializable
10
+ include Base::Content::Neq
11
+ end
12
+
13
+ class Leq < Lutaml::Model::Serializable
14
+ include Base::Content::Leq
15
+ end
16
+
17
+ class Lt < Lutaml::Model::Serializable
18
+ include Base::Content::Lt
19
+ end
20
+
21
+ class Geq < Lutaml::Model::Serializable
22
+ include Base::Content::Geq
23
+ end
24
+
25
+ class Gt < Lutaml::Model::Serializable
26
+ include Base::Content::Gt
27
+ end
28
+
29
+ class Equivalent < Lutaml::Model::Serializable
30
+ include Base::Content::Equivalent
31
+ end
32
+
33
+ class Approx < Lutaml::Model::Serializable
34
+ include Base::Content::Approx
35
+ end
36
+
37
+ class Factorof < Lutaml::Model::Serializable
38
+ include Base::Content::Factorof
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Reln < CommonElements
6
+ xml do
7
+ namespace Mml::Namespace
8
+ element "reln"
9
+ mixed_content
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Semantics < CommonElements
6
+ include Base::Semantics
7
+ end
8
+ end
9
+ end
data/lib/mml/v2/sep.rb ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Sep < CommonElements
6
+ include Base::Content::Sep
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Set < CommonElements
6
+ include Base::Content::Set
7
+ end
8
+
9
+ class Mlist < CommonElements
10
+ include Base::Content::List
11
+ end
12
+
13
+ class Union < CommonElements
14
+ include Base::Content::Union
15
+ end
16
+
17
+ class Intersect < CommonElements
18
+ include Base::Content::Intersect
19
+ end
20
+
21
+ class In < CommonElements
22
+ include Base::Content::In
23
+ end
24
+
25
+ class Notin < CommonElements
26
+ include Base::Content::Notin
27
+ end
28
+
29
+ class Subset < CommonElements
30
+ include Base::Content::Subset
31
+ end
32
+
33
+ class Prsubset < CommonElements
34
+ include Base::Content::Prsubset
35
+ end
36
+
37
+ class Notsubset < CommonElements
38
+ include Base::Content::Notsubset
39
+ end
40
+
41
+ class Notprsubset < CommonElements
42
+ include Base::Content::Notprsubset
43
+ end
44
+
45
+ class Setdiff < CommonElements
46
+ include Base::Content::Setdiff
47
+ end
48
+
49
+ class Card < CommonElements
50
+ include Base::Content::Card
51
+ end
52
+
53
+ class Cartesianproduct < CommonElements
54
+ include Base::Content::Cartesianproduct
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Mean < Lutaml::Model::Serializable
6
+ include Base::Content::Mean
7
+ end
8
+
9
+ class Sdev < Lutaml::Model::Serializable
10
+ include Base::Content::Sdev
11
+ end
12
+
13
+ class Variance < Lutaml::Model::Serializable
14
+ include Base::Content::Variance
15
+ end
16
+
17
+ class Median < Lutaml::Model::Serializable
18
+ include Base::Content::Median
19
+ end
20
+
21
+ class Mode < Lutaml::Model::Serializable
22
+ include Base::Content::Mode
23
+ end
24
+
25
+ class Moment < Lutaml::Model::Serializable
26
+ include Base::Content::Moment
27
+ end
28
+
29
+ class Momentabout < CommonElements
30
+ include Base::Content::Momentabout
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module V2
5
+ class Divergence < Lutaml::Model::Serializable
6
+ include Base::Content::Divergence
7
+ end
8
+
9
+ class Grad < Lutaml::Model::Serializable
10
+ include Base::Content::Grad
11
+ end
12
+
13
+ class Curl < Lutaml::Model::Serializable
14
+ include Base::Content::Curl
15
+ end
16
+
17
+ class Laplacian < Lutaml::Model::Serializable
18
+ include Base::Content::Laplacian
19
+ end
20
+ end
21
+ end
data/lib/mml/v2.rb ADDED
@@ -0,0 +1,311 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "lutaml/model"
4
+ require_relative "versioned_parser"
5
+
6
+ Moxml::Config.default_adapter = Mml::DEFAULT_ADAPTER
7
+
8
+ require_relative "v2/configuration"
9
+ require_relative "v2/namespace"
10
+ require_relative "v2/common_elements"
11
+
12
+ # Eagerly load all element files (required for Configuration.register_model)
13
+ require_relative "v2/maction"
14
+ require_relative "v2/maligngroup"
15
+ require_relative "v2/malignmark"
16
+ require_relative "v2/menclose"
17
+ require_relative "v2/merror"
18
+ require_relative "v2/mfenced"
19
+ require_relative "v2/mfrac"
20
+ require_relative "v2/mfraction"
21
+ require_relative "v2/mglyph"
22
+ require_relative "v2/mi"
23
+ require_relative "v2/mlabeledtr"
24
+ require_relative "v2/mlongdiv"
25
+ require_relative "v2/mmultiscripts"
26
+ require_relative "v2/mn"
27
+ require_relative "v2/mo"
28
+ require_relative "v2/mover"
29
+ require_relative "v2/mpadded"
30
+ require_relative "v2/mphantom"
31
+ require_relative "v2/mprescripts"
32
+ require_relative "v2/mroot"
33
+ require_relative "v2/mrow"
34
+ require_relative "v2/ms"
35
+ require_relative "v2/mscarries"
36
+ require_relative "v2/mscarry"
37
+ require_relative "v2/msgroup"
38
+ require_relative "v2/msline"
39
+ require_relative "v2/mspace"
40
+ require_relative "v2/msqrt"
41
+ require_relative "v2/msrow"
42
+ require_relative "v2/mstack"
43
+ require_relative "v2/mstyle"
44
+ require_relative "v2/msub"
45
+ require_relative "v2/msubsup"
46
+ require_relative "v2/msup"
47
+ require_relative "v2/mtable"
48
+ require_relative "v2/mtd"
49
+ require_relative "v2/mtext"
50
+ require_relative "v2/mtr"
51
+ require_relative "v2/munder"
52
+ require_relative "v2/munderover"
53
+ require_relative "v2/none"
54
+ require_relative "v2/semantics"
55
+ require_relative "v2/math"
56
+
57
+ # Content elements - separate files
58
+ require_relative "v2/annotation"
59
+ require_relative "v2/annotation_xml"
60
+ require_relative "v2/apply"
61
+ require_relative "v2/bvar"
62
+ require_relative "v2/bind"
63
+ require_relative "v2/ci"
64
+ require_relative "v2/cn"
65
+ require_relative "v2/condition"
66
+ require_relative "v2/csymbol"
67
+ require_relative "v2/degree"
68
+ require_relative "v2/fn"
69
+ require_relative "v2/interval"
70
+ require_relative "v2/inverse"
71
+ require_relative "v2/lambda"
72
+ require_relative "v2/otherwise"
73
+ require_relative "v2/piece"
74
+ require_relative "v2/piecewise"
75
+ require_relative "v2/reln"
76
+ require_relative "v2/sep"
77
+
78
+ # Content elements - batch files
79
+ require_relative "v2/arith"
80
+ require_relative "v2/calculus"
81
+ require_relative "v2/constants"
82
+ require_relative "v2/elementary_functions"
83
+ require_relative "v2/functions"
84
+ require_relative "v2/linear_algebra"
85
+ require_relative "v2/logic"
86
+ require_relative "v2/relations"
87
+ require_relative "v2/sets"
88
+ require_relative "v2/statistics"
89
+ require_relative "v2/vector_calculus"
90
+
91
+ module Mml
92
+ module V2
93
+ extend Mml::VersionedParser
94
+
95
+ # Presentation element registrations
96
+ Configuration.register_model(Maction, id: :maction)
97
+ Configuration.register_model(Maligngroup, id: :maligngroup)
98
+ Configuration.register_model(Malignmark, id: :malignmark)
99
+ Configuration.register_model(Menclose, id: :menclose)
100
+ Configuration.register_model(Merror, id: :merror)
101
+ Configuration.register_model(Mfenced, id: :mfenced)
102
+ Configuration.register_model(Mfrac, id: :mfrac)
103
+ Configuration.register_model(Mfraction, id: :mfraction)
104
+ Configuration.register_model(Mglyph, id: :mglyph)
105
+ Configuration.register_model(Mi, id: :mi)
106
+ Configuration.register_model(Mlabeledtr, id: :mlabeledtr)
107
+ Configuration.register_model(Mlongdiv, id: :mlongdiv)
108
+ Configuration.register_model(Mmultiscripts, id: :mmultiscripts)
109
+ Configuration.register_model(Mn, id: :mn)
110
+ Configuration.register_model(Mo, id: :mo)
111
+ Configuration.register_model(Mover, id: :mover)
112
+ Configuration.register_model(Mpadded, id: :mpadded)
113
+ Configuration.register_model(Mphantom, id: :mphantom)
114
+ Configuration.register_model(Mprescripts, id: :mprescripts)
115
+ Configuration.register_model(Mroot, id: :mroot)
116
+ Configuration.register_model(Mrow, id: :mrow)
117
+ Configuration.register_model(Ms, id: :ms)
118
+ Configuration.register_model(Mscarries, id: :mscarries)
119
+ Configuration.register_model(Mscarry, id: :mscarry)
120
+ Configuration.register_model(Msgroup, id: :msgroup)
121
+ Configuration.register_model(Msline, id: :msline)
122
+ Configuration.register_model(Mspace, id: :mspace)
123
+ Configuration.register_model(Msqrt, id: :msqrt)
124
+ Configuration.register_model(Msrow, id: :msrow)
125
+ Configuration.register_model(Mstack, id: :mstack)
126
+ Configuration.register_model(Mstyle, id: :mstyle)
127
+ Configuration.register_model(Msub, id: :msub)
128
+ Configuration.register_model(Msubsup, id: :msubsup)
129
+ Configuration.register_model(Msup, id: :msup)
130
+ Configuration.register_model(Mtable, id: :mtable)
131
+ Configuration.register_model(Mtd, id: :mtd)
132
+ Configuration.register_model(Mtext, id: :mtext)
133
+ Configuration.register_model(Mtr, id: :mtr)
134
+ Configuration.register_model(Munder, id: :munder)
135
+ Configuration.register_model(Munderover, id: :munderover)
136
+ Configuration.register_model(None, id: :none)
137
+ Configuration.register_model(Semantics, id: :semantics)
138
+ Configuration.register_model(Math, id: :math)
139
+
140
+ # Content element registrations - separate files
141
+ Configuration.register_model(Annotation, id: :annotation)
142
+ Configuration.register_model(AnnotationXml, id: :"annotation-xml")
143
+ Configuration.register_model(Apply, id: :apply)
144
+ Configuration.register_model(Bvar, id: :bvar)
145
+ Configuration.register_model(Bind, id: :bind)
146
+ Configuration.register_model(Ci, id: :ci)
147
+ Configuration.register_model(Cn, id: :cn)
148
+ Configuration.register_model(Condition, id: :condition)
149
+ Configuration.register_model(Csymbol, id: :csymbol)
150
+ Configuration.register_model(Degree, id: :degree)
151
+ Configuration.register_model(Fn, id: :fn)
152
+ Configuration.register_model(Interval, id: :interval)
153
+ Configuration.register_model(Inverse, id: :inverse)
154
+ Configuration.register_model(Lambda, id: :lambda)
155
+ Configuration.register_model(Otherwise, id: :otherwise)
156
+ Configuration.register_model(Piece, id: :piece)
157
+ Configuration.register_model(Piecewise, id: :piecewise)
158
+ Configuration.register_model(Reln, id: :reln)
159
+ Configuration.register_model(Sep, id: :sep)
160
+
161
+ # Content element registrations - batch files
162
+ # Arith (Abs, Conjugate, Arg, Real, Imaginary, Floor, Ceiling, Quotient, Divide, Rem, Minus, Plus, Times, Power, Root, Max, Min, Gcd, Lcm, Sum, Product, Factorial)
163
+ Configuration.register_model(Abs, id: :abs)
164
+ Configuration.register_model(Conjugate, id: :conjugate)
165
+ Configuration.register_model(Arg, id: :arg)
166
+ Configuration.register_model(Real, id: :real)
167
+ Configuration.register_model(Imaginary, id: :imaginary)
168
+ Configuration.register_model(Floor, id: :floor)
169
+ Configuration.register_model(Ceiling, id: :ceiling)
170
+ Configuration.register_model(Quotient, id: :quotient)
171
+ Configuration.register_model(Divide, id: :divide)
172
+ Configuration.register_model(Rem, id: :rem)
173
+ Configuration.register_model(Minus, id: :minus)
174
+ Configuration.register_model(Plus, id: :plus)
175
+ Configuration.register_model(Times, id: :times)
176
+ Configuration.register_model(Power, id: :power)
177
+ Configuration.register_model(Root, id: :root)
178
+ Configuration.register_model(Max, id: :max)
179
+ Configuration.register_model(Min, id: :min)
180
+ Configuration.register_model(Gcd, id: :gcd)
181
+ Configuration.register_model(Lcm, id: :lcm)
182
+ Configuration.register_model(Sum, id: :sum)
183
+ Configuration.register_model(Product, id: :product)
184
+ Configuration.register_model(Factorial, id: :factorial)
185
+
186
+ # Calculus (Int, Diff, Partialdiff, Limit, Lowlimit, Uplimit, Tendsto)
187
+ Configuration.register_model(Int, id: :int)
188
+ Configuration.register_model(Diff, id: :diff)
189
+ Configuration.register_model(Partialdiff, id: :partialdiff)
190
+ Configuration.register_model(Limit, id: :limit)
191
+ Configuration.register_model(Lowlimit, id: :lowlimit)
192
+ Configuration.register_model(Uplimit, id: :uplimit)
193
+ Configuration.register_model(Tendsto, id: :tendsto)
194
+
195
+ # ElementaryFunctions (Exp, Ln, Log, Logbase, trig, hyperbolic, inverse)
196
+ Configuration.register_model(Exp, id: :exp)
197
+ Configuration.register_model(Ln, id: :ln)
198
+ Configuration.register_model(Log, id: :log)
199
+ Configuration.register_model(Logbase, id: :logbase)
200
+ Configuration.register_model(Sin, id: :sin)
201
+ Configuration.register_model(Cos, id: :cos)
202
+ Configuration.register_model(Tan, id: :tan)
203
+ Configuration.register_model(Sec, id: :sec)
204
+ Configuration.register_model(Csc, id: :csc)
205
+ Configuration.register_model(Cot, id: :cot)
206
+ Configuration.register_model(Arcsin, id: :arcsin)
207
+ Configuration.register_model(Arccos, id: :arccos)
208
+ Configuration.register_model(Arctan, id: :arctan)
209
+ Configuration.register_model(Arccot, id: :arccot)
210
+ Configuration.register_model(Arccsc, id: :arccsc)
211
+ Configuration.register_model(Arcsec, id: :arcsec)
212
+ Configuration.register_model(Sinh, id: :sinh)
213
+ Configuration.register_model(Cosh, id: :cosh)
214
+ Configuration.register_model(Tanh, id: :tanh)
215
+ Configuration.register_model(Sech, id: :sech)
216
+ Configuration.register_model(Csch, id: :csch)
217
+ Configuration.register_model(Coth, id: :coth)
218
+ Configuration.register_model(Arcsinh, id: :arcsinh)
219
+ Configuration.register_model(Arccosh, id: :arccosh)
220
+ Configuration.register_model(Arctanh, id: :arctanh)
221
+ Configuration.register_model(Arccoth, id: :arccoth)
222
+ Configuration.register_model(Arccsch, id: :arccsch)
223
+ Configuration.register_model(Arcsech, id: :arcsech)
224
+
225
+ # Logic (And, Or, Xor, Not, Exists, Forall, Implies)
226
+ Configuration.register_model(And, id: :and)
227
+ Configuration.register_model(Or, id: :or)
228
+ Configuration.register_model(Xor, id: :xor)
229
+ Configuration.register_model(Not, id: :not)
230
+ Configuration.register_model(Exists, id: :exists)
231
+ Configuration.register_model(Forall, id: :forall)
232
+ Configuration.register_model(Implies, id: :implies)
233
+
234
+ # Functions (Compose, Domain, Codomain, Image, Ident, Domainofapplication)
235
+ Configuration.register_model(Compose, id: :compose)
236
+ Configuration.register_model(Domain, id: :domain)
237
+ Configuration.register_model(Codomain, id: :codomain)
238
+ Configuration.register_model(Image, id: :image)
239
+ Configuration.register_model(Ident, id: :ident)
240
+ Configuration.register_model(Domainofapplication, id: :domainofapplication)
241
+
242
+ # Relations (Eq, Neq, Leq, Lt, Geq, Gt, Equivalent, Approx, Factorof)
243
+ Configuration.register_model(Eq, id: :eq)
244
+ Configuration.register_model(Neq, id: :neq)
245
+ Configuration.register_model(Leq, id: :leq)
246
+ Configuration.register_model(Lt, id: :lt)
247
+ Configuration.register_model(Geq, id: :geq)
248
+ Configuration.register_model(Gt, id: :gt)
249
+ Configuration.register_model(Equivalent, id: :equivalent)
250
+ Configuration.register_model(Approx, id: :approx)
251
+ Configuration.register_model(Factorof, id: :factorof)
252
+
253
+ # Sets (Set, Mlist, Union, Intersect, In, Notin, Subset, Prsubset, Notsubset, Notprsubset, Setdiff, Card, Cartesianproduct)
254
+ Configuration.register_model(Set, id: :set)
255
+ Configuration.register_model(Mlist, id: :list)
256
+ Configuration.register_model(Union, id: :union)
257
+ Configuration.register_model(Intersect, id: :intersect)
258
+ Configuration.register_model(In, id: :in)
259
+ Configuration.register_model(Notin, id: :notin)
260
+ Configuration.register_model(Subset, id: :subset)
261
+ Configuration.register_model(Prsubset, id: :prsubset)
262
+ Configuration.register_model(Notsubset, id: :notsubset)
263
+ Configuration.register_model(Notprsubset, id: :notprsubset)
264
+ Configuration.register_model(Setdiff, id: :setdiff)
265
+ Configuration.register_model(Card, id: :card)
266
+ Configuration.register_model(Cartesianproduct, id: :cartesianproduct)
267
+
268
+ # VectorCalculus (Divergence, Grad, Curl, Laplacian)
269
+ Configuration.register_model(Divergence, id: :divergence)
270
+ Configuration.register_model(Grad, id: :grad)
271
+ Configuration.register_model(Curl, id: :curl)
272
+ Configuration.register_model(Laplacian, id: :laplacian)
273
+
274
+ # Constants (Naturalnumbers, Primes, Integers, Rationals, Reals, Complexes, Emptyset, Exponentiale, Imaginaryi, Pi, Eulergamma, Mtrue, Mfalse, Infinity, Notanumber)
275
+ Configuration.register_model(Naturalnumbers, id: :naturalnumbers)
276
+ Configuration.register_model(Primes, id: :primes)
277
+ Configuration.register_model(Integers, id: :integers)
278
+ Configuration.register_model(Rationals, id: :rationals)
279
+ Configuration.register_model(Reals, id: :reals)
280
+ Configuration.register_model(Complexes, id: :complexes)
281
+ Configuration.register_model(Emptyset, id: :emptyset)
282
+ Configuration.register_model(Exponentiale, id: :exponentiale)
283
+ Configuration.register_model(Imaginaryi, id: :imaginaryi)
284
+ Configuration.register_model(Pi, id: :pi)
285
+ Configuration.register_model(Eulergamma, id: :eulergamma)
286
+ Configuration.register_model(Mtrue, id: :true) # rubocop:disable Lint/BooleanSymbol
287
+ Configuration.register_model(Mfalse, id: :false) # rubocop:disable Lint/BooleanSymbol
288
+ Configuration.register_model(Infinity, id: :infinity)
289
+ Configuration.register_model(Notanumber, id: :notanumber)
290
+
291
+ # LinearAlgebra (Vector, Matrix, Matrixrow, Determinant, Transpose, Selector, Vectorproduct, Scalarproduct, Outerproduct)
292
+ Configuration.register_model(Vector, id: :vector)
293
+ Configuration.register_model(Matrix, id: :matrix)
294
+ Configuration.register_model(Matrixrow, id: :matrixrow)
295
+ Configuration.register_model(Determinant, id: :determinant)
296
+ Configuration.register_model(Transpose, id: :transpose)
297
+ Configuration.register_model(Selector, id: :selector)
298
+ Configuration.register_model(Vectorproduct, id: :vectorproduct)
299
+ Configuration.register_model(Scalarproduct, id: :scalarproduct)
300
+ Configuration.register_model(Outerproduct, id: :outerproduct)
301
+
302
+ # Statistics (Mean, Sdev, Variance, Median, Mode, Moment, Momentabout)
303
+ Configuration.register_model(Mean, id: :mean)
304
+ Configuration.register_model(Sdev, id: :sdev)
305
+ Configuration.register_model(Variance, id: :variance)
306
+ Configuration.register_model(Median, id: :median)
307
+ Configuration.register_model(Mode, id: :mode)
308
+ Configuration.register_model(Moment, id: :moment)
309
+ Configuration.register_model(Momentabout, id: :momentabout)
310
+ end
311
+ end