source: BOOK/schema/clfs/0.1/rng/clfs.rnc @ 69fa5e6

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

Remove the test part.

  • Property mode set to 100644
File size: 3.4 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:contents {
139      attribute c:ref {
140        text
141      } | (
142        element c:program {
143          element c:name {
144            text
145          },
146          element c:description {
147            clfs.inline
148          }
149        }*,
150        element c:library {
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    }?
168  }
Note: See TracBrowser for help on using the repository browser.