/
rsd.rng
95 lines (95 loc) · 2.48 KB
/
rsd.rng
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
85
86
87
88
89
90
91
92
93
94
95
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<!--
Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
we cannot have a new default namespace: we will end up with a grammar with two different
namespaces, one for isostandard and one for csand additions. And we do not want that.
-->
<include href="isodoc.rng">
<start>
<ref name="rsd-standard"/>
</start>
<define name="DocumentType">
<choice>
<value>policy-and-procedures</value>
<value>best-practices</value>
<value>supporting-document</value>
<value>report</value>
<value>legal</value>
<value>directives</value>
<value>proposal</value>
<value>standard</value>
</choice>
</define>
<define name="editorialgroup">
<element name="editorialgroup">
<oneOrMore>
<ref name="committee"/>
</oneOrMore>
</element>
</define>
<define name="BibDataExtensionType">
<optional>
<ref name="doctype"/>
</optional>
<optional>
<ref name="docsubtype"/>
</optional>
<ref name="editorialgroup"/>
<zeroOrMore>
<ref name="ics"/>
</zeroOrMore>
<optional>
<ref name="security"/>
</optional>
</define>
</include>
<define name="committee">
<element name="committee">
<attribute name="type">
<choice>
<value>technical</value>
<value>provisional</value>
</choice>
</attribute>
<text/>
</element>
</define>
<define name="security">
<element name="security">
<text/>
</element>
</define>
<define name="rsd-standard">
<element name="rsd-standard">
<attribute name="version"/>
<attribute name="type">
<choice>
<value>semantic</value>
<value>presentation</value>
</choice>
</attribute>
<ref name="bibdata"/>
<zeroOrMore>
<ref name="termdocsource"/>
</zeroOrMore>
<optional>
<ref name="misccontainer"/>
</optional>
<optional>
<ref name="boilerplate"/>
</optional>
<ref name="preface"/>
<oneOrMore>
<ref name="sections"/>
</oneOrMore>
<zeroOrMore>
<ref name="annex"/>
</zeroOrMore>
<ref name="bibliography"/>
<zeroOrMore>
<ref name="indexsect"/>
</zeroOrMore>
</element>
</define>
</grammar>