-
Notifications
You must be signed in to change notification settings - Fork 1
/
openmath2.dtd
144 lines (103 loc) · 3.11 KB
/
openmath2.dtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?xml encoding="UTF-8"?>
<!-- RELAX NG Schema for OpenMath 2 -->
<!ENTITY % cdbase "
cdbase CDATA #IMPLIED">
<!-- attributes common to all elements -->
<!ENTITY % common.attributes "
id ID #IMPLIED">
<!-- attributes common to all elements that construct compount OM objects. -->
<!ENTITY % compound.attributes "
%common.attributes;
%cdbase;">
<!-- Elements which can appear inside an OpenMath object -->
<!ENTITY % omel "OMS|OMV|OMI|OMB|OMSTR|OMF|OMA|OMBIND|OME|OMATTR|OMR">
<!-- OpenMath object constructor -->
<!ELEMENT OMOBJ (%omel;)>
<!ATTLIST OMOBJ
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;
version CDATA #IMPLIED>
<!ENTITY % attvar "OMATTR">
<!-- things which can be variables -->
<!ENTITY % omvar "OMV|%attvar;">
<!-- symbol -->
<!ELEMENT OMS EMPTY>
<!ATTLIST OMS
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;
name NMTOKEN #REQUIRED
cd NMTOKEN #REQUIRED
%cdbase;>
<!-- variable -->
<!ELEMENT OMV EMPTY>
<!ATTLIST OMV
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;
name NMTOKEN #REQUIRED>
<!-- integer -->
<!ELEMENT OMI (#PCDATA)>
<!ATTLIST OMI
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;>
<!-- byte array -->
<!ELEMENT OMB (#PCDATA)>
<!ATTLIST OMB
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;>
<!-- string -->
<!ELEMENT OMSTR (#PCDATA)>
<!ATTLIST OMSTR
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;>
<!-- IEEE floating point number -->
<!ELEMENT OMF EMPTY>
<!ATTLIST OMF
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;
dec CDATA #IMPLIED
hex CDATA #IMPLIED>
<!-- apply constructor -->
<!ELEMENT OMA (%omel;)+>
<!ATTLIST OMA
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;>
<!-- binding constructor -->
<!ELEMENT OMBIND ((%omel;),OMBVAR,(%omel;))>
<!ATTLIST OMBIND
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;>
<!-- variables used in binding constructor -->
<!ELEMENT OMBVAR (%omvar;)+>
<!ATTLIST OMBVAR
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;>
<!-- error constructor -->
<!ELEMENT OME (OMS,(%omel;|OMFOREIGN)*)>
<!ATTLIST OME
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;>
<!-- attribution constructor and attribute pair constructor -->
<!ELEMENT OMATTR (OMATP,(%omel;))>
<!ATTLIST OMATTR
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;>
<!ELEMENT OMATP (OMS,(%omel;|OMFOREIGN))+>
<!ATTLIST OMATP
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;>
<!-- foreign constructor -->
<!ELEMENT OMFOREIGN ANY>
<!ATTLIST OMFOREIGN
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%compound.attributes;
encoding CDATA #IMPLIED>
<!--
Any elements not in the om namespace
(valid om is allowed as a descendant)
-->
<!-- reference constructor -->
<!ELEMENT OMR EMPTY>
<!ATTLIST OMR
xmlns CDATA #FIXED 'http://www.openmath.org/OpenMath'
%common.attributes;
href CDATA #REQUIRED>