mml 2.3.0 → 2.3.1

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 (337) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +9 -0
  3. data/.rubocop.yml +4 -0
  4. data/.rubocop_todo.yml +30 -21
  5. data/Gemfile +0 -2
  6. data/README.adoc +176 -47
  7. data/Rakefile +16 -1
  8. data/lib/mml/base/content/annotation.rb +30 -0
  9. data/lib/mml/base/content/annotation_xml.rb +31 -0
  10. data/lib/mml/base/content/apply.rb +27 -0
  11. data/lib/mml/base/content/arith.rb +243 -0
  12. data/lib/mml/base/content/bind.rb +27 -0
  13. data/lib/mml/base/content/bvar.rb +20 -0
  14. data/lib/mml/base/content/calculus.rb +103 -0
  15. data/lib/mml/base/content/cbytes.rb +24 -0
  16. data/lib/mml/base/content/cerror.rb +24 -0
  17. data/lib/mml/base/content/ci.rb +77 -0
  18. data/lib/mml/base/content/cn.rb +33 -0
  19. data/lib/mml/base/content/condition.rb +20 -0
  20. data/lib/mml/base/content/constants.rb +173 -0
  21. data/lib/mml/base/content/cs.rb +22 -0
  22. data/lib/mml/base/content/csymbol.rb +79 -0
  23. data/lib/mml/base/content/declare.rb +34 -0
  24. data/lib/mml/base/content/degree.rb +20 -0
  25. data/lib/mml/base/content/elementary_functions.rb +309 -0
  26. data/lib/mml/base/content/fn.rb +25 -0
  27. data/lib/mml/base/content/functions.rb +85 -0
  28. data/lib/mml/base/content/interval.rb +24 -0
  29. data/lib/mml/base/content/inverse.rb +25 -0
  30. data/lib/mml/base/content/lambda.rb +20 -0
  31. data/lib/mml/base/content/linear_algebra.rb +122 -0
  32. data/lib/mml/base/content/logic.rb +93 -0
  33. data/lib/mml/base/content/otherwise.rb +20 -0
  34. data/lib/mml/base/content/piece.rb +20 -0
  35. data/lib/mml/base/content/piecewise.rb +20 -0
  36. data/lib/mml/base/content/relations.rb +113 -0
  37. data/lib/mml/base/content/reln.rb +19 -0
  38. data/lib/mml/base/content/semantics.rb +27 -0
  39. data/lib/mml/base/content/sep.rb +19 -0
  40. data/lib/mml/base/content/sets.rb +163 -0
  41. data/lib/mml/base/content/share.rb +24 -0
  42. data/lib/mml/base/content/statistics.rb +95 -0
  43. data/lib/mml/base/content/vector_calculus.rb +63 -0
  44. data/lib/mml/base/content_loader.rb +195 -0
  45. data/lib/mml/base/maction.rb +1 -0
  46. data/lib/mml/base/math.rb +41 -0
  47. data/lib/mml/base/menclose.rb +1 -1
  48. data/lib/mml/base/mfenced.rb +2 -2
  49. data/lib/mml/base/mfrac.rb +2 -0
  50. data/lib/mml/base/mglyph.rb +2 -0
  51. data/lib/mml/base/mi.rb +7 -2
  52. data/lib/mml/base/mlabeledtr.rb +0 -4
  53. data/lib/mml/base/mn.rb +5 -2
  54. data/lib/mml/base/mo.rb +0 -2
  55. data/lib/mml/base/mrow.rb +0 -2
  56. data/lib/mml/base/ms.rb +2 -4
  57. data/lib/mml/base/mscarries.rb +1 -1
  58. data/lib/mml/base/mstyle.rb +2 -6
  59. data/lib/mml/base/mtable.rb +8 -0
  60. data/lib/mml/base/mtd.rb +6 -0
  61. data/lib/mml/base/mtext.rb +0 -2
  62. data/lib/mml/base/semantics.rb +4 -2
  63. data/lib/mml/base/universal_presentation_attributes.rb +42 -0
  64. data/lib/mml/base/v3_common.rb +16 -0
  65. data/lib/mml/base/v3_presentation_attributes.rb +15 -0
  66. data/lib/mml/base/v4_attributes.rb +4 -18
  67. data/lib/mml/base.rb +10 -0
  68. data/lib/mml/common_elements.rb +334 -0
  69. data/lib/mml/context_configuration.rb +29 -0
  70. data/lib/mml/v2/annotation.rb +9 -0
  71. data/lib/mml/v2/annotation_xml.rb +9 -0
  72. data/lib/mml/v2/apply.rb +9 -0
  73. data/lib/mml/v2/arith.rb +93 -0
  74. data/lib/mml/v2/bind.rb +9 -0
  75. data/lib/mml/v2/bvar.rb +9 -0
  76. data/lib/mml/v2/calculus.rb +33 -0
  77. data/lib/mml/v2/ci.rb +9 -0
  78. data/lib/mml/v2/cn.rb +9 -0
  79. data/lib/mml/v2/common_elements.rb +34 -0
  80. data/lib/mml/v2/condition.rb +9 -0
  81. data/lib/mml/v2/configuration.rb +13 -0
  82. data/lib/mml/v2/constants.rb +65 -0
  83. data/lib/mml/v2/csymbol.rb +9 -0
  84. data/lib/mml/v2/degree.rb +9 -0
  85. data/lib/mml/v2/elementary_functions.rb +121 -0
  86. data/lib/mml/v2/fn.rb +9 -0
  87. data/lib/mml/v2/functions.rb +29 -0
  88. data/lib/mml/v2/interval.rb +9 -0
  89. data/lib/mml/v2/inverse.rb +9 -0
  90. data/lib/mml/v2/lambda.rb +9 -0
  91. data/lib/mml/v2/linear_algebra.rb +41 -0
  92. data/lib/mml/v2/logic.rb +33 -0
  93. data/lib/mml/v2/maction.rb +9 -0
  94. data/lib/mml/v2/maligngroup.rb +9 -0
  95. data/lib/mml/v2/malignmark.rb +9 -0
  96. data/lib/mml/v2/math.rb +11 -0
  97. data/lib/mml/v2/menclose.rb +9 -0
  98. data/lib/mml/v2/merror.rb +9 -0
  99. data/lib/mml/v2/mfenced.rb +9 -0
  100. data/lib/mml/v2/mfrac.rb +9 -0
  101. data/lib/mml/v2/mfraction.rb +9 -0
  102. data/lib/mml/v2/mglyph.rb +9 -0
  103. data/lib/mml/v2/mi.rb +9 -0
  104. data/lib/mml/v2/mlabeledtr.rb +9 -0
  105. data/lib/mml/v2/mlongdiv.rb +9 -0
  106. data/lib/mml/v2/mmultiscripts.rb +9 -0
  107. data/lib/mml/v2/mn.rb +9 -0
  108. data/lib/mml/v2/mo.rb +10 -0
  109. data/lib/mml/v2/mover.rb +9 -0
  110. data/lib/mml/v2/mpadded.rb +9 -0
  111. data/lib/mml/v2/mphantom.rb +9 -0
  112. data/lib/mml/v2/mprescripts.rb +9 -0
  113. data/lib/mml/v2/mroot.rb +9 -0
  114. data/lib/mml/v2/mrow.rb +9 -0
  115. data/lib/mml/v2/ms.rb +9 -0
  116. data/lib/mml/v2/mscarries.rb +9 -0
  117. data/lib/mml/v2/mscarry.rb +9 -0
  118. data/lib/mml/v2/msgroup.rb +9 -0
  119. data/lib/mml/v2/msline.rb +9 -0
  120. data/lib/mml/v2/mspace.rb +9 -0
  121. data/lib/mml/v2/msqrt.rb +9 -0
  122. data/lib/mml/v2/msrow.rb +9 -0
  123. data/lib/mml/v2/mstack.rb +9 -0
  124. data/lib/mml/v2/mstyle.rb +10 -0
  125. data/lib/mml/v2/msub.rb +9 -0
  126. data/lib/mml/v2/msubsup.rb +9 -0
  127. data/lib/mml/v2/msup.rb +9 -0
  128. data/lib/mml/v2/mtable.rb +9 -0
  129. data/lib/mml/v2/mtd.rb +9 -0
  130. data/lib/mml/v2/mtext.rb +9 -0
  131. data/lib/mml/v2/mtr.rb +9 -0
  132. data/lib/mml/v2/munder.rb +9 -0
  133. data/lib/mml/v2/munderover.rb +9 -0
  134. data/lib/mml/v2/namespace.rb +7 -0
  135. data/lib/mml/v2/none.rb +9 -0
  136. data/lib/mml/v2/otherwise.rb +9 -0
  137. data/lib/mml/v2/piece.rb +9 -0
  138. data/lib/mml/v2/piecewise.rb +9 -0
  139. data/lib/mml/v2/relations.rb +41 -0
  140. data/lib/mml/v2/reln.rb +13 -0
  141. data/lib/mml/v2/semantics.rb +9 -0
  142. data/lib/mml/v2/sep.rb +9 -0
  143. data/lib/mml/v2/sets.rb +57 -0
  144. data/lib/mml/v2/statistics.rb +33 -0
  145. data/lib/mml/v2/vector_calculus.rb +21 -0
  146. data/lib/mml/v2.rb +311 -0
  147. data/lib/mml/v3/annotation.rb +10 -0
  148. data/lib/mml/v3/annotation_xml.rb +10 -0
  149. data/lib/mml/v3/apply.rb +10 -0
  150. data/lib/mml/v3/arith.rb +115 -0
  151. data/lib/mml/v3/bind.rb +10 -0
  152. data/lib/mml/v3/calculus.rb +40 -0
  153. data/lib/mml/v3/cbytes.rb +10 -0
  154. data/lib/mml/v3/cerror.rb +10 -0
  155. data/lib/mml/v3/ci.rb +10 -0
  156. data/lib/mml/v3/cn.rb +10 -0
  157. data/lib/mml/v3/common_elements.rb +34 -0
  158. data/lib/mml/v3/constants.rb +80 -0
  159. data/lib/mml/v3/constructs.rb +55 -0
  160. data/lib/mml/v3/cs.rb +10 -0
  161. data/lib/mml/v3/csymbol.rb +10 -0
  162. data/lib/mml/v3/deprecated_content.rb +29 -0
  163. data/lib/mml/v3/elementary_functions.rb +145 -0
  164. data/lib/mml/v3/functions.rb +35 -0
  165. data/lib/mml/v3/linear_algebra.rb +50 -0
  166. data/lib/mml/v3/logic.rb +40 -0
  167. data/lib/mml/v3/maction.rb +1 -1
  168. data/lib/mml/v3/math.rb +7 -1
  169. data/lib/mml/v3/mi.rb +1 -0
  170. data/lib/mml/v3/mn.rb +1 -0
  171. data/lib/mml/v3/mo.rb +1 -0
  172. data/lib/mml/v3/mrow.rb +1 -0
  173. data/lib/mml/v3/ms.rb +1 -0
  174. data/lib/mml/v3/mstyle.rb +1 -0
  175. data/lib/mml/v3/mtext.rb +1 -0
  176. data/lib/mml/v3/relations.rb +50 -0
  177. data/lib/mml/v3/sets.rb +70 -0
  178. data/lib/mml/v3/statistics.rb +40 -0
  179. data/lib/mml/v3/vector_calculus.rb +25 -0
  180. data/lib/mml/v3.rb +25 -0
  181. data/lib/mml/v4/a.rb +0 -1
  182. data/lib/mml/v4/annotation.rb +10 -0
  183. data/lib/mml/v4/annotation_xml.rb +14 -0
  184. data/lib/mml/v4/apply.rb +9 -0
  185. data/lib/mml/v4/arith.rb +93 -0
  186. data/lib/mml/v4/calculus.rb +25 -0
  187. data/lib/mml/v4/cbytes.rb +9 -0
  188. data/lib/mml/v4/cerror.rb +9 -0
  189. data/lib/mml/v4/ci.rb +9 -0
  190. data/lib/mml/v4/cn.rb +9 -0
  191. data/lib/mml/v4/common_elements.rb +33 -0
  192. data/lib/mml/v4/constants.rb +65 -0
  193. data/lib/mml/v4/constructs.rb +49 -0
  194. data/lib/mml/v4/cs.rb +9 -0
  195. data/lib/mml/v4/csymbol.rb +9 -0
  196. data/lib/mml/v4/deprecated_content.rb +25 -0
  197. data/lib/mml/v4/elementary_functions.rb +118 -0
  198. data/lib/mml/v4/factorof.rb +9 -0
  199. data/lib/mml/v4/functions.rb +30 -0
  200. data/lib/mml/v4/limit.rb +9 -0
  201. data/lib/mml/v4/linear_algebra.rb +41 -0
  202. data/lib/mml/v4/logic.rb +33 -0
  203. data/lib/mml/v4/maction.rb +1 -2
  204. data/lib/mml/v4/maligngroup.rb +0 -1
  205. data/lib/mml/v4/malignmark.rb +0 -1
  206. data/lib/mml/v4/math.rb +1 -1
  207. data/lib/mml/v4/menclose.rb +0 -1
  208. data/lib/mml/v4/merror.rb +0 -1
  209. data/lib/mml/v4/mfenced.rb +0 -1
  210. data/lib/mml/v4/mfrac.rb +0 -1
  211. data/lib/mml/v4/mfraction.rb +0 -1
  212. data/lib/mml/v4/mglyph.rb +0 -1
  213. data/lib/mml/v4/mi.rb +1 -1
  214. data/lib/mml/v4/mlabeledtr.rb +0 -1
  215. data/lib/mml/v4/mlongdiv.rb +0 -1
  216. data/lib/mml/v4/mmultiscripts.rb +0 -1
  217. data/lib/mml/v4/mn.rb +1 -1
  218. data/lib/mml/v4/mo.rb +1 -1
  219. data/lib/mml/v4/mover.rb +0 -1
  220. data/lib/mml/v4/mpadded.rb +0 -1
  221. data/lib/mml/v4/mphantom.rb +0 -1
  222. data/lib/mml/v4/mprescripts.rb +0 -1
  223. data/lib/mml/v4/mroot.rb +0 -1
  224. data/lib/mml/v4/mrow.rb +1 -1
  225. data/lib/mml/v4/ms.rb +1 -1
  226. data/lib/mml/v4/mscarries.rb +0 -1
  227. data/lib/mml/v4/mscarry.rb +0 -1
  228. data/lib/mml/v4/msgroup.rb +0 -1
  229. data/lib/mml/v4/msline.rb +0 -1
  230. data/lib/mml/v4/mspace.rb +0 -1
  231. data/lib/mml/v4/msqrt.rb +0 -1
  232. data/lib/mml/v4/msrow.rb +0 -1
  233. data/lib/mml/v4/mstack.rb +0 -1
  234. data/lib/mml/v4/mstyle.rb +1 -1
  235. data/lib/mml/v4/msub.rb +0 -1
  236. data/lib/mml/v4/msubsup.rb +0 -1
  237. data/lib/mml/v4/msup.rb +0 -1
  238. data/lib/mml/v4/mtable.rb +0 -1
  239. data/lib/mml/v4/mtd.rb +0 -1
  240. data/lib/mml/v4/mtext.rb +1 -1
  241. data/lib/mml/v4/mtr.rb +0 -1
  242. data/lib/mml/v4/munder.rb +0 -1
  243. data/lib/mml/v4/munderover.rb +0 -1
  244. data/lib/mml/v4/none.rb +0 -1
  245. data/lib/mml/v4/relations.rb +37 -0
  246. data/lib/mml/v4/semantics.rb +0 -1
  247. data/lib/mml/v4/sets.rb +57 -0
  248. data/lib/mml/v4/statistics.rb +33 -0
  249. data/lib/mml/v4/tendsto.rb +9 -0
  250. data/lib/mml/v4/vector_calculus.rb +21 -0
  251. data/lib/mml/v4.rb +421 -44
  252. data/lib/mml/version.rb +1 -1
  253. data/lib/mml/versioned_parser.rb +1 -1
  254. data/lib/mml.rb +3 -1
  255. data/reference-docs/mathml-source/pubtext/mathmlspec.dtd +150 -0
  256. data/reference-docs/mathml-source/pubtext/xmlspec.dtd +2649 -0
  257. data/reference-docs/mathml-source/readme.txt +40 -0
  258. data/reference-docs/mathml-source/run +296 -0
  259. data/reference-docs/mathml-source/style/html/html2xhtml.xsl +216 -0
  260. data/reference-docs/mathml-source/style/html/images.xsl +98 -0
  261. data/reference-docs/mathml-source/style/html/mml6.xsl +1156 -0
  262. data/reference-docs/mathml-source/style/html/mmldiff.xsl +566 -0
  263. data/reference-docs/mathml-source/style/html/mmlspec.xsl +2531 -0
  264. data/reference-docs/mathml-source/style/html/slices-common.xsl +312 -0
  265. data/reference-docs/mathml-source/style/html/slices.xsl +48 -0
  266. data/reference-docs/mathml-source/style/html/xmlspec.xsl +2542 -0
  267. data/reference-docs/mathml-source/style/pdf/mathmlspec.xsl +2510 -0
  268. data/reference-docs/mathml-source/xml/changes.xml +773 -0
  269. data/reference-docs/mathml-source/xml/character-set.xml +1011 -0
  270. data/reference-docs/mathml-source/xml/content-element-def.xml +6143 -0
  271. data/reference-docs/mathml-source/xml/content-markup.xml +8178 -0
  272. data/reference-docs/mathml-source/xml/contributors.xml +425 -0
  273. data/reference-docs/mathml-source/xml/dom-bindings.xml +20 -0
  274. data/reference-docs/mathml-source/xml/dom-intro.xml +114 -0
  275. data/reference-docs/mathml-source/xml/fundamentals.xml +1646 -0
  276. data/reference-docs/mathml-source/xml/glossary.xml +519 -0
  277. data/reference-docs/mathml-source/xml/interface.xml +1096 -0
  278. data/reference-docs/mathml-source/xml/introduction.xml +724 -0
  279. data/reference-docs/mathml-source/xml/mathml-css-sample.xml +304 -0
  280. data/reference-docs/mathml-source/xml/mathml-dom.xml +3813 -0
  281. data/reference-docs/mathml-source/xml/mathml-spec.xml +356 -0
  282. data/reference-docs/mathml-source/xml/mixing.xml +982 -0
  283. data/reference-docs/mathml-source/xml/operator-dict.xml +551 -0
  284. data/reference-docs/mathml-source/xml/parsing.xml +2565 -0
  285. data/reference-docs/mathml-source/xml/presentation-markup.xml +6834 -0
  286. data/reference-docs/mathml-source/xml/references.xml +323 -0
  287. data/reference-docs/mathml-source/xml/validation-grammar.xml +877 -0
  288. data/schemas/README.adoc +15 -0
  289. data/schemas/mathml2/CVS/Entries +4 -0
  290. data/schemas/mathml2/CVS/Repository +1 -0
  291. data/schemas/mathml2/CVS/Root +1 -0
  292. data/schemas/mathml2/common/CVS/Entries +4 -0
  293. data/schemas/mathml2/common/CVS/Repository +1 -0
  294. data/schemas/mathml2/common/CVS/Root +1 -0
  295. data/schemas/mathml2/common/common-attribs.xsd +41 -0
  296. data/schemas/mathml2/common/math.xsd +126 -0
  297. data/schemas/mathml2/common/xlink-href.xsd +20 -0
  298. data/schemas/mathml2/content/CVS/Entries +16 -0
  299. data/schemas/mathml2/content/CVS/Repository +1 -0
  300. data/schemas/mathml2/content/CVS/Root +1 -0
  301. data/schemas/mathml2/content/arith.xsd +90 -0
  302. data/schemas/mathml2/content/calculus.xsd +146 -0
  303. data/schemas/mathml2/content/common-attrib.xsd +30 -0
  304. data/schemas/mathml2/content/constants.xsd +83 -0
  305. data/schemas/mathml2/content/constructs.xsd +260 -0
  306. data/schemas/mathml2/content/elementary-functions.xsd +117 -0
  307. data/schemas/mathml2/content/functions.xsd +73 -0
  308. data/schemas/mathml2/content/linear-algebra.xsd +173 -0
  309. data/schemas/mathml2/content/logic.xsd +53 -0
  310. data/schemas/mathml2/content/relations.xsd +55 -0
  311. data/schemas/mathml2/content/semantics.xsd +85 -0
  312. data/schemas/mathml2/content/sets.xsd +236 -0
  313. data/schemas/mathml2/content/statistics.xsd +136 -0
  314. data/schemas/mathml2/content/tokens.xsd +120 -0
  315. data/schemas/mathml2/content/tokens.xsd.~1.3.~ +119 -0
  316. data/schemas/mathml2/content/vector-calculus.xsd +88 -0
  317. data/schemas/mathml2/mathml2.xsd +59 -0
  318. data/schemas/mathml2/presentation/CVS/Entries +12 -0
  319. data/schemas/mathml2/presentation/CVS/Repository +1 -0
  320. data/schemas/mathml2/presentation/CVS/Root +1 -0
  321. data/schemas/mathml2/presentation/action.xsd +44 -0
  322. data/schemas/mathml2/presentation/characters.xsd +37 -0
  323. data/schemas/mathml2/presentation/common-attribs.xsd +113 -0
  324. data/schemas/mathml2/presentation/common-types.xsd +103 -0
  325. data/schemas/mathml2/presentation/error.xsd +40 -0
  326. data/schemas/mathml2/presentation/layout.xsd +195 -0
  327. data/schemas/mathml2/presentation/scripts.xsd +186 -0
  328. data/schemas/mathml2/presentation/space.xsd +52 -0
  329. data/schemas/mathml2/presentation/style.xsd +69 -0
  330. data/schemas/mathml2/presentation/table.xsd +216 -0
  331. data/schemas/mathml2/presentation/tokens.xsd +124 -0
  332. data/schemas/mathml3/mathml3-common.xsd +99 -0
  333. data/schemas/mathml3/mathml3-content.xsd +684 -0
  334. data/schemas/mathml3/mathml3-presentation.xsd +2151 -0
  335. data/schemas/mathml3/mathml3-strict-content.xsd +186 -0
  336. data/schemas/mathml3/mathml3.xsd +9 -0
  337. metadata +250 -2
