source: BOOK/schema/clfs/0.1/rng/clfs.rnc@ d4c109d

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

Add xml:base to items that may be included in another page using an xi:include.

  • Property mode set to 100644
File size: 3.8 KB
Line 
1
2namespace c = "http://schema.cross-lfs.org/book"
3
4# We are building around the DocBook Schema
5include "../../../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
21xml.attrib.base =
22 attribute xml:base {
23 text
24 }?
25xml.attrib.id =
26 attribute id {
27 text
28 }
29
30# Extend the standard profiling attributes
31local.effectivity.attrib &=
32 clfs.attrib.arch,
33 clfs.attrib.bits,
34 clfs.attrib.multilib
35
36# Profiling Attributes
37clfs.attrib.arch = attribute c:arch { text }?
38clfs.attrib.bits = attribute c:bits { text }?
39clfs.attrib.multilib = attribute c:multilib { "true" | "false" }?
40
41# Inline Elements
42
43clfs.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
52clfs.inline.common.attrib =
53 clfs.attrib.arch,
54 clfs.attrib.bits,
55 clfs.attrib.multilib
56
57clfs.inline.literal =
58 element c:literal {
59 clfs.inline.common.attrib,
60 clfs.inline
61 }
62clfs.inline.replaceable =
63 element c:replaceable {
64 clfs.inline.common.attrib,
65 clfs.inline
66 }
67clfs.inline.application =
68 element c:application {
69 clfs.inline.common.attrib,
70 clfs.inline
71 }
72clfs.inline.dirname =
73 element c:dirname {
74 clfs.inline.common.attrib,
75 clfs.inline
76 }
77clfs.inline.filename =
78 element c:filename {
79 clfs.inline.common.attrib,
80 clfs.inline
81 }
82clfs.inline.command =
83 element c:command {
84 clfs.inline.common.attrib,
85 clfs.inline
86 }
87
88# Block Elements
89
90clfs.package.para =
91 element c:para {
92 clfs.attrib.arch,
93 clfs.attrib.bits,
94 clfs.attrib.multilib,
95 clfs.inline
96 }
97
98clfs.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
106clfs.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
114clfs.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
126clfs.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.