cache/1.0: Added spec prose and updated schema
[projectmallard:projectmallard.git] / cache / 1.0 / cache-1.0.rng
1 <?xml version="1.0"?>
2 <grammar
3     xmlns="http://relaxng.org/ns/structure/1.0"
4     xmlns:mal="http://projectmallard.org/1.0/"
5     xmlns:cache="http://projectmallard.org/cache/1.0/"
6     ns="http://projectmallard.org/1.0/">
7
8 <start>
9   <ref name="cache_cache"/>
10 </start>
11
12 <define name="cache_cache">
13   <element name="cache:cache">
14     <optional>
15       <attribute name="version">
16         <text/>
17       </attribute>
18     </optional>
19     <oneOrMore>
20       <ref name="cache_page"/>
21     </oneOrMore>
22   </element>
23 </define>
24
25 <define name="cache_page">
26   <element name="page">
27     <ref name="mal_page_attr"/>
28     <attribute name="cache:href">
29       <text/>
30     </attribute>
31     <optional>
32       <ref name="mal_info"/>
33     </optional>
34     <ref name="mal_block_title"/>
35     <optional>
36       <ref name="mal_block_subtitle"/>
37     </optional>
38     <zeroOrMore>
39       <ref name="cache_section"/>
40     </zeroOrMore>
41   </element>
42 </define>
43
44 <define name="cache_section">
45   <element name="section">
46     <ref name="mal_section_attr"/>
47     <optional>
48       <ref name="mal_info"/>
49     </optional>
50     <ref name="mal_block_title"/>
51     <optional>
52       <ref name="mal_block_subtitle"/>
53     </optional>
54     <zeroOrMore>
55       <ref name="cache_section"/>
56     </zeroOrMore>
57   </element>
58 </define>
59
60 </grammar>