summaryrefslogtreecommitdiff
blob: aaef013e2fd03739e79df483ed8e28da2ce5ecf0 (plain)
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
82
83
84
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 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" | "birthday"
  }
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" }?
mirrorlist.attlist &=
  [ a:defaultValue = "/main/en/mirrors3.xml" ] attribute src { text }?
start = guide | included | news | mainpage