source:
BOOK/schema/clfs/0.1/rng/clfs.rnc@
d4c109d
Last change on this file since d4c109d was d4c109d, checked in by , 14 years ago | |
---|---|
|
|
File size: 3.8 KB |
Line | |
---|---|
1 | |
2 | namespace c = "http://schema.cross-lfs.org/book" |
3 | |
4 | # We are building around the DocBook Schema |
5 | include "../../../docbook/4.5/rng/docbook.rnc" { |
6 | sect1 = ( |
7 | element sect1 { |
8 | sect1.attlist, |
9 | sect1info?, |
10 | sect.title.content, |
11 | nav.class*, |
12 | ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*)) |
13 | | refentry.class+ |
14 | | sect2+ |
15 | | simplesect+), |
16 | nav.class* |
17 | } | clfs.sect.package ) |
18 | } |
19 | |
20 | # Common Attributes |
21 | xml.attrib.base = |
22 | attribute xml:base { |
23 | text |
24 | }? |
25 | xml.attrib.id = |
26 | attribute id { |
27 | text |
28 | } |
29 | |
30 | # Extend the standard profiling attributes |
31 | local.effectivity.attrib &= |
32 | clfs.attrib.arch, |
33 | clfs.attrib.bits, |
34 | clfs.attrib.multilib |
35 | |
36 | # Profiling Attributes |
37 | clfs.attrib.arch = attribute c:arch { text }? |
38 | clfs.attrib.bits = attribute c:bits { text }? |
39 | clfs.attrib.multilib = attribute c:multilib { "true" | "false" }? |
40 | |
41 | # Inline Elements |
42 | |
43 | clfs.inline = |
44 | (clfs.inline.literal | |
45 | clfs.inline.replaceable | |
46 | clfs.inline.application | |
47 | clfs.inline.dirname | |
48 | clfs.inline.filename | |
49 | clfs.inline.command | |
50 | text)* |
51 | |
52 | clfs.inline.common.attrib = |
53 | clfs.attrib.arch, |
54 | clfs.attrib.bits, |
55 | clfs.attrib.multilib |
56 | |
57 | clfs.inline.literal = |
58 | element c:literal { |
59 | clfs.inline.common.attrib, |
60 | clfs.inline |
61 | } |
62 | clfs.inline.replaceable = |
63 | element c:replaceable { |
64 | clfs.inline.common.attrib, |
65 | clfs.inline |
66 | } |
67 | clfs.inline.application = |
68 | element c:application { |
69 | clfs.inline.common.attrib, |
70 | clfs.inline |
71 | } |
72 | clfs.inline.dirname = |
73 | element c:dirname { |
74 | clfs.inline.common.attrib, |
75 | clfs.inline |
76 | } |
77 | clfs.inline.filename = |
78 | element c:filename { |
79 | clfs.inline.common.attrib, |
80 | clfs.inline |
81 | } |
82 | clfs.inline.command = |
83 | element c:command { |
84 | clfs.inline.common.attrib, |
85 | clfs.inline |
86 | } |
87 | |
88 | # Block Elements |
89 | |
90 | clfs.package.para = |
91 | element c:para { |
92 | clfs.attrib.arch, |
93 | clfs.attrib.bits, |
94 | clfs.attrib.multilib, |
95 | clfs.inline |
96 | } |
97 | |
98 | clfs.package.note = |
99 | element c:note { |
100 | clfs.attrib.arch, |
101 | clfs.attrib.bits, |
102 | clfs.attrib.multilib, |
103 | (clfs.package.para | clfs.package.command)* |
104 | } |
105 | |
106 | clfs.package.warning = |
107 | element c:note { |
108 | clfs.attrib.arch, |
109 | clfs.attrib.bits, |
110 | clfs.attrib.multilib, |
111 | (clfs.package.para | clfs.package.command)* |
112 | } |
113 | |
114 | clfs.package.command = |
115 | element c:command { |
116 | clfs.attrib.arch, |
117 | clfs.attrib.bits, |
118 | clfs.attrib.multilib, |
119 | attribute c:nodump { |
120 | "true" | "false" |
121 | }?, |
122 | (element c:literal { text } | text)+ |
123 | } |
124 | |
125 | # The Package |
126 | clfs.sect.package = |
127 | element c:package { |
128 | xml.attrib.base, |
129 | xml.attrib.id, |
130 | clfs.attrib.arch, |
131 | clfs.attrib.bits, |
132 | clfs.attrib.multilib, |
133 | attribute c:multibuild { |
134 | "true" | "false" |
135 | }, |
136 | |
137 | element c:title { |
138 | xml.attrib.base, |
139 | text |
140 | }, |
141 | element c:version { |
142 | xml.attrib.base, |
143 | text |
144 | }, |
145 | element c:variant { |
146 | xml.attrib.base, |
147 | text |
148 | }?, |
149 | element c:description { |
150 | xml.attrib.base, |
151 | clfs.inline |
152 | }, |
153 | |
154 | element c:install { |
155 | (clfs.package.para | |
156 | clfs.package.command | |
157 | clfs.package.note | |
158 | clfs.package.warning)+ |
159 | }?, |
160 | |
161 | element c:config { |
162 | (clfs.package.para | |
163 | clfs.package.command | |
164 | clfs.package.note | |
165 | clfs.package.warning)+ |
166 | }?, |
167 | |
168 | element c:contents { |
169 | attribute c:ref { |
170 | text |
171 | } | ( |
172 | element c:program { |
173 | element c:name { |
174 | text |
175 | }, |
176 | element c:description { |
177 | clfs.inline |
178 | } |
179 | }*, |
180 | element c:library { |
181 | element c:name { |
182 | text |
183 | }, |
184 | element c:description { |
185 | clfs.inline |
186 | } |
187 | }*, |
188 | element c:directory { |
189 | element c:name { |
190 | text |
191 | }, |
192 | element c:description { |
193 | clfs.inline |
194 | } |
195 | }* |
196 | ) |
197 | }? |
198 | } |
Note:
See TracBrowser
for help on using the repository browser.