@@ -0,0 +1,173 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Constant base module
7
+ module Constant
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ attribute :definition_url, :string
11
+ attribute :encoding_value, :string
12
+
13
+ xml do
14
+ namespace Mml::Namespace
15
+ map_attribute "definitionURL", to: :definition_url
16
+ map_attribute "encoding", to: :encoding_value
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ module Naturalnumbers
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include Constant
26
+
27
+ xml { element "naturalnumbers" }
28
+ end
29
+ end
30
+ end
31
+
32
+ module Primes
33
+ def self.included(klass)
34
+ klass.class_eval do
35
+ include Constant
36
+
37
+ xml { element "primes" }
38
+ end
39
+ end
40
+ end
41
+
42
+ module Integers
43
+ def self.included(klass)
44
+ klass.class_eval do
45
+ include Constant
46
+
47
+ xml { element "integers" }
48
+ end
49
+ end
50
+ end
51
+
52
+ module Rationals
53
+ def self.included(klass)
54
+ klass.class_eval do
55
+ include Constant
56
+
57
+ xml { element "rationals" }
58
+ end
59
+ end
60
+ end
61
+
62
+ module Reals
63
+ def self.included(klass)
64
+ klass.class_eval do
65
+ include Constant
66
+
67
+ xml { element "reals" }
68
+ end
69
+ end
70
+ end
71
+
72
+ module Complexes
73
+ def self.included(klass)
74
+ klass.class_eval do
75
+ include Constant
76
+
77
+ xml { element "complexes" }
78
+ end
79
+ end
80
+ end
81
+
82
+ module Emptyset
83
+ def self.included(klass)
84
+ klass.class_eval do
85
+ include Constant
86
+
87
+ xml { element "emptyset" }
88
+ end
89
+ end
90
+ end
91
+
92
+ module Exponentiale
93
+ def self.included(klass)
94
+ klass.class_eval do
95
+ include Constant
96
+
97
+ xml { element "exponentiale" }
98
+ end
99
+ end
100
+ end
101
+
102
+ module Imaginaryi
103
+ def self.included(klass)
104
+ klass.class_eval do
105
+ include Constant
106
+
107
+ xml { element "imaginaryi" }
108
+ end
109
+ end
110
+ end
111
+
112
+ module Pi
113
+ def self.included(klass)
114
+ klass.class_eval do
115
+ include Constant
116
+
117
+ xml { element "pi" }
118
+ end
119
+ end
120
+ end
121
+
122
+ module Eulergamma
123
+ def self.included(klass)
124
+ klass.class_eval do
125
+ include Constant
126
+
127
+ xml { element "eulergamma" }
128
+ end
129
+ end
130
+ end
131
+
132
+ module True
133
+ def self.included(klass)
134
+ klass.class_eval do
135
+ include Constant
136
+
137
+ xml { element "true" }
138
+ end
139
+ end
140
+ end
141
+
142
+ module False
143
+ def self.included(klass)
144
+ klass.class_eval do
145
+ include Constant
146
+
147
+ xml { element "false" }
148
+ end
149
+ end
150
+ end
151
+
152
+ module Infinity
153
+ def self.included(klass)
154
+ klass.class_eval do
155
+ include Constant
156
+
157
+ xml { element "infinity" }
158
+ end
159
+ end
160
+ end
161
+
162
+ module Notanumber
163
+ def self.included(klass)
164
+ klass.class_eval do
165
+ include Constant
166
+
167
+ xml { element "notanumber" }
168
+ end
169
+ end
170
+ end
171
+ end
172
+ end
173
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ module Cs
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ attribute :value, :string
10
+
11
+ xml do
12
+ namespace Mml::Namespace
13
+ element "cs"
14
+
15
+ map_content to: :value
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ module Csymbol
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ attribute :type, :string
10
+ attribute :definition_url, :string
11
+ attribute :encoding_value, :string
12
+ attribute :cd, :string
13
+ attribute :value, :string
14
+
15
+ # Presentation elements that can appear inside csymbol
16
+ attribute :msub_value, :msub, collection: true
17
+ attribute :msup_value, :msup, collection: true
18
+ attribute :msubsup_value, :msubsup, collection: true
19
+ attribute :munder_value, :munder, collection: true
20
+ attribute :mover_value, :mover, collection: true
21
+ attribute :munderover_value, :munderover, collection: true
22
+ attribute :mfrac_value, :mfrac, collection: true
23
+ attribute :msqrt_value, :msqrt, collection: true
24
+ attribute :mroot_value, :mroot, collection: true
25
+ attribute :mrow_value, :mrow, collection: true
26
+ attribute :mfenced_value, :mfenced, collection: true
27
+ attribute :menclose_value, :menclose, collection: true
28
+ attribute :mphantom_value, :mphantom, collection: true
29
+ attribute :mpadded_value, :mpadded, collection: true
30
+ attribute :merror_value, :merror, collection: true
31
+ attribute :mtext_value, :mtext, collection: true
32
+ attribute :mspace_value, :mspace, collection: true
33
+ attribute :mi_value, :mi, collection: true
34
+ attribute :mo_value, :mo, collection: true
35
+ attribute :mn_value, :mn, collection: true
36
+ attribute :ms_value, :ms, collection: true
37
+ attribute :none_value, :none, collection: true
38
+
39
+ xml do
40
+ namespace Mml::Namespace
41
+ element "csymbol"
42
+ mixed_content
43
+
44
+ map_content to: :value
45
+ map_attribute "type", to: :type
46
+ map_attribute "definitionURL", to: :definition_url
47
+ map_attribute "encoding", to: :encoding_value
48
+ map_attribute "cd", to: :cd
49
+
50
+ # Presentation elements
51
+ map_element "msub", to: :msub_value
52
+ map_element "msup", to: :msup_value
53
+ map_element "msubsup", to: :msubsup_value
54
+ map_element "munder", to: :munder_value
55
+ map_element "mover", to: :mover_value
56
+ map_element "munderover", to: :munderover_value
57
+ map_element "mfrac", to: :mfrac_value
58
+ map_element "msqrt", to: :msqrt_value
59
+ map_element "mroot", to: :mroot_value
60
+ map_element "mrow", to: :mrow_value
61
+ map_element "mfenced", to: :mfenced_value
62
+ map_element "menclose", to: :menclose_value
63
+ map_element "mphantom", to: :mphantom_value
64
+ map_element "mpadded", to: :mpadded_value
65
+ map_element "merror", to: :merror_value
66
+ map_element "mtext", to: :mtext_value
67
+ map_element "mspace", to: :mspace_value
68
+ map_element "mi", to: :mi_value
69
+ map_element "mo", to: :mo_value
70
+ map_element "mn", to: :mn_value
71
+ map_element "ms", to: :ms_value
72
+ map_element "none", to: :none_value
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # declare makes a symbolic declaration of a mathematical entity.
7
+ module Declare
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ attribute :definition_url, :string
11
+ attribute :encoding_value, :string
12
+ attribute :type, :string
13
+ attribute :scope, :string
14
+ attribute :nargs, :string
15
+ attribute :occurrence, :string
16
+
17
+ xml do
18
+ namespace Mml::Namespace
19
+ element "declare"
20
+ mixed_content
21
+
22
+ map_attribute "definitionURL", to: :definition_url
23
+ map_attribute "encoding", to: :encoding_value
24
+ map_attribute "type", to: :type
25
+ map_attribute "scope", to: :scope
26
+ map_attribute "nargs", to: :nargs
27
+ map_attribute "occurrence", to: :occurrence
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # degree is used to specify the degree for roots and derivatives.
7
+ module Degree
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "degree"
13
+ mixed_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,309 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Elementary functions operator base module
7
+ module ElementaryFunctions
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ attribute :definition_url, :string
11
+ attribute :encoding_value, :string
12
+
13
+ xml do
14
+ namespace Mml::Namespace
15
+ map_attribute "definitionURL", to: :definition_url
16
+ map_attribute "encoding", to: :encoding_value
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ module Exp
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include ElementaryFunctions
26
+
27
+ xml { element "exp" }
28
+ end
29
+ end
30
+ end
31
+
32
+ module Ln
33
+ def self.included(klass)
34
+ klass.class_eval do
35
+ include ElementaryFunctions
36
+
37
+ xml { element "ln" }
38
+ end
39
+ end
40
+ end
41
+
42
+ module Log
43
+ def self.included(klass)
44
+ klass.class_eval do
45
+ include ElementaryFunctions
46
+
47
+ xml { element "log" }
48
+ end
49
+ end
50
+ end
51
+
52
+ module Logbase
53
+ def self.included(klass)
54
+ klass.class_eval do
55
+ xml do
56
+ namespace Mml::Namespace
57
+ element "logbase"
58
+ mixed_content
59
+ end
60
+ end
61
+ end
62
+ end
63
+
64
+ # Trigonometric functions
65
+ module Sin
66
+ def self.included(klass)
67
+ klass.class_eval do
68
+ include ElementaryFunctions
69
+
70
+ xml { element "sin" }
71
+ end
72
+ end
73
+ end
74
+
75
+ module Cos
76
+ def self.included(klass)
77
+ klass.class_eval do
78
+ include ElementaryFunctions
79
+
80
+ xml { element "cos" }
81
+ end
82
+ end
83
+ end
84
+
85
+ module Tan
86
+ def self.included(klass)
87
+ klass.class_eval do
88
+ include ElementaryFunctions
89
+
90
+ xml { element "tan" }
91
+ end
92
+ end
93
+ end
94
+
95
+ module Sec
96
+ def self.included(klass)
97
+ klass.class_eval do
98
+ include ElementaryFunctions
99
+
100
+ xml { element "sec" }
101
+ end
102
+ end
103
+ end
104
+
105
+ module Csc
106
+ def self.included(klass)
107
+ klass.class_eval do
108
+ include ElementaryFunctions
109
+
110
+ xml { element "csc" }
111
+ end
112
+ end
113
+ end
114
+
115
+ module Cot
116
+ def self.included(klass)
117
+ klass.class_eval do
118
+ include ElementaryFunctions
119
+
120
+ xml { element "cot" }
121
+ end
122
+ end
123
+ end
124
+
125
+ # Inverse trigonometric functions
126
+ module Arcsin
127
+ def self.included(klass)
128
+ klass.class_eval do
129
+ include ElementaryFunctions
130
+
131
+ xml { element "arcsin" }
132
+ end
133
+ end
134
+ end
135
+
136
+ module Arccos
137
+ def self.included(klass)
138
+ klass.class_eval do
139
+ include ElementaryFunctions
140
+
141
+ xml { element "arccos" }
142
+ end
143
+ end
144
+ end
145
+
146
+ module Arctan
147
+ def self.included(klass)
148
+ klass.class_eval do
149
+ include ElementaryFunctions
150
+
151
+ xml { element "arctan" }
152
+ end
153
+ end
154
+ end
155
+
156
+ module Arccot
157
+ def self.included(klass)
158
+ klass.class_eval do
159
+ include ElementaryFunctions
160
+
161
+ xml { element "arccot" }
162
+ end
163
+ end
164
+ end
165
+
166
+ module Arccsc
167
+ def self.included(klass)
168
+ klass.class_eval do
169
+ include ElementaryFunctions
170
+
171
+ xml { element "arccsc" }
172
+ end
173
+ end
174
+ end
175
+
176
+ module Arcsec
177
+ def self.included(klass)
178
+ klass.class_eval do
179
+ include ElementaryFunctions
180
+
181
+ xml { element "arcsec" }
182
+ end
183
+ end
184
+ end
185
+
186
+ # Hyperbolic functions
187
+ module Sinh
188
+ def self.included(klass)
189
+ klass.class_eval do
190
+ include ElementaryFunctions
191
+
192
+ xml { element "sinh" }
193
+ end
194
+ end
195
+ end
196
+
197
+ module Cosh
198
+ def self.included(klass)
199
+ klass.class_eval do
200
+ include ElementaryFunctions
201
+
202
+ xml { element "cosh" }
203
+ end
204
+ end
205
+ end
206
+
207
+ module Tanh
208
+ def self.included(klass)
209
+ klass.class_eval do
210
+ include ElementaryFunctions
211
+
212
+ xml { element "tanh" }
213
+ end
214
+ end
215
+ end
216
+
217
+ module Sech
218
+ def self.included(klass)
219
+ klass.class_eval do
220
+ include ElementaryFunctions
221
+
222
+ xml { element "sech" }
223
+ end
224
+ end
225
+ end
226
+
227
+ module Csch
228
+ def self.included(klass)
229
+ klass.class_eval do
230
+ include ElementaryFunctions
231
+
232
+ xml { element "csch" }
233
+ end
234
+ end
235
+ end
236
+
237
+ module Coth
238
+ def self.included(klass)
239
+ klass.class_eval do
240
+ include ElementaryFunctions
241
+
242
+ xml { element "coth" }
243
+ end
244
+ end
245
+ end
246
+
247
+ # Inverse hyperbolic functions
248
+ module Arcsinh
249
+ def self.included(klass)
250
+ klass.class_eval do
251
+ include ElementaryFunctions
252
+
253
+ xml { element "arcsinh" }
254
+ end
255
+ end
256
+ end
257
+
258
+ module Arccosh
259
+ def self.included(klass)
260
+ klass.class_eval do
261
+ include ElementaryFunctions
262
+
263
+ xml { element "arccosh" }
264
+ end
265
+ end
266
+ end
267
+
268
+ module Arctanh
269
+ def self.included(klass)
270
+ klass.class_eval do
271
+ include ElementaryFunctions
272
+
273
+ xml { element "arctanh" }
274
+ end
275
+ end
276
+ end
277
+
278
+ module Arccoth
279
+ def self.included(klass)
280
+ klass.class_eval do
281
+ include ElementaryFunctions
282
+
283
+ xml { element "arccoth" }
284
+ end
285
+ end
286
+ end
287
+
288
+ module Arccsch
289
+ def self.included(klass)
290
+ klass.class_eval do
291
+ include ElementaryFunctions
292
+
293
+ xml { element "arccsch" }
294
+ end
295
+ end
296
+ end
297
+
298
+ module Arcsech
299
+ def self.included(klass)
300
+ klass.class_eval do
301
+ include ElementaryFunctions
302
+
303
+ xml { element "arcsech" }
304
+ end
305
+ end
306
+ end
307
+ end
308
+ end
309
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ module Fn
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ attribute :definition_url, :string
10
+ attribute :encoding_value, :string
11
+
12
+ xml do
13
+ namespace Mml::Namespace
14
+ element "fn"
15
+ mixed_content
16
+
17
+ map_attribute "definitionURL", to: :definition_url
18
+ map_attribute "encoding", to: :encoding_value
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end