asciimath 1.0.9 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/AST.adoc +457 -0
  3. data/CHANGELOG.adoc +12 -0
  4. data/Gemfile.lock +39 -0
  5. data/README.adoc +27 -3
  6. data/asciimath.gemspec +9 -5
  7. data/lib/asciimath.rb +5 -4
  8. data/lib/asciimath/ast.rb +456 -0
  9. data/lib/asciimath/cli.rb +4 -1
  10. data/lib/asciimath/color_table.rb +21 -0
  11. data/lib/asciimath/html.rb +126 -111
  12. data/lib/asciimath/latex.rb +386 -0
  13. data/lib/asciimath/markup.rb +478 -0
  14. data/lib/asciimath/mathml.rb +189 -87
  15. data/lib/asciimath/parser.rb +498 -343
  16. data/lib/asciimath/symbol_table.rb +25 -0
  17. data/lib/asciimath/version.rb +1 -1
  18. data/spec/ast.rb +144 -0
  19. data/spec/parser_spec.rb +592 -165
  20. data/spec/schema/mathml2/common/common-attribs.xsd +41 -0
  21. data/spec/schema/mathml2/common/math.xsd +126 -0
  22. data/spec/schema/mathml2/common/xlink-href.xsd +20 -0
  23. data/spec/schema/mathml2/content/arith.xsd +90 -0
  24. data/spec/schema/mathml2/content/calculus.xsd +146 -0
  25. data/spec/schema/mathml2/content/common-attrib.xsd +30 -0
  26. data/spec/schema/mathml2/content/constants.xsd +83 -0
  27. data/spec/schema/mathml2/content/constructs.xsd +260 -0
  28. data/spec/schema/mathml2/content/elementary-functions.xsd +117 -0
  29. data/spec/schema/mathml2/content/functions.xsd +73 -0
  30. data/spec/schema/mathml2/content/linear-algebra.xsd +173 -0
  31. data/spec/schema/mathml2/content/logic.xsd +53 -0
  32. data/spec/schema/mathml2/content/relations.xsd +55 -0
  33. data/spec/schema/mathml2/content/semantics.xsd +85 -0
  34. data/spec/schema/mathml2/content/sets.xsd +236 -0
  35. data/spec/schema/mathml2/content/statistics.xsd +136 -0
  36. data/spec/schema/mathml2/content/tokens.xsd +120 -0
  37. data/spec/schema/mathml2/content/vector-calculus.xsd +88 -0
  38. data/spec/schema/mathml2/mathml2.xsd +59 -0
  39. data/spec/schema/mathml2/presentation/action.xsd +44 -0
  40. data/spec/schema/mathml2/presentation/characters.xsd +37 -0
  41. data/spec/schema/mathml2/presentation/common-attribs.xsd +113 -0
  42. data/spec/schema/mathml2/presentation/common-types.xsd +103 -0
  43. data/spec/schema/mathml2/presentation/error.xsd +40 -0
  44. data/spec/schema/mathml2/presentation/layout.xsd +195 -0
  45. data/spec/schema/mathml2/presentation/scripts.xsd +186 -0
  46. data/spec/schema/mathml2/presentation/space.xsd +52 -0
  47. data/spec/schema/mathml2/presentation/style.xsd +69 -0
  48. data/spec/schema/mathml2/presentation/table.xsd +216 -0
  49. data/spec/schema/mathml2/presentation/tokens.xsd +124 -0
  50. data/spec/schema/mathml3/mathml3-common.xsd +99 -0
  51. data/spec/schema/mathml3/mathml3-content.xsd +684 -0
  52. data/spec/schema/mathml3/mathml3-presentation.xsd +2151 -0
  53. data/spec/schema/mathml3/mathml3-strict-content.xsd +186 -0
  54. data/spec/schema/mathml3/mathml3.xsd +9 -0
  55. metadata +102 -10
  56. data/.gitignore +0 -16
  57. data/.travis.yml +0 -18
