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.
- checksums.yaml +4 -4
- data/.gitmodules +9 -0
- data/.rubocop.yml +4 -0
- data/.rubocop_todo.yml +30 -21
- data/Gemfile +0 -2
- data/README.adoc +176 -47
- data/Rakefile +16 -1
- data/lib/mml/base/content/annotation.rb +30 -0
- data/lib/mml/base/content/annotation_xml.rb +31 -0
- data/lib/mml/base/content/apply.rb +27 -0
- data/lib/mml/base/content/arith.rb +243 -0
- data/lib/mml/base/content/bind.rb +27 -0
- data/lib/mml/base/content/bvar.rb +20 -0
- data/lib/mml/base/content/calculus.rb +103 -0
- data/lib/mml/base/content/cbytes.rb +24 -0
- data/lib/mml/base/content/cerror.rb +24 -0
- data/lib/mml/base/content/ci.rb +77 -0
- data/lib/mml/base/content/cn.rb +33 -0
- data/lib/mml/base/content/condition.rb +20 -0
- data/lib/mml/base/content/constants.rb +173 -0
- data/lib/mml/base/content/cs.rb +22 -0
- data/lib/mml/base/content/csymbol.rb +79 -0
- data/lib/mml/base/content/declare.rb +34 -0
- data/lib/mml/base/content/degree.rb +20 -0
- data/lib/mml/base/content/elementary_functions.rb +309 -0
- data/lib/mml/base/content/fn.rb +25 -0
- data/lib/mml/base/content/functions.rb +85 -0
- data/lib/mml/base/content/interval.rb +24 -0
- data/lib/mml/base/content/inverse.rb +25 -0
- data/lib/mml/base/content/lambda.rb +20 -0
- data/lib/mml/base/content/linear_algebra.rb +122 -0
- data/lib/mml/base/content/logic.rb +93 -0
- data/lib/mml/base/content/otherwise.rb +20 -0
- data/lib/mml/base/content/piece.rb +20 -0
- data/lib/mml/base/content/piecewise.rb +20 -0
- data/lib/mml/base/content/relations.rb +113 -0
- data/lib/mml/base/content/reln.rb +19 -0
- data/lib/mml/base/content/semantics.rb +27 -0
- data/lib/mml/base/content/sep.rb +19 -0
- data/lib/mml/base/content/sets.rb +163 -0
- data/lib/mml/base/content/share.rb +24 -0
- data/lib/mml/base/content/statistics.rb +95 -0
- data/lib/mml/base/content/vector_calculus.rb +63 -0
- data/lib/mml/base/content_loader.rb +195 -0
- data/lib/mml/base/maction.rb +1 -0
- data/lib/mml/base/math.rb +41 -0
- data/lib/mml/base/menclose.rb +1 -1
- data/lib/mml/base/mfenced.rb +2 -2
- data/lib/mml/base/mfrac.rb +2 -0
- data/lib/mml/base/mglyph.rb +2 -0
- data/lib/mml/base/mi.rb +7 -2
- data/lib/mml/base/mlabeledtr.rb +0 -4
- data/lib/mml/base/mn.rb +5 -2
- data/lib/mml/base/mo.rb +0 -2
- data/lib/mml/base/mrow.rb +0 -2
- data/lib/mml/base/ms.rb +2 -4
- data/lib/mml/base/mscarries.rb +1 -1
- data/lib/mml/base/mstyle.rb +2 -6
- data/lib/mml/base/mtable.rb +8 -0
- data/lib/mml/base/mtd.rb +6 -0
- data/lib/mml/base/mtext.rb +0 -2
- data/lib/mml/base/semantics.rb +4 -2
- data/lib/mml/base/universal_presentation_attributes.rb +42 -0
- data/lib/mml/base/v3_common.rb +16 -0
- data/lib/mml/base/v3_presentation_attributes.rb +15 -0
- data/lib/mml/base/v4_attributes.rb +4 -18
- data/lib/mml/base.rb +10 -0
- data/lib/mml/common_elements.rb +334 -0
- data/lib/mml/context_configuration.rb +29 -0
- data/lib/mml/v2/annotation.rb +9 -0
- data/lib/mml/v2/annotation_xml.rb +9 -0
- data/lib/mml/v2/apply.rb +9 -0
- data/lib/mml/v2/arith.rb +93 -0
- data/lib/mml/v2/bind.rb +9 -0
- data/lib/mml/v2/bvar.rb +9 -0
- data/lib/mml/v2/calculus.rb +33 -0
- data/lib/mml/v2/ci.rb +9 -0
- data/lib/mml/v2/cn.rb +9 -0
- data/lib/mml/v2/common_elements.rb +34 -0
- data/lib/mml/v2/condition.rb +9 -0
- data/lib/mml/v2/configuration.rb +13 -0
- data/lib/mml/v2/constants.rb +65 -0
- data/lib/mml/v2/csymbol.rb +9 -0
- data/lib/mml/v2/degree.rb +9 -0
- data/lib/mml/v2/elementary_functions.rb +121 -0
- data/lib/mml/v2/fn.rb +9 -0
- data/lib/mml/v2/functions.rb +29 -0
- data/lib/mml/v2/interval.rb +9 -0
- data/lib/mml/v2/inverse.rb +9 -0
- data/lib/mml/v2/lambda.rb +9 -0
- data/lib/mml/v2/linear_algebra.rb +41 -0
- data/lib/mml/v2/logic.rb +33 -0
- data/lib/mml/v2/maction.rb +9 -0
- data/lib/mml/v2/maligngroup.rb +9 -0
- data/lib/mml/v2/malignmark.rb +9 -0
- data/lib/mml/v2/math.rb +11 -0
- data/lib/mml/v2/menclose.rb +9 -0
- data/lib/mml/v2/merror.rb +9 -0
- data/lib/mml/v2/mfenced.rb +9 -0
- data/lib/mml/v2/mfrac.rb +9 -0
- data/lib/mml/v2/mfraction.rb +9 -0
- data/lib/mml/v2/mglyph.rb +9 -0
- data/lib/mml/v2/mi.rb +9 -0
- data/lib/mml/v2/mlabeledtr.rb +9 -0
- data/lib/mml/v2/mlongdiv.rb +9 -0
- data/lib/mml/v2/mmultiscripts.rb +9 -0
- data/lib/mml/v2/mn.rb +9 -0
- data/lib/mml/v2/mo.rb +10 -0
- data/lib/mml/v2/mover.rb +9 -0
- data/lib/mml/v2/mpadded.rb +9 -0
- data/lib/mml/v2/mphantom.rb +9 -0
- data/lib/mml/v2/mprescripts.rb +9 -0
- data/lib/mml/v2/mroot.rb +9 -0
- data/lib/mml/v2/mrow.rb +9 -0
- data/lib/mml/v2/ms.rb +9 -0
- data/lib/mml/v2/mscarries.rb +9 -0
- data/lib/mml/v2/mscarry.rb +9 -0
- data/lib/mml/v2/msgroup.rb +9 -0
- data/lib/mml/v2/msline.rb +9 -0
- data/lib/mml/v2/mspace.rb +9 -0
- data/lib/mml/v2/msqrt.rb +9 -0
- data/lib/mml/v2/msrow.rb +9 -0
- data/lib/mml/v2/mstack.rb +9 -0
- data/lib/mml/v2/mstyle.rb +10 -0
- data/lib/mml/v2/msub.rb +9 -0
- data/lib/mml/v2/msubsup.rb +9 -0
- data/lib/mml/v2/msup.rb +9 -0
- data/lib/mml/v2/mtable.rb +9 -0
- data/lib/mml/v2/mtd.rb +9 -0
- data/lib/mml/v2/mtext.rb +9 -0
- data/lib/mml/v2/mtr.rb +9 -0
- data/lib/mml/v2/munder.rb +9 -0
- data/lib/mml/v2/munderover.rb +9 -0
- data/lib/mml/v2/namespace.rb +7 -0
- data/lib/mml/v2/none.rb +9 -0
- data/lib/mml/v2/otherwise.rb +9 -0
- data/lib/mml/v2/piece.rb +9 -0
- data/lib/mml/v2/piecewise.rb +9 -0
- data/lib/mml/v2/relations.rb +41 -0
- data/lib/mml/v2/reln.rb +13 -0
- data/lib/mml/v2/semantics.rb +9 -0
- data/lib/mml/v2/sep.rb +9 -0
- data/lib/mml/v2/sets.rb +57 -0
- data/lib/mml/v2/statistics.rb +33 -0
- data/lib/mml/v2/vector_calculus.rb +21 -0
- data/lib/mml/v2.rb +311 -0
- data/lib/mml/v3/annotation.rb +10 -0
- data/lib/mml/v3/annotation_xml.rb +10 -0
- data/lib/mml/v3/apply.rb +10 -0
- data/lib/mml/v3/arith.rb +115 -0
- data/lib/mml/v3/bind.rb +10 -0
- data/lib/mml/v3/calculus.rb +40 -0
- data/lib/mml/v3/cbytes.rb +10 -0
- data/lib/mml/v3/cerror.rb +10 -0
- data/lib/mml/v3/ci.rb +10 -0
- data/lib/mml/v3/cn.rb +10 -0
- data/lib/mml/v3/common_elements.rb +34 -0
- data/lib/mml/v3/constants.rb +80 -0
- data/lib/mml/v3/constructs.rb +55 -0
- data/lib/mml/v3/cs.rb +10 -0
- data/lib/mml/v3/csymbol.rb +10 -0
- data/lib/mml/v3/deprecated_content.rb +29 -0
- data/lib/mml/v3/elementary_functions.rb +145 -0
- data/lib/mml/v3/functions.rb +35 -0
- data/lib/mml/v3/linear_algebra.rb +50 -0
- data/lib/mml/v3/logic.rb +40 -0
- data/lib/mml/v3/maction.rb +1 -1
- data/lib/mml/v3/math.rb +7 -1
- data/lib/mml/v3/mi.rb +1 -0
- data/lib/mml/v3/mn.rb +1 -0
- data/lib/mml/v3/mo.rb +1 -0
- data/lib/mml/v3/mrow.rb +1 -0
- data/lib/mml/v3/ms.rb +1 -0
- data/lib/mml/v3/mstyle.rb +1 -0
- data/lib/mml/v3/mtext.rb +1 -0
- data/lib/mml/v3/relations.rb +50 -0
- data/lib/mml/v3/sets.rb +70 -0
- data/lib/mml/v3/statistics.rb +40 -0
- data/lib/mml/v3/vector_calculus.rb +25 -0
- data/lib/mml/v3.rb +25 -0
- data/lib/mml/v4/a.rb +0 -1
- data/lib/mml/v4/annotation.rb +10 -0
- data/lib/mml/v4/annotation_xml.rb +14 -0
- data/lib/mml/v4/apply.rb +9 -0
- data/lib/mml/v4/arith.rb +93 -0
- data/lib/mml/v4/calculus.rb +25 -0
- data/lib/mml/v4/cbytes.rb +9 -0
- data/lib/mml/v4/cerror.rb +9 -0
- data/lib/mml/v4/ci.rb +9 -0
- data/lib/mml/v4/cn.rb +9 -0
- data/lib/mml/v4/common_elements.rb +33 -0
- data/lib/mml/v4/constants.rb +65 -0
- data/lib/mml/v4/constructs.rb +49 -0
- data/lib/mml/v4/cs.rb +9 -0
- data/lib/mml/v4/csymbol.rb +9 -0
- data/lib/mml/v4/deprecated_content.rb +25 -0
- data/lib/mml/v4/elementary_functions.rb +118 -0
- data/lib/mml/v4/factorof.rb +9 -0
- data/lib/mml/v4/functions.rb +30 -0
- data/lib/mml/v4/limit.rb +9 -0
- data/lib/mml/v4/linear_algebra.rb +41 -0
- data/lib/mml/v4/logic.rb +33 -0
- data/lib/mml/v4/maction.rb +1 -2
- data/lib/mml/v4/maligngroup.rb +0 -1
- data/lib/mml/v4/malignmark.rb +0 -1
- data/lib/mml/v4/math.rb +1 -1
- data/lib/mml/v4/menclose.rb +0 -1
- data/lib/mml/v4/merror.rb +0 -1
- data/lib/mml/v4/mfenced.rb +0 -1
- data/lib/mml/v4/mfrac.rb +0 -1
- data/lib/mml/v4/mfraction.rb +0 -1
- data/lib/mml/v4/mglyph.rb +0 -1
- data/lib/mml/v4/mi.rb +1 -1
- data/lib/mml/v4/mlabeledtr.rb +0 -1
- data/lib/mml/v4/mlongdiv.rb +0 -1
- data/lib/mml/v4/mmultiscripts.rb +0 -1
- data/lib/mml/v4/mn.rb +1 -1
- data/lib/mml/v4/mo.rb +1 -1
- data/lib/mml/v4/mover.rb +0 -1
- data/lib/mml/v4/mpadded.rb +0 -1
- data/lib/mml/v4/mphantom.rb +0 -1
- data/lib/mml/v4/mprescripts.rb +0 -1
- data/lib/mml/v4/mroot.rb +0 -1
- data/lib/mml/v4/mrow.rb +1 -1
- data/lib/mml/v4/ms.rb +1 -1
- data/lib/mml/v4/mscarries.rb +0 -1
- data/lib/mml/v4/mscarry.rb +0 -1
- data/lib/mml/v4/msgroup.rb +0 -1
- data/lib/mml/v4/msline.rb +0 -1
- data/lib/mml/v4/mspace.rb +0 -1
- data/lib/mml/v4/msqrt.rb +0 -1
- data/lib/mml/v4/msrow.rb +0 -1
- data/lib/mml/v4/mstack.rb +0 -1
- data/lib/mml/v4/mstyle.rb +1 -1
- data/lib/mml/v4/msub.rb +0 -1
- data/lib/mml/v4/msubsup.rb +0 -1
- data/lib/mml/v4/msup.rb +0 -1
- data/lib/mml/v4/mtable.rb +0 -1
- data/lib/mml/v4/mtd.rb +0 -1
- data/lib/mml/v4/mtext.rb +1 -1
- data/lib/mml/v4/mtr.rb +0 -1
- data/lib/mml/v4/munder.rb +0 -1
- data/lib/mml/v4/munderover.rb +0 -1
- data/lib/mml/v4/none.rb +0 -1
- data/lib/mml/v4/relations.rb +37 -0
- data/lib/mml/v4/semantics.rb +0 -1
- data/lib/mml/v4/sets.rb +57 -0
- data/lib/mml/v4/statistics.rb +33 -0
- data/lib/mml/v4/tendsto.rb +9 -0
- data/lib/mml/v4/vector_calculus.rb +21 -0
- data/lib/mml/v4.rb +421 -44
- data/lib/mml/version.rb +1 -1
- data/lib/mml/versioned_parser.rb +1 -1
- data/lib/mml.rb +3 -1
- data/reference-docs/mathml-source/pubtext/mathmlspec.dtd +150 -0
- data/reference-docs/mathml-source/pubtext/xmlspec.dtd +2649 -0
- data/reference-docs/mathml-source/readme.txt +40 -0
- data/reference-docs/mathml-source/run +296 -0
- data/reference-docs/mathml-source/style/html/html2xhtml.xsl +216 -0
- data/reference-docs/mathml-source/style/html/images.xsl +98 -0
- data/reference-docs/mathml-source/style/html/mml6.xsl +1156 -0
- data/reference-docs/mathml-source/style/html/mmldiff.xsl +566 -0
- data/reference-docs/mathml-source/style/html/mmlspec.xsl +2531 -0
- data/reference-docs/mathml-source/style/html/slices-common.xsl +312 -0
- data/reference-docs/mathml-source/style/html/slices.xsl +48 -0
- data/reference-docs/mathml-source/style/html/xmlspec.xsl +2542 -0
- data/reference-docs/mathml-source/style/pdf/mathmlspec.xsl +2510 -0
- data/reference-docs/mathml-source/xml/changes.xml +773 -0
- data/reference-docs/mathml-source/xml/character-set.xml +1011 -0
- data/reference-docs/mathml-source/xml/content-element-def.xml +6143 -0
- data/reference-docs/mathml-source/xml/content-markup.xml +8178 -0
- data/reference-docs/mathml-source/xml/contributors.xml +425 -0
- data/reference-docs/mathml-source/xml/dom-bindings.xml +20 -0
- data/reference-docs/mathml-source/xml/dom-intro.xml +114 -0
- data/reference-docs/mathml-source/xml/fundamentals.xml +1646 -0
- data/reference-docs/mathml-source/xml/glossary.xml +519 -0
- data/reference-docs/mathml-source/xml/interface.xml +1096 -0
- data/reference-docs/mathml-source/xml/introduction.xml +724 -0
- data/reference-docs/mathml-source/xml/mathml-css-sample.xml +304 -0
- data/reference-docs/mathml-source/xml/mathml-dom.xml +3813 -0
- data/reference-docs/mathml-source/xml/mathml-spec.xml +356 -0
- data/reference-docs/mathml-source/xml/mixing.xml +982 -0
- data/reference-docs/mathml-source/xml/operator-dict.xml +551 -0
- data/reference-docs/mathml-source/xml/parsing.xml +2565 -0
- data/reference-docs/mathml-source/xml/presentation-markup.xml +6834 -0
- data/reference-docs/mathml-source/xml/references.xml +323 -0
- data/reference-docs/mathml-source/xml/validation-grammar.xml +877 -0
- data/schemas/README.adoc +15 -0
- data/schemas/mathml2/CVS/Entries +4 -0
- data/schemas/mathml2/CVS/Repository +1 -0
- data/schemas/mathml2/CVS/Root +1 -0
- data/schemas/mathml2/common/CVS/Entries +4 -0
- data/schemas/mathml2/common/CVS/Repository +1 -0
- data/schemas/mathml2/common/CVS/Root +1 -0
- data/schemas/mathml2/common/common-attribs.xsd +41 -0
- data/schemas/mathml2/common/math.xsd +126 -0
- data/schemas/mathml2/common/xlink-href.xsd +20 -0
- data/schemas/mathml2/content/CVS/Entries +16 -0
- data/schemas/mathml2/content/CVS/Repository +1 -0
- data/schemas/mathml2/content/CVS/Root +1 -0
- data/schemas/mathml2/content/arith.xsd +90 -0
- data/schemas/mathml2/content/calculus.xsd +146 -0
- data/schemas/mathml2/content/common-attrib.xsd +30 -0
- data/schemas/mathml2/content/constants.xsd +83 -0
- data/schemas/mathml2/content/constructs.xsd +260 -0
- data/schemas/mathml2/content/elementary-functions.xsd +117 -0
- data/schemas/mathml2/content/functions.xsd +73 -0
- data/schemas/mathml2/content/linear-algebra.xsd +173 -0
- data/schemas/mathml2/content/logic.xsd +53 -0
- data/schemas/mathml2/content/relations.xsd +55 -0
- data/schemas/mathml2/content/semantics.xsd +85 -0
- data/schemas/mathml2/content/sets.xsd +236 -0
- data/schemas/mathml2/content/statistics.xsd +136 -0
- data/schemas/mathml2/content/tokens.xsd +120 -0
- data/schemas/mathml2/content/tokens.xsd.~1.3.~ +119 -0
- data/schemas/mathml2/content/vector-calculus.xsd +88 -0
- data/schemas/mathml2/mathml2.xsd +59 -0
- data/schemas/mathml2/presentation/CVS/Entries +12 -0
- data/schemas/mathml2/presentation/CVS/Repository +1 -0
- data/schemas/mathml2/presentation/CVS/Root +1 -0
- data/schemas/mathml2/presentation/action.xsd +44 -0
- data/schemas/mathml2/presentation/characters.xsd +37 -0
- data/schemas/mathml2/presentation/common-attribs.xsd +113 -0
- data/schemas/mathml2/presentation/common-types.xsd +103 -0
- data/schemas/mathml2/presentation/error.xsd +40 -0
- data/schemas/mathml2/presentation/layout.xsd +195 -0
- data/schemas/mathml2/presentation/scripts.xsd +186 -0
- data/schemas/mathml2/presentation/space.xsd +52 -0
- data/schemas/mathml2/presentation/style.xsd +69 -0
- data/schemas/mathml2/presentation/table.xsd +216 -0
- data/schemas/mathml2/presentation/tokens.xsd +124 -0
- data/schemas/mathml3/mathml3-common.xsd +99 -0
- data/schemas/mathml3/mathml3-content.xsd +684 -0
- data/schemas/mathml3/mathml3-presentation.xsd +2151 -0
- data/schemas/mathml3/mathml3-strict-content.xsd +186 -0
- data/schemas/mathml3/mathml3.xsd +9 -0
- metadata +250 -2
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# Arithmetic operator base module
|
|
7
|
+
module Arith
|
|
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 Abs
|
|
23
|
+
def self.included(klass)
|
|
24
|
+
klass.class_eval do
|
|
25
|
+
include Arith
|
|
26
|
+
|
|
27
|
+
xml { element "abs" }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
module Conjugate
|
|
33
|
+
def self.included(klass)
|
|
34
|
+
klass.class_eval do
|
|
35
|
+
include Arith
|
|
36
|
+
|
|
37
|
+
xml { element "conjugate" }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
module Arg
|
|
43
|
+
def self.included(klass)
|
|
44
|
+
klass.class_eval do
|
|
45
|
+
include Arith
|
|
46
|
+
|
|
47
|
+
xml { element "arg" }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
module Real
|
|
53
|
+
def self.included(klass)
|
|
54
|
+
klass.class_eval do
|
|
55
|
+
include Arith
|
|
56
|
+
|
|
57
|
+
xml { element "real" }
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
module Imaginary
|
|
63
|
+
def self.included(klass)
|
|
64
|
+
klass.class_eval do
|
|
65
|
+
include Arith
|
|
66
|
+
|
|
67
|
+
xml { element "imaginary" }
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
module Floor
|
|
73
|
+
def self.included(klass)
|
|
74
|
+
klass.class_eval do
|
|
75
|
+
include Arith
|
|
76
|
+
|
|
77
|
+
xml { element "floor" }
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
module Ceiling
|
|
83
|
+
def self.included(klass)
|
|
84
|
+
klass.class_eval do
|
|
85
|
+
include Arith
|
|
86
|
+
|
|
87
|
+
xml { element "ceiling" }
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
module Quotient
|
|
93
|
+
def self.included(klass)
|
|
94
|
+
klass.class_eval do
|
|
95
|
+
include Arith
|
|
96
|
+
|
|
97
|
+
xml { element "quotient" }
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
module Divide
|
|
103
|
+
def self.included(klass)
|
|
104
|
+
klass.class_eval do
|
|
105
|
+
include Arith
|
|
106
|
+
|
|
107
|
+
xml { element "divide" }
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
module Rem
|
|
113
|
+
def self.included(klass)
|
|
114
|
+
klass.class_eval do
|
|
115
|
+
include Arith
|
|
116
|
+
|
|
117
|
+
xml { element "rem" }
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
module Minus
|
|
123
|
+
def self.included(klass)
|
|
124
|
+
klass.class_eval do
|
|
125
|
+
include Arith
|
|
126
|
+
|
|
127
|
+
xml { element "minus" }
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
module Plus
|
|
133
|
+
def self.included(klass)
|
|
134
|
+
klass.class_eval do
|
|
135
|
+
include Arith
|
|
136
|
+
|
|
137
|
+
xml { element "plus" }
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
module Times
|
|
143
|
+
def self.included(klass)
|
|
144
|
+
klass.class_eval do
|
|
145
|
+
include Arith
|
|
146
|
+
|
|
147
|
+
xml { element "times" }
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
module Power
|
|
153
|
+
def self.included(klass)
|
|
154
|
+
klass.class_eval do
|
|
155
|
+
include Arith
|
|
156
|
+
|
|
157
|
+
xml { element "power" }
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
module Root
|
|
163
|
+
def self.included(klass)
|
|
164
|
+
klass.class_eval do
|
|
165
|
+
include Arith
|
|
166
|
+
|
|
167
|
+
xml { element "root" }
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
module Max
|
|
173
|
+
def self.included(klass)
|
|
174
|
+
klass.class_eval do
|
|
175
|
+
include Arith
|
|
176
|
+
|
|
177
|
+
xml { element "max" }
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
module Min
|
|
183
|
+
def self.included(klass)
|
|
184
|
+
klass.class_eval do
|
|
185
|
+
include Arith
|
|
186
|
+
|
|
187
|
+
xml { element "min" }
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
module Gcd
|
|
193
|
+
def self.included(klass)
|
|
194
|
+
klass.class_eval do
|
|
195
|
+
include Arith
|
|
196
|
+
|
|
197
|
+
xml { element "gcd" }
|
|
198
|
+
end
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
module Lcm
|
|
203
|
+
def self.included(klass)
|
|
204
|
+
klass.class_eval do
|
|
205
|
+
include Arith
|
|
206
|
+
|
|
207
|
+
xml { element "lcm" }
|
|
208
|
+
end
|
|
209
|
+
end
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
module Sum
|
|
213
|
+
def self.included(klass)
|
|
214
|
+
klass.class_eval do
|
|
215
|
+
include Arith
|
|
216
|
+
|
|
217
|
+
xml { element "sum" }
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
module Product
|
|
223
|
+
def self.included(klass)
|
|
224
|
+
klass.class_eval do
|
|
225
|
+
include Arith
|
|
226
|
+
|
|
227
|
+
xml { element "product" }
|
|
228
|
+
end
|
|
229
|
+
end
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
module Factorial
|
|
233
|
+
def self.included(klass)
|
|
234
|
+
klass.class_eval do
|
|
235
|
+
include Arith
|
|
236
|
+
|
|
237
|
+
xml { element "factorial" }
|
|
238
|
+
end
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# bind represents a binding expression (for v3+).
|
|
7
|
+
# Unlike apply, bind explicitly marks the scope of bound variables.
|
|
8
|
+
module Bind
|
|
9
|
+
def self.included(klass)
|
|
10
|
+
klass.class_eval do
|
|
11
|
+
attribute :definition_url, :string
|
|
12
|
+
attribute :encoding_value, :string
|
|
13
|
+
|
|
14
|
+
xml do
|
|
15
|
+
namespace Mml::Namespace
|
|
16
|
+
element "bind"
|
|
17
|
+
mixed_content
|
|
18
|
+
|
|
19
|
+
map_attribute "definitionURL", to: :definition_url
|
|
20
|
+
map_attribute "encoding", to: :encoding_value
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# bvar represents a bound variable in a binding expression.
|
|
7
|
+
module Bvar
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
xml do
|
|
11
|
+
namespace Mml::Namespace
|
|
12
|
+
element "bvar"
|
|
13
|
+
mixed_content
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# Calculus operator base module
|
|
7
|
+
module Calculus
|
|
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 Int
|
|
23
|
+
def self.included(klass)
|
|
24
|
+
klass.class_eval do
|
|
25
|
+
include Calculus
|
|
26
|
+
|
|
27
|
+
xml { element "int" }
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
module Diff
|
|
33
|
+
def self.included(klass)
|
|
34
|
+
klass.class_eval do
|
|
35
|
+
include Calculus
|
|
36
|
+
|
|
37
|
+
xml { element "diff" }
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
module Partialdiff
|
|
43
|
+
def self.included(klass)
|
|
44
|
+
klass.class_eval do
|
|
45
|
+
include Calculus
|
|
46
|
+
|
|
47
|
+
xml { element "partialdiff" }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
module Limit
|
|
53
|
+
def self.included(klass)
|
|
54
|
+
klass.class_eval do
|
|
55
|
+
include Calculus
|
|
56
|
+
|
|
57
|
+
xml do
|
|
58
|
+
namespace Mml::Namespace
|
|
59
|
+
element "limit"
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
module Lowlimit
|
|
66
|
+
def self.included(klass)
|
|
67
|
+
klass.class_eval do
|
|
68
|
+
xml do
|
|
69
|
+
namespace Mml::Namespace
|
|
70
|
+
element "lowlimit"
|
|
71
|
+
mixed_content
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
module Uplimit
|
|
78
|
+
def self.included(klass)
|
|
79
|
+
klass.class_eval do
|
|
80
|
+
xml do
|
|
81
|
+
namespace Mml::Namespace
|
|
82
|
+
element "uplimit"
|
|
83
|
+
mixed_content
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
module Tendsto
|
|
90
|
+
def self.included(klass)
|
|
91
|
+
klass.class_eval do
|
|
92
|
+
attribute :type, :string
|
|
93
|
+
xml do
|
|
94
|
+
namespace Mml::Namespace
|
|
95
|
+
element "tendsto"
|
|
96
|
+
map_attribute "type", to: :type
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
module Cbytes
|
|
7
|
+
def self.included(klass)
|
|
8
|
+
klass.class_eval do
|
|
9
|
+
attribute :encoding_value, :string
|
|
10
|
+
attribute :value, :string
|
|
11
|
+
|
|
12
|
+
xml do
|
|
13
|
+
namespace Mml::Namespace
|
|
14
|
+
element "cbytes"
|
|
15
|
+
|
|
16
|
+
map_content to: :value
|
|
17
|
+
map_attribute "encoding", to: :encoding_value
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# Cerror content element - error marker containing a csymbol and optional content
|
|
7
|
+
# Used to signal semantic errors in content markup
|
|
8
|
+
module Cerror
|
|
9
|
+
def self.included(klass)
|
|
10
|
+
klass.class_eval do
|
|
11
|
+
attribute :csymbol_value, :csymbol, collection: true
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
namespace Mml::Namespace
|
|
15
|
+
element "cerror"
|
|
16
|
+
mixed_content
|
|
17
|
+
map_element "csymbol", to: :csymbol_value
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
module Ci
|
|
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 :value, :string
|
|
13
|
+
|
|
14
|
+
# Presentation elements that can appear inside ci
|
|
15
|
+
attribute :msub_value, :msub, collection: true
|
|
16
|
+
attribute :msup_value, :msup, collection: true
|
|
17
|
+
attribute :msubsup_value, :msubsup, collection: true
|
|
18
|
+
attribute :munder_value, :munder, collection: true
|
|
19
|
+
attribute :mover_value, :mover, collection: true
|
|
20
|
+
attribute :munderover_value, :munderover, collection: true
|
|
21
|
+
attribute :mfrac_value, :mfrac, collection: true
|
|
22
|
+
attribute :msqrt_value, :msqrt, collection: true
|
|
23
|
+
attribute :mroot_value, :mroot, collection: true
|
|
24
|
+
attribute :mrow_value, :mrow, collection: true
|
|
25
|
+
attribute :mfenced_value, :mfenced, collection: true
|
|
26
|
+
attribute :menclose_value, :menclose, collection: true
|
|
27
|
+
attribute :mphantom_value, :mphantom, collection: true
|
|
28
|
+
attribute :mpadded_value, :mpadded, collection: true
|
|
29
|
+
attribute :merror_value, :merror, collection: true
|
|
30
|
+
attribute :mtext_value, :mtext, collection: true
|
|
31
|
+
attribute :mspace_value, :mspace, collection: true
|
|
32
|
+
attribute :mi_value, :mi, collection: true
|
|
33
|
+
attribute :mo_value, :mo, collection: true
|
|
34
|
+
attribute :mn_value, :mn, collection: true
|
|
35
|
+
attribute :ms_value, :ms, collection: true
|
|
36
|
+
attribute :none_value, :none, collection: true
|
|
37
|
+
|
|
38
|
+
xml do
|
|
39
|
+
namespace Mml::Namespace
|
|
40
|
+
element "ci"
|
|
41
|
+
mixed_content
|
|
42
|
+
|
|
43
|
+
map_content to: :value
|
|
44
|
+
map_attribute "type", to: :type
|
|
45
|
+
map_attribute "definitionURL", to: :definition_url
|
|
46
|
+
map_attribute "encoding", to: :encoding_value
|
|
47
|
+
|
|
48
|
+
# Presentation elements
|
|
49
|
+
map_element "msub", to: :msub_value
|
|
50
|
+
map_element "msup", to: :msup_value
|
|
51
|
+
map_element "msubsup", to: :msubsup_value
|
|
52
|
+
map_element "munder", to: :munder_value
|
|
53
|
+
map_element "mover", to: :mover_value
|
|
54
|
+
map_element "munderover", to: :munderover_value
|
|
55
|
+
map_element "mfrac", to: :mfrac_value
|
|
56
|
+
map_element "msqrt", to: :msqrt_value
|
|
57
|
+
map_element "mroot", to: :mroot_value
|
|
58
|
+
map_element "mrow", to: :mrow_value
|
|
59
|
+
map_element "mfenced", to: :mfenced_value
|
|
60
|
+
map_element "menclose", to: :menclose_value
|
|
61
|
+
map_element "mphantom", to: :mphantom_value
|
|
62
|
+
map_element "mpadded", to: :mpadded_value
|
|
63
|
+
map_element "merror", to: :merror_value
|
|
64
|
+
map_element "mtext", to: :mtext_value
|
|
65
|
+
map_element "mspace", to: :mspace_value
|
|
66
|
+
map_element "mi", to: :mi_value
|
|
67
|
+
map_element "mo", to: :mo_value
|
|
68
|
+
map_element "mn", to: :mn_value
|
|
69
|
+
map_element "ms", to: :ms_value
|
|
70
|
+
map_element "none", to: :none_value
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
module Cn
|
|
7
|
+
def self.included(klass)
|
|
8
|
+
klass.class_eval do
|
|
9
|
+
attribute :type, :string
|
|
10
|
+
attribute :definition_url, :string
|
|
11
|
+
attribute :enc, :string
|
|
12
|
+
attribute :base, :string
|
|
13
|
+
attribute :value, :string
|
|
14
|
+
attribute :sep_value, :sep, collection: true
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
namespace Mml::Namespace
|
|
18
|
+
element "cn"
|
|
19
|
+
mixed_content
|
|
20
|
+
|
|
21
|
+
map_content to: :value
|
|
22
|
+
map_element "sep", to: :sep_value
|
|
23
|
+
map_attribute "type", to: :type
|
|
24
|
+
map_attribute "definitionURL", to: :definition_url
|
|
25
|
+
map_attribute "encoding", to: :enc
|
|
26
|
+
map_attribute "base", to: :base
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mml
|
|
4
|
+
module Base
|
|
5
|
+
module Content
|
|
6
|
+
# condition is used in qualifiers to specify conditions.
|
|
7
|
+
module Condition
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.class_eval do
|
|
10
|
+
xml do
|
|
11
|
+
namespace Mml::Namespace
|
|
12
|
+
element "condition"
|
|
13
|
+
mixed_content
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|