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,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Functions operator base module
7
+ module Functions
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 Compose
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include Functions
26
+
27
+ xml { element "compose" }
28
+ end
29
+ end
30
+ end
31
+
32
+ module Domain
33
+ def self.included(klass)
34
+ klass.class_eval do
35
+ include Functions
36
+
37
+ xml { element "domain" }
38
+ end
39
+ end
40
+ end
41
+
42
+ module Codomain
43
+ def self.included(klass)
44
+ klass.class_eval do
45
+ include Functions
46
+
47
+ xml { element "codomain" }
48
+ end
49
+ end
50
+ end
51
+
52
+ module Image
53
+ def self.included(klass)
54
+ klass.class_eval do
55
+ include Functions
56
+
57
+ xml { element "image" }
58
+ end
59
+ end
60
+ end
61
+
62
+ module Ident
63
+ def self.included(klass)
64
+ klass.class_eval do
65
+ include Functions
66
+
67
+ xml { element "ident" }
68
+ end
69
+ end
70
+ end
71
+
72
+ module Domainofapplication
73
+ def self.included(klass)
74
+ klass.class_eval do
75
+ xml do
76
+ namespace Mml::Namespace
77
+ element "domainofapplication"
78
+ mixed_content
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # interval represents an interval with optional closure type.
7
+ module Interval
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ attribute :closure, :string
11
+
12
+ xml do
13
+ namespace Mml::Namespace
14
+ element "interval"
15
+ mixed_content
16
+
17
+ map_attribute "closure", to: :closure
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # inverse represents the inverse of a function.
7
+ module Inverse
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
+ element "inverse"
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
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # lambda represents a lambda expression for creating anonymous functions.
7
+ module Lambda
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "lambda"
13
+ mixed_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Linear algebra operator base module
7
+ module LinearAlgebra
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 Vector
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include LinearAlgebra
26
+
27
+ xml do
28
+ element "vector"
29
+ mixed_content
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ module Matrix
36
+ def self.included(klass)
37
+ klass.class_eval do
38
+ include LinearAlgebra
39
+
40
+ xml do
41
+ element "matrix"
42
+ mixed_content
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ module Matrixrow
49
+ def self.included(klass)
50
+ klass.class_eval do
51
+ include LinearAlgebra
52
+
53
+ xml do
54
+ element "matrixrow"
55
+ mixed_content
56
+ end
57
+ end
58
+ end
59
+ end
60
+
61
+ module Determinant
62
+ def self.included(klass)
63
+ klass.class_eval do
64
+ include LinearAlgebra
65
+
66
+ xml { element "determinant" }
67
+ end
68
+ end
69
+ end
70
+
71
+ module Transpose
72
+ def self.included(klass)
73
+ klass.class_eval do
74
+ include LinearAlgebra
75
+
76
+ xml { element "transpose" }
77
+ end
78
+ end
79
+ end
80
+
81
+ module Selector
82
+ def self.included(klass)
83
+ klass.class_eval do
84
+ include LinearAlgebra
85
+
86
+ xml { element "selector" }
87
+ end
88
+ end
89
+ end
90
+
91
+ module Vectorproduct
92
+ def self.included(klass)
93
+ klass.class_eval do
94
+ include LinearAlgebra
95
+
96
+ xml { element "vectorproduct" }
97
+ end
98
+ end
99
+ end
100
+
101
+ module Scalarproduct
102
+ def self.included(klass)
103
+ klass.class_eval do
104
+ include LinearAlgebra
105
+
106
+ xml { element "scalarproduct" }
107
+ end
108
+ end
109
+ end
110
+
111
+ module Outerproduct
112
+ def self.included(klass)
113
+ klass.class_eval do
114
+ include LinearAlgebra
115
+
116
+ xml { element "outerproduct" }
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Logic operator base module
7
+ module Logic
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 And
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include Logic
26
+
27
+ xml { element "and" }
28
+ end
29
+ end
30
+ end
31
+
32
+ module Or
33
+ def self.included(klass)
34
+ klass.class_eval do
35
+ include Logic
36
+
37
+ xml { element "or" }
38
+ end
39
+ end
40
+ end
41
+
42
+ module Xor
43
+ def self.included(klass)
44
+ klass.class_eval do
45
+ include Logic
46
+
47
+ xml { element "xor" }
48
+ end
49
+ end
50
+ end
51
+
52
+ module Not
53
+ def self.included(klass)
54
+ klass.class_eval do
55
+ include Logic
56
+
57
+ xml { element "not" }
58
+ end
59
+ end
60
+ end
61
+
62
+ module Exists
63
+ def self.included(klass)
64
+ klass.class_eval do
65
+ include Logic
66
+
67
+ xml { element "exists" }
68
+ end
69
+ end
70
+ end
71
+
72
+ module Forall
73
+ def self.included(klass)
74
+ klass.class_eval do
75
+ include Logic
76
+
77
+ xml { element "forall" }
78
+ end
79
+ end
80
+ end
81
+
82
+ module Implies
83
+ def self.included(klass)
84
+ klass.class_eval do
85
+ include Logic
86
+
87
+ xml { element "implies" }
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # otherwise represents the default case in a piecewise expression.
7
+ module Otherwise
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "otherwise"
13
+ mixed_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # piece represents a case in a piecewise expression.
7
+ module Piece
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "piece"
13
+ mixed_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # piecewise represents a piecewise expression with pieces and an otherwise case.
7
+ module Piecewise
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "piecewise"
13
+ mixed_content
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,113 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # Relation operator base module
7
+ module Relation
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 Eq
23
+ def self.included(klass)
24
+ klass.class_eval do
25
+ include Relation
26
+
27
+ xml { element "eq" }
28
+ end
29
+ end
30
+ end
31
+
32
+ module Neq
33
+ def self.included(klass)
34
+ klass.class_eval do
35
+ include Relation
36
+
37
+ xml { element "neq" }
38
+ end
39
+ end
40
+ end
41
+
42
+ module Leq
43
+ def self.included(klass)
44
+ klass.class_eval do
45
+ include Relation
46
+
47
+ xml { element "leq" }
48
+ end
49
+ end
50
+ end
51
+
52
+ module Lt
53
+ def self.included(klass)
54
+ klass.class_eval do
55
+ include Relation
56
+
57
+ xml { element "lt" }
58
+ end
59
+ end
60
+ end
61
+
62
+ module Geq
63
+ def self.included(klass)
64
+ klass.class_eval do
65
+ include Relation
66
+
67
+ xml { element "geq" }
68
+ end
69
+ end
70
+ end
71
+
72
+ module Gt
73
+ def self.included(klass)
74
+ klass.class_eval do
75
+ include Relation
76
+
77
+ xml { element "gt" }
78
+ end
79
+ end
80
+ end
81
+
82
+ module Equivalent
83
+ def self.included(klass)
84
+ klass.class_eval do
85
+ include Relation
86
+
87
+ xml { element "equivalent" }
88
+ end
89
+ end
90
+ end
91
+
92
+ module Approx
93
+ def self.included(klass)
94
+ klass.class_eval do
95
+ include Relation
96
+
97
+ xml { element "approx" }
98
+ end
99
+ end
100
+ end
101
+
102
+ module Factorof
103
+ def self.included(klass)
104
+ klass.class_eval do
105
+ include Relation
106
+
107
+ xml { element "factorof" }
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ module Reln
7
+ def self.included(klass)
8
+ klass.class_eval do
9
+ xml do
10
+ namespace Mml::Namespace
11
+ element "reln"
12
+ mixed_content
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # The semantics element wraps content with semantic annotations.
7
+ # First child is the annotated content.
8
+ module Semantics
9
+ def self.included(klass)
10
+ klass.class_eval do
11
+ attribute :definition_url, :string
12
+ attribute :semantics_encoding, :string
13
+
14
+ xml do
15
+ namespace Mml::Namespace
16
+ element "semantics"
17
+ mixed_content
18
+
19
+ map_attribute "definitionURL", to: :definition_url
20
+ map_attribute "encoding", to: :semantics_encoding
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mml
4
+ module Base
5
+ module Content
6
+ # sep is used as a separator within cn elements for complex numbers.
7
+ module Sep
8
+ def self.included(klass)
9
+ klass.class_eval do
10
+ xml do
11
+ namespace Mml::Namespace
12
+ element "sep"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end