source: BOOK/schema/clfs/0.1/rng/clfs.rng@ 5c560cb

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

This is the first part of the 2nd format to use as a simplification.
This format proposes using a completely custom stylesheet. Instead
of trying to merge together with docbook. The first attempt works it
is just extremely problematic. This is much easier, and it is the goal
anyway.

  • Property mode set to 100644
File size: 4.8 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 <oneOrMore>
81 <choice>
82 <ref name="clfs.inline.strong"/>
83 <ref name="clfs.inline.dirname"/>
84 <ref name="clfs.inline.filename"/>
85 <ref name="clfs.inline.command"/>
86 <text/>
87 </choice>
88 </oneOrMore>
89 </define>
90 <define name="clfs.inline.strong">
91 <element name="c:strong">
92 <ref name="clfs.inline"/>
93 </element>
94 </define>
95 <define name="clfs.inline.dirname">
96 <element name="c:dirname">
97 <ref name="clfs.inline"/>
98 </element>
99 </define>
100 <define name="clfs.inline.filename">
101 <element name="c:filename">
102 <ref name="clfs.inline"/>
103 </element>
104 </define>
105 <define name="clfs.inline.command">
106 <element name="c:command">
107 <ref name="clfs.inline"/>
108 </element>
109 </define>
110 <!-- Block Elements -->
111 <define name="clfs.block.para">
112 <element name="c:para">
113 <ref name="clfs.inline"/>
114 </element>
115 </define>
116 <define name="clfs.block.note">
117 <element name="c:note">
118 <zeroOrMore>
119 <ref name="clfs.block.para"/>
120 </zeroOrMore>
121 </element>
122 </define>
123 <define name="clfs.block.command">
124 <element name="c:command">
125 <ref name="clfs.attrib.arch"/>
126 <ref name="clfs.attrib.bits"/>
127 <ref name="clfs.attrib.multilib"/>
128 <optional>
129 <attribute name="c:nodump">
130 <choice>
131 <value>true</value>
132 <value>false</value>
133 </choice>
134 </attribute>
135 </optional>
136 <oneOrMore>
137 <choice>
138 <element name="c:literal">
139 <text/>
140 </element>
141 <text/>
142 </choice>
143 </oneOrMore>
144 </element>
145 </define>
146 <!-- The Package -->
147 <define name="clfs.sect.package">
148 <element name="c:package">
149 <attribute name="id"/>
150 <ref name="clfs.attrib.arch"/>
151 <ref name="clfs.attrib.bits"/>
152 <ref name="clfs.attrib.multilib"/>
153 <attribute name="c:multibuild">
154 <choice>
155 <value>true</value>
156 <value>false</value>
157 </choice>
158 </attribute>
159 <element name="c:title">
160 <text/>
161 </element>
162 <element name="c:version">
163 <text/>
164 </element>
165 <element name="c:description">
166 <ref name="clfs.inline"/>
167 </element>
168 <oneOrMore>
169 <element name="c:install">
170 <oneOrMore>
171 <choice>
172 <ref name="clfs.block.para"/>
173 <ref name="clfs.block.command"/>
174 <ref name="clfs.block.note"/>
175 </choice>
176 </oneOrMore>
177 </element>
178 </oneOrMore>
179 </element>
180 </define>
181</grammar>
Note: See TracBrowser for help on using the repository browser.