1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
include "common.rnc"
mainpage =
element mainpage {
mainpage.attlist,
title,
author+,
abstract?,
license?,
version,
date?,
(devmap? | newsitems? | (mirrorlist | chapter)+)
}
mainpage.attlist &=
attribute redirect { text }?,
attribute lang { text }?
newsitems = element newsitems { newsitems.attlist, empty }
newsitems.attlist &= empty
devmap = element devmap { devmap.attlist, empty }
devmap.attlist &= empty
guide =
element guide {
guide.attlist,
title,
subtitle?,
values?,
author+,
abstract,
summary?,
license?,
version,
date,
faqindex?,
chapter+
}
guide.attlist &=
attribute link { text }?,
attribute type { text }?,
attribute disclaimer {
"articles" | "oldbook" | "draft" | "obsolete"
}?,
attribute redirect { text }?,
attribute lang { text }?
news =
element news { news.attlist, poster, date, title, summary?, body }
news.attlist &=
[ a:defaultValue = "no" ] attribute gentoo { "yes" | "no" }?,
attribute category { "gentoo" | "main" | "linux" | "moo" | "plans" }
subtitle = element subtitle { subtitle.attlist, text }
subtitle.attlist &= empty
poster = element poster { poster.attlist, text }
poster.attlist &= empty
faqindex = element faqindex { faqindex.attlist, title, section? }
faqindex.attlist &= empty
chapter =
element chapter {
chapter.attlist,
(\include | (title, section+))
}
chapter.attlist &= attribute id { text }?
section =
element section {
section.attlist,
(\include | (title?, body+))
}
body =
element body {
body.attlist,
(mirrorlist
| \include
| (block.class | glsa-latest | glsaindex | glepindex)+)
}
glsaindex = element glsaindex { glsaindex.attlist, empty }
glsaindex.attlist &= empty
glsa-latest = element glsa-latest { glsa-latest.attlist, empty }
glsa-latest.attlist &= empty
mirrorlist = element mirrorlist { mirrorlist.attlist, empty }
mirrorlist.attlist &=
[ a:defaultValue = "full" ] attribute select { "full" | "partial" }?
start = news | included | mainpage | guide
|