@likecoin/epubcheck-ts 0.1.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.
Files changed (65) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +339 -0
  3. package/dist/index.cjs +1904 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +523 -0
  6. package/dist/index.d.ts +523 -0
  7. package/dist/index.js +1895 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +69 -0
  10. package/schemas/applications.rng +429 -0
  11. package/schemas/aria.rng +3355 -0
  12. package/schemas/block.rng +488 -0
  13. package/schemas/common.rng +1076 -0
  14. package/schemas/container.rng +24 -0
  15. package/schemas/core-scripting.rng +950 -0
  16. package/schemas/data.rng +161 -0
  17. package/schemas/datatypes.rng +401 -0
  18. package/schemas/embed.rng +980 -0
  19. package/schemas/epub-mathml3-inc.rng +161 -0
  20. package/schemas/epub-nav-30.rnc +44 -0
  21. package/schemas/epub-nav-30.rng +19985 -0
  22. package/schemas/epub-nav-30.sch +87 -0
  23. package/schemas/epub-prefix-attr.rng +17 -0
  24. package/schemas/epub-shared-inc.rng +29 -0
  25. package/schemas/epub-ssml-attrs.rng +17 -0
  26. package/schemas/epub-svg-30.rnc +17 -0
  27. package/schemas/epub-svg-30.rng +19903 -0
  28. package/schemas/epub-svg-30.sch +7 -0
  29. package/schemas/epub-svg-forgiving-inc.rng +315 -0
  30. package/schemas/epub-switch.rng +121 -0
  31. package/schemas/epub-trigger.rng +90 -0
  32. package/schemas/epub-type-attr.rng +12 -0
  33. package/schemas/epub-xhtml-30.rnc +6 -0
  34. package/schemas/epub-xhtml-30.rng +19882 -0
  35. package/schemas/epub-xhtml-30.sch +409 -0
  36. package/schemas/epub-xhtml-inc.rng +151 -0
  37. package/schemas/epub-xhtml-integration.rng +565 -0
  38. package/schemas/epub-xhtml-svg-mathml.rng +17 -0
  39. package/schemas/form-datatypes.rng +54 -0
  40. package/schemas/mathml3-common.rng +336 -0
  41. package/schemas/mathml3-content.rng +1552 -0
  42. package/schemas/mathml3-inc.rng +30 -0
  43. package/schemas/mathml3-presentation.rng +2341 -0
  44. package/schemas/mathml3-strict-content.rng +205 -0
  45. package/schemas/media.rng +374 -0
  46. package/schemas/meta.rng +754 -0
  47. package/schemas/microdata.rng +192 -0
  48. package/schemas/ncx.rng +308 -0
  49. package/schemas/ocf-container-30.rnc +37 -0
  50. package/schemas/ocf-container-30.rng +568 -0
  51. package/schemas/opf.rng +15 -0
  52. package/schemas/opf20.rng +513 -0
  53. package/schemas/package-30.rnc +133 -0
  54. package/schemas/package-30.rng +1153 -0
  55. package/schemas/package-30.sch +444 -0
  56. package/schemas/phrase.rng +746 -0
  57. package/schemas/rdfa.rng +552 -0
  58. package/schemas/revision.rng +106 -0
  59. package/schemas/ruby.rng +141 -0
  60. package/schemas/sectional.rng +278 -0
  61. package/schemas/structural.rng +298 -0
  62. package/schemas/tables.rng +420 -0
  63. package/schemas/web-components.rng +184 -0
  64. package/schemas/web-forms.rng +975 -0
  65. package/schemas/web-forms2.rng +1236 -0
