-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathopenmath2.dtd
More file actions
149 lines (108 loc) · 3.23 KB
/
openmath2.dtd
File metadata and controls
149 lines (108 loc) · 3.23 KB
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
145
146
147
148
149
<?xml encoding="UTF-8"?>
<!--
RELAX NG Schema for OpenMath 2
Revision 2: Corrected regex for OMI to match the documented standard and allow hex
-->
<!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
cdgroup 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'
%compound.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>