libxml2 2.9.1 clean sources
[tomato/tomato-dir865l.git] / release / src / router / libxml2 / test / relaxng / proofsystem.rng
blob7fe6bd362a1a2f5098e806b4c1319d7e0c74e009
1 <grammar xmlns="http://relaxng.org/ns/structure/1.0"\r
2          ns="http://relaxng.org/ns/proofsystem">\r
3 \r
4 <start>\r
5   <element name="proofSystem">\r
6     <oneOrMore>\r
7       <element name="rule">\r
8         <attribute name="name"/>\r
9         <zeroOrMore>\r
10           <ref name="antecedent"/>\r
11         </zeroOrMore>\r
12         <ref name="consequent"/>\r
13       </element>\r
14     </oneOrMore>\r
15   </element>\r
16 </start>\r
18 <define name="formula">\r
19   <element name="formula">\r
20     <choice>\r
21       <ref name="judgement"/>\r
22       <ref name="expr"/>\r
23     </choice>\r
24   </element>\r
25 </define>\r
27 <define name="consequent">\r
28   <ref name="judgement"/>\r
29 </define>\r
31 <define name="antecedent">\r
32   <ref name="judgement"/>\r
33 </define>\r
35 <define name="judgement">\r
36   <choice>\r
37     <element name="judgement">\r
38       <attribute name="name"/>\r
39       <zeroOrMore>\r
40         <ref name="expr"/>\r
41       </zeroOrMore>\r
42     </element>\r
43     <element name="not">\r
44       <ref name="judgement"/>\r
45     </element>\r
46   </choice>\r
47 </define>\r
49 <define name="expr">\r
50   <choice>\r
51     <element name="var">\r
52       <attribute name="range"/>\r
53       <optional>\r
54         <attribute name="index"/>\r
55       </optional>\r
56       <optional>\r
57         <attribute name="sub"/>\r
58       </optional>\r
59     </element>\r
60     <element name="function">\r
61       <attribute name="name"/>\r
62       <zeroOrMore>\r
63         <ref name="expr"/>\r
64       </zeroOrMore>\r
65     </element>\r
66     <element name="element">\r
67       <attribute name="name"/>\r
68       <zeroOrMore>\r
69         <element name="attribute">\r
70           <attribute name="name"/>\r
71           <ref name="expr"/> \r
72         </element>\r
73       </zeroOrMore>\r
74       <optional>\r
75         <ref name="context"/>\r
76       </optional>\r
77       <zeroOrMore>\r
78         <ref name="expr"/>\r
79       </zeroOrMore>\r
80     </element>\r
81     <element name="group">\r
82       <zeroOrMore>\r
83         <ref name="expr"/>\r
84       </zeroOrMore>\r
85     </element>\r
86     <element name="string"><text/></element>\r
87   </choice>\r
88 </define>\r
90 <define name="context">\r
91   <element name="context">\r
92     <ref name="expr"/>\r
93   </element>\r
94 </define>\r
96 </grammar>\r