| author | chaieb@chaieb-laptop |
| Fri, 06 Feb 2009 00:10:58 +0000 | |
| changeset 29811 | 026b0f9f579f |
| parent 17736 | 863cdca5c77a |
| child 33686 | 8e33ca8832b1 |
| permissions | -rw-r--r-- |
|
17736
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
1 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
2 |
# RELAX NG Schema for PGML, the Proof General Markup Language |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
3 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
4 |
# Authors: David Aspinall, LFCS, University of Edinburgh |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
5 |
# Christoph Lueth, University of Bremen |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
6 |
# Version: $Id$ |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
7 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
8 |
# Status: Complete, prototype. |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
9 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
10 |
# For additional commentary, see accompanying commentary document |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
11 |
# (available at http://proofgeneral.inf.ed.ac.uk/kit) |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
12 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
13 |
# Advertised version: 1.0 |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
14 |
# |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
15 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
16 |
pgml_version_attr = attribute version { xsd:NMTOKEN }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
17 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
18 |
pgml = |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
19 |
element pgml {
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
20 |
pgml_version_attr?, |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
21 |
(statedisplay | termdisplay | information | warning | error)* |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
22 |
} |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
23 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
24 |
termitem = action | nonactionitem |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
25 |
nonactionitem = term | pgmltype | atom | sym |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
26 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
27 |
pgml_mixed = text | termitem | statepart |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
28 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
29 |
pgml_name_attr = attribute name { text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
30 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
31 |
kind_attr = attribute kind { text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
32 |
systemid_attr = attribute systemid { text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
33 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
34 |
statedisplay = |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
35 |
element statedisplay {
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
36 |
pgml_name_attr?, kind_attr?, systemid_attr?, |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
37 |
pgml_mixed* |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
38 |
} |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
39 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
40 |
pgmltext = element pgmltext { (text | termitem)* }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
41 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
42 |
information = element information { pgml_name_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
43 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
44 |
warning = element warning { pgml_name_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
45 |
error = element error { pgml_name_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
46 |
statepart = element statepart { pgml_name_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
47 |
termdisplay = element termdisplay { pgml_name_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
48 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
49 |
pos_attr = attribute pos { text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
50 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
51 |
term = element term { pos_attr?, kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
52 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
53 |
# maybe combine this with term and add extra attr to term? |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
54 |
pgmltype = element type { kind_attr?, pgmltext }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
55 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
56 |
action = element action { kind_attr?, (text | nonactionitem)* }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
57 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
58 |
fullname_attr = attribute fullname { text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
59 |
atom = element atom { kind_attr?, fullname_attr?, text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
60 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
61 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
62 |
## Symbols |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
63 |
## |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
64 |
## Element sym can be rendered in three alternative ways, |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
65 |
## in descending preference order: |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
66 |
## |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
67 |
## 1) the PGML symbol given by the name attribute |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
68 |
## 2) the text content of the SYM element, if non-empty |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
69 |
## 3) one of the previously configured text alternatives advertised |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
70 |
## by the component who produced this output. |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
71 |
## |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
72 |
symname_attr = attribute name { token } # names must be [a-zA-Z][a-zA-Z0-9]+
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
73 |
sym = element sym { symname_attr, text }
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
74 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
75 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
76 |
pgmlconfigure = symconfig # inform symbol support (I/O) for given sym |
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
77 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
78 |
textalt = attribute alt { text } # text alternative for given sym
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
79 |
|
|
863cdca5c77a
Schema files (for information, and validating pgip_isar.xml)
aspinall
parents:
diff
changeset
|
80 |
symconfig = element symconfig { symname_attr, textalt* }
|