source: BOOK/schema/clfs/0.1/rng/clfs.rng @ 69fa5e6

Last change on this file since 69fa5e6 was 69fa5e6, checked in by Joe Ciccone <jciccone@…>, 13 years ago

Remove the test part.

  • Property mode set to 100644
File size: 7.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<grammar xmlns:c="http://schema.cross-lfs.org/book" xmlns="http://relaxng.org/ns/structure/1.0">
3  <!-- We are building around the DocBook Schema -->
4  <include href="docbook.rng">
5    <define name="sect1">
6      <choice>
7        <element name="sect1">
8          <ref name="sect1.attlist"/>
9          <optional>
10            <ref name="sect1info"/>
11          </optional>
12          <ref name="sect.title.content"/>
13          <zeroOrMore>
14            <ref name="nav.class"/>
15          </zeroOrMore>
16          <choice>
17            <group>
18              <oneOrMore>
19                <ref name="divcomponent.mix"/>
20              </oneOrMore>
21              <choice>
22                <zeroOrMore>
23                  <ref name="refentry.class"/>
24                </zeroOrMore>
25                <zeroOrMore>
26                  <ref name="sect2"/>
27                </zeroOrMore>
28                <zeroOrMore>
29                  <ref name="simplesect"/>
30                </zeroOrMore>
31              </choice>
32            </group>
33            <oneOrMore>
34              <ref name="refentry.class"/>
35            </oneOrMore>
36            <oneOrMore>
37              <ref name="sect2"/>
38            </oneOrMore>
39            <oneOrMore>
40              <ref name="simplesect"/>
41            </oneOrMore>
42          </choice>
43          <zeroOrMore>
44            <ref name="nav.class"/>
45          </zeroOrMore>
46        </element>
47        <ref name="clfs.sect.package"/>
48      </choice>
49    </define>
50  </include>
51  <!-- Extend the standard profiling attributes -->
52  <define name="local.effectivity.attrib" combine="interleave">
53    <ref name="clfs.attrib.arch"/>
54    <ref name="clfs.attrib.bits"/>
55    <ref name="clfs.attrib.multilib"/>
56  </define>
57  <!-- Profiling Attributes -->
58  <define name="clfs.attrib.arch">
59    <optional>
60      <attribute name="c:arch"/>
61    </optional>
62  </define>
63  <define name="clfs.attrib.bits">
64    <optional>
65      <attribute name="c:bits"/>
66    </optional>
67  </define>
68  <define name="clfs.attrib.multilib">
69    <optional>
70      <attribute name="c:multilib">
71        <choice>
72          <value>true</value>
73          <value>false</value>
74        </choice>
75      </attribute>
76    </optional>
77  </define>
78  <!-- Inline Elements -->
79  <define name="clfs.inline">
80    <zeroOrMore>
81      <choice>
82        <ref name="clfs.inline.literal"/>
83        <ref name="clfs.inline.replaceable"/>
84        <ref name="clfs.inline.application"/>
85        <ref name="clfs.inline.dirname"/>
86        <ref name="clfs.inline.filename"/>
87        <ref name="clfs.inline.command"/>
88        <text/>
89      </choice>
90    </zeroOrMore>
91  </define>
92  <define name="clfs.inline.common.attrib">
93    <ref name="clfs.attrib.arch"/>
94    <ref name="clfs.attrib.bits"/>
95    <ref name="clfs.attrib.multilib"/>
96  </define>
97  <define name="clfs.inline.literal">
98    <element name="c:literal">
99      <ref name="clfs.inline.common.attrib"/>
100      <ref name="clfs.inline"/>
101    </element>
102  </define>
103  <define name="clfs.inline.replaceable">
104    <element name="c:replaceable">
105      <ref name="clfs.inline.common.attrib"/>
106      <ref name="clfs.inline"/>
107    </element>
108  </define>
109  <define name="clfs.inline.application">
110    <element name="c:application">
111      <ref name="clfs.inline.common.attrib"/>
112      <ref name="clfs.inline"/>
113    </element>
114  </define>
115  <define name="clfs.inline.dirname">
116    <element name="c:dirname">
117      <ref name="clfs.inline.common.attrib"/>
118      <ref name="clfs.inline"/>
119    </element>
120  </define>
121  <define name="clfs.inline.filename">
122    <element name="c:filename">
123      <ref name="clfs.inline.common.attrib"/>
124      <ref name="clfs.inline"/>
125    </element>
126  </define>
127  <define name="clfs.inline.command">
128    <element name="c:command">
129      <ref name="clfs.inline.common.attrib"/>
130      <ref name="clfs.inline"/>
131    </element>
132  </define>
133  <!-- Block Elements -->
134  <define name="clfs.package.para">
135    <element name="c:para">
136      <ref name="clfs.attrib.arch"/>
137      <ref name="clfs.attrib.bits"/>
138      <ref name="clfs.attrib.multilib"/>
139      <ref name="clfs.inline"/>
140    </element>
141  </define>
142  <define name="clfs.package.note">
143    <element name="c:note">
144      <ref name="clfs.attrib.arch"/>
145      <ref name="clfs.attrib.bits"/>
146      <ref name="clfs.attrib.multilib"/>
147      <zeroOrMore>
148        <choice>
149          <ref name="clfs.package.para"/>
150          <ref name="clfs.package.command"/>
151        </choice>
152      </zeroOrMore>
153    </element>
154  </define>
155  <define name="clfs.package.warning">
156    <element name="c:note">
157      <ref name="clfs.attrib.arch"/>
158      <ref name="clfs.attrib.bits"/>
159      <ref name="clfs.attrib.multilib"/>
160      <zeroOrMore>
161        <choice>
162          <ref name="clfs.package.para"/>
163          <ref name="clfs.package.command"/>
164        </choice>
165      </zeroOrMore>
166    </element>
167  </define>
168  <define name="clfs.package.command">
169    <element name="c:command">
170      <ref name="clfs.attrib.arch"/>
171      <ref name="clfs.attrib.bits"/>
172      <ref name="clfs.attrib.multilib"/>
173      <optional>
174        <attribute name="c:nodump">
175          <choice>
176            <value>true</value>
177            <value>false</value>
178          </choice>
179        </attribute>
180      </optional>
181      <oneOrMore>
182        <choice>
183          <element name="c:literal">
184            <text/>
185          </element>
186          <text/>
187        </choice>
188      </oneOrMore>
189    </element>
190  </define>
191  <!-- The Package -->
192  <define name="clfs.sect.package">
193    <element name="c:package">
194      <optional>
195        <attribute name="xml:base"/>
196      </optional>
197      <attribute name="id"/>
198      <ref name="clfs.attrib.arch"/>
199      <ref name="clfs.attrib.bits"/>
200      <ref name="clfs.attrib.multilib"/>
201      <attribute name="c:multibuild">
202        <choice>
203          <value>true</value>
204          <value>false</value>
205        </choice>
206      </attribute>
207      <element name="c:title">
208        <text/>
209      </element>
210      <element name="c:version">
211        <text/>
212      </element>
213      <element name="c:description">
214        <ref name="clfs.inline"/>
215      </element>
216      <oneOrMore>
217        <element name="c:install">
218          <oneOrMore>
219            <choice>
220              <ref name="clfs.package.para"/>
221              <ref name="clfs.package.command"/>
222              <ref name="clfs.package.note"/>
223              <ref name="clfs.package.warning"/>
224            </choice>
225          </oneOrMore>
226        </element>
227      </oneOrMore>
228      <optional>
229        <element name="c:contents">
230          <choice>
231            <attribute name="c:ref"/>
232            <group>
233              <zeroOrMore>
234                <element name="c:program">
235                  <element name="c:name">
236                    <text/>
237                  </element>
238                  <element name="c:description">
239                    <ref name="clfs.inline"/>
240                  </element>
241                </element>
242              </zeroOrMore>
243              <zeroOrMore>
244                <element name="c:library">
245                  <element name="c:name">
246                    <text/>
247                  </element>
248                  <element name="c:description">
249                    <ref name="clfs.inline"/>
250                  </element>
251                </element>
252              </zeroOrMore>
253              <zeroOrMore>
254                <element name="c:directory">
255                  <element name="c:name">
256                    <text/>
257                  </element>
258                  <element name="c:description">
259                    <ref name="clfs.inline"/>
260                  </element>
261                </element>
262              </zeroOrMore>
263            </group>
264          </choice>
265        </element>
266      </optional>
267    </element>
268  </define>
269</grammar>
Note: See TracBrowser for help on using the repository browser.