@@ -0,0 +1,1552 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3
+ <!--
4
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
5
+ application for describing mathematical notation and capturing
6
+ both its structure and content.
7
+
8
+ With additional changes for integration into the validator.nu
9
+ service.
10
+
11
+ Copyright 1998-2010 W3C (MIT, ERCIM, Keio)
12
+ Copyright 2012 Mozilla Foundation
13
+ Copyright 2014-2019 W3C (MIT, ERCIM, Keio, Beihang)
14
+
15
+ Use and distribution of this code are permitted under the terms
16
+ W3C Software Notice and License
17
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
18
+ -->
19
+ <include href="mathml3-strict-content.rng">
20
+ <define name="cn.content">
21
+ <zeroOrMore>
22
+ <choice>
23
+ <text/>
24
+ <ref name="mglyph"/>
25
+ <ref name="sep"/>
26
+ <ref name="PresentationExpression"/>
27
+ </choice>
28
+ </zeroOrMore>
29
+ </define>
30
+ <define name="cn.attributes">
31
+ <ref name="CommonAtt"/>
32
+ <ref name="DefEncAtt"/>
33
+ <optional>
34
+ <attribute name="type"/>
35
+ </optional>
36
+ <optional>
37
+ <ref name="math-base"/>
38
+ </optional>
39
+ </define>
40
+ <define name="ci.attributes">
41
+ <ref name="CommonAtt"/>
42
+ <ref name="DefEncAtt"/>
43
+ <optional>
44
+ <ref name="ci.type"/>
45
+ </optional>
46
+ </define>
47
+ <define name="ci.type">
48
+ <attribute name="type"/>
49
+ </define>
50
+ <define name="ci.content">
51
+ <zeroOrMore>
52
+ <choice>
53
+ <text/>
54
+ <ref name="mglyph"/>
55
+ <ref name="PresentationExpression"/>
56
+ </choice>
57
+ </zeroOrMore>
58
+ </define>
59
+ <define name="csymbol.attributes">
60
+ <ref name="CommonAtt"/>
61
+ <ref name="DefEncAtt"/>
62
+ <optional>
63
+ <attribute name="type"/>
64
+ </optional>
65
+ <optional>
66
+ <ref name="cd"/>
67
+ </optional>
68
+ </define>
69
+ <define name="csymbol.content">
70
+ <zeroOrMore>
71
+ <choice>
72
+ <text/>
73
+ <ref name="mglyph"/>
74
+ <ref name="PresentationExpression"/>
75
+ </choice>
76
+ </zeroOrMore>
77
+ </define>
78
+ <define name="bvar">
79
+ <element name="bvar">
80
+ <ref name="CommonAtt"/>
81
+ <interleave>
82
+ <choice>
83
+ <ref name="ci"/>
84
+ <ref name="semantics-ci"/>
85
+ </choice>
86
+ <optional>
87
+ <ref name="degree"/>
88
+ </optional>
89
+ </interleave>
90
+ </element>
91
+ </define>
92
+ <define name="cbytes.attributes">
93
+ <ref name="CommonAtt"/>
94
+ <ref name="DefEncAtt"/>
95
+ </define>
96
+ <define name="cs.attributes">
97
+ <ref name="CommonAtt"/>
98
+ <ref name="DefEncAtt"/>
99
+ </define>
100
+ <define name="apply.content">
101
+ <choice>
102
+ <oneOrMore>
103
+ <ref name="ContExp"/>
104
+ </oneOrMore>
105
+ <group>
106
+ <ref name="ContExp"/>
107
+ <ref name="BvarQ"/>
108
+ <zeroOrMore>
109
+ <ref name="Qualifier"/>
110
+ </zeroOrMore>
111
+ <zeroOrMore>
112
+ <ref name="ContExp"/>
113
+ </zeroOrMore>
114
+ </group>
115
+ </choice>
116
+ </define>
117
+ <define name="bind.content">
118
+ <ref name="apply.content"/>
119
+ </define>
120
+ </include>
121
+ <!-- changed pattern name to math-base to avoid name conflict - mike -->
122
+ <define name="math-base">
123
+ <attribute name="base"/>
124
+ </define>
125
+ <define name="sep">
126
+ <element name="sep">
127
+ <empty/>
128
+ </element>
129
+ </define>
130
+ <define name="PresentationExpression" combine="choice">
131
+ <notAllowed/>
132
+ </define>
133
+ <define name="DomainQ">
134
+ <zeroOrMore>
135
+ <choice>
136
+ <ref name="domainofapplication"/>
137
+ <ref name="condition"/>
138
+ <ref name="interval"/>
139
+ <group>
140
+ <ref name="lowlimit"/>
141
+ <optional>
142
+ <ref name="uplimit"/>
143
+ </optional>
144
+ </group>
145
+ </choice>
146
+ </zeroOrMore>
147
+ </define>
148
+ <define name="domainofapplication">
149
+ <element name="domainofapplication">
150
+ <ref name="ContExp"/>
151
+ </element>
152
+ </define>
153
+ <define name="condition">
154
+ <element name="condition">
155
+ <ref name="ContExp"/>
156
+ </element>
157
+ </define>
158
+ <define name="uplimit">
159
+ <element name="uplimit">
160
+ <ref name="ContExp"/>
161
+ </element>
162
+ </define>
163
+ <define name="lowlimit">
164
+ <element name="lowlimit">
165
+ <ref name="ContExp"/>
166
+ </element>
167
+ </define>
168
+ <define name="Qualifier">
169
+ <choice>
170
+ <ref name="DomainQ"/>
171
+ <ref name="degree"/>
172
+ <ref name="momentabout"/>
173
+ <ref name="logbase"/>
174
+ </choice>
175
+ </define>
176
+ <define name="degree">
177
+ <element name="degree">
178
+ <ref name="ContExp"/>
179
+ </element>
180
+ </define>
181
+ <define name="momentabout">
182
+ <element name="momentabout">
183
+ <ref name="ContExp"/>
184
+ </element>
185
+ </define>
186
+ <define name="logbase">
187
+ <element name="logbase">
188
+ <ref name="ContExp"/>
189
+ </element>
190
+ </define>
191
+ <define name="type">
192
+ <attribute name="type"/>
193
+ </define>
194
+ <define name="order">
195
+ <attribute name="order">
196
+ <choice>
197
+ <value>numeric</value>
198
+ <value>lexicographic</value>
199
+ </choice>
200
+ </attribute>
201
+ </define>
202
+ <define name="closure">
203
+ <attribute name="closure"/>
204
+ </define>
205
+ <define name="ContExp" combine="choice">
206
+ <ref name="piecewise"/>
207
+ </define>
208
+ <define name="piecewise">
209
+ <element name="piecewise">
210
+ <ref name="CommonAtt"/>
211
+ <ref name="DefEncAtt"/>
212
+ <interleave>
213
+ <zeroOrMore>
214
+ <ref name="piece"/>
215
+ </zeroOrMore>
216
+ <optional>
217
+ <ref name="otherwise"/>
218
+ </optional>
219
+ </interleave>
220
+ </element>
221
+ </define>
222
+ <define name="piece">
223
+ <element name="piece">
224
+ <ref name="CommonAtt"/>
225
+ <ref name="DefEncAtt"/>
226
+ <ref name="ContExp"/>
227
+ <ref name="ContExp"/>
228
+ </element>
229
+ </define>
230
+ <define name="otherwise">
231
+ <element name="otherwise">
232
+ <ref name="CommonAtt"/>
233
+ <ref name="DefEncAtt"/>
234
+ <ref name="ContExp"/>
235
+ </element>
236
+ </define>
237
+ <define name="DeprecatedContExp">
238
+ <choice>
239
+ <ref name="reln"/>
240
+ <ref name="fn"/>
241
+ <ref name="declare"/>
242
+ </choice>
243
+ </define>
244
+ <define name="ContExp" combine="choice">
245
+ <ref name="DeprecatedContExp"/>
246
+ </define>
247
+ <define name="reln">
248
+ <element name="reln">
249
+ <zeroOrMore>
250
+ <ref name="ContExp"/>
251
+ </zeroOrMore>
252
+ </element>
253
+ </define>
254
+ <define name="fn">
255
+ <element name="fn">
256
+ <ref name="ContExp"/>
257
+ </element>
258
+ </define>
259
+ <define name="declare">
260
+ <element name="declare">
261
+ <optional>
262
+ <attribute name="type">
263
+ <data type="string"/>
264
+ </attribute>
265
+ </optional>
266
+ <optional>
267
+ <attribute name="scope">
268
+ <data type="string"/>
269
+ </attribute>
270
+ </optional>
271
+ <optional>
272
+ <attribute name="nargs">
273
+ <data type="nonNegativeInteger"/>
274
+ </attribute>
275
+ </optional>
276
+ <optional>
277
+ <attribute name="occurrence">
278
+ <choice>
279
+ <value>prefix</value>
280
+ <value>infix</value>
281
+ <value>function-model</value>
282
+ </choice>
283
+ </attribute>
284
+ </optional>
285
+ <ref name="DefEncAtt"/>
286
+ <oneOrMore>
287
+ <ref name="ContExp"/>
288
+ </oneOrMore>
289
+ </element>
290
+ </define>
291
+ <define name="interval.class">
292
+ <ref name="interval"/>
293
+ </define>
294
+ <define name="ContExp" combine="choice">
295
+ <ref name="interval.class"/>
296
+ </define>
297
+ <define name="interval">
298
+ <element name="interval">
299
+ <ref name="CommonAtt"/>
300
+ <ref name="DefEncAtt"/>
301
+ <optional>
302
+ <ref name="closure"/>
303
+ </optional>
304
+ <ref name="ContExp"/>
305
+ <ref name="ContExp"/>
306
+ </element>
307
+ </define>
308
+ <define name="unary-functional.class">
309
+ <choice>
310
+ <ref name="inverse"/>
311
+ <ref name="ident"/>
312
+ <ref name="domain"/>
313
+ <ref name="codomain"/>
314
+ <ref name="math-image"/>
315
+ <ref name="ln"/>
316
+ <ref name="log"/>
317
+ <ref name="moment"/>
318
+ </choice>
319
+ </define>
320
+ <define name="ContExp" combine="choice">
321
+ <ref name="unary-functional.class"/>
322
+ </define>
323
+ <define name="inverse">
324
+ <element name="inverse">
325
+ <ref name="CommonAtt"/>
326
+ <ref name="DefEncAtt"/>
327
+ <empty/>
328
+ </element>
329
+ </define>
330
+ <define name="ident">
331
+ <element name="ident">
332
+ <ref name="CommonAtt"/>
333
+ <ref name="DefEncAtt"/>
334
+ <empty/>
335
+ </element>
336
+ </define>
337
+ <define name="domain">
338
+ <element name="domain">
339
+ <ref name="CommonAtt"/>
340
+ <ref name="DefEncAtt"/>
341
+ <empty/>
342
+ </element>
343
+ </define>
344
+ <define name="codomain">
345
+ <element name="codomain">
346
+ <ref name="CommonAtt"/>
347
+ <ref name="DefEncAtt"/>
348
+ <empty/>
349
+ </element>
350
+ </define>
351
+ <!-- changed pattern name to math-image to avoid name conflict - mike -->
352
+ <define name="math-image">
353
+ <element name="image">
354
+ <ref name="CommonAtt"/>
355
+ <ref name="DefEncAtt"/>
356
+ <empty/>
357
+ </element>
358
+ </define>
359
+ <define name="ln">
360
+ <element name="ln">
361
+ <ref name="CommonAtt"/>
362
+ <ref name="DefEncAtt"/>
363
+ <empty/>
364
+ </element>
365
+ </define>
366
+ <define name="log">
367
+ <element name="log">
368
+ <ref name="CommonAtt"/>
369
+ <ref name="DefEncAtt"/>
370
+ <empty/>
371
+ </element>
372
+ </define>
373
+ <define name="moment">
374
+ <element name="moment">
375
+ <ref name="CommonAtt"/>
376
+ <ref name="DefEncAtt"/>
377
+ <empty/>
378
+ </element>
379
+ </define>
380
+ <define name="lambda.class">
381
+ <ref name="lambda"/>
382
+ </define>
383
+ <define name="ContExp" combine="choice">
384
+ <ref name="lambda.class"/>
385
+ </define>
386
+ <define name="lambda">
387
+ <element name="lambda">
388
+ <ref name="CommonAtt"/>
389
+ <ref name="DefEncAtt"/>
390
+ <ref name="BvarQ"/>
391
+ <ref name="DomainQ"/>
392
+ <ref name="ContExp"/>
393
+ </element>
394
+ </define>
395
+ <define name="nary-functional.class">
396
+ <ref name="compose"/>
397
+ </define>
398
+ <define name="ContExp" combine="choice">
399
+ <ref name="nary-functional.class"/>
400
+ </define>
401
+ <define name="compose">
402
+ <element name="compose">
403
+ <ref name="CommonAtt"/>
404
+ <ref name="DefEncAtt"/>
405
+ <empty/>
406
+ </element>
407
+ </define>
408
+ <define name="binary-arith.class">
409
+ <choice>
410
+ <ref name="quotient"/>
411
+ <ref name="divide"/>
412
+ <ref name="minus"/>
413
+ <ref name="power"/>
414
+ <ref name="rem"/>
415
+ <ref name="root"/>
416
+ </choice>
417
+ </define>
418
+ <define name="ContExp" combine="choice">
419
+ <ref name="binary-arith.class"/>
420
+ </define>
421
+ <define name="quotient">
422
+ <element name="quotient">
423
+ <ref name="CommonAtt"/>
424
+ <ref name="DefEncAtt"/>
425
+ <empty/>
426
+ </element>
427
+ </define>
428
+ <define name="divide">
429
+ <element name="divide">
430
+ <ref name="CommonAtt"/>
431
+ <ref name="DefEncAtt"/>
432
+ <empty/>
433
+ </element>
434
+ </define>
435
+ <define name="minus">
436
+ <element name="minus">
437
+ <ref name="CommonAtt"/>
438
+ <ref name="DefEncAtt"/>
439
+ <empty/>
440
+ </element>
441
+ </define>
442
+ <define name="power">
443
+ <element name="power">
444
+ <ref name="CommonAtt"/>
445
+ <ref name="DefEncAtt"/>
446
+ <empty/>
447
+ </element>
448
+ </define>
449
+ <define name="rem">
450
+ <element name="rem">
451
+ <ref name="CommonAtt"/>
452
+ <ref name="DefEncAtt"/>
453
+ <empty/>
454
+ </element>
455
+ </define>
456
+ <define name="root">
457
+ <element name="root">
458
+ <ref name="CommonAtt"/>
459
+ <ref name="DefEncAtt"/>
460
+ <empty/>
461
+ </element>
462
+ </define>
463
+ <define name="unary-arith.class">
464
+ <choice>
465
+ <ref name="factorial"/>
466
+ <ref name="minus"/>
467
+ <ref name="root"/>
468
+ <ref name="abs"/>
469
+ <ref name="conjugate"/>
470
+ <ref name="arg"/>
471
+ <ref name="real"/>
472
+ <ref name="imaginary"/>
473
+ <ref name="floor"/>
474
+ <ref name="ceiling"/>
475
+ <ref name="exp"/>
476
+ </choice>
477
+ </define>
478
+ <define name="ContExp" combine="choice">
479
+ <ref name="unary-arith.class"/>
480
+ </define>
481
+ <define name="factorial">
482
+ <element name="factorial">
483
+ <ref name="CommonAtt"/>
484
+ <ref name="DefEncAtt"/>
485
+ <empty/>
486
+ </element>
487
+ </define>
488
+ <define name="abs">
489
+ <element name="abs">
490
+ <ref name="CommonAtt"/>
491
+ <ref name="DefEncAtt"/>
492
+ <empty/>
493
+ </element>
494
+ </define>
495
+ <define name="conjugate">
496
+ <element name="conjugate">
497
+ <ref name="CommonAtt"/>
498
+ <ref name="DefEncAtt"/>
499
+ <empty/>
500
+ </element>
501
+ </define>
502
+ <define name="arg">
503
+ <element name="arg">
504
+ <ref name="CommonAtt"/>
505
+ <ref name="DefEncAtt"/>
506
+ <empty/>
507
+ </element>
508
+ </define>
509
+ <define name="real">
510
+ <element name="real">
511
+ <ref name="CommonAtt"/>
512
+ <ref name="DefEncAtt"/>
513
+ <empty/>
514
+ </element>
515
+ </define>
516
+ <define name="imaginary">
517
+ <element name="imaginary">
518
+ <ref name="CommonAtt"/>
519
+ <ref name="DefEncAtt"/>
520
+ <empty/>
521
+ </element>
522
+ </define>
523
+ <define name="floor">
524
+ <element name="floor">
525
+ <ref name="CommonAtt"/>
526
+ <ref name="DefEncAtt"/>
527
+ <empty/>
528
+ </element>
529
+ </define>
530
+ <define name="ceiling">
531
+ <element name="ceiling">
532
+ <ref name="CommonAtt"/>
533
+ <ref name="DefEncAtt"/>
534
+ <empty/>
535
+ </element>
536
+ </define>
537
+ <define name="exp">
538
+ <element name="exp">
539
+ <ref name="CommonAtt"/>
540
+ <ref name="DefEncAtt"/>
541
+ <empty/>
542
+ </element>
543
+ </define>
544
+ <define name="nary-minmax.class">
545
+ <choice>
546
+ <ref name="max"/>
547
+ <ref name="min"/>
548
+ </choice>
549
+ </define>
550
+ <define name="ContExp" combine="choice">
551
+ <ref name="nary-minmax.class"/>
552
+ </define>
553
+ <define name="max">
554
+ <element name="max">
555
+ <ref name="CommonAtt"/>
556
+ <ref name="DefEncAtt"/>
557
+ <empty/>
558
+ </element>
559
+ </define>
560
+ <define name="min">
561
+ <element name="min">
562
+ <ref name="CommonAtt"/>
563
+ <ref name="DefEncAtt"/>
564
+ <empty/>
565
+ </element>
566
+ </define>
567
+ <define name="nary-arith.class">
568
+ <choice>
569
+ <ref name="plus"/>
570
+ <ref name="times"/>
571
+ <ref name="gcd"/>
572
+ <ref name="lcm"/>
573
+ </choice>
574
+ </define>
575
+ <define name="ContExp" combine="choice">
576
+ <ref name="nary-arith.class"/>
577
+ </define>
578
+ <define name="plus">
579
+ <element name="plus">
580
+ <ref name="CommonAtt"/>
581
+ <ref name="DefEncAtt"/>
582
+ <empty/>
583
+ </element>
584
+ </define>
585
+ <define name="times">
586
+ <element name="times">
587
+ <ref name="CommonAtt"/>
588
+ <ref name="DefEncAtt"/>
589
+ <empty/>
590
+ </element>
591
+ </define>
592
+ <define name="gcd">
593
+ <element name="gcd">
594
+ <ref name="CommonAtt"/>
595
+ <ref name="DefEncAtt"/>
596
+ <empty/>
597
+ </element>
598
+ </define>
599
+ <define name="lcm">
600
+ <element name="lcm">
601
+ <ref name="CommonAtt"/>
602
+ <ref name="DefEncAtt"/>
603
+ <empty/>
604
+ </element>
605
+ </define>
606
+ <define name="nary-logical.class">
607
+ <choice>
608
+ <ref name="and"/>
609
+ <ref name="or"/>
610
+ <ref name="xor"/>
611
+ </choice>
612
+ </define>
613
+ <define name="ContExp" combine="choice">
614
+ <ref name="nary-logical.class"/>
615
+ </define>
616
+ <define name="and">
617
+ <element name="and">
618
+ <ref name="CommonAtt"/>
619
+ <ref name="DefEncAtt"/>
620
+ <empty/>
621
+ </element>
622
+ </define>
623
+ <define name="or">
624
+ <element name="or">
625
+ <ref name="CommonAtt"/>
626
+ <ref name="DefEncAtt"/>
627
+ <empty/>
628
+ </element>
629
+ </define>
630
+ <define name="xor">
631
+ <element name="xor">
632
+ <ref name="CommonAtt"/>
633
+ <ref name="DefEncAtt"/>
634
+ <empty/>
635
+ </element>
636
+ </define>
637
+ <define name="unary-logical.class">
638
+ <ref name="not"/>
639
+ </define>
640
+ <define name="ContExp" combine="choice">
641
+ <ref name="unary-logical.class"/>
642
+ </define>
643
+ <define name="not">
644
+ <element name="not">
645
+ <ref name="CommonAtt"/>
646
+ <ref name="DefEncAtt"/>
647
+ <empty/>
648
+ </element>
649
+ </define>
650
+ <define name="binary-logical.class">
651
+ <choice>
652
+ <ref name="implies"/>
653
+ <ref name="equivalent"/>
654
+ </choice>
655
+ </define>
656
+ <define name="ContExp" combine="choice">
657
+ <ref name="binary-logical.class"/>
658
+ </define>
659
+ <define name="implies">
660
+ <element name="implies">
661
+ <ref name="CommonAtt"/>
662
+ <ref name="DefEncAtt"/>
663
+ <empty/>
664
+ </element>
665
+ </define>
666
+ <define name="equivalent">
667
+ <element name="equivalent">
668
+ <ref name="CommonAtt"/>
669
+ <ref name="DefEncAtt"/>
670
+ <empty/>
671
+ </element>
672
+ </define>
673
+ <define name="quantifier.class">
674
+ <choice>
675
+ <ref name="forall"/>
676
+ <ref name="exists"/>
677
+ </choice>
678
+ </define>
679
+ <define name="ContExp" combine="choice">
680
+ <ref name="quantifier.class"/>
681
+ </define>
682
+ <define name="forall">
683
+ <element name="forall">
684
+ <ref name="CommonAtt"/>
685
+ <ref name="DefEncAtt"/>
686
+ <empty/>
687
+ </element>
688
+ </define>
689
+ <define name="exists">
690
+ <element name="exists">
691
+ <ref name="CommonAtt"/>
692
+ <ref name="DefEncAtt"/>
693
+ <empty/>
694
+ </element>
695
+ </define>
696
+ <define name="nary-reln.class">
697
+ <choice>
698
+ <ref name="eq"/>
699
+ <ref name="gt"/>
700
+ <ref name="lt"/>
701
+ <ref name="geq"/>
702
+ <ref name="leq"/>
703
+ </choice>
704
+ </define>
705
+ <define name="ContExp" combine="choice">
706
+ <ref name="nary-reln.class"/>
707
+ </define>
708
+ <define name="eq">
709
+ <element name="eq">
710
+ <ref name="CommonAtt"/>
711
+ <ref name="DefEncAtt"/>
712
+ <empty/>
713
+ </element>
714
+ </define>
715
+ <define name="gt">
716
+ <element name="gt">
717
+ <ref name="CommonAtt"/>
718
+ <ref name="DefEncAtt"/>
719
+ <empty/>
720
+ </element>
721
+ </define>
722
+ <define name="lt">
723
+ <element name="lt">
724
+ <ref name="CommonAtt"/>
725
+ <ref name="DefEncAtt"/>
726
+ <empty/>
727
+ </element>
728
+ </define>
729
+ <define name="geq">
730
+ <element name="geq">
731
+ <ref name="CommonAtt"/>
732
+ <ref name="DefEncAtt"/>
733
+ <empty/>
734
+ </element>
735
+ </define>
736
+ <define name="leq">
737
+ <element name="leq">
738
+ <ref name="CommonAtt"/>
739
+ <ref name="DefEncAtt"/>
740
+ <empty/>
741
+ </element>
742
+ </define>
743
+ <define name="binary-reln.class">
744
+ <choice>
745
+ <ref name="neq"/>
746
+ <ref name="approx"/>
747
+ <ref name="factorof"/>
748
+ <ref name="tendsto"/>
749
+ </choice>
750
+ </define>
751
+ <define name="ContExp" combine="choice">
752
+ <ref name="binary-reln.class"/>
753
+ </define>
754
+ <define name="neq">
755
+ <element name="neq">
756
+ <ref name="CommonAtt"/>
757
+ <ref name="DefEncAtt"/>
758
+ <empty/>
759
+ </element>
760
+ </define>
761
+ <define name="approx">
762
+ <element name="approx">
763
+ <ref name="CommonAtt"/>
764
+ <ref name="DefEncAtt"/>
765
+ <empty/>
766
+ </element>
767
+ </define>
768
+ <define name="factorof">
769
+ <element name="factorof">
770
+ <ref name="CommonAtt"/>
771
+ <ref name="DefEncAtt"/>
772
+ <empty/>
773
+ </element>
774
+ </define>
775
+ <define name="tendsto">
776
+ <element name="tendsto">
777
+ <ref name="CommonAtt"/>
778
+ <ref name="DefEncAtt"/>
779
+ <optional>
780
+ <ref name="type"/>
781
+ </optional>
782
+ <empty/>
783
+ </element>
784
+ </define>
785
+ <define name="int.class">
786
+ <ref name="int"/>
787
+ </define>
788
+ <define name="ContExp" combine="choice">
789
+ <ref name="int.class"/>
790
+ </define>
791
+ <define name="int">
792
+ <element name="int">
793
+ <ref name="CommonAtt"/>
794
+ <ref name="DefEncAtt"/>
795
+ <empty/>
796
+ </element>
797
+ </define>
798
+ <define name="Differential-Operator.class">
799
+ <ref name="diff"/>
800
+ </define>
801
+ <define name="ContExp" combine="choice">
802
+ <ref name="Differential-Operator.class"/>
803
+ </define>
804
+ <define name="diff">
805
+ <element name="diff">
806
+ <ref name="CommonAtt"/>
807
+ <ref name="DefEncAtt"/>
808
+ <empty/>
809
+ </element>
810
+ </define>
811
+ <define name="partialdiff.class">
812
+ <ref name="partialdiff"/>
813
+ </define>
814
+ <define name="ContExp" combine="choice">
815
+ <ref name="partialdiff.class"/>
816
+ </define>
817
+ <define name="partialdiff">
818
+ <element name="partialdiff">
819
+ <ref name="CommonAtt"/>
820
+ <ref name="DefEncAtt"/>
821
+ <empty/>
822
+ </element>
823
+ </define>
824
+ <define name="unary-veccalc.class">
825
+ <choice>
826
+ <ref name="divergence"/>
827
+ <ref name="grad"/>
828
+ <ref name="curl"/>
829
+ <ref name="laplacian"/>
830
+ </choice>
831
+ </define>
832
+ <define name="ContExp" combine="choice">
833
+ <ref name="unary-veccalc.class"/>
834
+ </define>
835
+ <define name="divergence">
836
+ <element name="divergence">
837
+ <ref name="CommonAtt"/>
838
+ <ref name="DefEncAtt"/>
839
+ <empty/>
840
+ </element>
841
+ </define>
842
+ <define name="grad">
843
+ <element name="grad">
844
+ <ref name="CommonAtt"/>
845
+ <ref name="DefEncAtt"/>
846
+ <empty/>
847
+ </element>
848
+ </define>
849
+ <define name="curl">
850
+ <element name="curl">
851
+ <ref name="CommonAtt"/>
852
+ <ref name="DefEncAtt"/>
853
+ <empty/>
854
+ </element>
855
+ </define>
856
+ <define name="laplacian">
857
+ <element name="laplacian">
858
+ <ref name="CommonAtt"/>
859
+ <ref name="DefEncAtt"/>
860
+ <empty/>
861
+ </element>
862
+ </define>
863
+ <define name="nary-setlist-constructor.class">
864
+ <choice>
865
+ <ref name="math-set"/>
866
+ <ref name="list"/>
867
+ </choice>
868
+ </define>
869
+ <define name="ContExp" combine="choice">
870
+ <ref name="nary-setlist-constructor.class"/>
871
+ </define>
872
+ <!-- changed pattern name to math-set to avoid name conflict - mike -->
873
+ <define name="math-set">
874
+ <element name="set">
875
+ <ref name="CommonAtt"/>
876
+ <ref name="DefEncAtt"/>
877
+ <optional>
878
+ <ref name="type"/>
879
+ </optional>
880
+ <zeroOrMore>
881
+ <ref name="BvarQ"/>
882
+ </zeroOrMore>
883
+ <zeroOrMore>
884
+ <ref name="DomainQ"/>
885
+ </zeroOrMore>
886
+ <zeroOrMore>
887
+ <ref name="ContExp"/>
888
+ </zeroOrMore>
889
+ </element>
890
+ </define>
891
+ <define name="list">
892
+ <element name="list">
893
+ <ref name="CommonAtt"/>
894
+ <ref name="DefEncAtt"/>
895
+ <optional>
896
+ <ref name="order"/>
897
+ </optional>
898
+ <zeroOrMore>
899
+ <ref name="BvarQ"/>
900
+ </zeroOrMore>
901
+ <zeroOrMore>
902
+ <ref name="DomainQ"/>
903
+ </zeroOrMore>
904
+ <zeroOrMore>
905
+ <ref name="ContExp"/>
906
+ </zeroOrMore>
907
+ </element>
908
+ </define>
909
+ <define name="nary-set.class">
910
+ <choice>
911
+ <ref name="union"/>
912
+ <ref name="intersect"/>
913
+ <ref name="cartesianproduct"/>
914
+ </choice>
915
+ </define>
916
+ <define name="ContExp" combine="choice">
917
+ <ref name="nary-set.class"/>
918
+ </define>
919
+ <define name="union">
920
+ <element name="union">
921
+ <ref name="CommonAtt"/>
922
+ <ref name="DefEncAtt"/>
923
+ <empty/>
924
+ </element>
925
+ </define>
926
+ <define name="intersect">
927
+ <element name="intersect">
928
+ <ref name="CommonAtt"/>
929
+ <ref name="DefEncAtt"/>
930
+ <empty/>
931
+ </element>
932
+ </define>
933
+ <define name="cartesianproduct">
934
+ <element name="cartesianproduct">
935
+ <ref name="CommonAtt"/>
936
+ <ref name="DefEncAtt"/>
937
+ <empty/>
938
+ </element>
939
+ </define>
940
+ <define name="binary-set.class">
941
+ <choice>
942
+ <ref name="in"/>
943
+ <ref name="notin"/>
944
+ <ref name="notsubset"/>
945
+ <ref name="notprsubset"/>
946
+ <ref name="setdiff"/>
947
+ </choice>
948
+ </define>
949
+ <define name="ContExp" combine="choice">
950
+ <ref name="binary-set.class"/>
951
+ </define>
952
+ <define name="in">
953
+ <element name="in">
954
+ <ref name="CommonAtt"/>
955
+ <ref name="DefEncAtt"/>
956
+ <empty/>
957
+ </element>
958
+ </define>
959
+ <define name="notin">
960
+ <element name="notin">
961
+ <ref name="CommonAtt"/>
962
+ <ref name="DefEncAtt"/>
963
+ <empty/>
964
+ </element>
965
+ </define>
966
+ <define name="notsubset">
967
+ <element name="notsubset">
968
+ <ref name="CommonAtt"/>
969
+ <ref name="DefEncAtt"/>
970
+ <empty/>
971
+ </element>
972
+ </define>
973
+ <define name="notprsubset">
974
+ <element name="notprsubset">
975
+ <ref name="CommonAtt"/>
976
+ <ref name="DefEncAtt"/>
977
+ <empty/>
978
+ </element>
979
+ </define>
980
+ <define name="setdiff">
981
+ <element name="setdiff">
982
+ <ref name="CommonAtt"/>
983
+ <ref name="DefEncAtt"/>
984
+ <empty/>
985
+ </element>
986
+ </define>
987
+ <define name="nary-set-reln.class">
988
+ <choice>
989
+ <ref name="subset"/>
990
+ <ref name="prsubset"/>
991
+ </choice>
992
+ </define>
993
+ <define name="ContExp" combine="choice">
994
+ <ref name="nary-set-reln.class"/>
995
+ </define>
996
+ <define name="subset">
997
+ <element name="subset">
998
+ <ref name="CommonAtt"/>
999
+ <ref name="DefEncAtt"/>
1000
+ <empty/>
1001
+ </element>
1002
+ </define>
1003
+ <define name="prsubset">
1004
+ <element name="prsubset">
1005
+ <ref name="CommonAtt"/>
1006
+ <ref name="DefEncAtt"/>
1007
+ <empty/>
1008
+ </element>
1009
+ </define>
1010
+ <define name="unary-set.class">
1011
+ <ref name="card"/>
1012
+ </define>
1013
+ <define name="ContExp" combine="choice">
1014
+ <ref name="unary-set.class"/>
1015
+ </define>
1016
+ <define name="card">
1017
+ <element name="card">
1018
+ <ref name="CommonAtt"/>
1019
+ <ref name="DefEncAtt"/>
1020
+ <empty/>
1021
+ </element>
1022
+ </define>
1023
+ <define name="sum.class">
1024
+ <ref name="sum"/>
1025
+ </define>
1026
+ <define name="ContExp" combine="choice">
1027
+ <ref name="sum.class"/>
1028
+ </define>
1029
+ <define name="sum">
1030
+ <element name="sum">
1031
+ <ref name="CommonAtt"/>
1032
+ <ref name="DefEncAtt"/>
1033
+ <empty/>
1034
+ </element>
1035
+ </define>
1036
+ <define name="product.class">
1037
+ <ref name="product"/>
1038
+ </define>
1039
+ <define name="ContExp" combine="choice">
1040
+ <ref name="product.class"/>
1041
+ </define>
1042
+ <define name="product">
1043
+ <element name="product">
1044
+ <ref name="CommonAtt"/>
1045
+ <ref name="DefEncAtt"/>
1046
+ <empty/>
1047
+ </element>
1048
+ </define>
1049
+ <define name="limit.class">
1050
+ <ref name="limit"/>
1051
+ </define>
1052
+ <define name="ContExp" combine="choice">
1053
+ <ref name="limit.class"/>
1054
+ </define>
1055
+ <define name="limit">
1056
+ <element name="limit">
1057
+ <ref name="CommonAtt"/>
1058
+ <ref name="DefEncAtt"/>
1059
+ <empty/>
1060
+ </element>
1061
+ </define>
1062
+ <define name="unary-elementary.class">
1063
+ <choice>
1064
+ <ref name="sin"/>
1065
+ <ref name="cos"/>
1066
+ <ref name="tan"/>
1067
+ <ref name="sec"/>
1068
+ <ref name="csc"/>
1069
+ <ref name="cot"/>
1070
+ <ref name="sinh"/>
1071
+ <ref name="cosh"/>
1072
+ <ref name="tanh"/>
1073
+ <ref name="sech"/>
1074
+ <ref name="csch"/>
1075
+ <ref name="coth"/>
1076
+ <ref name="arcsin"/>
1077
+ <ref name="arccos"/>
1078
+ <ref name="arctan"/>
1079
+ <ref name="arccosh"/>
1080
+ <ref name="arccot"/>
1081
+ <ref name="arccoth"/>
1082
+ <ref name="arccsc"/>
1083
+ <ref name="arccsch"/>
1084
+ <ref name="arcsec"/>
1085
+ <ref name="arcsech"/>
1086
+ <ref name="arcsinh"/>
1087
+ <ref name="arctanh"/>
1088
+ </choice>
1089
+ </define>
1090
+ <define name="ContExp" combine="choice">
1091
+ <ref name="unary-elementary.class"/>
1092
+ </define>
1093
+ <define name="sin">
1094
+ <element name="sin">
1095
+ <ref name="CommonAtt"/>
1096
+ <ref name="DefEncAtt"/>
1097
+ <empty/>
1098
+ </element>
1099
+ </define>
1100
+ <define name="cos">
1101
+ <element name="cos">
1102
+ <ref name="CommonAtt"/>
1103
+ <ref name="DefEncAtt"/>
1104
+ <empty/>
1105
+ </element>
1106
+ </define>
1107
+ <define name="tan">
1108
+ <element name="tan">
1109
+ <ref name="CommonAtt"/>
1110
+ <ref name="DefEncAtt"/>
1111
+ <empty/>
1112
+ </element>
1113
+ </define>
1114
+ <define name="sec">
1115
+ <element name="sec">
1116
+ <ref name="CommonAtt"/>
1117
+ <ref name="DefEncAtt"/>
1118
+ <empty/>
1119
+ </element>
1120
+ </define>
1121
+ <define name="csc">
1122
+ <element name="csc">
1123
+ <ref name="CommonAtt"/>
1124
+ <ref name="DefEncAtt"/>
1125
+ <empty/>
1126
+ </element>
1127
+ </define>
1128
+ <define name="cot">
1129
+ <element name="cot">
1130
+ <ref name="CommonAtt"/>
1131
+ <ref name="DefEncAtt"/>
1132
+ <empty/>
1133
+ </element>
1134
+ </define>
1135
+ <define name="sinh">
1136
+ <element name="sinh">
1137
+ <ref name="CommonAtt"/>
1138
+ <ref name="DefEncAtt"/>
1139
+ <empty/>
1140
+ </element>
1141
+ </define>
1142
+ <define name="cosh">
1143
+ <element name="cosh">
1144
+ <ref name="CommonAtt"/>
1145
+ <ref name="DefEncAtt"/>
1146
+ <empty/>
1147
+ </element>
1148
+ </define>
1149
+ <define name="tanh">
1150
+ <element name="tanh">
1151
+ <ref name="CommonAtt"/>
1152
+ <ref name="DefEncAtt"/>
1153
+ <empty/>
1154
+ </element>
1155
+ </define>
1156
+ <define name="sech">
1157
+ <element name="sech">
1158
+ <ref name="CommonAtt"/>
1159
+ <ref name="DefEncAtt"/>
1160
+ <empty/>
1161
+ </element>
1162
+ </define>
1163
+ <define name="csch">
1164
+ <element name="csch">
1165
+ <ref name="CommonAtt"/>
1166
+ <ref name="DefEncAtt"/>
1167
+ <empty/>
1168
+ </element>
1169
+ </define>
1170
+ <define name="coth">
1171
+ <element name="coth">
1172
+ <ref name="CommonAtt"/>
1173
+ <ref name="DefEncAtt"/>
1174
+ <empty/>
1175
+ </element>
1176
+ </define>
1177
+ <define name="arcsin">
1178
+ <element name="arcsin">
1179
+ <ref name="CommonAtt"/>
1180
+ <ref name="DefEncAtt"/>
1181
+ <empty/>
1182
+ </element>
1183
+ </define>
1184
+ <define name="arccos">
1185
+ <element name="arccos">
1186
+ <ref name="CommonAtt"/>
1187
+ <ref name="DefEncAtt"/>
1188
+ <empty/>
1189
+ </element>
1190
+ </define>
1191
+ <define name="arctan">
1192
+ <element name="arctan">
1193
+ <ref name="CommonAtt"/>
1194
+ <ref name="DefEncAtt"/>
1195
+ <empty/>
1196
+ </element>
1197
+ </define>
1198
+ <define name="arccosh">
1199
+ <element name="arccosh">
1200
+ <ref name="CommonAtt"/>
1201
+ <ref name="DefEncAtt"/>
1202
+ <empty/>
1203
+ </element>
1204
+ </define>
1205
+ <define name="arccot">
1206
+ <element name="arccot">
1207
+ <ref name="CommonAtt"/>
1208
+ <ref name="DefEncAtt"/>
1209
+ <empty/>
1210
+ </element>
1211
+ </define>
1212
+ <define name="arccoth">
1213
+ <element name="arccoth">
1214
+ <ref name="CommonAtt"/>
1215
+ <ref name="DefEncAtt"/>
1216
+ <empty/>
1217
+ </element>
1218
+ </define>
1219
+ <define name="arccsc">
1220
+ <element name="arccsc">
1221
+ <ref name="CommonAtt"/>
1222
+ <ref name="DefEncAtt"/>
1223
+ <empty/>
1224
+ </element>
1225
+ </define>
1226
+ <define name="arccsch">
1227
+ <element name="arccsch">
1228
+ <ref name="CommonAtt"/>
1229
+ <ref name="DefEncAtt"/>
1230
+ <empty/>
1231
+ </element>
1232
+ </define>
1233
+ <define name="arcsec">
1234
+ <element name="arcsec">
1235
+ <ref name="CommonAtt"/>
1236
+ <ref name="DefEncAtt"/>
1237
+ <empty/>
1238
+ </element>
1239
+ </define>
1240
+ <define name="arcsech">
1241
+ <element name="arcsech">
1242
+ <ref name="CommonAtt"/>
1243
+ <ref name="DefEncAtt"/>
1244
+ <empty/>
1245
+ </element>
1246
+ </define>
1247
+ <define name="arcsinh">
1248
+ <element name="arcsinh">
1249
+ <ref name="CommonAtt"/>
1250
+ <ref name="DefEncAtt"/>
1251
+ <empty/>
1252
+ </element>
1253
+ </define>
1254
+ <define name="arctanh">
1255
+ <element name="arctanh">
1256
+ <ref name="CommonAtt"/>
1257
+ <ref name="DefEncAtt"/>
1258
+ <empty/>
1259
+ </element>
1260
+ </define>
1261
+ <define name="nary-stats.class">
1262
+ <choice>
1263
+ <ref name="mean"/>
1264
+ <ref name="sdev"/>
1265
+ <ref name="variance"/>
1266
+ <ref name="median"/>
1267
+ <ref name="mode"/>
1268
+ </choice>
1269
+ </define>
1270
+ <define name="ContExp" combine="choice">
1271
+ <ref name="nary-stats.class"/>
1272
+ </define>
1273
+ <define name="mean">
1274
+ <element name="mean">
1275
+ <ref name="CommonAtt"/>
1276
+ <ref name="DefEncAtt"/>
1277
+ <empty/>
1278
+ </element>
1279
+ </define>
1280
+ <define name="sdev">
1281
+ <element name="sdev">
1282
+ <ref name="CommonAtt"/>
1283
+ <ref name="DefEncAtt"/>
1284
+ <empty/>
1285
+ </element>
1286
+ </define>
1287
+ <define name="variance">
1288
+ <element name="variance">
1289
+ <ref name="CommonAtt"/>
1290
+ <ref name="DefEncAtt"/>
1291
+ <empty/>
1292
+ </element>
1293
+ </define>
1294
+ <define name="median">
1295
+ <element name="median">
1296
+ <ref name="CommonAtt"/>
1297
+ <ref name="DefEncAtt"/>
1298
+ <empty/>
1299
+ </element>
1300
+ </define>
1301
+ <define name="mode">
1302
+ <element name="mode">
1303
+ <ref name="CommonAtt"/>
1304
+ <ref name="DefEncAtt"/>
1305
+ <empty/>
1306
+ </element>
1307
+ </define>
1308
+ <define name="nary-constructor.class">
1309
+ <choice>
1310
+ <ref name="vector"/>
1311
+ <ref name="matrix"/>
1312
+ <ref name="matrixrow"/>
1313
+ </choice>
1314
+ </define>
1315
+ <define name="ContExp" combine="choice">
1316
+ <ref name="nary-constructor.class"/>
1317
+ </define>
1318
+ <define name="vector">
1319
+ <element name="vector">
1320
+ <ref name="CommonAtt"/>
1321
+ <ref name="DefEncAtt"/>
1322
+ <ref name="BvarQ"/>
1323
+ <ref name="DomainQ"/>
1324
+ <zeroOrMore>
1325
+ <ref name="ContExp"/>
1326
+ </zeroOrMore>
1327
+ </element>
1328
+ </define>
1329
+ <define name="matrix">
1330
+ <element name="matrix">
1331
+ <ref name="CommonAtt"/>
1332
+ <ref name="DefEncAtt"/>
1333
+ <ref name="BvarQ"/>
1334
+ <ref name="DomainQ"/>
1335
+ <zeroOrMore>
1336
+ <ref name="ContExp"/>
1337
+ </zeroOrMore>
1338
+ </element>
1339
+ </define>
1340
+ <define name="matrixrow">
1341
+ <element name="matrixrow">
1342
+ <ref name="CommonAtt"/>
1343
+ <ref name="DefEncAtt"/>
1344
+ <ref name="BvarQ"/>
1345
+ <ref name="DomainQ"/>
1346
+ <zeroOrMore>
1347
+ <ref name="ContExp"/>
1348
+ </zeroOrMore>
1349
+ </element>
1350
+ </define>
1351
+ <define name="unary-linalg.class">
1352
+ <choice>
1353
+ <ref name="determinant"/>
1354
+ <ref name="transpose"/>
1355
+ </choice>
1356
+ </define>
1357
+ <define name="ContExp" combine="choice">
1358
+ <ref name="unary-linalg.class"/>
1359
+ </define>
1360
+ <define name="determinant">
1361
+ <element name="determinant">
1362
+ <ref name="CommonAtt"/>
1363
+ <ref name="DefEncAtt"/>
1364
+ <empty/>
1365
+ </element>
1366
+ </define>
1367
+ <define name="transpose">
1368
+ <element name="transpose">
1369
+ <ref name="CommonAtt"/>
1370
+ <ref name="DefEncAtt"/>
1371
+ <empty/>
1372
+ </element>
1373
+ </define>
1374
+ <define name="nary-linalg.class">
1375
+ <ref name="selector"/>
1376
+ </define>
1377
+ <define name="ContExp" combine="choice">
1378
+ <ref name="nary-linalg.class"/>
1379
+ </define>
1380
+ <define name="selector">
1381
+ <element name="selector">
1382
+ <ref name="CommonAtt"/>
1383
+ <ref name="DefEncAtt"/>
1384
+ <empty/>
1385
+ </element>
1386
+ </define>
1387
+ <define name="binary-linalg.class">
1388
+ <choice>
1389
+ <ref name="vectorproduct"/>
1390
+ <ref name="scalarproduct"/>
1391
+ <ref name="outerproduct"/>
1392
+ </choice>
1393
+ </define>
1394
+ <define name="ContExp" combine="choice">
1395
+ <ref name="binary-linalg.class"/>
1396
+ </define>
1397
+ <define name="vectorproduct">
1398
+ <element name="vectorproduct">
1399
+ <ref name="CommonAtt"/>
1400
+ <ref name="DefEncAtt"/>
1401
+ <empty/>
1402
+ </element>
1403
+ </define>
1404
+ <define name="scalarproduct">
1405
+ <element name="scalarproduct">
1406
+ <ref name="CommonAtt"/>
1407
+ <ref name="DefEncAtt"/>
1408
+ <empty/>
1409
+ </element>
1410
+ </define>
1411
+ <define name="outerproduct">
1412
+ <element name="outerproduct">
1413
+ <ref name="CommonAtt"/>
1414
+ <ref name="DefEncAtt"/>
1415
+ <empty/>
1416
+ </element>
1417
+ </define>
1418
+ <define name="constant-set.class">
1419
+ <choice>
1420
+ <ref name="integers"/>
1421
+ <ref name="reals"/>
1422
+ <ref name="rationals"/>
1423
+ <ref name="naturalnumbers"/>
1424
+ <ref name="complexes"/>
1425
+ <ref name="primes"/>
1426
+ <ref name="emptyset"/>
1427
+ </choice>
1428
+ </define>
1429
+ <define name="ContExp" combine="choice">
1430
+ <ref name="constant-set.class"/>
1431
+ </define>
1432
+ <define name="integers">
1433
+ <element name="integers">
1434
+ <ref name="CommonAtt"/>
1435
+ <ref name="DefEncAtt"/>
1436
+ <empty/>
1437
+ </element>
1438
+ </define>
1439
+ <define name="reals">
1440
+ <element name="reals">
1441
+ <ref name="CommonAtt"/>
1442
+ <ref name="DefEncAtt"/>
1443
+ <empty/>
1444
+ </element>
1445
+ </define>
1446
+ <define name="rationals">
1447
+ <element name="rationals">
1448
+ <ref name="CommonAtt"/>
1449
+ <ref name="DefEncAtt"/>
1450
+ <empty/>
1451
+ </element>
1452
+ </define>
1453
+ <define name="naturalnumbers">
1454
+ <element name="naturalnumbers">
1455
+ <ref name="CommonAtt"/>
1456
+ <ref name="DefEncAtt"/>
1457
+ <empty/>
1458
+ </element>
1459
+ </define>
1460
+ <define name="complexes">
1461
+ <element name="complexes">
1462
+ <ref name="CommonAtt"/>
1463
+ <ref name="DefEncAtt"/>
1464
+ <empty/>
1465
+ </element>
1466
+ </define>
1467
+ <define name="primes">
1468
+ <element name="primes">
1469
+ <ref name="CommonAtt"/>
1470
+ <ref name="DefEncAtt"/>
1471
+ <empty/>
1472
+ </element>
1473
+ </define>
1474
+ <define name="emptyset">
1475
+ <element name="emptyset">
1476
+ <ref name="CommonAtt"/>
1477
+ <ref name="DefEncAtt"/>
1478
+ <empty/>
1479
+ </element>
1480
+ </define>
1481
+ <define name="constant-arith.class">
1482
+ <choice>
1483
+ <ref name="exponentiale"/>
1484
+ <ref name="imaginaryi"/>
1485
+ <ref name="notanumber"/>
1486
+ <ref name="true"/>
1487
+ <ref name="false"/>
1488
+ <ref name="pi"/>
1489
+ <ref name="eulergamma"/>
1490
+ <ref name="infinity"/>
1491
+ </choice>
1492
+ </define>
1493
+ <define name="ContExp" combine="choice">
1494
+ <ref name="constant-arith.class"/>
1495
+ </define>
1496
+ <define name="exponentiale">
1497
+ <element name="exponentiale">
1498
+ <ref name="CommonAtt"/>
1499
+ <ref name="DefEncAtt"/>
1500
+ <empty/>
1501
+ </element>
1502
+ </define>
1503
+ <define name="imaginaryi">
1504
+ <element name="imaginaryi">
1505
+ <ref name="CommonAtt"/>
1506
+ <ref name="DefEncAtt"/>
1507
+ <empty/>
1508
+ </element>
1509
+ </define>
1510
+ <define name="notanumber">
1511
+ <element name="notanumber">
1512
+ <ref name="CommonAtt"/>
1513
+ <ref name="DefEncAtt"/>
1514
+ <empty/>
1515
+ </element>
1516
+ </define>
1517
+ <define name="true">
1518
+ <element name="true">
1519
+ <ref name="CommonAtt"/>
1520
+ <ref name="DefEncAtt"/>
1521
+ <empty/>
1522
+ </element>
1523
+ </define>
1524
+ <define name="false">
1525
+ <element name="false">
1526
+ <ref name="CommonAtt"/>
1527
+ <ref name="DefEncAtt"/>
1528
+ <empty/>
1529
+ </element>
1530
+ </define>
1531
+ <define name="pi">
1532
+ <element name="pi">
1533
+ <ref name="CommonAtt"/>
1534
+ <ref name="DefEncAtt"/>
1535
+ <empty/>
1536
+ </element>
1537
+ </define>
1538
+ <define name="eulergamma">
1539
+ <element name="eulergamma">
1540
+ <ref name="CommonAtt"/>
1541
+ <ref name="DefEncAtt"/>
1542
+ <empty/>
1543
+ </element>
1544
+ </define>
1545
+ <define name="infinity">
1546
+ <element name="infinity">
1547
+ <ref name="CommonAtt"/>
1548
+ <ref name="DefEncAtt"/>
1549
+ <empty/>
1550
+ </element>
1551
+ </define>
1552
+ </grammar>