forked from OpenMath/OMSTD
-
Notifications
You must be signed in to change notification settings - Fork 0
/
omcd2rnc.xml
57 lines (53 loc) · 3.63 KB
/
omcd2rnc.xml
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
<comment># *********************************************</comment>
<comment># </comment>
<comment># <token>Relax</token> <token>NG</token> <token>Schema</token> <token>for</token> <token>OpenMath</token> <token>CD</token></comment>
<comment># </comment>
<comment># *********************************************</comment>
<token>default</token> <token>namespace</token> = "<string><token>http:</token>//<token>www.openmath.org</token>/<token>OpenMathCD</token></string>"
<token>include</token> "<string><token>openmath2.rnc</token></string>" {<token>start</token> = <token>CD</token>}
<token>CDComment</token> = <token>element</token> <token>CDComment</token> { <token>text</token> }
<token>CDName</token> = <token>element</token> <token>CDName</token> { <token>xsd:NCName</token> }
<token>CDUses</token> = <token>element</token> <token>CDUses</token> { <token>CDName</token>* }
<token>CDURL</token> = <token>element</token> <token>CDURL</token> { <token>xsd:anyURI</token> }
<token>CDBase</token> = <token>element</token> <token>CDBase</token> { <token>xsd:anyURI</token> }
<token>text-or-om</token> = (<token>text</token> | <token>OMOBJ</token>)*
<token>CDReviewDate</token> = <token>element</token> <token>CDReviewDate</token> { <token>xsd:date</token> }
<token>CDDate</token> = <token>element</token> <token>CDDate</token> { <token>xsd:date</token> }
<token>CDVersion</token> = <token>element</token> <token>CDVersion</token> { <token>xsd:nonNegativeInteger</token> }
<token>CDRevision</token> = <token>element</token> <token>CDRevision</token> { <token>xsd:nonNegativeInteger</token> }
<token>CDStatus</token> = <token>element</token> <token>CDStatus</token> {
"<string><token>official</token></string>" |
"<string><token>experimental</token></string>" |
"<string><token>private</token></string>" |
"<string><token>obsolete</token></string>"}
<token>Description</token> = <token>element</token> <token>Description</token> { <token>text</token> }
<token>Name</token> = <token>element</token> <token>Name</token> { <token>xsd:NCName</token> }
<token>Role</token> = <token>element</token> <token>Role</token> {
"<string><token>binder</token></string>" |
"<string><token>attribution</token></string>" |
"<string><token>semantic-attribution</token></string>" |
"<string><token>error</token></string>" |
"<string><token>application</token></string>" |
"<string><token>constant</token></string>" }
<token>CMP</token> = <token>element</token> <token>CMP</token> { <token>text</token> }
<token>FMP</token> = <token>element</token> <token>FMP</token> {
<token>attribute</token> <token>kind</token> {<token>xsd:string</token>}?,
<token>OMOBJ</token>
}
<comment># <token>allow</token> <token>embedded</token> <token>OM</token></comment>
<token>Example</token> = <token>element</token> <token>Example</token> { <token>text-or-om</token> }
<token>CDDefinition</token> =
<token>element</token> <token>CDDefinition</token> {
<token>CDComment</token>*,
(<token>Name</token> & <token>Role</token>? & <token>Description</token>),
(<token>CDComment</token> | <token>Example</token> | <token>FMP</token> | <token>CMP</token>)*
}
<token>CD</token> =
<token>element</token> <token>CD</token> {
(<token>CDComment</token>* & <token>Description</token>? &
<token>CDName</token> & <token>CDURL</token>? & <token>CDBase</token>? &
<token>CDReviewDate</token>? & <token>CDDate</token> & <token>CDStatus</token> &
<token>CDUses</token>? &
<token>CDVersion</token> & <token>CDRevision</token>),
( <token>CDDefinition</token>,<token>CDComment</token>* )+
}