@@ -0,0 +1,2151 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:m="http://www.w3.org/1998/Math/MathML"
4
+ elementFormDefault="qualified"
5
+ targetNamespace="http://www.w3.org/1998/Math/MathML">
6
+ <xs:complexType name="ImpliedMrow">
7
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MathExpression"/>
8
+ </xs:complexType>
9
+ <xs:element name="TableRowExpression" abstract="true"/>
10
+ <xs:element name="TableCellExpression" abstract="true">
11
+ <xs:complexType>
12
+ <xs:complexContent>
13
+ <xs:extension base="m:ImpliedMrow">
14
+ <xs:attributeGroup ref="m:mtd.attributes"/>
15
+ </xs:extension>
16
+ </xs:complexContent>
17
+ </xs:complexType>
18
+ </xs:element>
19
+ <xs:group name="MstackExpression">
20
+ <xs:choice>
21
+ <xs:group ref="m:MathExpression"/>
22
+ <xs:element ref="m:mscarries"/>
23
+ <xs:element ref="m:msline"/>
24
+ <xs:element ref="m:msrow"/>
25
+ <xs:element ref="m:msgroup"/>
26
+ </xs:choice>
27
+ </xs:group>
28
+ <xs:group name="MsrowExpression">
29
+ <xs:choice>
30
+ <xs:group ref="m:MathExpression"/>
31
+ <xs:element ref="m:none"/>
32
+ </xs:choice>
33
+ </xs:group>
34
+ <xs:group name="MultiScriptExpression">
35
+ <xs:sequence>
36
+ <xs:choice>
37
+ <xs:group ref="m:MathExpression"/>
38
+ <xs:element ref="m:none"/>
39
+ </xs:choice>
40
+ <xs:choice>
41
+ <xs:group ref="m:MathExpression"/>
42
+ <xs:element ref="m:none"/>
43
+ </xs:choice>
44
+ </xs:sequence>
45
+ </xs:group>
46
+ <xs:simpleType name="mpadded-length">
47
+ <xs:restriction base="xs:string">
48
+ <xs:pattern value="\s*([\+\-]?[0-9]*([0-9]\.?|\.[0-9])[0-9]*\s*((%?\s*(height|depth|width)?)|e[mx]|in|cm|mm|p[xtc]|((negative)?((very){0,2}thi(n|ck)|medium)mathspace))?)\s*"/>
49
+ </xs:restriction>
50
+ </xs:simpleType>
51
+ <xs:simpleType name="linestyle">
52
+ <xs:restriction base="xs:token">
53
+ <xs:enumeration value="none"/>
54
+ <xs:enumeration value="solid"/>
55
+ <xs:enumeration value="dashed"/>
56
+ </xs:restriction>
57
+ </xs:simpleType>
58
+ <xs:simpleType name="verticalalign">
59
+ <xs:restriction base="xs:token">
60
+ <xs:enumeration value="top"/>
61
+ <xs:enumeration value="bottom"/>
62
+ <xs:enumeration value="center"/>
63
+ <xs:enumeration value="baseline"/>
64
+ <xs:enumeration value="axis"/>
65
+ </xs:restriction>
66
+ </xs:simpleType>
67
+ <xs:simpleType name="columnalignstyle">
68
+ <xs:restriction base="xs:token">
69
+ <xs:enumeration value="left"/>
70
+ <xs:enumeration value="center"/>
71
+ <xs:enumeration value="right"/>
72
+ </xs:restriction>
73
+ </xs:simpleType>
74
+ <xs:simpleType name="notationstyle">
75
+ <xs:restriction base="xs:token">
76
+ <xs:enumeration value="longdiv"/>
77
+ <xs:enumeration value="actuarial"/>
78
+ <xs:enumeration value="radical"/>
79
+ <xs:enumeration value="box"/>
80
+ <xs:enumeration value="roundedbox"/>
81
+ <xs:enumeration value="circle"/>
82
+ <xs:enumeration value="left"/>
83
+ <xs:enumeration value="right"/>
84
+ <xs:enumeration value="top"/>
85
+ <xs:enumeration value="bottom"/>
86
+ <xs:enumeration value="updiagonalstrike"/>
87
+ <xs:enumeration value="downdiagonalstrike"/>
88
+ <xs:enumeration value="verticalstrike"/>
89
+ <xs:enumeration value="horizontalstrike"/>
90
+ <xs:enumeration value="madruwb"/>
91
+ </xs:restriction>
92
+ </xs:simpleType>
93
+ <xs:simpleType name="unsigned-integer">
94
+ <xs:restriction base="xs:unsignedLong"/>
95
+ </xs:simpleType>
96
+ <xs:simpleType name="integer">
97
+ <xs:restriction base="xs:integer"/>
98
+ </xs:simpleType>
99
+ <xs:simpleType name="number">
100
+ <xs:restriction base="xs:decimal"/>
101
+ </xs:simpleType>
102
+ <xs:simpleType name="character">
103
+ <xs:restriction base="xs:string">
104
+ <xs:pattern value="\s*\S\s*"/>
105
+ </xs:restriction>
106
+ </xs:simpleType>
107
+ <xs:simpleType name="color">
108
+ <xs:restriction base="xs:string">
109
+ <xs:pattern value="\s*((#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?)|[aA][qQ][uU][aA]|[bB][lL][aA][cC][kK]|[bB][lL][uU][eE]|[fF][uU][cC][hH][sS][iI][aA]|[gG][rR][aA][yY]|[gG][rR][eE][eE][nN]|[lL][iI][mM][eE]|[mM][aA][rR][oO][oO][nN]|[nN][aA][vV][yY]|[oO][lL][iI][vV][eE]|[pP][uU][rR][pP][lL][eE]|[rR][eE][dD]|[sS][iI][lL][vV][eE][rR]|[tT][eE][aA][lL]|[wW][hH][iI][tT][eE]|[yY][eE][lL][lL][oO][wW])\s*"/>
110
+ </xs:restriction>
111
+ </xs:simpleType>
112
+ <xs:simpleType name="group-alignment">
113
+ <xs:restriction base="xs:token">
114
+ <xs:enumeration value="left"/>
115
+ <xs:enumeration value="center"/>
116
+ <xs:enumeration value="right"/>
117
+ <xs:enumeration value="decimalpoint"/>
118
+ </xs:restriction>
119
+ </xs:simpleType>
120
+ <xs:simpleType name="group-alignment-list">
121
+ <xs:restriction>
122
+ <xs:simpleType>
123
+ <xs:list itemType="m:group-alignment"/>
124
+ </xs:simpleType>
125
+ <xs:minLength value="1"/>
126
+ </xs:restriction>
127
+ </xs:simpleType>
128
+ <xs:simpleType name="group-alignment-list-list">
129
+ <xs:restriction base="xs:string">
130
+ <xs:pattern value="(\s*\{\s*(left|center|right|decimalpoint)(\s+(left|center|right|decimalpoint))*\})*\s*"/>
131
+ </xs:restriction>
132
+ </xs:simpleType>
133
+ <xs:simpleType name="positive-integer">
134
+ <xs:restriction base="xs:positiveInteger"/>
135
+ </xs:simpleType>
136
+ <xs:element name="TokenExpression" abstract="true"
137
+ substitutionGroup="m:PresentationExpression"/>
138
+ <xs:group name="token.content">
139
+ <xs:sequence>
140
+ <xs:choice minOccurs="0">
141
+ <xs:element ref="m:mglyph"/>
142
+ <xs:element ref="m:malignmark"/>
143
+ </xs:choice>
144
+ </xs:sequence>
145
+ </xs:group>
146
+ <xs:element name="mi" substitutionGroup="m:TokenExpression">
147
+ <xs:complexType mixed="true">
148
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:token.content"/>
149
+ <xs:attributeGroup ref="m:mi.attributes"/>
150
+ </xs:complexType>
151
+ </xs:element>
152
+ <xs:attributeGroup name="mi.attributes">
153
+ <xs:attributeGroup ref="m:CommonAtt"/>
154
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
155
+ <xs:attributeGroup ref="m:TokenAtt"/>
156
+ </xs:attributeGroup>
157
+ <xs:element name="mn" substitutionGroup="m:TokenExpression">
158
+ <xs:complexType mixed="true">
159
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:token.content"/>
160
+ <xs:attributeGroup ref="m:mn.attributes"/>
161
+ </xs:complexType>
162
+ </xs:element>
163
+ <xs:attributeGroup name="mn.attributes">
164
+ <xs:attributeGroup ref="m:CommonAtt"/>
165
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
166
+ <xs:attributeGroup ref="m:TokenAtt"/>
167
+ </xs:attributeGroup>
168
+ <xs:element name="mo" substitutionGroup="m:TokenExpression">
169
+ <xs:complexType mixed="true">
170
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:token.content"/>
171
+ <xs:attributeGroup ref="m:mo.attributes"/>
172
+ </xs:complexType>
173
+ </xs:element>
174
+ <xs:attributeGroup name="mo.attributes">
175
+ <xs:attributeGroup ref="m:CommonAtt"/>
176
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
177
+ <xs:attributeGroup ref="m:TokenAtt"/>
178
+ <xs:attribute name="form">
179
+ <xs:simpleType>
180
+ <xs:restriction base="xs:token">
181
+ <xs:enumeration value="prefix"/>
182
+ <xs:enumeration value="infix"/>
183
+ <xs:enumeration value="postfix"/>
184
+ </xs:restriction>
185
+ </xs:simpleType>
186
+ </xs:attribute>
187
+ <xs:attribute name="fence">
188
+ <xs:simpleType>
189
+ <xs:restriction base="xs:token">
190
+ <xs:enumeration value="true"/>
191
+ <xs:enumeration value="false"/>
192
+ </xs:restriction>
193
+ </xs:simpleType>
194
+ </xs:attribute>
195
+ <xs:attribute name="separator">
196
+ <xs:simpleType>
197
+ <xs:restriction base="xs:token">
198
+ <xs:enumeration value="true"/>
199
+ <xs:enumeration value="false"/>
200
+ </xs:restriction>
201
+ </xs:simpleType>
202
+ </xs:attribute>
203
+ <xs:attribute name="lspace" type="m:length"/>
204
+ <xs:attribute name="rspace" type="m:length"/>
205
+ <xs:attribute name="stretchy">
206
+ <xs:simpleType>
207
+ <xs:restriction base="xs:token">
208
+ <xs:enumeration value="true"/>
209
+ <xs:enumeration value="false"/>
210
+ </xs:restriction>
211
+ </xs:simpleType>
212
+ </xs:attribute>
213
+ <xs:attribute name="symmetric">
214
+ <xs:simpleType>
215
+ <xs:restriction base="xs:token">
216
+ <xs:enumeration value="true"/>
217
+ <xs:enumeration value="false"/>
218
+ </xs:restriction>
219
+ </xs:simpleType>
220
+ </xs:attribute>
221
+ <xs:attribute name="maxsize">
222
+ <xs:simpleType>
223
+ <xs:union memberTypes="m:length">
224
+ <xs:simpleType>
225
+ <xs:restriction base="xs:token">
226
+ <xs:enumeration value="infinity"/>
227
+ </xs:restriction>
228
+ </xs:simpleType>
229
+ </xs:union>
230
+ </xs:simpleType>
231
+ </xs:attribute>
232
+ <xs:attribute name="minsize" type="m:length"/>
233
+ <xs:attribute name="largeop">
234
+ <xs:simpleType>
235
+ <xs:restriction base="xs:token">
236
+ <xs:enumeration value="true"/>
237
+ <xs:enumeration value="false"/>
238
+ </xs:restriction>
239
+ </xs:simpleType>
240
+ </xs:attribute>
241
+ <xs:attribute name="movablelimits">
242
+ <xs:simpleType>
243
+ <xs:restriction base="xs:token">
244
+ <xs:enumeration value="true"/>
245
+ <xs:enumeration value="false"/>
246
+ </xs:restriction>
247
+ </xs:simpleType>
248
+ </xs:attribute>
249
+ <xs:attribute name="accent">
250
+ <xs:simpleType>
251
+ <xs:restriction base="xs:token">
252
+ <xs:enumeration value="true"/>
253
+ <xs:enumeration value="false"/>
254
+ </xs:restriction>
255
+ </xs:simpleType>
256
+ </xs:attribute>
257
+ <xs:attribute name="linebreak">
258
+ <xs:simpleType>
259
+ <xs:restriction base="xs:token">
260
+ <xs:enumeration value="auto"/>
261
+ <xs:enumeration value="newline"/>
262
+ <xs:enumeration value="nobreak"/>
263
+ <xs:enumeration value="goodbreak"/>
264
+ <xs:enumeration value="badbreak"/>
265
+ </xs:restriction>
266
+ </xs:simpleType>
267
+ </xs:attribute>
268
+ <xs:attribute name="lineleading" type="m:length"/>
269
+ <xs:attribute name="linebreakstyle">
270
+ <xs:simpleType>
271
+ <xs:restriction base="xs:token">
272
+ <xs:enumeration value="before"/>
273
+ <xs:enumeration value="after"/>
274
+ <xs:enumeration value="duplicate"/>
275
+ <xs:enumeration value="infixlinebreakstyle"/>
276
+ </xs:restriction>
277
+ </xs:simpleType>
278
+ </xs:attribute>
279
+ <xs:attribute name="linebreakmultchar"/>
280
+ <xs:attribute name="indentalign">
281
+ <xs:simpleType>
282
+ <xs:restriction base="xs:token">
283
+ <xs:enumeration value="left"/>
284
+ <xs:enumeration value="center"/>
285
+ <xs:enumeration value="right"/>
286
+ <xs:enumeration value="auto"/>
287
+ <xs:enumeration value="id"/>
288
+ </xs:restriction>
289
+ </xs:simpleType>
290
+ </xs:attribute>
291
+ <xs:attribute name="indentshift" type="m:length"/>
292
+ <xs:attribute name="indenttarget"/>
293
+ <xs:attribute name="indentalignfirst">
294
+ <xs:simpleType>
295
+ <xs:restriction base="xs:token">
296
+ <xs:enumeration value="left"/>
297
+ <xs:enumeration value="center"/>
298
+ <xs:enumeration value="right"/>
299
+ <xs:enumeration value="auto"/>
300
+ <xs:enumeration value="id"/>
301
+ <xs:enumeration value="indentalign"/>
302
+ </xs:restriction>
303
+ </xs:simpleType>
304
+ </xs:attribute>
305
+ <xs:attribute name="indentshiftfirst">
306
+ <xs:simpleType>
307
+ <xs:union memberTypes="m:length">
308
+ <xs:simpleType>
309
+ <xs:restriction base="xs:token">
310
+ <xs:enumeration value="indentshift"/>
311
+ </xs:restriction>
312
+ </xs:simpleType>
313
+ </xs:union>
314
+ </xs:simpleType>
315
+ </xs:attribute>
316
+ <xs:attribute name="indentalignlast">
317
+ <xs:simpleType>
318
+ <xs:restriction base="xs:token">
319
+ <xs:enumeration value="left"/>
320
+ <xs:enumeration value="center"/>
321
+ <xs:enumeration value="right"/>
322
+ <xs:enumeration value="auto"/>
323
+ <xs:enumeration value="id"/>
324
+ <xs:enumeration value="indentalign"/>
325
+ </xs:restriction>
326
+ </xs:simpleType>
327
+ </xs:attribute>
328
+ <xs:attribute name="indentshiftlast">
329
+ <xs:simpleType>
330
+ <xs:union memberTypes="m:length">
331
+ <xs:simpleType>
332
+ <xs:restriction base="xs:token">
333
+ <xs:enumeration value="indentshift"/>
334
+ </xs:restriction>
335
+ </xs:simpleType>
336
+ </xs:union>
337
+ </xs:simpleType>
338
+ </xs:attribute>
339
+ </xs:attributeGroup>
340
+ <xs:element name="mtext" substitutionGroup="m:TokenExpression">
341
+ <xs:complexType mixed="true">
342
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:token.content"/>
343
+ <xs:attributeGroup ref="m:mtext.attributes"/>
344
+ </xs:complexType>
345
+ </xs:element>
346
+ <xs:attributeGroup name="mtext.attributes">
347
+ <xs:attributeGroup ref="m:CommonAtt"/>
348
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
349
+ <xs:attributeGroup ref="m:TokenAtt"/>
350
+ </xs:attributeGroup>
351
+ <xs:element name="mspace" substitutionGroup="m:TokenExpression">
352
+ <xs:complexType>
353
+ <xs:attributeGroup ref="m:mspace.attributes"/>
354
+ </xs:complexType>
355
+ </xs:element>
356
+ <xs:attributeGroup name="mspace.attributes">
357
+ <xs:attributeGroup ref="m:CommonAtt"/>
358
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
359
+ <xs:attributeGroup ref="m:TokenAtt"/>
360
+ <xs:attribute name="width" type="m:length"/>
361
+ <xs:attribute name="height" type="m:length"/>
362
+ <xs:attribute name="depth" type="m:length"/>
363
+ <xs:attribute name="linebreak">
364
+ <xs:simpleType>
365
+ <xs:restriction base="xs:token">
366
+ <xs:enumeration value="auto"/>
367
+ <xs:enumeration value="newline"/>
368
+ <xs:enumeration value="nobreak"/>
369
+ <xs:enumeration value="goodbreak"/>
370
+ <xs:enumeration value="badbreak"/>
371
+ <xs:enumeration value="indentingnewline"/>
372
+ </xs:restriction>
373
+ </xs:simpleType>
374
+ </xs:attribute>
375
+ <xs:attribute name="indentalign">
376
+ <xs:simpleType>
377
+ <xs:restriction base="xs:token">
378
+ <xs:enumeration value="left"/>
379
+ <xs:enumeration value="center"/>
380
+ <xs:enumeration value="right"/>
381
+ <xs:enumeration value="auto"/>
382
+ <xs:enumeration value="id"/>
383
+ </xs:restriction>
384
+ </xs:simpleType>
385
+ </xs:attribute>
386
+ <xs:attribute name="indentshift" type="m:length"/>
387
+ <xs:attribute name="indenttarget"/>
388
+ <xs:attribute name="indentalignfirst">
389
+ <xs:simpleType>
390
+ <xs:restriction base="xs:token">
391
+ <xs:enumeration value="left"/>
392
+ <xs:enumeration value="center"/>
393
+ <xs:enumeration value="right"/>
394
+ <xs:enumeration value="auto"/>
395
+ <xs:enumeration value="id"/>
396
+ <xs:enumeration value="indentalign"/>
397
+ </xs:restriction>
398
+ </xs:simpleType>
399
+ </xs:attribute>
400
+ <xs:attribute name="indentshiftfirst">
401
+ <xs:simpleType>
402
+ <xs:union memberTypes="m:length">
403
+ <xs:simpleType>
404
+ <xs:restriction base="xs:token">
405
+ <xs:enumeration value="indentshift"/>
406
+ </xs:restriction>
407
+ </xs:simpleType>
408
+ </xs:union>
409
+ </xs:simpleType>
410
+ </xs:attribute>
411
+ <xs:attribute name="indentalignlast">
412
+ <xs:simpleType>
413
+ <xs:restriction base="xs:token">
414
+ <xs:enumeration value="left"/>
415
+ <xs:enumeration value="center"/>
416
+ <xs:enumeration value="right"/>
417
+ <xs:enumeration value="auto"/>
418
+ <xs:enumeration value="id"/>
419
+ <xs:enumeration value="indentalign"/>
420
+ </xs:restriction>
421
+ </xs:simpleType>
422
+ </xs:attribute>
423
+ <xs:attribute name="indentshiftlast">
424
+ <xs:simpleType>
425
+ <xs:union memberTypes="m:length">
426
+ <xs:simpleType>
427
+ <xs:restriction base="xs:token">
428
+ <xs:enumeration value="indentshift"/>
429
+ </xs:restriction>
430
+ </xs:simpleType>
431
+ </xs:union>
432
+ </xs:simpleType>
433
+ </xs:attribute>
434
+ </xs:attributeGroup>
435
+ <xs:element name="ms" substitutionGroup="m:TokenExpression">
436
+ <xs:complexType mixed="true">
437
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:token.content"/>
438
+ <xs:attributeGroup ref="m:ms.attributes"/>
439
+ </xs:complexType>
440
+ </xs:element>
441
+ <xs:attributeGroup name="ms.attributes">
442
+ <xs:attributeGroup ref="m:CommonAtt"/>
443
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
444
+ <xs:attributeGroup ref="m:TokenAtt"/>
445
+ <xs:attribute name="lquote"/>
446
+ <xs:attribute name="rquote"/>
447
+ </xs:attributeGroup>
448
+ <xs:element name="mglyph">
449
+ <xs:complexType>
450
+ <xs:attributeGroup ref="m:mglyph.attributes"/>
451
+ <xs:attributeGroup ref="m:mglyph.deprecatedattributes"/>
452
+ </xs:complexType>
453
+ </xs:element>
454
+ <xs:attributeGroup name="mglyph.attributes">
455
+ <xs:attributeGroup ref="m:CommonAtt"/>
456
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
457
+ <xs:attribute name="src" type="xs:anyURI"/>
458
+ <xs:attribute name="width" type="m:length"/>
459
+ <xs:attribute name="height" type="m:length"/>
460
+ <xs:attribute name="valign" type="m:length"/>
461
+ <xs:attribute name="alt"/>
462
+ </xs:attributeGroup>
463
+ <xs:attributeGroup name="mglyph.deprecatedattributes">
464
+ <xs:attribute name="index" type="m:integer"/>
465
+ <xs:attribute name="mathvariant">
466
+ <xs:simpleType>
467
+ <xs:restriction base="xs:token">
468
+ <xs:enumeration value="normal"/>
469
+ <xs:enumeration value="bold"/>
470
+ <xs:enumeration value="italic"/>
471
+ <xs:enumeration value="bold-italic"/>
472
+ <xs:enumeration value="double-struck"/>
473
+ <xs:enumeration value="bold-fraktur"/>
474
+ <xs:enumeration value="script"/>
475
+ <xs:enumeration value="bold-script"/>
476
+ <xs:enumeration value="fraktur"/>
477
+ <xs:enumeration value="sans-serif"/>
478
+ <xs:enumeration value="bold-sans-serif"/>
479
+ <xs:enumeration value="sans-serif-italic"/>
480
+ <xs:enumeration value="sans-serif-bold-italic"/>
481
+ <xs:enumeration value="monospace"/>
482
+ <xs:enumeration value="initial"/>
483
+ <xs:enumeration value="tailed"/>
484
+ <xs:enumeration value="looped"/>
485
+ <xs:enumeration value="stretched"/>
486
+ </xs:restriction>
487
+ </xs:simpleType>
488
+ </xs:attribute>
489
+ <xs:attribute name="mathsize">
490
+ <xs:simpleType>
491
+ <xs:union memberTypes="m:length">
492
+ <xs:simpleType>
493
+ <xs:restriction base="xs:token">
494
+ <xs:enumeration value="small"/>
495
+ </xs:restriction>
496
+ </xs:simpleType>
497
+ <xs:simpleType>
498
+ <xs:restriction base="xs:token">
499
+ <xs:enumeration value="normal"/>
500
+ </xs:restriction>
501
+ </xs:simpleType>
502
+ <xs:simpleType>
503
+ <xs:restriction base="xs:token">
504
+ <xs:enumeration value="big"/>
505
+ </xs:restriction>
506
+ </xs:simpleType>
507
+ </xs:union>
508
+ </xs:simpleType>
509
+ </xs:attribute>
510
+ <xs:attributeGroup ref="m:DeprecatedTokenAtt"/>
511
+ </xs:attributeGroup>
512
+ <xs:element name="msline">
513
+ <xs:complexType>
514
+ <xs:attributeGroup ref="m:msline.attributes"/>
515
+ </xs:complexType>
516
+ </xs:element>
517
+ <xs:attributeGroup name="msline.attributes">
518
+ <xs:attributeGroup ref="m:CommonAtt"/>
519
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
520
+ <xs:attribute name="position" type="m:integer"/>
521
+ <xs:attribute name="length" type="m:unsigned-integer"/>
522
+ <xs:attribute name="leftoverhang" type="m:length"/>
523
+ <xs:attribute name="rightoverhang" type="m:length"/>
524
+ <xs:attribute name="mslinethickness">
525
+ <xs:simpleType>
526
+ <xs:union memberTypes="m:length">
527
+ <xs:simpleType>
528
+ <xs:restriction base="xs:token">
529
+ <xs:enumeration value="thin"/>
530
+ </xs:restriction>
531
+ </xs:simpleType>
532
+ <xs:simpleType>
533
+ <xs:restriction base="xs:token">
534
+ <xs:enumeration value="medium"/>
535
+ </xs:restriction>
536
+ </xs:simpleType>
537
+ <xs:simpleType>
538
+ <xs:restriction base="xs:token">
539
+ <xs:enumeration value="thick"/>
540
+ </xs:restriction>
541
+ </xs:simpleType>
542
+ </xs:union>
543
+ </xs:simpleType>
544
+ </xs:attribute>
545
+ </xs:attributeGroup>
546
+ <xs:element name="none">
547
+ <xs:complexType>
548
+ <xs:attributeGroup ref="m:none.attributes"/>
549
+ </xs:complexType>
550
+ </xs:element>
551
+ <xs:attributeGroup name="none.attributes">
552
+ <xs:attributeGroup ref="m:CommonAtt"/>
553
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
554
+ </xs:attributeGroup>
555
+ <xs:element name="mprescripts">
556
+ <xs:complexType>
557
+ <xs:attributeGroup ref="m:mprescripts.attributes"/>
558
+ </xs:complexType>
559
+ </xs:element>
560
+ <xs:attributeGroup name="mprescripts.attributes">
561
+ <xs:attributeGroup ref="m:CommonAtt"/>
562
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
563
+ </xs:attributeGroup>
564
+ <xs:attributeGroup name="CommonPresAtt">
565
+ <xs:attribute name="mathcolor" type="m:color"/>
566
+ <xs:attribute name="mathbackground">
567
+ <xs:simpleType>
568
+ <xs:union memberTypes="m:color">
569
+ <xs:simpleType>
570
+ <xs:restriction base="xs:token">
571
+ <xs:enumeration value="transparent"/>
572
+ </xs:restriction>
573
+ </xs:simpleType>
574
+ </xs:union>
575
+ </xs:simpleType>
576
+ </xs:attribute>
577
+ </xs:attributeGroup>
578
+ <xs:attributeGroup name="TokenAtt">
579
+ <xs:attribute name="mathvariant">
580
+ <xs:simpleType>
581
+ <xs:restriction base="xs:token">
582
+ <xs:enumeration value="normal"/>
583
+ <xs:enumeration value="bold"/>
584
+ <xs:enumeration value="italic"/>
585
+ <xs:enumeration value="bold-italic"/>
586
+ <xs:enumeration value="double-struck"/>
587
+ <xs:enumeration value="bold-fraktur"/>
588
+ <xs:enumeration value="script"/>
589
+ <xs:enumeration value="bold-script"/>
590
+ <xs:enumeration value="fraktur"/>
591
+ <xs:enumeration value="sans-serif"/>
592
+ <xs:enumeration value="bold-sans-serif"/>
593
+ <xs:enumeration value="sans-serif-italic"/>
594
+ <xs:enumeration value="sans-serif-bold-italic"/>
595
+ <xs:enumeration value="monospace"/>
596
+ <xs:enumeration value="initial"/>
597
+ <xs:enumeration value="tailed"/>
598
+ <xs:enumeration value="looped"/>
599
+ <xs:enumeration value="stretched"/>
600
+ </xs:restriction>
601
+ </xs:simpleType>
602
+ </xs:attribute>
603
+ <xs:attribute name="mathsize">
604
+ <xs:simpleType>
605
+ <xs:union memberTypes="m:length">
606
+ <xs:simpleType>
607
+ <xs:restriction base="xs:token">
608
+ <xs:enumeration value="small"/>
609
+ </xs:restriction>
610
+ </xs:simpleType>
611
+ <xs:simpleType>
612
+ <xs:restriction base="xs:token">
613
+ <xs:enumeration value="normal"/>
614
+ </xs:restriction>
615
+ </xs:simpleType>
616
+ <xs:simpleType>
617
+ <xs:restriction base="xs:token">
618
+ <xs:enumeration value="big"/>
619
+ </xs:restriction>
620
+ </xs:simpleType>
621
+ </xs:union>
622
+ </xs:simpleType>
623
+ </xs:attribute>
624
+ <xs:attribute name="dir">
625
+ <xs:simpleType>
626
+ <xs:restriction base="xs:token">
627
+ <xs:enumeration value="ltr"/>
628
+ <xs:enumeration value="rtl"/>
629
+ </xs:restriction>
630
+ </xs:simpleType>
631
+ </xs:attribute>
632
+ <xs:attributeGroup ref="m:DeprecatedTokenAtt"/>
633
+ </xs:attributeGroup>
634
+ <xs:attributeGroup name="DeprecatedTokenAtt">
635
+ <xs:attribute name="fontfamily"/>
636
+ <xs:attribute name="fontweight">
637
+ <xs:simpleType>
638
+ <xs:restriction base="xs:token">
639
+ <xs:enumeration value="normal"/>
640
+ <xs:enumeration value="bold"/>
641
+ </xs:restriction>
642
+ </xs:simpleType>
643
+ </xs:attribute>
644
+ <xs:attribute name="fontstyle">
645
+ <xs:simpleType>
646
+ <xs:restriction base="xs:token">
647
+ <xs:enumeration value="normal"/>
648
+ <xs:enumeration value="italic"/>
649
+ </xs:restriction>
650
+ </xs:simpleType>
651
+ </xs:attribute>
652
+ <xs:attribute name="fontsize" type="m:length"/>
653
+ <xs:attribute name="color" type="m:color"/>
654
+ <xs:attribute name="background">
655
+ <xs:simpleType>
656
+ <xs:union memberTypes="m:color">
657
+ <xs:simpleType>
658
+ <xs:restriction base="xs:token">
659
+ <xs:enumeration value="transparent"/>
660
+ </xs:restriction>
661
+ </xs:simpleType>
662
+ </xs:union>
663
+ </xs:simpleType>
664
+ </xs:attribute>
665
+ </xs:attributeGroup>
666
+ <xs:element name="MalignExpression" abstract="true"
667
+ substitutionGroup="m:PresentationExpression"/>
668
+ <xs:element name="malignmark" substitutionGroup="m:MalignExpression">
669
+ <xs:complexType>
670
+ <xs:attributeGroup ref="m:malignmark.attributes"/>
671
+ </xs:complexType>
672
+ </xs:element>
673
+ <xs:attributeGroup name="malignmark.attributes">
674
+ <xs:attributeGroup ref="m:CommonAtt"/>
675
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
676
+ <xs:attribute name="edge">
677
+ <xs:simpleType>
678
+ <xs:restriction base="xs:token">
679
+ <xs:enumeration value="left"/>
680
+ <xs:enumeration value="right"/>
681
+ </xs:restriction>
682
+ </xs:simpleType>
683
+ </xs:attribute>
684
+ </xs:attributeGroup>
685
+ <xs:element name="maligngroup" substitutionGroup="m:MalignExpression">
686
+ <xs:complexType>
687
+ <xs:attributeGroup ref="m:maligngroup.attributes"/>
688
+ </xs:complexType>
689
+ </xs:element>
690
+ <xs:attributeGroup name="maligngroup.attributes">
691
+ <xs:attributeGroup ref="m:CommonAtt"/>
692
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
693
+ <xs:attribute name="groupalign">
694
+ <xs:simpleType>
695
+ <xs:restriction base="xs:token">
696
+ <xs:enumeration value="left"/>
697
+ <xs:enumeration value="center"/>
698
+ <xs:enumeration value="right"/>
699
+ <xs:enumeration value="decimalpoint"/>
700
+ </xs:restriction>
701
+ </xs:simpleType>
702
+ </xs:attribute>
703
+ </xs:attributeGroup>
704
+ <xs:element name="mrow" substitutionGroup="m:PresentationExpression">
705
+ <xs:complexType>
706
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MathExpression"/>
707
+ <xs:attributeGroup ref="m:mrow.attributes"/>
708
+ </xs:complexType>
709
+ </xs:element>
710
+ <xs:attributeGroup name="mrow.attributes">
711
+ <xs:attributeGroup ref="m:CommonAtt"/>
712
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
713
+ <xs:attribute name="dir">
714
+ <xs:simpleType>
715
+ <xs:restriction base="xs:token">
716
+ <xs:enumeration value="ltr"/>
717
+ <xs:enumeration value="rtl"/>
718
+ </xs:restriction>
719
+ </xs:simpleType>
720
+ </xs:attribute>
721
+ </xs:attributeGroup>
722
+ <xs:element name="mfrac" substitutionGroup="m:PresentationExpression">
723
+ <xs:complexType>
724
+ <xs:sequence>
725
+ <xs:group ref="m:MathExpression"/>
726
+ <xs:group ref="m:MathExpression"/>
727
+ </xs:sequence>
728
+ <xs:attributeGroup ref="m:mfrac.attributes"/>
729
+ </xs:complexType>
730
+ </xs:element>
731
+ <xs:attributeGroup name="mfrac.attributes">
732
+ <xs:attributeGroup ref="m:CommonAtt"/>
733
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
734
+ <xs:attribute name="linethickness">
735
+ <xs:simpleType>
736
+ <xs:union memberTypes="m:length">
737
+ <xs:simpleType>
738
+ <xs:restriction base="xs:token">
739
+ <xs:enumeration value="thin"/>
740
+ </xs:restriction>
741
+ </xs:simpleType>
742
+ <xs:simpleType>
743
+ <xs:restriction base="xs:token">
744
+ <xs:enumeration value="medium"/>
745
+ </xs:restriction>
746
+ </xs:simpleType>
747
+ <xs:simpleType>
748
+ <xs:restriction base="xs:token">
749
+ <xs:enumeration value="thick"/>
750
+ </xs:restriction>
751
+ </xs:simpleType>
752
+ </xs:union>
753
+ </xs:simpleType>
754
+ </xs:attribute>
755
+ <xs:attribute name="numalign">
756
+ <xs:simpleType>
757
+ <xs:restriction base="xs:token">
758
+ <xs:enumeration value="left"/>
759
+ <xs:enumeration value="center"/>
760
+ <xs:enumeration value="right"/>
761
+ </xs:restriction>
762
+ </xs:simpleType>
763
+ </xs:attribute>
764
+ <xs:attribute name="denomalign">
765
+ <xs:simpleType>
766
+ <xs:restriction base="xs:token">
767
+ <xs:enumeration value="left"/>
768
+ <xs:enumeration value="center"/>
769
+ <xs:enumeration value="right"/>
770
+ </xs:restriction>
771
+ </xs:simpleType>
772
+ </xs:attribute>
773
+ <xs:attribute name="bevelled">
774
+ <xs:simpleType>
775
+ <xs:restriction base="xs:token">
776
+ <xs:enumeration value="true"/>
777
+ <xs:enumeration value="false"/>
778
+ </xs:restriction>
779
+ </xs:simpleType>
780
+ </xs:attribute>
781
+ </xs:attributeGroup>
782
+ <xs:element name="msqrt" substitutionGroup="m:PresentationExpression">
783
+ <xs:complexType>
784
+ <xs:complexContent>
785
+ <xs:extension base="m:ImpliedMrow">
786
+ <xs:attributeGroup ref="m:msqrt.attributes"/>
787
+ </xs:extension>
788
+ </xs:complexContent>
789
+ </xs:complexType>
790
+ </xs:element>
791
+ <xs:attributeGroup name="msqrt.attributes">
792
+ <xs:attributeGroup ref="m:CommonAtt"/>
793
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
794
+ </xs:attributeGroup>
795
+ <xs:element name="mroot" substitutionGroup="m:PresentationExpression">
796
+ <xs:complexType>
797
+ <xs:sequence>
798
+ <xs:group ref="m:MathExpression"/>
799
+ <xs:group ref="m:MathExpression"/>
800
+ </xs:sequence>
801
+ <xs:attributeGroup ref="m:mroot.attributes"/>
802
+ </xs:complexType>
803
+ </xs:element>
804
+ <xs:attributeGroup name="mroot.attributes">
805
+ <xs:attributeGroup ref="m:CommonAtt"/>
806
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
807
+ </xs:attributeGroup>
808
+ <xs:element name="mstyle" substitutionGroup="m:PresentationExpression">
809
+ <xs:complexType>
810
+ <xs:complexContent>
811
+ <xs:extension base="m:ImpliedMrow">
812
+ <xs:attributeGroup ref="m:mstyle.attributes"/>
813
+ </xs:extension>
814
+ </xs:complexContent>
815
+ </xs:complexType>
816
+ </xs:element>
817
+ <xs:attributeGroup name="mstyle.attributes">
818
+ <xs:attributeGroup ref="m:CommonAtt"/>
819
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
820
+ <xs:attributeGroup ref="m:mstyle.specificattributes"/>
821
+ <xs:attributeGroup ref="m:mstyle.generalattributes"/>
822
+ <xs:attributeGroup ref="m:mstyle.deprecatedattributes"/>
823
+ </xs:attributeGroup>
824
+ <xs:attributeGroup name="mstyle.specificattributes">
825
+ <xs:attribute name="scriptlevel" type="m:integer"/>
826
+ <xs:attribute name="displaystyle">
827
+ <xs:simpleType>
828
+ <xs:restriction base="xs:token">
829
+ <xs:enumeration value="true"/>
830
+ <xs:enumeration value="false"/>
831
+ </xs:restriction>
832
+ </xs:simpleType>
833
+ </xs:attribute>
834
+ <xs:attribute name="scriptsizemultiplier" type="m:number"/>
835
+ <xs:attribute name="scriptminsize" type="m:length"/>
836
+ <xs:attribute name="infixlinebreakstyle">
837
+ <xs:simpleType>
838
+ <xs:restriction base="xs:token">
839
+ <xs:enumeration value="before"/>
840
+ <xs:enumeration value="after"/>
841
+ <xs:enumeration value="duplicate"/>
842
+ </xs:restriction>
843
+ </xs:simpleType>
844
+ </xs:attribute>
845
+ <xs:attribute name="decimalpoint" type="m:character"/>
846
+ </xs:attributeGroup>
847
+ <xs:attributeGroup name="mstyle.generalattributes">
848
+ <xs:attribute name="accent">
849
+ <xs:simpleType>
850
+ <xs:restriction base="xs:token">
851
+ <xs:enumeration value="true"/>
852
+ <xs:enumeration value="false"/>
853
+ </xs:restriction>
854
+ </xs:simpleType>
855
+ </xs:attribute>
856
+ <xs:attribute name="accentunder">
857
+ <xs:simpleType>
858
+ <xs:restriction base="xs:token">
859
+ <xs:enumeration value="true"/>
860
+ <xs:enumeration value="false"/>
861
+ </xs:restriction>
862
+ </xs:simpleType>
863
+ </xs:attribute>
864
+ <xs:attribute name="align">
865
+ <xs:simpleType>
866
+ <xs:restriction base="xs:token">
867
+ <xs:enumeration value="left"/>
868
+ <xs:enumeration value="right"/>
869
+ <xs:enumeration value="center"/>
870
+ </xs:restriction>
871
+ </xs:simpleType>
872
+ </xs:attribute>
873
+ <xs:attribute name="alignmentscope">
874
+ <xs:simpleType>
875
+ <xs:restriction>
876
+ <xs:simpleType>
877
+ <xs:list>
878
+ <xs:simpleType>
879
+ <xs:restriction base="xs:token">
880
+ <xs:enumeration value="true"/>
881
+ <xs:enumeration value="false"/>
882
+ </xs:restriction>
883
+ </xs:simpleType>
884
+ </xs:list>
885
+ </xs:simpleType>
886
+ <xs:minLength value="1"/>
887
+ </xs:restriction>
888
+ </xs:simpleType>
889
+ </xs:attribute>
890
+ <xs:attribute name="bevelled">
891
+ <xs:simpleType>
892
+ <xs:restriction base="xs:token">
893
+ <xs:enumeration value="true"/>
894
+ <xs:enumeration value="false"/>
895
+ </xs:restriction>
896
+ </xs:simpleType>
897
+ </xs:attribute>
898
+ <xs:attribute name="charalign">
899
+ <xs:simpleType>
900
+ <xs:restriction base="xs:token">
901
+ <xs:enumeration value="left"/>
902
+ <xs:enumeration value="center"/>
903
+ <xs:enumeration value="right"/>
904
+ </xs:restriction>
905
+ </xs:simpleType>
906
+ </xs:attribute>
907
+ <xs:attribute name="charspacing">
908
+ <xs:simpleType>
909
+ <xs:union memberTypes="m:length">
910
+ <xs:simpleType>
911
+ <xs:restriction base="xs:token">
912
+ <xs:enumeration value="loose"/>
913
+ </xs:restriction>
914
+ </xs:simpleType>
915
+ <xs:simpleType>
916
+ <xs:restriction base="xs:token">
917
+ <xs:enumeration value="medium"/>
918
+ </xs:restriction>
919
+ </xs:simpleType>
920
+ <xs:simpleType>
921
+ <xs:restriction base="xs:token">
922
+ <xs:enumeration value="tight"/>
923
+ </xs:restriction>
924
+ </xs:simpleType>
925
+ </xs:union>
926
+ </xs:simpleType>
927
+ </xs:attribute>
928
+ <xs:attribute name="close"/>
929
+ <xs:attribute name="columnalign">
930
+ <xs:simpleType>
931
+ <xs:restriction>
932
+ <xs:simpleType>
933
+ <xs:list itemType="m:columnalignstyle"/>
934
+ </xs:simpleType>
935
+ <xs:minLength value="1"/>
936
+ </xs:restriction>
937
+ </xs:simpleType>
938
+ </xs:attribute>
939
+ <xs:attribute name="columnlines">
940
+ <xs:simpleType>
941
+ <xs:restriction>
942
+ <xs:simpleType>
943
+ <xs:list itemType="m:linestyle"/>
944
+ </xs:simpleType>
945
+ <xs:minLength value="1"/>
946
+ </xs:restriction>
947
+ </xs:simpleType>
948
+ </xs:attribute>
949
+ <xs:attribute name="columnspacing">
950
+ <xs:simpleType>
951
+ <xs:restriction>
952
+ <xs:simpleType>
953
+ <xs:list itemType="m:length"/>
954
+ </xs:simpleType>
955
+ <xs:minLength value="1"/>
956
+ </xs:restriction>
957
+ </xs:simpleType>
958
+ </xs:attribute>
959
+ <xs:attribute name="columnspan" type="m:positive-integer"/>
960
+ <xs:attribute name="columnwidth">
961
+ <xs:simpleType>
962
+ <xs:restriction>
963
+ <xs:simpleType>
964
+ <xs:list>
965
+ <xs:simpleType>
966
+ <xs:union memberTypes="m:length">
967
+ <xs:simpleType>
968
+ <xs:restriction base="xs:token">
969
+ <xs:enumeration value="auto"/>
970
+ </xs:restriction>
971
+ </xs:simpleType>
972
+ <xs:simpleType>
973
+ <xs:restriction base="xs:token">
974
+ <xs:enumeration value="fit"/>
975
+ </xs:restriction>
976
+ </xs:simpleType>
977
+ </xs:union>
978
+ </xs:simpleType>
979
+ </xs:list>
980
+ </xs:simpleType>
981
+ <xs:minLength value="1"/>
982
+ </xs:restriction>
983
+ </xs:simpleType>
984
+ </xs:attribute>
985
+ <xs:attribute name="crossout">
986
+ <xs:simpleType>
987
+ <xs:list>
988
+ <xs:simpleType>
989
+ <xs:restriction base="xs:token">
990
+ <xs:enumeration value="none"/>
991
+ <xs:enumeration value="updiagonalstrike"/>
992
+ <xs:enumeration value="downdiagonalstrike"/>
993
+ <xs:enumeration value="verticalstrike"/>
994
+ <xs:enumeration value="horizontalstrike"/>
995
+ </xs:restriction>
996
+ </xs:simpleType>
997
+ </xs:list>
998
+ </xs:simpleType>
999
+ </xs:attribute>
1000
+ <xs:attribute name="denomalign">
1001
+ <xs:simpleType>
1002
+ <xs:restriction base="xs:token">
1003
+ <xs:enumeration value="left"/>
1004
+ <xs:enumeration value="center"/>
1005
+ <xs:enumeration value="right"/>
1006
+ </xs:restriction>
1007
+ </xs:simpleType>
1008
+ </xs:attribute>
1009
+ <xs:attribute name="depth" type="m:length"/>
1010
+ <xs:attribute name="dir">
1011
+ <xs:simpleType>
1012
+ <xs:restriction base="xs:token">
1013
+ <xs:enumeration value="ltr"/>
1014
+ <xs:enumeration value="rtl"/>
1015
+ </xs:restriction>
1016
+ </xs:simpleType>
1017
+ </xs:attribute>
1018
+ <xs:attribute name="edge">
1019
+ <xs:simpleType>
1020
+ <xs:restriction base="xs:token">
1021
+ <xs:enumeration value="left"/>
1022
+ <xs:enumeration value="right"/>
1023
+ </xs:restriction>
1024
+ </xs:simpleType>
1025
+ </xs:attribute>
1026
+ <xs:attribute name="equalcolumns">
1027
+ <xs:simpleType>
1028
+ <xs:restriction base="xs:token">
1029
+ <xs:enumeration value="true"/>
1030
+ <xs:enumeration value="false"/>
1031
+ </xs:restriction>
1032
+ </xs:simpleType>
1033
+ </xs:attribute>
1034
+ <xs:attribute name="equalrows">
1035
+ <xs:simpleType>
1036
+ <xs:restriction base="xs:token">
1037
+ <xs:enumeration value="true"/>
1038
+ <xs:enumeration value="false"/>
1039
+ </xs:restriction>
1040
+ </xs:simpleType>
1041
+ </xs:attribute>
1042
+ <xs:attribute name="fence">
1043
+ <xs:simpleType>
1044
+ <xs:restriction base="xs:token">
1045
+ <xs:enumeration value="true"/>
1046
+ <xs:enumeration value="false"/>
1047
+ </xs:restriction>
1048
+ </xs:simpleType>
1049
+ </xs:attribute>
1050
+ <xs:attribute name="form">
1051
+ <xs:simpleType>
1052
+ <xs:restriction base="xs:token">
1053
+ <xs:enumeration value="prefix"/>
1054
+ <xs:enumeration value="infix"/>
1055
+ <xs:enumeration value="postfix"/>
1056
+ </xs:restriction>
1057
+ </xs:simpleType>
1058
+ </xs:attribute>
1059
+ <xs:attribute name="frame" type="m:linestyle"/>
1060
+ <xs:attribute name="framespacing">
1061
+ <xs:simpleType>
1062
+ <xs:restriction>
1063
+ <xs:simpleType>
1064
+ <xs:list>
1065
+ <xs:simpleType>
1066
+ <xs:union memberTypes="m:length m:length"/>
1067
+ </xs:simpleType>
1068
+ </xs:list>
1069
+ </xs:simpleType>
1070
+ <xs:length value="2"/>
1071
+ </xs:restriction>
1072
+ </xs:simpleType>
1073
+ </xs:attribute>
1074
+ <xs:attribute name="groupalign" type="m:group-alignment-list-list"/>
1075
+ <xs:attribute name="height" type="m:length"/>
1076
+ <xs:attribute name="indentalign">
1077
+ <xs:simpleType>
1078
+ <xs:restriction base="xs:token">
1079
+ <xs:enumeration value="left"/>
1080
+ <xs:enumeration value="center"/>
1081
+ <xs:enumeration value="right"/>
1082
+ <xs:enumeration value="auto"/>
1083
+ <xs:enumeration value="id"/>
1084
+ </xs:restriction>
1085
+ </xs:simpleType>
1086
+ </xs:attribute>
1087
+ <xs:attribute name="indentalignfirst">
1088
+ <xs:simpleType>
1089
+ <xs:restriction base="xs:token">
1090
+ <xs:enumeration value="left"/>
1091
+ <xs:enumeration value="center"/>
1092
+ <xs:enumeration value="right"/>
1093
+ <xs:enumeration value="auto"/>
1094
+ <xs:enumeration value="id"/>
1095
+ <xs:enumeration value="indentalign"/>
1096
+ </xs:restriction>
1097
+ </xs:simpleType>
1098
+ </xs:attribute>
1099
+ <xs:attribute name="indentalignlast">
1100
+ <xs:simpleType>
1101
+ <xs:restriction base="xs:token">
1102
+ <xs:enumeration value="left"/>
1103
+ <xs:enumeration value="center"/>
1104
+ <xs:enumeration value="right"/>
1105
+ <xs:enumeration value="auto"/>
1106
+ <xs:enumeration value="id"/>
1107
+ <xs:enumeration value="indentalign"/>
1108
+ </xs:restriction>
1109
+ </xs:simpleType>
1110
+ </xs:attribute>
1111
+ <xs:attribute name="indentshift" type="m:length"/>
1112
+ <xs:attribute name="indentshiftfirst">
1113
+ <xs:simpleType>
1114
+ <xs:union memberTypes="m:length">
1115
+ <xs:simpleType>
1116
+ <xs:restriction base="xs:token">
1117
+ <xs:enumeration value="indentshift"/>
1118
+ </xs:restriction>
1119
+ </xs:simpleType>
1120
+ </xs:union>
1121
+ </xs:simpleType>
1122
+ </xs:attribute>
1123
+ <xs:attribute name="indentshiftlast">
1124
+ <xs:simpleType>
1125
+ <xs:union memberTypes="m:length">
1126
+ <xs:simpleType>
1127
+ <xs:restriction base="xs:token">
1128
+ <xs:enumeration value="indentshift"/>
1129
+ </xs:restriction>
1130
+ </xs:simpleType>
1131
+ </xs:union>
1132
+ </xs:simpleType>
1133
+ </xs:attribute>
1134
+ <xs:attribute name="indenttarget"/>
1135
+ <xs:attribute name="largeop">
1136
+ <xs:simpleType>
1137
+ <xs:restriction base="xs:token">
1138
+ <xs:enumeration value="true"/>
1139
+ <xs:enumeration value="false"/>
1140
+ </xs:restriction>
1141
+ </xs:simpleType>
1142
+ </xs:attribute>
1143
+ <xs:attribute name="leftoverhang" type="m:length"/>
1144
+ <xs:attribute name="length" type="m:unsigned-integer"/>
1145
+ <xs:attribute name="linebreak">
1146
+ <xs:simpleType>
1147
+ <xs:restriction base="xs:token">
1148
+ <xs:enumeration value="auto"/>
1149
+ <xs:enumeration value="newline"/>
1150
+ <xs:enumeration value="nobreak"/>
1151
+ <xs:enumeration value="goodbreak"/>
1152
+ <xs:enumeration value="badbreak"/>
1153
+ </xs:restriction>
1154
+ </xs:simpleType>
1155
+ </xs:attribute>
1156
+ <xs:attribute name="linebreakmultchar"/>
1157
+ <xs:attribute name="linebreakstyle">
1158
+ <xs:simpleType>
1159
+ <xs:restriction base="xs:token">
1160
+ <xs:enumeration value="before"/>
1161
+ <xs:enumeration value="after"/>
1162
+ <xs:enumeration value="duplicate"/>
1163
+ <xs:enumeration value="infixlinebreakstyle"/>
1164
+ </xs:restriction>
1165
+ </xs:simpleType>
1166
+ </xs:attribute>
1167
+ <xs:attribute name="lineleading" type="m:length"/>
1168
+ <xs:attribute name="linethickness">
1169
+ <xs:simpleType>
1170
+ <xs:union memberTypes="m:length">
1171
+ <xs:simpleType>
1172
+ <xs:restriction base="xs:token">
1173
+ <xs:enumeration value="thin"/>
1174
+ </xs:restriction>
1175
+ </xs:simpleType>
1176
+ <xs:simpleType>
1177
+ <xs:restriction base="xs:token">
1178
+ <xs:enumeration value="medium"/>
1179
+ </xs:restriction>
1180
+ </xs:simpleType>
1181
+ <xs:simpleType>
1182
+ <xs:restriction base="xs:token">
1183
+ <xs:enumeration value="thick"/>
1184
+ </xs:restriction>
1185
+ </xs:simpleType>
1186
+ </xs:union>
1187
+ </xs:simpleType>
1188
+ </xs:attribute>
1189
+ <xs:attribute name="location">
1190
+ <xs:simpleType>
1191
+ <xs:restriction base="xs:token">
1192
+ <xs:enumeration value="w"/>
1193
+ <xs:enumeration value="nw"/>
1194
+ <xs:enumeration value="n"/>
1195
+ <xs:enumeration value="ne"/>
1196
+ <xs:enumeration value="e"/>
1197
+ <xs:enumeration value="se"/>
1198
+ <xs:enumeration value="s"/>
1199
+ <xs:enumeration value="sw"/>
1200
+ </xs:restriction>
1201
+ </xs:simpleType>
1202
+ </xs:attribute>
1203
+ <xs:attribute name="longdivstyle">
1204
+ <xs:simpleType>
1205
+ <xs:restriction base="xs:token">
1206
+ <xs:enumeration value="lefttop"/>
1207
+ <xs:enumeration value="stackedrightright"/>
1208
+ <xs:enumeration value="mediumstackedrightright"/>
1209
+ <xs:enumeration value="shortstackedrightright"/>
1210
+ <xs:enumeration value="righttop"/>
1211
+ <xs:enumeration value="left/\right"/>
1212
+ <xs:enumeration value="left)(right"/>
1213
+ <xs:enumeration value=":right=right"/>
1214
+ <xs:enumeration value="stackedleftleft"/>
1215
+ <xs:enumeration value="stackedleftlinetop"/>
1216
+ </xs:restriction>
1217
+ </xs:simpleType>
1218
+ </xs:attribute>
1219
+ <xs:attribute name="lquote"/>
1220
+ <xs:attribute name="lspace" type="m:length"/>
1221
+ <xs:attribute name="mathsize">
1222
+ <xs:simpleType>
1223
+ <xs:union memberTypes="m:length">
1224
+ <xs:simpleType>
1225
+ <xs:restriction base="xs:token">
1226
+ <xs:enumeration value="small"/>
1227
+ </xs:restriction>
1228
+ </xs:simpleType>
1229
+ <xs:simpleType>
1230
+ <xs:restriction base="xs:token">
1231
+ <xs:enumeration value="normal"/>
1232
+ </xs:restriction>
1233
+ </xs:simpleType>
1234
+ <xs:simpleType>
1235
+ <xs:restriction base="xs:token">
1236
+ <xs:enumeration value="big"/>
1237
+ </xs:restriction>
1238
+ </xs:simpleType>
1239
+ </xs:union>
1240
+ </xs:simpleType>
1241
+ </xs:attribute>
1242
+ <xs:attribute name="mathvariant">
1243
+ <xs:simpleType>
1244
+ <xs:restriction base="xs:token">
1245
+ <xs:enumeration value="normal"/>
1246
+ <xs:enumeration value="bold"/>
1247
+ <xs:enumeration value="italic"/>
1248
+ <xs:enumeration value="bold-italic"/>
1249
+ <xs:enumeration value="double-struck"/>
1250
+ <xs:enumeration value="bold-fraktur"/>
1251
+ <xs:enumeration value="script"/>
1252
+ <xs:enumeration value="bold-script"/>
1253
+ <xs:enumeration value="fraktur"/>
1254
+ <xs:enumeration value="sans-serif"/>
1255
+ <xs:enumeration value="bold-sans-serif"/>
1256
+ <xs:enumeration value="sans-serif-italic"/>
1257
+ <xs:enumeration value="sans-serif-bold-italic"/>
1258
+ <xs:enumeration value="monospace"/>
1259
+ <xs:enumeration value="initial"/>
1260
+ <xs:enumeration value="tailed"/>
1261
+ <xs:enumeration value="looped"/>
1262
+ <xs:enumeration value="stretched"/>
1263
+ </xs:restriction>
1264
+ </xs:simpleType>
1265
+ </xs:attribute>
1266
+ <xs:attribute name="maxsize">
1267
+ <xs:simpleType>
1268
+ <xs:union memberTypes="m:length">
1269
+ <xs:simpleType>
1270
+ <xs:restriction base="xs:token">
1271
+ <xs:enumeration value="infinity"/>
1272
+ </xs:restriction>
1273
+ </xs:simpleType>
1274
+ </xs:union>
1275
+ </xs:simpleType>
1276
+ </xs:attribute>
1277
+ <xs:attribute name="minlabelspacing" type="m:length"/>
1278
+ <xs:attribute name="minsize" type="m:length"/>
1279
+ <xs:attribute name="movablelimits">
1280
+ <xs:simpleType>
1281
+ <xs:restriction base="xs:token">
1282
+ <xs:enumeration value="true"/>
1283
+ <xs:enumeration value="false"/>
1284
+ </xs:restriction>
1285
+ </xs:simpleType>
1286
+ </xs:attribute>
1287
+ <xs:attribute name="mslinethickness">
1288
+ <xs:simpleType>
1289
+ <xs:union memberTypes="m:length">
1290
+ <xs:simpleType>
1291
+ <xs:restriction base="xs:token">
1292
+ <xs:enumeration value="thin"/>
1293
+ </xs:restriction>
1294
+ </xs:simpleType>
1295
+ <xs:simpleType>
1296
+ <xs:restriction base="xs:token">
1297
+ <xs:enumeration value="medium"/>
1298
+ </xs:restriction>
1299
+ </xs:simpleType>
1300
+ <xs:simpleType>
1301
+ <xs:restriction base="xs:token">
1302
+ <xs:enumeration value="thick"/>
1303
+ </xs:restriction>
1304
+ </xs:simpleType>
1305
+ </xs:union>
1306
+ </xs:simpleType>
1307
+ </xs:attribute>
1308
+ <xs:attribute name="notation"/>
1309
+ <xs:attribute name="numalign">
1310
+ <xs:simpleType>
1311
+ <xs:restriction base="xs:token">
1312
+ <xs:enumeration value="left"/>
1313
+ <xs:enumeration value="center"/>
1314
+ <xs:enumeration value="right"/>
1315
+ </xs:restriction>
1316
+ </xs:simpleType>
1317
+ </xs:attribute>
1318
+ <xs:attribute name="open"/>
1319
+ <xs:attribute name="position" type="m:integer"/>
1320
+ <xs:attribute name="rightoverhang" type="m:length"/>
1321
+ <xs:attribute name="rowalign">
1322
+ <xs:simpleType>
1323
+ <xs:restriction>
1324
+ <xs:simpleType>
1325
+ <xs:list itemType="m:verticalalign"/>
1326
+ </xs:simpleType>
1327
+ <xs:minLength value="1"/>
1328
+ </xs:restriction>
1329
+ </xs:simpleType>
1330
+ </xs:attribute>
1331
+ <xs:attribute name="rowlines">
1332
+ <xs:simpleType>
1333
+ <xs:restriction>
1334
+ <xs:simpleType>
1335
+ <xs:list itemType="m:linestyle"/>
1336
+ </xs:simpleType>
1337
+ <xs:minLength value="1"/>
1338
+ </xs:restriction>
1339
+ </xs:simpleType>
1340
+ </xs:attribute>
1341
+ <xs:attribute name="rowspacing">
1342
+ <xs:simpleType>
1343
+ <xs:restriction>
1344
+ <xs:simpleType>
1345
+ <xs:list itemType="m:length"/>
1346
+ </xs:simpleType>
1347
+ <xs:minLength value="1"/>
1348
+ </xs:restriction>
1349
+ </xs:simpleType>
1350
+ </xs:attribute>
1351
+ <xs:attribute name="rowspan" type="m:positive-integer"/>
1352
+ <xs:attribute name="rquote"/>
1353
+ <xs:attribute name="rspace" type="m:length"/>
1354
+ <xs:attribute name="selection" type="m:positive-integer"/>
1355
+ <xs:attribute name="separator">
1356
+ <xs:simpleType>
1357
+ <xs:restriction base="xs:token">
1358
+ <xs:enumeration value="true"/>
1359
+ <xs:enumeration value="false"/>
1360
+ </xs:restriction>
1361
+ </xs:simpleType>
1362
+ </xs:attribute>
1363
+ <xs:attribute name="separators"/>
1364
+ <xs:attribute name="shift" type="m:integer"/>
1365
+ <xs:attribute name="side">
1366
+ <xs:simpleType>
1367
+ <xs:restriction base="xs:token">
1368
+ <xs:enumeration value="left"/>
1369
+ <xs:enumeration value="right"/>
1370
+ <xs:enumeration value="leftoverlap"/>
1371
+ <xs:enumeration value="rightoverlap"/>
1372
+ </xs:restriction>
1373
+ </xs:simpleType>
1374
+ </xs:attribute>
1375
+ <xs:attribute name="stackalign">
1376
+ <xs:simpleType>
1377
+ <xs:restriction base="xs:token">
1378
+ <xs:enumeration value="left"/>
1379
+ <xs:enumeration value="center"/>
1380
+ <xs:enumeration value="right"/>
1381
+ <xs:enumeration value="decimalpoint"/>
1382
+ </xs:restriction>
1383
+ </xs:simpleType>
1384
+ </xs:attribute>
1385
+ <xs:attribute name="stretchy">
1386
+ <xs:simpleType>
1387
+ <xs:restriction base="xs:token">
1388
+ <xs:enumeration value="true"/>
1389
+ <xs:enumeration value="false"/>
1390
+ </xs:restriction>
1391
+ </xs:simpleType>
1392
+ </xs:attribute>
1393
+ <xs:attribute name="subscriptshift" type="m:length"/>
1394
+ <xs:attribute name="superscriptshift" type="m:length"/>
1395
+ <xs:attribute name="symmetric">
1396
+ <xs:simpleType>
1397
+ <xs:restriction base="xs:token">
1398
+ <xs:enumeration value="true"/>
1399
+ <xs:enumeration value="false"/>
1400
+ </xs:restriction>
1401
+ </xs:simpleType>
1402
+ </xs:attribute>
1403
+ <xs:attribute name="valign" type="m:length"/>
1404
+ <xs:attribute name="width" type="m:length"/>
1405
+ </xs:attributeGroup>
1406
+ <xs:attributeGroup name="mstyle.deprecatedattributes">
1407
+ <xs:attributeGroup ref="m:DeprecatedTokenAtt"/>
1408
+ <xs:attribute name="veryverythinmathspace" type="m:length"/>
1409
+ <xs:attribute name="verythinmathspace" type="m:length"/>
1410
+ <xs:attribute name="thinmathspace" type="m:length"/>
1411
+ <xs:attribute name="mediummathspace" type="m:length"/>
1412
+ <xs:attribute name="thickmathspace" type="m:length"/>
1413
+ <xs:attribute name="verythickmathspace" type="m:length"/>
1414
+ <xs:attribute name="veryverythickmathspace" type="m:length"/>
1415
+ </xs:attributeGroup>
1416
+ <xs:attributeGroup name="math.attributes">
1417
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1418
+ <xs:attributeGroup ref="m:mstyle.specificattributes"/>
1419
+ <xs:attributeGroup ref="m:mstyle.generalattributes"/>
1420
+ <xs:attributeGroup ref="m:CommonAtt"/>
1421
+ <xs:attribute name="display">
1422
+ <xs:simpleType>
1423
+ <xs:restriction base="xs:token">
1424
+ <xs:enumeration value="block"/>
1425
+ <xs:enumeration value="inline"/>
1426
+ </xs:restriction>
1427
+ </xs:simpleType>
1428
+ </xs:attribute>
1429
+ <xs:attribute name="maxwidth" type="m:length"/>
1430
+ <xs:attribute name="overflow">
1431
+ <xs:simpleType>
1432
+ <xs:restriction base="xs:token">
1433
+ <xs:enumeration value="linebreak"/>
1434
+ <xs:enumeration value="scroll"/>
1435
+ <xs:enumeration value="elide"/>
1436
+ <xs:enumeration value="truncate"/>
1437
+ <xs:enumeration value="scale"/>
1438
+ </xs:restriction>
1439
+ </xs:simpleType>
1440
+ </xs:attribute>
1441
+ <xs:attribute name="altimg" type="xs:anyURI"/>
1442
+ <xs:attribute name="altimg-width" type="m:length"/>
1443
+ <xs:attribute name="altimg-height" type="m:length"/>
1444
+ <xs:attribute name="altimg-valign">
1445
+ <xs:simpleType>
1446
+ <xs:union memberTypes="m:length">
1447
+ <xs:simpleType>
1448
+ <xs:restriction base="xs:token">
1449
+ <xs:enumeration value="top"/>
1450
+ </xs:restriction>
1451
+ </xs:simpleType>
1452
+ <xs:simpleType>
1453
+ <xs:restriction base="xs:token">
1454
+ <xs:enumeration value="middle"/>
1455
+ </xs:restriction>
1456
+ </xs:simpleType>
1457
+ <xs:simpleType>
1458
+ <xs:restriction base="xs:token">
1459
+ <xs:enumeration value="bottom"/>
1460
+ </xs:restriction>
1461
+ </xs:simpleType>
1462
+ </xs:union>
1463
+ </xs:simpleType>
1464
+ </xs:attribute>
1465
+ <xs:attribute name="alttext"/>
1466
+ <xs:attribute name="cdgroup" type="xs:anyURI"/>
1467
+ <xs:attributeGroup ref="m:math.deprecatedattributes"/>
1468
+ </xs:attributeGroup>
1469
+ <xs:element name="merror" substitutionGroup="m:PresentationExpression">
1470
+ <xs:complexType>
1471
+ <xs:complexContent>
1472
+ <xs:extension base="m:ImpliedMrow">
1473
+ <xs:attributeGroup ref="m:merror.attributes"/>
1474
+ </xs:extension>
1475
+ </xs:complexContent>
1476
+ </xs:complexType>
1477
+ </xs:element>
1478
+ <xs:attributeGroup name="merror.attributes">
1479
+ <xs:attributeGroup ref="m:CommonAtt"/>
1480
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1481
+ </xs:attributeGroup>
1482
+ <xs:element name="mpadded" substitutionGroup="m:PresentationExpression">
1483
+ <xs:complexType>
1484
+ <xs:complexContent>
1485
+ <xs:extension base="m:ImpliedMrow">
1486
+ <xs:attributeGroup ref="m:mpadded.attributes"/>
1487
+ </xs:extension>
1488
+ </xs:complexContent>
1489
+ </xs:complexType>
1490
+ </xs:element>
1491
+ <xs:attributeGroup name="mpadded.attributes">
1492
+ <xs:attributeGroup ref="m:CommonAtt"/>
1493
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1494
+ <xs:attribute name="height" type="m:mpadded-length"/>
1495
+ <xs:attribute name="depth" type="m:mpadded-length"/>
1496
+ <xs:attribute name="width" type="m:mpadded-length"/>
1497
+ <xs:attribute name="lspace" type="m:mpadded-length"/>
1498
+ <xs:attribute name="voffset" type="m:mpadded-length"/>
1499
+ </xs:attributeGroup>
1500
+ <xs:element name="mphantom" substitutionGroup="m:PresentationExpression">
1501
+ <xs:complexType>
1502
+ <xs:complexContent>
1503
+ <xs:extension base="m:ImpliedMrow">
1504
+ <xs:attributeGroup ref="m:mphantom.attributes"/>
1505
+ </xs:extension>
1506
+ </xs:complexContent>
1507
+ </xs:complexType>
1508
+ </xs:element>
1509
+ <xs:attributeGroup name="mphantom.attributes">
1510
+ <xs:attributeGroup ref="m:CommonAtt"/>
1511
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1512
+ </xs:attributeGroup>
1513
+ <xs:element name="mfenced" substitutionGroup="m:PresentationExpression">
1514
+ <xs:complexType>
1515
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MathExpression"/>
1516
+ <xs:attributeGroup ref="m:mfenced.attributes"/>
1517
+ </xs:complexType>
1518
+ </xs:element>
1519
+ <xs:attributeGroup name="mfenced.attributes">
1520
+ <xs:attributeGroup ref="m:CommonAtt"/>
1521
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1522
+ <xs:attribute name="open"/>
1523
+ <xs:attribute name="close"/>
1524
+ <xs:attribute name="separators"/>
1525
+ </xs:attributeGroup>
1526
+ <xs:element name="menclose" substitutionGroup="m:PresentationExpression">
1527
+ <xs:complexType>
1528
+ <xs:complexContent>
1529
+ <xs:extension base="m:ImpliedMrow">
1530
+ <xs:attributeGroup ref="m:menclose.attributes"/>
1531
+ </xs:extension>
1532
+ </xs:complexContent>
1533
+ </xs:complexType>
1534
+ </xs:element>
1535
+ <xs:attributeGroup name="menclose.attributes">
1536
+ <xs:attributeGroup ref="m:CommonAtt"/>
1537
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1538
+ <xs:attribute name="notation"/>
1539
+ </xs:attributeGroup>
1540
+ <xs:element name="msub" substitutionGroup="m:PresentationExpression">
1541
+ <xs:complexType>
1542
+ <xs:sequence>
1543
+ <xs:group ref="m:MathExpression"/>
1544
+ <xs:group ref="m:MathExpression"/>
1545
+ </xs:sequence>
1546
+ <xs:attributeGroup ref="m:msub.attributes"/>
1547
+ </xs:complexType>
1548
+ </xs:element>
1549
+ <xs:attributeGroup name="msub.attributes">
1550
+ <xs:attributeGroup ref="m:CommonAtt"/>
1551
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1552
+ <xs:attribute name="subscriptshift" type="m:length"/>
1553
+ </xs:attributeGroup>
1554
+ <xs:element name="msup" substitutionGroup="m:PresentationExpression">
1555
+ <xs:complexType>
1556
+ <xs:sequence>
1557
+ <xs:group ref="m:MathExpression"/>
1558
+ <xs:group ref="m:MathExpression"/>
1559
+ </xs:sequence>
1560
+ <xs:attributeGroup ref="m:msup.attributes"/>
1561
+ </xs:complexType>
1562
+ </xs:element>
1563
+ <xs:attributeGroup name="msup.attributes">
1564
+ <xs:attributeGroup ref="m:CommonAtt"/>
1565
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1566
+ <xs:attribute name="superscriptshift" type="m:length"/>
1567
+ </xs:attributeGroup>
1568
+ <xs:element name="msubsup" substitutionGroup="m:PresentationExpression">
1569
+ <xs:complexType>
1570
+ <xs:sequence>
1571
+ <xs:group ref="m:MathExpression"/>
1572
+ <xs:group ref="m:MathExpression"/>
1573
+ <xs:group ref="m:MathExpression"/>
1574
+ </xs:sequence>
1575
+ <xs:attributeGroup ref="m:msubsup.attributes"/>
1576
+ </xs:complexType>
1577
+ </xs:element>
1578
+ <xs:attributeGroup name="msubsup.attributes">
1579
+ <xs:attributeGroup ref="m:CommonAtt"/>
1580
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1581
+ <xs:attribute name="subscriptshift" type="m:length"/>
1582
+ <xs:attribute name="superscriptshift" type="m:length"/>
1583
+ </xs:attributeGroup>
1584
+ <xs:element name="munder" substitutionGroup="m:PresentationExpression">
1585
+ <xs:complexType>
1586
+ <xs:sequence>
1587
+ <xs:group ref="m:MathExpression"/>
1588
+ <xs:group ref="m:MathExpression"/>
1589
+ </xs:sequence>
1590
+ <xs:attributeGroup ref="m:munder.attributes"/>
1591
+ </xs:complexType>
1592
+ </xs:element>
1593
+ <xs:attributeGroup name="munder.attributes">
1594
+ <xs:attributeGroup ref="m:CommonAtt"/>
1595
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1596
+ <xs:attribute name="accentunder">
1597
+ <xs:simpleType>
1598
+ <xs:restriction base="xs:token">
1599
+ <xs:enumeration value="true"/>
1600
+ <xs:enumeration value="false"/>
1601
+ </xs:restriction>
1602
+ </xs:simpleType>
1603
+ </xs:attribute>
1604
+ <xs:attribute name="align">
1605
+ <xs:simpleType>
1606
+ <xs:restriction base="xs:token">
1607
+ <xs:enumeration value="left"/>
1608
+ <xs:enumeration value="right"/>
1609
+ <xs:enumeration value="center"/>
1610
+ </xs:restriction>
1611
+ </xs:simpleType>
1612
+ </xs:attribute>
1613
+ </xs:attributeGroup>
1614
+ <xs:element name="mover" substitutionGroup="m:PresentationExpression">
1615
+ <xs:complexType>
1616
+ <xs:sequence>
1617
+ <xs:group ref="m:MathExpression"/>
1618
+ <xs:group ref="m:MathExpression"/>
1619
+ </xs:sequence>
1620
+ <xs:attributeGroup ref="m:mover.attributes"/>
1621
+ </xs:complexType>
1622
+ </xs:element>
1623
+ <xs:attributeGroup name="mover.attributes">
1624
+ <xs:attributeGroup ref="m:CommonAtt"/>
1625
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1626
+ <xs:attribute name="accent">
1627
+ <xs:simpleType>
1628
+ <xs:restriction base="xs:token">
1629
+ <xs:enumeration value="true"/>
1630
+ <xs:enumeration value="false"/>
1631
+ </xs:restriction>
1632
+ </xs:simpleType>
1633
+ </xs:attribute>
1634
+ <xs:attribute name="align">
1635
+ <xs:simpleType>
1636
+ <xs:restriction base="xs:token">
1637
+ <xs:enumeration value="left"/>
1638
+ <xs:enumeration value="right"/>
1639
+ <xs:enumeration value="center"/>
1640
+ </xs:restriction>
1641
+ </xs:simpleType>
1642
+ </xs:attribute>
1643
+ </xs:attributeGroup>
1644
+ <xs:element name="munderover" substitutionGroup="m:PresentationExpression">
1645
+ <xs:complexType>
1646
+ <xs:sequence>
1647
+ <xs:group ref="m:MathExpression"/>
1648
+ <xs:group ref="m:MathExpression"/>
1649
+ <xs:group ref="m:MathExpression"/>
1650
+ </xs:sequence>
1651
+ <xs:attributeGroup ref="m:munderover.attributes"/>
1652
+ </xs:complexType>
1653
+ </xs:element>
1654
+ <xs:attributeGroup name="munderover.attributes">
1655
+ <xs:attributeGroup ref="m:CommonAtt"/>
1656
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1657
+ <xs:attribute name="accent">
1658
+ <xs:simpleType>
1659
+ <xs:restriction base="xs:token">
1660
+ <xs:enumeration value="true"/>
1661
+ <xs:enumeration value="false"/>
1662
+ </xs:restriction>
1663
+ </xs:simpleType>
1664
+ </xs:attribute>
1665
+ <xs:attribute name="accentunder">
1666
+ <xs:simpleType>
1667
+ <xs:restriction base="xs:token">
1668
+ <xs:enumeration value="true"/>
1669
+ <xs:enumeration value="false"/>
1670
+ </xs:restriction>
1671
+ </xs:simpleType>
1672
+ </xs:attribute>
1673
+ <xs:attribute name="align">
1674
+ <xs:simpleType>
1675
+ <xs:restriction base="xs:token">
1676
+ <xs:enumeration value="left"/>
1677
+ <xs:enumeration value="right"/>
1678
+ <xs:enumeration value="center"/>
1679
+ </xs:restriction>
1680
+ </xs:simpleType>
1681
+ </xs:attribute>
1682
+ </xs:attributeGroup>
1683
+ <xs:element name="mmultiscripts" substitutionGroup="m:PresentationExpression">
1684
+ <xs:complexType>
1685
+ <xs:sequence>
1686
+ <xs:group ref="m:MathExpression"/>
1687
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MultiScriptExpression"/>
1688
+ <xs:sequence minOccurs="0">
1689
+ <xs:element ref="m:mprescripts"/>
1690
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MultiScriptExpression"/>
1691
+ </xs:sequence>
1692
+ </xs:sequence>
1693
+ <xs:attributeGroup ref="m:mmultiscripts.attributes"/>
1694
+ </xs:complexType>
1695
+ </xs:element>
1696
+ <xs:attributeGroup name="mmultiscripts.attributes">
1697
+ <xs:attributeGroup ref="m:msubsup.attributes"/>
1698
+ </xs:attributeGroup>
1699
+ <xs:element name="mtable" substitutionGroup="m:PresentationExpression">
1700
+ <xs:complexType>
1701
+ <xs:sequence>
1702
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="m:TableRowExpression"/>
1703
+ </xs:sequence>
1704
+ <xs:attributeGroup ref="m:mtable.attributes"/>
1705
+ </xs:complexType>
1706
+ </xs:element>
1707
+ <xs:attributeGroup name="mtable.attributes">
1708
+ <xs:attributeGroup ref="m:CommonAtt"/>
1709
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1710
+ <xs:attribute name="align">
1711
+ <xs:simpleType>
1712
+ <xs:restriction base="xs:string">
1713
+ <xs:pattern value="\s*(top|bottom|center|baseline|axis)(\s+-?[0-9]+)?\s*"/>
1714
+ </xs:restriction>
1715
+ </xs:simpleType>
1716
+ </xs:attribute>
1717
+ <xs:attribute name="rowalign">
1718
+ <xs:simpleType>
1719
+ <xs:restriction>
1720
+ <xs:simpleType>
1721
+ <xs:list itemType="m:verticalalign"/>
1722
+ </xs:simpleType>
1723
+ <xs:minLength value="1"/>
1724
+ </xs:restriction>
1725
+ </xs:simpleType>
1726
+ </xs:attribute>
1727
+ <xs:attribute name="columnalign">
1728
+ <xs:simpleType>
1729
+ <xs:restriction>
1730
+ <xs:simpleType>
1731
+ <xs:list itemType="m:columnalignstyle"/>
1732
+ </xs:simpleType>
1733
+ <xs:minLength value="1"/>
1734
+ </xs:restriction>
1735
+ </xs:simpleType>
1736
+ </xs:attribute>
1737
+ <xs:attribute name="groupalign" type="m:group-alignment-list-list"/>
1738
+ <xs:attribute name="alignmentscope">
1739
+ <xs:simpleType>
1740
+ <xs:restriction>
1741
+ <xs:simpleType>
1742
+ <xs:list>
1743
+ <xs:simpleType>
1744
+ <xs:restriction base="xs:token">
1745
+ <xs:enumeration value="true"/>
1746
+ <xs:enumeration value="false"/>
1747
+ </xs:restriction>
1748
+ </xs:simpleType>
1749
+ </xs:list>
1750
+ </xs:simpleType>
1751
+ <xs:minLength value="1"/>
1752
+ </xs:restriction>
1753
+ </xs:simpleType>
1754
+ </xs:attribute>
1755
+ <xs:attribute name="columnwidth">
1756
+ <xs:simpleType>
1757
+ <xs:restriction>
1758
+ <xs:simpleType>
1759
+ <xs:list>
1760
+ <xs:simpleType>
1761
+ <xs:union memberTypes="m:length">
1762
+ <xs:simpleType>
1763
+ <xs:restriction base="xs:token">
1764
+ <xs:enumeration value="auto"/>
1765
+ </xs:restriction>
1766
+ </xs:simpleType>
1767
+ <xs:simpleType>
1768
+ <xs:restriction base="xs:token">
1769
+ <xs:enumeration value="fit"/>
1770
+ </xs:restriction>
1771
+ </xs:simpleType>
1772
+ </xs:union>
1773
+ </xs:simpleType>
1774
+ </xs:list>
1775
+ </xs:simpleType>
1776
+ <xs:minLength value="1"/>
1777
+ </xs:restriction>
1778
+ </xs:simpleType>
1779
+ </xs:attribute>
1780
+ <xs:attribute name="width">
1781
+ <xs:simpleType>
1782
+ <xs:union memberTypes="m:length">
1783
+ <xs:simpleType>
1784
+ <xs:restriction base="xs:token">
1785
+ <xs:enumeration value="auto"/>
1786
+ </xs:restriction>
1787
+ </xs:simpleType>
1788
+ </xs:union>
1789
+ </xs:simpleType>
1790
+ </xs:attribute>
1791
+ <xs:attribute name="rowspacing">
1792
+ <xs:simpleType>
1793
+ <xs:restriction>
1794
+ <xs:simpleType>
1795
+ <xs:list itemType="m:length"/>
1796
+ </xs:simpleType>
1797
+ <xs:minLength value="1"/>
1798
+ </xs:restriction>
1799
+ </xs:simpleType>
1800
+ </xs:attribute>
1801
+ <xs:attribute name="columnspacing">
1802
+ <xs:simpleType>
1803
+ <xs:restriction>
1804
+ <xs:simpleType>
1805
+ <xs:list itemType="m:length"/>
1806
+ </xs:simpleType>
1807
+ <xs:minLength value="1"/>
1808
+ </xs:restriction>
1809
+ </xs:simpleType>
1810
+ </xs:attribute>
1811
+ <xs:attribute name="rowlines">
1812
+ <xs:simpleType>
1813
+ <xs:restriction>
1814
+ <xs:simpleType>
1815
+ <xs:list itemType="m:linestyle"/>
1816
+ </xs:simpleType>
1817
+ <xs:minLength value="1"/>
1818
+ </xs:restriction>
1819
+ </xs:simpleType>
1820
+ </xs:attribute>
1821
+ <xs:attribute name="columnlines">
1822
+ <xs:simpleType>
1823
+ <xs:restriction>
1824
+ <xs:simpleType>
1825
+ <xs:list itemType="m:linestyle"/>
1826
+ </xs:simpleType>
1827
+ <xs:minLength value="1"/>
1828
+ </xs:restriction>
1829
+ </xs:simpleType>
1830
+ </xs:attribute>
1831
+ <xs:attribute name="frame" type="m:linestyle"/>
1832
+ <xs:attribute name="framespacing">
1833
+ <xs:simpleType>
1834
+ <xs:restriction>
1835
+ <xs:simpleType>
1836
+ <xs:list>
1837
+ <xs:simpleType>
1838
+ <xs:union memberTypes="m:length m:length"/>
1839
+ </xs:simpleType>
1840
+ </xs:list>
1841
+ </xs:simpleType>
1842
+ <xs:length value="2"/>
1843
+ </xs:restriction>
1844
+ </xs:simpleType>
1845
+ </xs:attribute>
1846
+ <xs:attribute name="equalrows">
1847
+ <xs:simpleType>
1848
+ <xs:restriction base="xs:token">
1849
+ <xs:enumeration value="true"/>
1850
+ <xs:enumeration value="false"/>
1851
+ </xs:restriction>
1852
+ </xs:simpleType>
1853
+ </xs:attribute>
1854
+ <xs:attribute name="equalcolumns">
1855
+ <xs:simpleType>
1856
+ <xs:restriction base="xs:token">
1857
+ <xs:enumeration value="true"/>
1858
+ <xs:enumeration value="false"/>
1859
+ </xs:restriction>
1860
+ </xs:simpleType>
1861
+ </xs:attribute>
1862
+ <xs:attribute name="displaystyle">
1863
+ <xs:simpleType>
1864
+ <xs:restriction base="xs:token">
1865
+ <xs:enumeration value="true"/>
1866
+ <xs:enumeration value="false"/>
1867
+ </xs:restriction>
1868
+ </xs:simpleType>
1869
+ </xs:attribute>
1870
+ <xs:attribute name="side">
1871
+ <xs:simpleType>
1872
+ <xs:restriction base="xs:token">
1873
+ <xs:enumeration value="left"/>
1874
+ <xs:enumeration value="right"/>
1875
+ <xs:enumeration value="leftoverlap"/>
1876
+ <xs:enumeration value="rightoverlap"/>
1877
+ </xs:restriction>
1878
+ </xs:simpleType>
1879
+ </xs:attribute>
1880
+ <xs:attribute name="minlabelspacing" type="m:length"/>
1881
+ </xs:attributeGroup>
1882
+ <xs:element name="mlabeledtr" substitutionGroup="m:TableRowExpression">
1883
+ <xs:complexType>
1884
+ <xs:sequence>
1885
+ <xs:element maxOccurs="unbounded" ref="m:TableCellExpression"/>
1886
+ </xs:sequence>
1887
+ <xs:attributeGroup ref="m:mlabeledtr.attributes"/>
1888
+ </xs:complexType>
1889
+ </xs:element>
1890
+ <xs:attributeGroup name="mlabeledtr.attributes">
1891
+ <xs:attributeGroup ref="m:mtr.attributes"/>
1892
+ </xs:attributeGroup>
1893
+ <xs:element name="mtr" substitutionGroup="m:TableRowExpression">
1894
+ <xs:complexType>
1895
+ <xs:sequence>
1896
+ <xs:element minOccurs="0" maxOccurs="unbounded" ref="m:TableCellExpression"/>
1897
+ </xs:sequence>
1898
+ <xs:attributeGroup ref="m:mtr.attributes"/>
1899
+ </xs:complexType>
1900
+ </xs:element>
1901
+ <xs:attributeGroup name="mtr.attributes">
1902
+ <xs:attributeGroup ref="m:CommonAtt"/>
1903
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1904
+ <xs:attribute name="rowalign">
1905
+ <xs:simpleType>
1906
+ <xs:restriction base="xs:token">
1907
+ <xs:enumeration value="top"/>
1908
+ <xs:enumeration value="bottom"/>
1909
+ <xs:enumeration value="center"/>
1910
+ <xs:enumeration value="baseline"/>
1911
+ <xs:enumeration value="axis"/>
1912
+ </xs:restriction>
1913
+ </xs:simpleType>
1914
+ </xs:attribute>
1915
+ <xs:attribute name="columnalign">
1916
+ <xs:simpleType>
1917
+ <xs:restriction>
1918
+ <xs:simpleType>
1919
+ <xs:list itemType="m:columnalignstyle"/>
1920
+ </xs:simpleType>
1921
+ <xs:minLength value="1"/>
1922
+ </xs:restriction>
1923
+ </xs:simpleType>
1924
+ </xs:attribute>
1925
+ <xs:attribute name="groupalign" type="m:group-alignment-list-list"/>
1926
+ </xs:attributeGroup>
1927
+ <xs:element name="mtd" substitutionGroup="m:TableCellExpression"/>
1928
+ <xs:attributeGroup name="mtd.attributes">
1929
+ <xs:attributeGroup ref="m:CommonAtt"/>
1930
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1931
+ <xs:attribute name="rowspan" type="m:positive-integer"/>
1932
+ <xs:attribute name="columnspan" type="m:positive-integer"/>
1933
+ <xs:attribute name="rowalign">
1934
+ <xs:simpleType>
1935
+ <xs:restriction base="xs:token">
1936
+ <xs:enumeration value="top"/>
1937
+ <xs:enumeration value="bottom"/>
1938
+ <xs:enumeration value="center"/>
1939
+ <xs:enumeration value="baseline"/>
1940
+ <xs:enumeration value="axis"/>
1941
+ </xs:restriction>
1942
+ </xs:simpleType>
1943
+ </xs:attribute>
1944
+ <xs:attribute name="columnalign" type="m:columnalignstyle"/>
1945
+ <xs:attribute name="groupalign" type="m:group-alignment-list"/>
1946
+ </xs:attributeGroup>
1947
+ <xs:element name="mstack" substitutionGroup="m:PresentationExpression">
1948
+ <xs:complexType>
1949
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MstackExpression"/>
1950
+ <xs:attributeGroup ref="m:mstack.attributes"/>
1951
+ </xs:complexType>
1952
+ </xs:element>
1953
+ <xs:attributeGroup name="mstack.attributes">
1954
+ <xs:attributeGroup ref="m:CommonAtt"/>
1955
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
1956
+ <xs:attribute name="align">
1957
+ <xs:simpleType>
1958
+ <xs:restriction base="xs:string">
1959
+ <xs:pattern value="\s*(top|bottom|center|baseline|axis)(\s+-?[0-9]+)?\s*"/>
1960
+ </xs:restriction>
1961
+ </xs:simpleType>
1962
+ </xs:attribute>
1963
+ <xs:attribute name="stackalign">
1964
+ <xs:simpleType>
1965
+ <xs:restriction base="xs:token">
1966
+ <xs:enumeration value="left"/>
1967
+ <xs:enumeration value="center"/>
1968
+ <xs:enumeration value="right"/>
1969
+ <xs:enumeration value="decimalpoint"/>
1970
+ </xs:restriction>
1971
+ </xs:simpleType>
1972
+ </xs:attribute>
1973
+ <xs:attribute name="charalign">
1974
+ <xs:simpleType>
1975
+ <xs:restriction base="xs:token">
1976
+ <xs:enumeration value="left"/>
1977
+ <xs:enumeration value="center"/>
1978
+ <xs:enumeration value="right"/>
1979
+ </xs:restriction>
1980
+ </xs:simpleType>
1981
+ </xs:attribute>
1982
+ <xs:attribute name="charspacing">
1983
+ <xs:simpleType>
1984
+ <xs:union memberTypes="m:length">
1985
+ <xs:simpleType>
1986
+ <xs:restriction base="xs:token">
1987
+ <xs:enumeration value="loose"/>
1988
+ </xs:restriction>
1989
+ </xs:simpleType>
1990
+ <xs:simpleType>
1991
+ <xs:restriction base="xs:token">
1992
+ <xs:enumeration value="medium"/>
1993
+ </xs:restriction>
1994
+ </xs:simpleType>
1995
+ <xs:simpleType>
1996
+ <xs:restriction base="xs:token">
1997
+ <xs:enumeration value="tight"/>
1998
+ </xs:restriction>
1999
+ </xs:simpleType>
2000
+ </xs:union>
2001
+ </xs:simpleType>
2002
+ </xs:attribute>
2003
+ </xs:attributeGroup>
2004
+ <xs:element name="mlongdiv" substitutionGroup="m:PresentationExpression">
2005
+ <xs:complexType>
2006
+ <xs:sequence>
2007
+ <xs:group ref="m:MstackExpression"/>
2008
+ <xs:group ref="m:MstackExpression"/>
2009
+ <xs:group maxOccurs="unbounded" ref="m:MstackExpression"/>
2010
+ </xs:sequence>
2011
+ <xs:attributeGroup ref="m:mlongdiv.attributes"/>
2012
+ </xs:complexType>
2013
+ </xs:element>
2014
+ <xs:attributeGroup name="mlongdiv.attributes">
2015
+ <xs:attributeGroup ref="m:msgroup.attributes"/>
2016
+ <xs:attribute name="longdivstyle">
2017
+ <xs:simpleType>
2018
+ <xs:restriction base="xs:token">
2019
+ <xs:enumeration value="lefttop"/>
2020
+ <xs:enumeration value="stackedrightright"/>
2021
+ <xs:enumeration value="mediumstackedrightright"/>
2022
+ <xs:enumeration value="shortstackedrightright"/>
2023
+ <xs:enumeration value="righttop"/>
2024
+ <xs:enumeration value="left/\right"/>
2025
+ <xs:enumeration value="left)(right"/>
2026
+ <xs:enumeration value=":right=right"/>
2027
+ <xs:enumeration value="stackedleftleft"/>
2028
+ <xs:enumeration value="stackedleftlinetop"/>
2029
+ </xs:restriction>
2030
+ </xs:simpleType>
2031
+ </xs:attribute>
2032
+ </xs:attributeGroup>
2033
+ <xs:element name="msgroup">
2034
+ <xs:complexType>
2035
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MstackExpression"/>
2036
+ <xs:attributeGroup ref="m:msgroup.attributes"/>
2037
+ </xs:complexType>
2038
+ </xs:element>
2039
+ <xs:attributeGroup name="msgroup.attributes">
2040
+ <xs:attributeGroup ref="m:CommonAtt"/>
2041
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
2042
+ <xs:attribute name="position" type="m:integer"/>
2043
+ <xs:attribute name="shift" type="m:integer"/>
2044
+ </xs:attributeGroup>
2045
+ <xs:element name="msrow">
2046
+ <xs:complexType>
2047
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MsrowExpression"/>
2048
+ <xs:attributeGroup ref="m:msrow.attributes"/>
2049
+ </xs:complexType>
2050
+ </xs:element>
2051
+ <xs:attributeGroup name="msrow.attributes">
2052
+ <xs:attributeGroup ref="m:CommonAtt"/>
2053
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
2054
+ <xs:attribute name="position" type="m:integer"/>
2055
+ </xs:attributeGroup>
2056
+ <xs:element name="mscarries">
2057
+ <xs:complexType>
2058
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
2059
+ <xs:group ref="m:MsrowExpression"/>
2060
+ <xs:element ref="m:mscarry"/>
2061
+ </xs:choice>
2062
+ <xs:attributeGroup ref="m:mscarries.attributes"/>
2063
+ </xs:complexType>
2064
+ </xs:element>
2065
+ <xs:attributeGroup name="mscarries.attributes">
2066
+ <xs:attributeGroup ref="m:CommonAtt"/>
2067
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
2068
+ <xs:attribute name="position" type="m:integer"/>
2069
+ <xs:attribute name="location">
2070
+ <xs:simpleType>
2071
+ <xs:restriction base="xs:token">
2072
+ <xs:enumeration value="w"/>
2073
+ <xs:enumeration value="nw"/>
2074
+ <xs:enumeration value="n"/>
2075
+ <xs:enumeration value="ne"/>
2076
+ <xs:enumeration value="e"/>
2077
+ <xs:enumeration value="se"/>
2078
+ <xs:enumeration value="s"/>
2079
+ <xs:enumeration value="sw"/>
2080
+ </xs:restriction>
2081
+ </xs:simpleType>
2082
+ </xs:attribute>
2083
+ <xs:attribute name="crossout">
2084
+ <xs:simpleType>
2085
+ <xs:list>
2086
+ <xs:simpleType>
2087
+ <xs:restriction base="xs:token">
2088
+ <xs:enumeration value="none"/>
2089
+ <xs:enumeration value="updiagonalstrike"/>
2090
+ <xs:enumeration value="downdiagonalstrike"/>
2091
+ <xs:enumeration value="verticalstrike"/>
2092
+ <xs:enumeration value="horizontalstrike"/>
2093
+ </xs:restriction>
2094
+ </xs:simpleType>
2095
+ </xs:list>
2096
+ </xs:simpleType>
2097
+ </xs:attribute>
2098
+ <xs:attribute name="scriptsizemultiplier" type="m:number"/>
2099
+ </xs:attributeGroup>
2100
+ <xs:element name="mscarry">
2101
+ <xs:complexType>
2102
+ <xs:group minOccurs="0" maxOccurs="unbounded" ref="m:MsrowExpression"/>
2103
+ <xs:attributeGroup ref="m:mscarry.attributes"/>
2104
+ </xs:complexType>
2105
+ </xs:element>
2106
+ <xs:attributeGroup name="mscarry.attributes">
2107
+ <xs:attributeGroup ref="m:CommonAtt"/>
2108
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
2109
+ <xs:attribute name="location">
2110
+ <xs:simpleType>
2111
+ <xs:restriction base="xs:token">
2112
+ <xs:enumeration value="w"/>
2113
+ <xs:enumeration value="nw"/>
2114
+ <xs:enumeration value="n"/>
2115
+ <xs:enumeration value="ne"/>
2116
+ <xs:enumeration value="e"/>
2117
+ <xs:enumeration value="se"/>
2118
+ <xs:enumeration value="s"/>
2119
+ <xs:enumeration value="sw"/>
2120
+ </xs:restriction>
2121
+ </xs:simpleType>
2122
+ </xs:attribute>
2123
+ <xs:attribute name="crossout">
2124
+ <xs:simpleType>
2125
+ <xs:list>
2126
+ <xs:simpleType>
2127
+ <xs:restriction base="xs:token">
2128
+ <xs:enumeration value="none"/>
2129
+ <xs:enumeration value="updiagonalstrike"/>
2130
+ <xs:enumeration value="downdiagonalstrike"/>
2131
+ <xs:enumeration value="verticalstrike"/>
2132
+ <xs:enumeration value="horizontalstrike"/>
2133
+ </xs:restriction>
2134
+ </xs:simpleType>
2135
+ </xs:list>
2136
+ </xs:simpleType>
2137
+ </xs:attribute>
2138
+ </xs:attributeGroup>
2139
+ <xs:element name="maction" substitutionGroup="m:PresentationExpression">
2140
+ <xs:complexType>
2141
+ <xs:group maxOccurs="unbounded" ref="m:MathExpression"/>
2142
+ <xs:attributeGroup ref="m:maction.attributes"/>
2143
+ </xs:complexType>
2144
+ </xs:element>
2145
+ <xs:attributeGroup name="maction.attributes">
2146
+ <xs:attributeGroup ref="m:CommonAtt"/>
2147
+ <xs:attributeGroup ref="m:CommonPresAtt"/>
2148
+ <xs:attribute name="actiontype" use="required"/>
2149
+ <xs:attribute name="selection" type="m:positive-integer"/>
2150
+ </xs:attributeGroup>
2151
+ </xs:schema>