source: BOOK/schema/clfs/0.1/rng/clfs.rng@ 9db1668

Last change on this file since 9db1668 was 9db1668, checked in by Joe Ciccone <jciccone@…>, 14 years ago

Parse inline items as well.

  • Property mode set to 100644
File size: 5.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.block.para">
135 <element name="c:para">
136 <ref name="clfs.inline"/>
137 </element>
138 </define>
139 <define name="clfs.block.note">
140 <element name="c:note">
141 <zeroOrMore>
142 <ref name="clfs.block.para"/>
143 </zeroOrMore>
144 </element>
145 </define>
146 <define name="clfs.block.command">
147 <element name="c:command">
148 <ref name="clfs.attrib.arch"/>
149 <ref name="clfs.attrib.bits"/>
150 <ref name="clfs.attrib.multilib"/>
151 <optional>
152 <attribute name="c:nodump">
153 <choice>
154 <value>true</value>
155 <value>false</value>
156 </choice>
157 </attribute>
158 </optional>
159 <oneOrMore>
160 <choice>
161 <element name="c:literal">
162 <text/>
163 </element>
164 <text/>
165 </choice>
166 </oneOrMore>
167 </element>
168 </define>
169 <!-- The Package -->
170 <define name="clfs.sect.package">
171 <element name="c:package">
172 <attribute name="id"/>
173 <ref name="clfs.attrib.arch"/>
174 <ref name="clfs.attrib.bits"/>
175 <ref name="clfs.attrib.multilib"/>
176 <attribute name="c:multibuild">
177 <choice>
178 <value>true</value>
179 <value>false</value>
180 </choice>
181 </attribute>
182 <element name="c:title">
183 <text/>
184 </element>
185 <element name="c:version">
186 <text/>
187 </element>
188 <element name="c:description">
189 <ref name="clfs.inline"/>
190 </element>
191 <oneOrMore>
192 <element name="c:install">
193 <oneOrMore>
194 <choice>
195 <ref name="clfs.block.para"/>
196 <ref name="clfs.block.command"/>
197 <ref name="clfs.block.note"/>
198 </choice>
199 </oneOrMore>
200 </element>
201 </oneOrMore>
202 </element>
203 </define>
204</grammar>
Note: See TracBrowser for help on using the repository browser.