asciimath 1.0.9 → 2.0.0
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 +5 -5
- data/AST.adoc +457 -0
- data/CHANGELOG.adoc +12 -0
- data/Gemfile.lock +39 -0
- data/README.adoc +27 -3
- data/asciimath.gemspec +9 -5
- data/lib/asciimath.rb +5 -4
- data/lib/asciimath/ast.rb +456 -0
- data/lib/asciimath/cli.rb +4 -1
- data/lib/asciimath/color_table.rb +21 -0
- data/lib/asciimath/html.rb +126 -111
- data/lib/asciimath/latex.rb +386 -0
- data/lib/asciimath/markup.rb +478 -0
- data/lib/asciimath/mathml.rb +189 -87
- data/lib/asciimath/parser.rb +498 -343
- data/lib/asciimath/symbol_table.rb +25 -0
- data/lib/asciimath/version.rb +1 -1
- data/spec/ast.rb +144 -0
- data/spec/parser_spec.rb +592 -165
- data/spec/schema/mathml2/common/common-attribs.xsd +41 -0
- data/spec/schema/mathml2/common/math.xsd +126 -0
- data/spec/schema/mathml2/common/xlink-href.xsd +20 -0
- data/spec/schema/mathml2/content/arith.xsd +90 -0
- data/spec/schema/mathml2/content/calculus.xsd +146 -0
- data/spec/schema/mathml2/content/common-attrib.xsd +30 -0
- data/spec/schema/mathml2/content/constants.xsd +83 -0
- data/spec/schema/mathml2/content/constructs.xsd +260 -0
- data/spec/schema/mathml2/content/elementary-functions.xsd +117 -0
- data/spec/schema/mathml2/content/functions.xsd +73 -0
- data/spec/schema/mathml2/content/linear-algebra.xsd +173 -0
- data/spec/schema/mathml2/content/logic.xsd +53 -0
- data/spec/schema/mathml2/content/relations.xsd +55 -0
- data/spec/schema/mathml2/content/semantics.xsd +85 -0
- data/spec/schema/mathml2/content/sets.xsd +236 -0
- data/spec/schema/mathml2/content/statistics.xsd +136 -0
- data/spec/schema/mathml2/content/tokens.xsd +120 -0
- data/spec/schema/mathml2/content/vector-calculus.xsd +88 -0
- data/spec/schema/mathml2/mathml2.xsd +59 -0
- data/spec/schema/mathml2/presentation/action.xsd +44 -0
- data/spec/schema/mathml2/presentation/characters.xsd +37 -0
- data/spec/schema/mathml2/presentation/common-attribs.xsd +113 -0
- data/spec/schema/mathml2/presentation/common-types.xsd +103 -0
- data/spec/schema/mathml2/presentation/error.xsd +40 -0
- data/spec/schema/mathml2/presentation/layout.xsd +195 -0
- data/spec/schema/mathml2/presentation/scripts.xsd +186 -0
- data/spec/schema/mathml2/presentation/space.xsd +52 -0
- data/spec/schema/mathml2/presentation/style.xsd +69 -0
- data/spec/schema/mathml2/presentation/table.xsd +216 -0
- data/spec/schema/mathml2/presentation/tokens.xsd +124 -0
- data/spec/schema/mathml3/mathml3-common.xsd +99 -0
- data/spec/schema/mathml3/mathml3-content.xsd +684 -0
- data/spec/schema/mathml3/mathml3-presentation.xsd +2151 -0
- data/spec/schema/mathml3/mathml3-strict-content.xsd +186 -0
- data/spec/schema/mathml3/mathml3.xsd +9 -0
- metadata +102 -10
- data/.gitignore +0 -16
- data/.travis.yml +0 -18
@@ -0,0 +1,73 @@
|
|
1
|
+
<xs:schema
|
2
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
3
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
4
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
5
|
+
elementFormDefault="qualified"
|
6
|
+
>
|
7
|
+
|
8
|
+
|
9
|
+
<xs:annotation>
|
10
|
+
<xs:documentation>
|
11
|
+
This is an XML Schema module for operators dealing with functions in content
|
12
|
+
MathML.
|
13
|
+
Author: Stéphane Dalmas, INRIA.
|
14
|
+
</xs:documentation>
|
15
|
+
</xs:annotation>
|
16
|
+
|
17
|
+
<!-- a common type for all this -->
|
18
|
+
|
19
|
+
<xs:complexType name="Functions.type">
|
20
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
21
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
22
|
+
</xs:complexType>
|
23
|
+
|
24
|
+
<!-- "compose" -->
|
25
|
+
|
26
|
+
<xs:element name="compose" type="Functions.type"/>
|
27
|
+
|
28
|
+
<!-- Domain, codomain and image -->
|
29
|
+
|
30
|
+
<xs:element name="domain" type="Functions.type"/>
|
31
|
+
<xs:element name="codomain" type="Functions.type"/>
|
32
|
+
<xs:element name="image" type="Functions.type"/>
|
33
|
+
|
34
|
+
<!-- "domainofapplication" -->
|
35
|
+
|
36
|
+
<xs:group name="domainofapplication.content">
|
37
|
+
<xs:sequence>
|
38
|
+
<xs:group ref="Content-expr.class"/>
|
39
|
+
</xs:sequence>
|
40
|
+
</xs:group>
|
41
|
+
|
42
|
+
<xs:complexType name="domainofapplication.type">
|
43
|
+
<xs:group ref="domainofapplication.content"/>
|
44
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
45
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
46
|
+
</xs:complexType>
|
47
|
+
|
48
|
+
<xs:element name="domainofapplication" type="domainofapplication.type"/>
|
49
|
+
|
50
|
+
<!-- identity -->
|
51
|
+
|
52
|
+
<xs:element name="ident" type="Functions.type"/>
|
53
|
+
|
54
|
+
<!-- And the group of everything -->
|
55
|
+
|
56
|
+
<xs:group name="Content-functions.class">
|
57
|
+
<xs:choice>
|
58
|
+
<xs:element ref="compose"/>
|
59
|
+
<xs:element ref="domain"/>
|
60
|
+
<xs:element ref="codomain"/>
|
61
|
+
<xs:element ref="image"/>
|
62
|
+
<xs:element ref="domainofapplication"/>
|
63
|
+
<xs:element ref="ident"/>
|
64
|
+
</xs:choice>
|
65
|
+
</xs:group>
|
66
|
+
|
67
|
+
</xs:schema>
|
68
|
+
<!--
|
69
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
70
|
+
of Technology, Institut National de Recherche en Informatique et en
|
71
|
+
Automatique, Keio University). All Rights Reserved. See
|
72
|
+
http://www.w3.org/Consortium/Legal/.
|
73
|
+
-->
|
@@ -0,0 +1,173 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<xs:schema
|
4
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
5
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
6
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
7
|
+
elementFormDefault="qualified"
|
8
|
+
>
|
9
|
+
|
10
|
+
<xs:annotation>
|
11
|
+
<xs:documentation>
|
12
|
+
This is an XML Schema module for the linear algebra part of content MathML.
|
13
|
+
Author: Stéphane Dalmas, INRIA.
|
14
|
+
</xs:documentation>
|
15
|
+
</xs:annotation>
|
16
|
+
|
17
|
+
<!-- "vector" -->
|
18
|
+
|
19
|
+
<xs:attributeGroup name="vector.attlist">
|
20
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
21
|
+
</xs:attributeGroup>
|
22
|
+
|
23
|
+
<xs:group name="vector.content">
|
24
|
+
<xs:sequence>
|
25
|
+
<xs:group ref="Content-expr.class"/>
|
26
|
+
</xs:sequence>
|
27
|
+
</xs:group>
|
28
|
+
|
29
|
+
<xs:complexType name="vector.type">
|
30
|
+
<xs:group ref="vector.content" minOccurs="1" maxOccurs="unbounded"/>
|
31
|
+
<xs:attributeGroup ref="vector.attlist"/>
|
32
|
+
</xs:complexType>
|
33
|
+
|
34
|
+
<xs:element name="vector" type="vector.type"/>
|
35
|
+
|
36
|
+
<!-- "matrix" -->
|
37
|
+
|
38
|
+
<xs:attributeGroup name="matrix.attlist">
|
39
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
40
|
+
</xs:attributeGroup>
|
41
|
+
|
42
|
+
<xs:group name="matrix.content">
|
43
|
+
<xs:sequence>
|
44
|
+
<xs:element ref="matrixrow"/>
|
45
|
+
</xs:sequence>
|
46
|
+
</xs:group>
|
47
|
+
|
48
|
+
<xs:complexType name="matrix.type">
|
49
|
+
<xs:group ref="matrix.content" minOccurs="1" maxOccurs="unbounded"/>
|
50
|
+
<xs:attributeGroup ref="matrix.attlist"/>
|
51
|
+
</xs:complexType>
|
52
|
+
|
53
|
+
<xs:element name="matrix" type="matrix.type"/>
|
54
|
+
|
55
|
+
<!-- "matrixrow" -->
|
56
|
+
|
57
|
+
<xs:attributeGroup name="matrixrow.attlist">
|
58
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
59
|
+
</xs:attributeGroup>
|
60
|
+
|
61
|
+
<xs:group name="matrixrow.content">
|
62
|
+
<xs:sequence>
|
63
|
+
<xs:group ref="Content-expr.class"/>
|
64
|
+
</xs:sequence>
|
65
|
+
</xs:group>
|
66
|
+
|
67
|
+
<xs:complexType name="matrixrow.type">
|
68
|
+
<xs:group ref="matrixrow.content" minOccurs="1" maxOccurs="unbounded"/>
|
69
|
+
<xs:attributeGroup ref="matrixrow.attlist"/>
|
70
|
+
</xs:complexType>
|
71
|
+
|
72
|
+
<xs:element name="matrixrow" type="matrixrow.type"/>
|
73
|
+
|
74
|
+
<!-- "determinant" -->
|
75
|
+
|
76
|
+
<xs:attributeGroup name="determinant.attlist">
|
77
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
78
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
79
|
+
</xs:attributeGroup>
|
80
|
+
|
81
|
+
<xs:complexType name="determinant.type">
|
82
|
+
<xs:attributeGroup ref="determinant.attlist"/>
|
83
|
+
</xs:complexType>
|
84
|
+
|
85
|
+
<xs:element name="determinant" type="determinant.type"/>
|
86
|
+
|
87
|
+
<!-- "transpose" -->
|
88
|
+
|
89
|
+
<xs:attributeGroup name="transpose.attlist">
|
90
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
91
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
92
|
+
</xs:attributeGroup>
|
93
|
+
|
94
|
+
<xs:complexType name="transpose.type">
|
95
|
+
<xs:attributeGroup ref="transpose.attlist"/>
|
96
|
+
</xs:complexType>
|
97
|
+
|
98
|
+
<xs:element name="transpose" type="transpose.type"/>
|
99
|
+
|
100
|
+
<!-- "selector" -->
|
101
|
+
|
102
|
+
<xs:attributeGroup name="selector.attlist">
|
103
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
104
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
105
|
+
</xs:attributeGroup>
|
106
|
+
|
107
|
+
<xs:complexType name="selector.type">
|
108
|
+
<xs:attributeGroup ref="selector.attlist"/>
|
109
|
+
</xs:complexType>
|
110
|
+
|
111
|
+
<xs:element name="selector" type="selector.type"/>
|
112
|
+
|
113
|
+
<!-- "vectorproduct" -->
|
114
|
+
|
115
|
+
<xs:attributeGroup name="vectorproduct.attlist">
|
116
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
117
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
118
|
+
</xs:attributeGroup>
|
119
|
+
|
120
|
+
<xs:complexType name="vectorproduct.type">
|
121
|
+
<xs:attributeGroup ref="vectorproduct.attlist"/>
|
122
|
+
</xs:complexType>
|
123
|
+
|
124
|
+
<xs:element name="vectorproduct" type="vectorproduct.type"/>
|
125
|
+
|
126
|
+
<!-- "scalarproduct" -->
|
127
|
+
|
128
|
+
<xs:attributeGroup name="scalarproduct.attlist">
|
129
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
130
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
131
|
+
</xs:attributeGroup>
|
132
|
+
|
133
|
+
<xs:complexType name="scalarproduct.type">
|
134
|
+
<xs:attributeGroup ref="scalarproduct.attlist"/>
|
135
|
+
</xs:complexType>
|
136
|
+
|
137
|
+
<xs:element name="scalarproduct" type="scalarproduct.type"/>
|
138
|
+
|
139
|
+
<!-- "outerproduct" -->
|
140
|
+
|
141
|
+
<xs:attributeGroup name="outerproduct.attlist">
|
142
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
143
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
144
|
+
</xs:attributeGroup>
|
145
|
+
|
146
|
+
<xs:complexType name="outerproduct.type">
|
147
|
+
<xs:attributeGroup ref="outerproduct.attlist"/>
|
148
|
+
</xs:complexType>
|
149
|
+
|
150
|
+
<xs:element name="outerproduct" type="outerproduct.type"/>
|
151
|
+
|
152
|
+
<!-- And the group of everything -->
|
153
|
+
|
154
|
+
<xs:group name="Content-linear-algebra.class">
|
155
|
+
<xs:choice>
|
156
|
+
<xs:element ref="vector"/>
|
157
|
+
<xs:element ref="matrix"/>
|
158
|
+
<xs:element ref="determinant"/>
|
159
|
+
<xs:element ref="transpose"/>
|
160
|
+
<xs:element ref="selector"/>
|
161
|
+
<xs:element ref="vectorproduct"/>
|
162
|
+
<xs:element ref="scalarproduct"/>
|
163
|
+
<xs:element ref="outerproduct"/>
|
164
|
+
</xs:choice>
|
165
|
+
</xs:group>
|
166
|
+
</xs:schema>
|
167
|
+
|
168
|
+
<!--
|
169
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
170
|
+
of Technology, Institut National de Recherche en Informatique et en
|
171
|
+
Automatique, Keio University). All Rights Reserved. See
|
172
|
+
http://www.w3.org/Consortium/Legal/.
|
173
|
+
-->
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<xs:schema
|
2
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
3
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
4
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
5
|
+
elementFormDefault="qualified"
|
6
|
+
>
|
7
|
+
|
8
|
+
<xs:annotation>
|
9
|
+
<xs:documentation>
|
10
|
+
This is an XML Schema module for the logic operators of content MathML.
|
11
|
+
Author: Stéphane Dalmas, INRIA.
|
12
|
+
</xs:documentation>
|
13
|
+
</xs:annotation>
|
14
|
+
|
15
|
+
<!-- a common type for all this -->
|
16
|
+
|
17
|
+
<xs:complexType name="Logic.type">
|
18
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
19
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
20
|
+
</xs:complexType>
|
21
|
+
|
22
|
+
<xs:element name="and" type="Elementary-functions.type"/>
|
23
|
+
<xs:element name="or" type="Logic.type"/>
|
24
|
+
<xs:element name="xor" type="Logic.type"/>
|
25
|
+
|
26
|
+
<xs:element name="not" type="Logic.type"/>
|
27
|
+
|
28
|
+
<xs:element name="exists" type="Logic.type"/>
|
29
|
+
<xs:element name="forall" type="Logic.type"/>
|
30
|
+
|
31
|
+
<xs:element name="implies" type="Logic.type"/>
|
32
|
+
|
33
|
+
<!-- And the group of everything -->
|
34
|
+
|
35
|
+
<xs:group name="Content-logic.class">
|
36
|
+
<xs:choice>
|
37
|
+
<xs:element ref="and"/>
|
38
|
+
<xs:element ref="or"/>
|
39
|
+
<xs:element ref="xor"/>
|
40
|
+
<xs:element ref="not"/>
|
41
|
+
<xs:element ref="exists"/>
|
42
|
+
<xs:element ref="forall"/>
|
43
|
+
<xs:element ref="implies"/>
|
44
|
+
</xs:choice>
|
45
|
+
</xs:group>
|
46
|
+
|
47
|
+
</xs:schema>
|
48
|
+
<!--
|
49
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
50
|
+
of Technology, Institut National de Recherche en Informatique et en
|
51
|
+
Automatique, Keio University). All Rights Reserved. See
|
52
|
+
http://www.w3.org/Consortium/Legal/.
|
53
|
+
-->
|
@@ -0,0 +1,55 @@
|
|
1
|
+
<xs:schema
|
2
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
3
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
4
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
5
|
+
elementFormDefault="qualified"
|
6
|
+
>
|
7
|
+
|
8
|
+
<xs:annotation>
|
9
|
+
<xs:documentation>
|
10
|
+
This is an XML Schema module for the relational operators of content MathML.
|
11
|
+
Author: Stéphane Dalmas, INRIA.
|
12
|
+
</xs:documentation>
|
13
|
+
</xs:annotation>
|
14
|
+
|
15
|
+
<!-- a common type for all this -->
|
16
|
+
<xs:complexType name="Relations.type">
|
17
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
18
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
19
|
+
</xs:complexType>
|
20
|
+
|
21
|
+
<xs:element name="eq" type="Relations.type"/>
|
22
|
+
<xs:element name="neq" type="Relations.type"/>
|
23
|
+
<xs:element name="leq" type="Relations.type"/>
|
24
|
+
<xs:element name="lt" type="Relations.type"/>
|
25
|
+
<xs:element name="geq" type="Relations.type"/>
|
26
|
+
<xs:element name="gt" type="Relations.type"/>
|
27
|
+
|
28
|
+
<xs:element name="equivalent" type="Relations.type"/>
|
29
|
+
|
30
|
+
<xs:element name="approx" type="Relations.type"/>
|
31
|
+
|
32
|
+
<xs:element name="factorof" type="Relations.type"/>
|
33
|
+
|
34
|
+
<!-- And the group of everything -->
|
35
|
+
<xs:group name="Content-relations.class">
|
36
|
+
<xs:choice>
|
37
|
+
<xs:element ref="eq"/>
|
38
|
+
<xs:element ref="neq"/>
|
39
|
+
<xs:element ref="leq"/>
|
40
|
+
<xs:element ref="lt"/>
|
41
|
+
<xs:element ref="geq"/>
|
42
|
+
<xs:element ref="gt"/>
|
43
|
+
<xs:element ref="equivalent"/>
|
44
|
+
<xs:element ref="approx"/>
|
45
|
+
<xs:element ref="factorof"/>
|
46
|
+
</xs:choice>
|
47
|
+
</xs:group>
|
48
|
+
|
49
|
+
</xs:schema>
|
50
|
+
<!--
|
51
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
52
|
+
of Technology, Institut National de Recherche en Informatique et en
|
53
|
+
Automatique, Keio University). All Rights Reserved. See
|
54
|
+
http://www.w3.org/Consortium/Legal/.
|
55
|
+
-->
|
@@ -0,0 +1,85 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<xs:schema
|
4
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
5
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
6
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
7
|
+
elementFormDefault="qualified"
|
8
|
+
>
|
9
|
+
|
10
|
+
<xs:annotation>
|
11
|
+
<xs:documentation>
|
12
|
+
This is an XML Schema module for the "sematics" element of content MathML.
|
13
|
+
Author: Stéphane Dalmas, INRIA.
|
14
|
+
</xs:documentation>
|
15
|
+
</xs:annotation>
|
16
|
+
|
17
|
+
<!-- "annotation" -->
|
18
|
+
|
19
|
+
<xs:attributeGroup name="annotation.attlist">
|
20
|
+
<xs:attribute name="encoding" type="xs:string"/>
|
21
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
22
|
+
</xs:attributeGroup>
|
23
|
+
|
24
|
+
<xs:complexType name="annotation.type" mixed="true">
|
25
|
+
<xs:attributeGroup ref="annotation.attlist"/>
|
26
|
+
</xs:complexType>
|
27
|
+
|
28
|
+
<xs:element name="annotation" type="annotation.type"/>
|
29
|
+
|
30
|
+
<!-- "annotation-xml" -->
|
31
|
+
|
32
|
+
<xs:attributeGroup name="annotation-xml.attlist">
|
33
|
+
<xs:attribute name="encoding" type="xs:string"/>
|
34
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
35
|
+
</xs:attributeGroup>
|
36
|
+
|
37
|
+
<xs:group name="annotation-xml.content">
|
38
|
+
<xs:sequence>
|
39
|
+
<xs:any processContents="lax"/>
|
40
|
+
</xs:sequence>
|
41
|
+
</xs:group>
|
42
|
+
|
43
|
+
<xs:complexType name="annotation-xml.type">
|
44
|
+
<xs:group ref="annotation-xml.content"/>
|
45
|
+
<xs:attributeGroup ref="annotation-xml.attlist"/>
|
46
|
+
</xs:complexType>
|
47
|
+
|
48
|
+
<xs:element name="annotation-xml" type="annotation-xml.type"/>
|
49
|
+
|
50
|
+
<!-- "semantics" -->
|
51
|
+
|
52
|
+
<xs:attributeGroup name="semantics.attlist">
|
53
|
+
<xs:attribute name="encoding" type="xs:string"/>
|
54
|
+
<xs:attribute name="definitionURL" type="xs:anyURI"/>
|
55
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
56
|
+
</xs:attributeGroup>
|
57
|
+
|
58
|
+
<xs:group name="Annotation.class">
|
59
|
+
<xs:choice>
|
60
|
+
<xs:element ref="annotation"/>
|
61
|
+
<xs:element ref="annotation-xml"/>
|
62
|
+
</xs:choice>
|
63
|
+
</xs:group>
|
64
|
+
|
65
|
+
<xs:group name="semantics.content">
|
66
|
+
<xs:sequence>
|
67
|
+
<xs:group ref="Content-expr.class"/>
|
68
|
+
<xs:group ref="Annotation.class" minOccurs="1" maxOccurs="unbounded"/>
|
69
|
+
</xs:sequence>
|
70
|
+
</xs:group>
|
71
|
+
|
72
|
+
<xs:complexType name="semantics.type">
|
73
|
+
<xs:group ref="semantics.content" minOccurs="1" maxOccurs="unbounded"/>
|
74
|
+
<xs:attributeGroup ref="semantics.attlist"/>
|
75
|
+
</xs:complexType>
|
76
|
+
|
77
|
+
<xs:element name="semantics" type="semantics.type"/>
|
78
|
+
|
79
|
+
</xs:schema>
|
80
|
+
<!--
|
81
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
82
|
+
of Technology, Institut National de Recherche en Informatique et en
|
83
|
+
Automatique, Keio University). All Rights Reserved. See
|
84
|
+
http://www.w3.org/Consortium/Legal/.
|
85
|
+
-->
|
@@ -0,0 +1,236 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
|
3
|
+
<xs:schema
|
4
|
+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
5
|
+
xmlns="http://www.w3.org/1998/Math/MathML"
|
6
|
+
targetNamespace="http://www.w3.org/1998/Math/MathML"
|
7
|
+
elementFormDefault="qualified"
|
8
|
+
>
|
9
|
+
|
10
|
+
<xs:annotation>
|
11
|
+
<xs:documentation>
|
12
|
+
This is an XML Schema module for the part of content MathML dealing with
|
13
|
+
sets and lists.
|
14
|
+
Author: Stéphane Dalmas, INRIA.
|
15
|
+
</xs:documentation>
|
16
|
+
</xs:annotation>
|
17
|
+
|
18
|
+
<!-- "set" -->
|
19
|
+
|
20
|
+
<!-- "type" could be "multiset" or "normal" or anything else -->
|
21
|
+
<xs:attributeGroup name="set.attlist">
|
22
|
+
<xs:attribute name="type" type="xs:string"/>
|
23
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
24
|
+
</xs:attributeGroup>
|
25
|
+
|
26
|
+
<xs:group name="set.content">
|
27
|
+
<xs:sequence>
|
28
|
+
<xs:group ref="Content-expr.class"/>
|
29
|
+
</xs:sequence>
|
30
|
+
</xs:group>
|
31
|
+
|
32
|
+
<xs:complexType name="set.type">
|
33
|
+
<xs:group ref="set.content" minOccurs="0" maxOccurs="unbounded"/>
|
34
|
+
<xs:attributeGroup ref="set.attlist"/>
|
35
|
+
</xs:complexType>
|
36
|
+
|
37
|
+
<xs:element name="set" type="set.type"/>
|
38
|
+
|
39
|
+
<!-- "list" -->
|
40
|
+
|
41
|
+
<xs:attributeGroup name="list.attlist">
|
42
|
+
<xs:attribute name="order">
|
43
|
+
<xs:simpleType>
|
44
|
+
<xs:restriction base="xs:string">
|
45
|
+
<xs:enumeration value="lexicographic"/>
|
46
|
+
<xs:enumeration value="numeric"/>
|
47
|
+
</xs:restriction>
|
48
|
+
</xs:simpleType>
|
49
|
+
</xs:attribute>
|
50
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
51
|
+
</xs:attributeGroup>
|
52
|
+
|
53
|
+
<xs:group name="list.content">
|
54
|
+
<xs:sequence>
|
55
|
+
<xs:group ref="Content-expr.class"/>
|
56
|
+
</xs:sequence>
|
57
|
+
</xs:group>
|
58
|
+
|
59
|
+
<xs:complexType name="list.type">
|
60
|
+
<xs:group ref="list.content" minOccurs="0" maxOccurs="unbounded"/>
|
61
|
+
<xs:attributeGroup ref="list.attlist"/>
|
62
|
+
</xs:complexType>
|
63
|
+
|
64
|
+
<xs:element name="list" type="list.type"/>
|
65
|
+
|
66
|
+
<!-- "union" -->
|
67
|
+
|
68
|
+
<xs:attributeGroup name="union.attlist">
|
69
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
70
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
71
|
+
</xs:attributeGroup>
|
72
|
+
|
73
|
+
<xs:complexType name="union.type">
|
74
|
+
<xs:attributeGroup ref="union.attlist"/>
|
75
|
+
</xs:complexType>
|
76
|
+
|
77
|
+
<xs:element name="union" type="union.type"/>
|
78
|
+
|
79
|
+
<!-- "intersect" -->
|
80
|
+
|
81
|
+
<xs:attributeGroup name="intersect.attlist">
|
82
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
83
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
84
|
+
</xs:attributeGroup>
|
85
|
+
|
86
|
+
<xs:complexType name="intersect.type">
|
87
|
+
<xs:attributeGroup ref="intersect.attlist"/>
|
88
|
+
</xs:complexType>
|
89
|
+
|
90
|
+
<xs:element name="intersect" type="intersect.type"/>
|
91
|
+
|
92
|
+
<!-- "in" -->
|
93
|
+
|
94
|
+
<xs:attributeGroup name="in.attlist">
|
95
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
96
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
97
|
+
</xs:attributeGroup>
|
98
|
+
|
99
|
+
<xs:complexType name="in.type">
|
100
|
+
<xs:attributeGroup ref="in.attlist"/>
|
101
|
+
</xs:complexType>
|
102
|
+
|
103
|
+
<xs:element name="in" type="in.type"/>
|
104
|
+
|
105
|
+
<!-- "notin" -->
|
106
|
+
|
107
|
+
<xs:attributeGroup name="notin.attlist">
|
108
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
109
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
110
|
+
</xs:attributeGroup>
|
111
|
+
|
112
|
+
<xs:complexType name="notin.type">
|
113
|
+
<xs:attributeGroup ref="notin.attlist"/>
|
114
|
+
</xs:complexType>
|
115
|
+
|
116
|
+
<xs:element name="notin" type="notin.type"/>
|
117
|
+
|
118
|
+
<!-- "subset" -->
|
119
|
+
|
120
|
+
<xs:attributeGroup name="subset.attlist">
|
121
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
122
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
123
|
+
</xs:attributeGroup>
|
124
|
+
|
125
|
+
<xs:complexType name="subset.type">
|
126
|
+
<xs:attributeGroup ref="subset.attlist"/>
|
127
|
+
</xs:complexType>
|
128
|
+
|
129
|
+
<xs:element name="subset" type="subset.type"/>
|
130
|
+
|
131
|
+
<!-- "prsubset" -->
|
132
|
+
|
133
|
+
<xs:attributeGroup name="prsubset.attlist">
|
134
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
135
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
136
|
+
</xs:attributeGroup>
|
137
|
+
|
138
|
+
<xs:complexType name="prsubset.type">
|
139
|
+
<xs:attributeGroup ref="prsubset.attlist"/>
|
140
|
+
</xs:complexType>
|
141
|
+
|
142
|
+
<xs:element name="prsubset" type="prsubset.type"/>
|
143
|
+
|
144
|
+
<!-- "notsubset" -->
|
145
|
+
|
146
|
+
<xs:attributeGroup name="notsubset.attlist">
|
147
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
148
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
149
|
+
</xs:attributeGroup>
|
150
|
+
|
151
|
+
<xs:complexType name="notsubset.type">
|
152
|
+
<xs:attributeGroup ref="notsubset.attlist"/>
|
153
|
+
</xs:complexType>
|
154
|
+
|
155
|
+
<xs:element name="notsubset" type="notsubset.type"/>
|
156
|
+
|
157
|
+
<!-- "notprsubset" -->
|
158
|
+
|
159
|
+
<xs:attributeGroup name="notprsubset.attlist">
|
160
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
161
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
162
|
+
</xs:attributeGroup>
|
163
|
+
|
164
|
+
<xs:complexType name="notprsubset.type">
|
165
|
+
<xs:attributeGroup ref="notprsubset.attlist"/>
|
166
|
+
</xs:complexType>
|
167
|
+
|
168
|
+
<xs:element name="notprsubset" type="notprsubset.type"/>
|
169
|
+
|
170
|
+
<!-- "setdiff" -->
|
171
|
+
|
172
|
+
<xs:attributeGroup name="setdiff.attlist">
|
173
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
174
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
175
|
+
</xs:attributeGroup>
|
176
|
+
|
177
|
+
<xs:complexType name="setdiff.type">
|
178
|
+
<xs:attributeGroup ref="setdiff.attlist"/>
|
179
|
+
</xs:complexType>
|
180
|
+
|
181
|
+
<xs:element name="setdiff" type="setdiff.type"/>
|
182
|
+
|
183
|
+
<!-- "card" -->
|
184
|
+
|
185
|
+
<xs:attributeGroup name="card.attlist">
|
186
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
187
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
188
|
+
</xs:attributeGroup>
|
189
|
+
|
190
|
+
<xs:complexType name="card.type">
|
191
|
+
<xs:attributeGroup ref="card.attlist"/>
|
192
|
+
</xs:complexType>
|
193
|
+
|
194
|
+
<xs:element name="card" type="card.type"/>
|
195
|
+
|
196
|
+
<!-- "cartesianproduct" -->
|
197
|
+
|
198
|
+
<xs:attributeGroup name="cartesianproduct.attlist">
|
199
|
+
<xs:attributeGroup ref="Definition.attrib"/>
|
200
|
+
<xs:attributeGroup ref="Common.attrib"/>
|
201
|
+
</xs:attributeGroup>
|
202
|
+
|
203
|
+
<xs:complexType name="cartesianproduct.type">
|
204
|
+
<xs:attributeGroup ref="cartesianproduct.attlist"/>
|
205
|
+
</xs:complexType>
|
206
|
+
|
207
|
+
<xs:element name="cartesianproduct" type="cartesianproduct.type"/>
|
208
|
+
|
209
|
+
<!-- And the group of everything -->
|
210
|
+
|
211
|
+
<xs:group name="Content-sets.class">
|
212
|
+
<xs:choice>
|
213
|
+
<xs:element ref="set"/>
|
214
|
+
<xs:element ref="list"/>
|
215
|
+
<xs:element ref="union"/>
|
216
|
+
<xs:element ref="intersect"/>
|
217
|
+
<xs:element ref="in"/>
|
218
|
+
<xs:element ref="notin"/>
|
219
|
+
<xs:element ref="subset"/>
|
220
|
+
<xs:element ref="prsubset"/>
|
221
|
+
<xs:element ref="notsubset"/>
|
222
|
+
<xs:element ref="notprsubset"/>
|
223
|
+
<xs:element ref="setdiff"/>
|
224
|
+
<xs:element ref="card"/>
|
225
|
+
<xs:element ref="cartesianproduct"/>
|
226
|
+
</xs:choice>
|
227
|
+
</xs:group>
|
228
|
+
|
229
|
+
</xs:schema>
|
230
|
+
|
231
|
+
<!--
|
232
|
+
Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute
|
233
|
+
of Technology, Institut National de Recherche en Informatique et en
|
234
|
+
Automatique, Keio University). All Rights Reserved. See
|
235
|
+
http://www.w3.org/Consortium/Legal/.
|
236
|
+
-->
|