source: BOOK/schema/clfs/0.1/rng/clfs.rng@ 8823a97

Last change on this file since 8823a97 was 8823a97, checked in by Joe Ciccone <jciccone@…>, 15 years ago

Add an attribute to the schema. c:r, r for reference.

  • Property mode set to 100644
File size: 9.1 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 <!-- Common Attributes -->
52 <define name="xml.attrib.base">
53 <optional>
54 <attribute name="xml:base"/>
55 </optional>
56 </define>
57 <define name="xml.attrib.id">
58 <attribute name="id"/>
59 </define>
60 <!-- Extend the standard profiling attributes -->
61 <define name="local.effectivity.attrib" combine="interleave">
62 <ref name="clfs.attrib.arch"/>
63 <ref name="clfs.attrib.bits"/>
64 <ref name="clfs.attrib.multilib"/>
65 </define>
66 <!-- Profiling Attributes -->
67 <define name="clfs.attrib.arch">
68 <optional>
69 <attribute name="c:arch"/>
70 </optional>
71 </define>
72 <define name="clfs.attrib.bits">
73 <optional>
74 <attribute name="c:bits"/>
75 </optional>
76 </define>
77 <define name="clfs.attrib.multilib">
78 <optional>
79 <attribute name="c:multilib">
80 <choice>
81 <value>true</value>
82 <value>false</value>
83 </choice>
84 </attribute>
85 </optional>
86 </define>
87 <define name="clfs.attrib.r">
88 <optional>
89 <attribute name="c:r"/>
90 </optional>
91 </define>
92 <!-- Inline Elements -->
93 <define name="clfs.inline">
94 <zeroOrMore>
95 <choice>
96 <ref name="clfs.inline.literal"/>
97 <ref name="clfs.inline.replaceable"/>
98 <ref name="clfs.inline.application"/>
99 <ref name="clfs.inline.dirname"/>
100 <ref name="clfs.inline.filename"/>
101 <ref name="clfs.inline.command"/>
102 <text/>
103 </choice>
104 </zeroOrMore>
105 </define>
106 <define name="clfs.inline.common.attrib">
107 <ref name="clfs.attrib.arch"/>
108 <ref name="clfs.attrib.bits"/>
109 <ref name="clfs.attrib.multilib"/>
110 </define>
111 <define name="clfs.inline.literal">
112 <element name="c:literal">
113 <ref name="clfs.inline.common.attrib"/>
114 <ref name="clfs.inline"/>
115 </element>
116 </define>
117 <define name="clfs.inline.replaceable">
118 <element name="c:replaceable">
119 <ref name="clfs.inline.common.attrib"/>
120 <ref name="clfs.inline"/>
121 </element>
122 </define>
123 <define name="clfs.inline.application">
124 <element name="c:application">
125 <ref name="clfs.inline.common.attrib"/>
126 <ref name="clfs.inline"/>
127 </element>
128 </define>
129 <define name="clfs.inline.dirname">
130 <element name="c:dirname">
131 <ref name="clfs.inline.common.attrib"/>
132 <ref name="clfs.inline"/>
133 </element>
134 </define>
135 <define name="clfs.inline.filename">
136 <element name="c:filename">
137 <ref name="clfs.inline.common.attrib"/>
138 <ref name="clfs.inline"/>
139 </element>
140 </define>
141 <define name="clfs.inline.command">
142 <element name="c:command">
143 <ref name="clfs.inline.common.attrib"/>
144 <ref name="clfs.inline"/>
145 </element>
146 </define>
147 <!-- Block Elements -->
148 <define name="clfs.package.para">
149 <element name="c:para">
150 <ref name="xml.attrib.base"/>
151 <ref name="clfs.attrib.arch"/>
152 <ref name="clfs.attrib.bits"/>
153 <ref name="clfs.attrib.multilib"/>
154 <ref name="clfs.attrib.r"/>
155 <ref name="clfs.inline"/>
156 </element>
157 </define>
158 <define name="clfs.package.note">
159 <element name="c:note">
160 <ref name="xml.attrib.base"/>
161 <ref name="clfs.attrib.arch"/>
162 <ref name="clfs.attrib.bits"/>
163 <ref name="clfs.attrib.multilib"/>
164 <ref name="clfs.attrib.r"/>
165 <zeroOrMore>
166 <choice>
167 <ref name="clfs.package.para"/>
168 <ref name="clfs.package.command"/>
169 </choice>
170 </zeroOrMore>
171 </element>
172 </define>
173 <define name="clfs.package.warning">
174 <element name="c:note">
175 <ref name="xml.attrib.base"/>
176 <ref name="clfs.attrib.arch"/>
177 <ref name="clfs.attrib.bits"/>
178 <ref name="clfs.attrib.multilib"/>
179 <ref name="clfs.attrib.r"/>
180 <zeroOrMore>
181 <choice>
182 <ref name="clfs.package.para"/>
183 <ref name="clfs.package.command"/>
184 </choice>
185 </zeroOrMore>
186 </element>
187 </define>
188 <define name="clfs.package.command">
189 <element name="c:command">
190 <ref name="xml.attrib.base"/>
191 <ref name="clfs.attrib.arch"/>
192 <ref name="clfs.attrib.bits"/>
193 <ref name="clfs.attrib.multilib"/>
194 <ref name="clfs.attrib.r"/>
195 <optional>
196 <attribute name="c:nodump">
197 <choice>
198 <value>true</value>
199 <value>false</value>
200 </choice>
201 </attribute>
202 </optional>
203 <oneOrMore>
204 <choice>
205 <element name="c:literal">
206 <text/>
207 </element>
208 <text/>
209 </choice>
210 </oneOrMore>
211 </element>
212 </define>
213 <define name="clfs.package.title">
214 <element name="c:title">
215 <ref name="xml.attrib.base"/>
216 <text/>
217 </element>
218 </define>
219 <define name="clfs.package.version">
220 <element name="c:version">
221 <ref name="xml.attrib.base"/>
222 <text/>
223 </element>
224 </define>
225 <define name="clfs.package.variant">
226 <optional>
227 <element name="c:variant">
228 <ref name="xml.attrib.base"/>
229 <text/>
230 </element>
231 </optional>
232 </define>
233 <define name="clfs.package.description">
234 <element name="c:description">
235 <ref name="xml.attrib.base"/>
236 <ref name="clfs.inline"/>
237 </element>
238 </define>
239 <!-- The Package -->
240 <define name="clfs.sect.package">
241 <element name="c:package">
242 <ref name="xml.attrib.base"/>
243 <ref name="xml.attrib.id"/>
244 <ref name="clfs.attrib.arch"/>
245 <ref name="clfs.attrib.bits"/>
246 <ref name="clfs.attrib.multilib"/>
247 <attribute name="c:multibuild">
248 <choice>
249 <value>true</value>
250 <value>false</value>
251 </choice>
252 </attribute>
253 <ref name="clfs.package.title"/>
254 <ref name="clfs.package.version"/>
255 <ref name="clfs.package.variant"/>
256 <ref name="clfs.package.description"/>
257 <optional>
258 <element name="c:install">
259 <oneOrMore>
260 <choice>
261 <ref name="clfs.package.para"/>
262 <ref name="clfs.package.command"/>
263 <ref name="clfs.package.note"/>
264 <ref name="clfs.package.warning"/>
265 </choice>
266 </oneOrMore>
267 </element>
268 </optional>
269 <optional>
270 <element name="c:config">
271 <oneOrMore>
272 <choice>
273 <ref name="clfs.package.para"/>
274 <ref name="clfs.package.command"/>
275 <ref name="clfs.package.note"/>
276 <ref name="clfs.package.warning"/>
277 </choice>
278 </oneOrMore>
279 </element>
280 </optional>
281 <optional>
282 <element name="c:contents">
283 <choice>
284 <attribute name="c:ref"/>
285 <group>
286 <zeroOrMore>
287 <element name="c:program">
288 <element name="c:name">
289 <text/>
290 </element>
291 <element name="c:description">
292 <ref name="clfs.inline"/>
293 </element>
294 </element>
295 </zeroOrMore>
296 <zeroOrMore>
297 <element name="c:library">
298 <element name="c:name">
299 <text/>
300 </element>
301 <element name="c:description">
302 <ref name="clfs.inline"/>
303 </element>
304 </element>
305 </zeroOrMore>
306 <zeroOrMore>
307 <element name="c:directory">
308 <element name="c:name">
309 <text/>
310 </element>
311 <element name="c:description">
312 <ref name="clfs.inline"/>
313 </element>
314 </element>
315 </zeroOrMore>
316 </group>
317 </choice>
318 </element>
319 </optional>
320 </element>
321 </define>
322</grammar>
Note: See TracBrowser for help on using the repository browser.