source: BOOK/schema/clfs/0.1/rng/clfs.rnc@ 73d050d

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

Bring Programs to the top of the contents list. Render out docbook
for the short descriptions of libraries.

  • Property mode set to 100644
File size: 3.0 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.block.para =
81 element c:para {
82 clfs.inline
83 }
84
85clfs.block.note =
86 element c:note {
87 clfs.block.para*
88 }
89
90clfs.block.command =
91 element c:command {
92 clfs.attrib.arch,
93 clfs.attrib.bits,
94 clfs.attrib.multilib,
95 attribute c:nodump {
96 "true" | "false"
97 }?,
98 (element c:literal { text } | text)+
99 }
100
101# The Package
102clfs.sect.package =
103 element c:package {
104 attribute id { text },
105 clfs.attrib.arch,
106 clfs.attrib.bits,
107 clfs.attrib.multilib,
108 attribute c:multibuild {
109 "true" | "false"
110 },
111
112 element c:title { text },
113 element c:version { text },
114 element c:description { clfs.inline },
115
116 element c:install {
117 (clfs.block.para |
118 clfs.block.command |
119 clfs.block.note)+
120 }+,
121
122 element c:contents {
123 attribute c:ref {
124 text
125 } | (
126 element c:program {
127 element c:name {
128 text
129 },
130 element c:description {
131 clfs.inline
132 }
133 }*,
134 element c:library {
135 element c:name {
136 text
137 },
138 element c:description {
139 clfs.inline
140 }
141 }*,
142 element c:directory {
143 element c:name {
144 text
145 },
146 element c:description {
147 clfs.inline
148 }
149 }*
150 )
151 }?
152 }
Note: See TracBrowser for help on using the repository browser.