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

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

Also parse a c:config section after a c:install section.

  • Property mode set to 100644
File size: 3.5 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# Extend the standard profiling attributes
21local.effectivity.attrib &=
22 clfs.attrib.arch,
23 clfs.attrib.bits,
24 clfs.attrib.multilib
25
26# Profiling Attributes
27clfs.attrib.arch = attribute c:arch { text }?
28clfs.attrib.bits = attribute c:bits { text }?
29clfs.attrib.multilib = attribute c:multilib { "true" | "false" }?
30
31# Inline Elements
32
33clfs.inline =
34 (clfs.inline.literal |
35 clfs.inline.replaceable |
36 clfs.inline.application |
37 clfs.inline.dirname |
38 clfs.inline.filename |
39 clfs.inline.command |
40 text)*
41
42clfs.inline.common.attrib =
43 clfs.attrib.arch,
44 clfs.attrib.bits,
45 clfs.attrib.multilib
46
47clfs.inline.literal =
48 element c:literal {
49 clfs.inline.common.attrib,
50 clfs.inline
51 }
52clfs.inline.replaceable =
53 element c:replaceable {
54 clfs.inline.common.attrib,
55 clfs.inline
56 }
57clfs.inline.application =
58 element c:application {
59 clfs.inline.common.attrib,
60 clfs.inline
61 }
62clfs.inline.dirname =
63 element c:dirname {
64 clfs.inline.common.attrib,
65 clfs.inline
66 }
67clfs.inline.filename =
68 element c:filename {
69 clfs.inline.common.attrib,
70 clfs.inline
71 }
72clfs.inline.command =
73 element c:command {
74 clfs.inline.common.attrib,
75 clfs.inline
76 }
77
78# Block Elements
79
80clfs.package.para =
81 element c:para {
82 clfs.attrib.arch,
83 clfs.attrib.bits,
84 clfs.attrib.multilib,
85 clfs.inline
86 }
87
88clfs.package.note =
89 element c:note {
90 clfs.attrib.arch,
91 clfs.attrib.bits,
92 clfs.attrib.multilib,
93 (clfs.package.para | clfs.package.command)*
94 }
95
96clfs.package.warning =
97 element c:note {
98 clfs.attrib.arch,
99 clfs.attrib.bits,
100 clfs.attrib.multilib,
101 (clfs.package.para | clfs.package.command)*
102 }
103
104clfs.package.command =
105 element c:command {
106 clfs.attrib.arch,
107 clfs.attrib.bits,
108 clfs.attrib.multilib,
109 attribute c:nodump {
110 "true" | "false"
111 }?,
112 (element c:literal { text } | text)+
113 }
114
115# The Package
116clfs.sect.package =
117 element c:package {
118 attribute xml:base { text }?,
119 attribute id { text },
120 clfs.attrib.arch,
121 clfs.attrib.bits,
122 clfs.attrib.multilib,
123 attribute c:multibuild {
124 "true" | "false"
125 },
126
127 element c:title { text },
128 element c:version { text },
129 element c:description { clfs.inline },
130
131 element c:install {
132 (clfs.package.para |
133 clfs.package.command |
134 clfs.package.note |
135 clfs.package.warning)+
136 }?,
137
138 element c:config {
139 (clfs.package.para |
140 clfs.package.command |
141 clfs.package.note |
142 clfs.package.warning)+
143 }?,
144
145 element c:contents {
146 attribute c:ref {
147 text
148 } | (
149 element c:program {
150 element c:name {
151 text
152 },
153 element c:description {
154 clfs.inline
155 }
156 }*,
157 element c:library {
158 element c:name {
159 text
160 },
161 element c:description {
162 clfs.inline
163 }
164 }*,
165 element c:directory {
166 element c:name {
167 text
168 },
169 element c:description {
170 clfs.inline
171 }
172 }*
173 )
174 }?
175 }
Note: See TracBrowser for help on using the repository browser.