source: BOOK/schema/clfs/0.1/rng/clfs.rnc@ 86518ac

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

Only allow one c:install element.

  • Property mode set to 100644
File size: 3.4 KB
RevLine 
[eef46e9]1
[4fe47e3]2namespace c = "http://schema.cross-lfs.org/book"
[eef46e9]3
[4fe47e3]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+
[5c560cb]15 | simplesect+),
16 nav.class*
17 } | clfs.sect.package )
[4fe47e3]18}
19
20# Extend the standard profiling attributes
21local.effectivity.attrib &=
22 clfs.attrib.arch,
23 clfs.attrib.bits,
24 clfs.attrib.multilib
25
[5c560cb]26# Profiling Attributes
[4fe47e3]27clfs.attrib.arch = attribute c:arch { text }?
28clfs.attrib.bits = attribute c:bits { text }?
29clfs.attrib.multilib = attribute c:multilib { "true" | "false" }?
30
[5c560cb]31# Inline Elements
32
33clfs.inline =
[9db1668]34 (clfs.inline.literal |
35 clfs.inline.replaceable |
36 clfs.inline.application |
[5c560cb]37 clfs.inline.dirname |
38 clfs.inline.filename |
39 clfs.inline.command |
[9db1668]40 text)*
[5c560cb]41
[9db1668]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,
[5c560cb]50 clfs.inline
51 }
[9db1668]52clfs.inline.replaceable =
53 element c:replaceable {
54 clfs.inline.common.attrib,
[5c560cb]55 clfs.inline
56 }
[9db1668]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 }
[5c560cb]67clfs.inline.filename =
68 element c:filename {
[9db1668]69 clfs.inline.common.attrib,
[5c560cb]70 clfs.inline
71 }
72clfs.inline.command =
73 element c:command {
[9db1668]74 clfs.inline.common.attrib,
[5c560cb]75 clfs.inline
76 }
77
78# Block Elements
79
[f59c2ec]80clfs.package.para =
[5c560cb]81 element c:para {
[f59c2ec]82 clfs.attrib.arch,
83 clfs.attrib.bits,
84 clfs.attrib.multilib,
[5c560cb]85 clfs.inline
86 }
87
[f59c2ec]88clfs.package.note =
[5c560cb]89 element c:note {
[f59c2ec]90 clfs.attrib.arch,
91 clfs.attrib.bits,
92 clfs.attrib.multilib,
[babec4b]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)*
[5c560cb]102 }
103
[f59c2ec]104clfs.package.command =
[5c560cb]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 =
[4fe47e3]117 element c:package {
[e655c39d]118 attribute xml:base { text }?,
[4fe47e3]119 attribute id { text },
120 clfs.attrib.arch,
121 clfs.attrib.bits,
122 clfs.attrib.multilib,
[5c560cb]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 {
[f59c2ec]132 (clfs.package.para |
133 clfs.package.command |
[babec4b]134 clfs.package.note |
135 clfs.package.warning)+
[f67564c]136 }?,
[4f597816]137
138 element c:contents {
139 attribute c:ref {
140 text
141 } | (
[1d86c775]142 element c:program {
[4f597816]143 element c:name {
144 text
145 },
146 element c:description {
147 clfs.inline
148 }
149 }*,
[1d86c775]150 element c:library {
[4f597816]151 element c:name {
152 text
153 },
154 element c:description {
155 clfs.inline
156 }
157 }*,
158 element c:directory {
159 element c:name {
160 text
161 },
162 element c:description {
163 clfs.inline
164 }
165 }*
166 )
167 }?
[4fe47e3]168 }
Note: See TracBrowser for help on using the repository browser.