source: BOOK/schema/clfs/0.1/rng/clfs.rnc@ 5c560cb

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

This is the first part of the 2nd format to use as a simplification.
This format proposes using a completely custom stylesheet. Instead
of trying to merge together with docbook. The first attempt works it
is just extremely problematic. This is much easier, and it is the goal
anyway.

  • Property mode set to 100644
File size: 1.9 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.strong |
35 clfs.inline.dirname |
36 clfs.inline.filename |
37 clfs.inline.command |
38 text)+
39
40clfs.inline.strong =
41 element c:strong {
42 clfs.inline
43 }
44clfs.inline.dirname =
45 element c:dirname {
46 clfs.inline
47 }
48clfs.inline.filename =
49 element c:filename {
50 clfs.inline
51 }
52clfs.inline.command =
53 element c:command {
54 clfs.inline
55 }
56
57# Block Elements
58
59clfs.block.para =
60 element c:para {
61 clfs.inline
62 }
63
64clfs.block.note =
65 element c:note {
66 clfs.block.para*
67 }
68
69clfs.block.command =
70 element c:command {
71 clfs.attrib.arch,
72 clfs.attrib.bits,
73 clfs.attrib.multilib,
74 attribute c:nodump {
75 "true" | "false"
76 }?,
77 (element c:literal { text } | text)+
78 }
79
80# The Package
81clfs.sect.package =
82 element c:package {
83 attribute id { text },
84 clfs.attrib.arch,
85 clfs.attrib.bits,
86 clfs.attrib.multilib,
87 attribute c:multibuild {
88 "true" | "false"
89 },
90
91 element c:title { text },
92 element c:version { text },
93 element c:description { clfs.inline },
94
95 element c:install {
96 (clfs.block.para |
97 clfs.block.command |
98 clfs.block.note)+
99 }+
100 }
Note: See TracBrowser for help on using the repository browser.