metanorma-un 0.12.16 → 0.12.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/isodoc/un/html/htmlstyle.css +1 -1
- data/lib/isodoc/un/un.plenary-attachment.xsl +142 -38
- data/lib/isodoc/un/un.plenary.xsl +142 -38
- data/lib/isodoc/un/un.recommendation.xsl +142 -38
- data/lib/metanorma/un/basicdoc.rng +909 -464
- data/lib/metanorma/un/biblio-standoc.rng +87 -20
- data/lib/metanorma/un/biblio.rng +884 -325
- data/lib/metanorma/un/isodoc.rng +1031 -912
- data/lib/metanorma/un/reqt.rng +94 -72
- data/lib/metanorma/un/version.rb +1 -1
- metadata +2 -2
data/lib/metanorma/un/reqt.rng
CHANGED
@@ -1,20 +1,27 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2
|
+
<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
3
3
|
<!--
|
4
4
|
Presupposes isodoc.rnc, is included in it
|
5
5
|
include "isodoc.rnc" { }
|
6
|
+
|
7
|
+
This is the Metanorma default provisions model; it is overridden by other provisions models,
|
8
|
+
such as Modspec
|
6
9
|
-->
|
7
10
|
<define name="requirement">
|
11
|
+
<a:documentation>Specification of an attribute of a subject that is required.
|
12
|
+
NOTE: A requirement can contain other requirements</a:documentation>
|
8
13
|
<element name="requirement">
|
9
14
|
<ref name="RequirementType"/>
|
10
15
|
</element>
|
11
16
|
</define>
|
12
17
|
<define name="recommendation">
|
18
|
+
<a:documentation>Specification of an attribute of a subject that is recommended</a:documentation>
|
13
19
|
<element name="recommendation">
|
14
20
|
<ref name="RequirementType"/>
|
15
21
|
</element>
|
16
22
|
</define>
|
17
23
|
<define name="permission">
|
24
|
+
<a:documentation>Specification of an attribute of a subject that is permitted</a:documentation>
|
18
25
|
<element name="permission">
|
19
26
|
<ref name="RequirementType"/>
|
20
27
|
</element>
|
@@ -22,80 +29,101 @@
|
|
22
29
|
<define name="RequirementType">
|
23
30
|
<optional>
|
24
31
|
<attribute name="obligation">
|
25
|
-
<
|
26
|
-
|
27
|
-
|
28
|
-
<optional>
|
29
|
-
<attribute name="unnumbered">
|
30
|
-
<data type="boolean"/>
|
31
|
-
</attribute>
|
32
|
-
</optional>
|
33
|
-
<optional>
|
34
|
-
<attribute name="number"/>
|
35
|
-
</optional>
|
36
|
-
<optional>
|
37
|
-
<attribute name="subsequence"/>
|
38
|
-
</optional>
|
39
|
-
<optional>
|
40
|
-
<attribute name="keep-with-next">
|
41
|
-
<data type="boolean"/>
|
42
|
-
</attribute>
|
43
|
-
</optional>
|
44
|
-
<optional>
|
45
|
-
<attribute name="keep-lines-together">
|
46
|
-
<data type="boolean"/>
|
32
|
+
<a:documentation>An attribute that may be used to override the obligation represented in
|
33
|
+
the tag name of the top level containers</a:documentation>
|
34
|
+
<ref name="ReqtObligationType"/>
|
47
35
|
</attribute>
|
48
36
|
</optional>
|
49
37
|
<attribute name="id">
|
50
38
|
<data type="ID"/>
|
51
39
|
</attribute>
|
40
|
+
<ref name="NumberingAttributes"/>
|
41
|
+
<ref name="BlockAttributes"/>
|
52
42
|
<optional>
|
53
|
-
<attribute name="filename"
|
54
|
-
|
55
|
-
|
56
|
-
<attribute name="model"/>
|
43
|
+
<attribute name="filename">
|
44
|
+
<a:documentation>File name of the requirement model when exported</a:documentation>
|
45
|
+
</attribute>
|
57
46
|
</optional>
|
58
47
|
<optional>
|
59
|
-
<attribute name="
|
48
|
+
<attribute name="model">
|
49
|
+
<a:documentation>Model of requirements realised by this requirement, e.g. "ogc" for Modspec</a:documentation>
|
50
|
+
</attribute>
|
60
51
|
</optional>
|
61
52
|
<optional>
|
62
|
-
<attribute name="
|
53
|
+
<attribute name="type">
|
54
|
+
<a:documentation>Type of requirement; does not override labelling, unlike `class`</a:documentation>
|
55
|
+
</attribute>
|
63
56
|
</optional>
|
64
57
|
<optional>
|
65
|
-
<attribute name="
|
66
|
-
<
|
58
|
+
<attribute name="class">
|
59
|
+
<a:documentation>Class of provision, used to sequence and label that class separately.
|
60
|
+
By default, provisions are sequenced and labelled as requirements, recommendations, or
|
61
|
+
permissions, by obligation; the class overrides that</a:documentation>
|
67
62
|
</attribute>
|
68
63
|
</optional>
|
69
64
|
<optional>
|
70
|
-
<ref name="reqtitle"
|
65
|
+
<ref name="reqtitle">
|
66
|
+
<a:documentation>Human-readable title of the requirement</a:documentation>
|
67
|
+
</ref>
|
71
68
|
</optional>
|
72
69
|
<optional>
|
73
|
-
<ref name="
|
70
|
+
<ref name="reqtlabel">
|
71
|
+
<a:documentation>Formal identifier with which the requirement is referenced</a:documentation>
|
72
|
+
</ref>
|
74
73
|
</optional>
|
75
74
|
<zeroOrMore>
|
76
|
-
<ref name="subject"
|
75
|
+
<ref name="subject">
|
76
|
+
<a:documentation>The party subject to the obligation stated in the requirement</a:documentation>
|
77
|
+
</ref>
|
77
78
|
</zeroOrMore>
|
78
79
|
<zeroOrMore>
|
79
|
-
<ref name="reqinherit"
|
80
|
+
<ref name="reqinherit">
|
81
|
+
<a:documentation>Reference to the identifier of another requirement, of which this requirement
|
82
|
+
is a subclass, and from which it inherits attributes</a:documentation>
|
83
|
+
</ref>
|
80
84
|
</zeroOrMore>
|
81
85
|
<zeroOrMore>
|
82
|
-
<ref name="classification"
|
86
|
+
<ref name="classification">
|
87
|
+
<a:documentation>Key/Value pairs of metadata used to describe the requirement.
|
88
|
+
A key can be associated with multiple values</a:documentation>
|
89
|
+
</ref>
|
83
90
|
</zeroOrMore>
|
84
91
|
<zeroOrMore>
|
85
92
|
<choice>
|
86
|
-
<ref name="measurementtarget"
|
87
|
-
|
88
|
-
|
89
|
-
<ref name="
|
90
|
-
|
91
|
-
|
93
|
+
<ref name="measurementtarget">
|
94
|
+
<a:documentation>Quantitative statement of metrics that the requirement realises</a:documentation>
|
95
|
+
</ref>
|
96
|
+
<ref name="specification">
|
97
|
+
<a:documentation>Formal specification of the requirement. Expected to be machine-readable</a:documentation>
|
98
|
+
</ref>
|
99
|
+
<ref name="verification">
|
100
|
+
<a:documentation>Processes or code used to verify that the requirement is being complied
|
101
|
+
with. Can be a test (including test code), or a compliance statement</a:documentation>
|
102
|
+
</ref>
|
103
|
+
<ref name="import">
|
104
|
+
<a:documentation>A reference to source code or a statement of prerequisites which is defined elsewhere</a:documentation>
|
105
|
+
</ref>
|
106
|
+
<ref name="description">
|
107
|
+
<a:documentation>Descriptive statement of the content of the requirement. Is expected to
|
108
|
+
be human-readable, and to contain formatting markup following Metanorma
|
109
|
+
conventions. Is expected to be discursive, and be resumed after
|
110
|
+
interruption by other sub-containers</a:documentation>
|
111
|
+
</ref>
|
112
|
+
<ref name="component">
|
113
|
+
<a:documentation>Provisions nested within this provision, which cannot be referenced autonomously and have
|
114
|
+
subclasses specific to the parent provision. Not expressed with provision metadata</a:documentation>
|
115
|
+
</ref>
|
92
116
|
</choice>
|
93
117
|
</zeroOrMore>
|
94
118
|
<optional>
|
95
|
-
<ref name="reqt_references"
|
119
|
+
<ref name="reqt_references">
|
120
|
+
<a:documentation>A list of references for the requirement, following the Relaton model</a:documentation>
|
121
|
+
</ref>
|
96
122
|
</optional>
|
97
123
|
<zeroOrMore>
|
98
124
|
<choice>
|
125
|
+
<a:documentation>Provisions nested within this provision, which are self-standing and do not have
|
126
|
+
subclasses specific to the parent provision</a:documentation>
|
99
127
|
<ref name="requirement"/>
|
100
128
|
<ref name="recommendation"/>
|
101
129
|
<ref name="permission"/>
|
@@ -104,10 +132,10 @@
|
|
104
132
|
</define>
|
105
133
|
<define name="reqtitle">
|
106
134
|
<element name="title">
|
107
|
-
<ref name="
|
135
|
+
<ref name="LocalizedMarkedUpString"/>
|
108
136
|
</element>
|
109
137
|
</define>
|
110
|
-
<define name="
|
138
|
+
<define name="reqtlabel">
|
111
139
|
<element name="identifier">
|
112
140
|
<oneOrMore>
|
113
141
|
<ref name="TextElement"/>
|
@@ -155,7 +183,9 @@
|
|
155
183
|
</define>
|
156
184
|
<define name="component">
|
157
185
|
<element name="component">
|
158
|
-
<attribute name="class"
|
186
|
+
<attribute name="class">
|
187
|
+
<a:documentation>Class of component</a:documentation>
|
188
|
+
</attribute>
|
159
189
|
<ref name="RequirementSubpart"/>
|
160
190
|
</element>
|
161
191
|
</define>
|
@@ -167,44 +197,36 @@
|
|
167
197
|
</element>
|
168
198
|
</define>
|
169
199
|
<define name="RequirementSubpart">
|
170
|
-
<
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
200
|
+
<a:documentation>A subcontainer can be either machine-readable or human-readable, or a
|
201
|
+
mixture of the two.
|
202
|
+
A machine-readable component can be included as source code with
|
203
|
+
nomination of the language</a:documentation>
|
204
|
+
<optional>
|
205
|
+
<attribute name="type">
|
206
|
+
<a:documentation>Type of sub-container.
|
207
|
+
For example a `verification[@type = "unit-test"]` contains a unit test of a single
|
208
|
+
feature, and is to be treated differently from
|
209
|
+
`verification[@type = "comprehensive"]`, which represents a comprehensive test suite</a:documentation>
|
176
210
|
</attribute>
|
177
211
|
</optional>
|
178
212
|
<optional>
|
179
|
-
<attribute name="
|
180
|
-
<
|
181
|
-
|
182
|
-
</optional>
|
183
|
-
<optional>
|
184
|
-
<attribute name="keep-lines-together">
|
213
|
+
<attribute name="exclude">
|
214
|
+
<a:documentation>Indicates that the current sub-container is only intended to be
|
215
|
+
machine-readable, and is not to be rendered as document output</a:documentation>
|
185
216
|
<data type="boolean"/>
|
186
217
|
</attribute>
|
187
218
|
</optional>
|
188
|
-
<
|
189
|
-
<attribute name="tag"/>
|
190
|
-
</optional>
|
191
|
-
<optional>
|
192
|
-
<attribute name="multilingual-rendering">
|
193
|
-
<ref name="MultilingualRenderingType"/>
|
194
|
-
</attribute>
|
195
|
-
</optional>
|
219
|
+
<ref name="BlockAttributes"/>
|
196
220
|
<oneOrMore>
|
197
221
|
<choice>
|
222
|
+
<a:documentation>Content of subpart: blocks, rather than provisions</a:documentation>
|
198
223
|
<ref name="BasicBlock"/>
|
199
224
|
<ref name="component"/>
|
200
225
|
</choice>
|
201
226
|
</oneOrMore>
|
202
227
|
</define>
|
203
|
-
<define name="
|
204
|
-
<
|
205
|
-
|
206
|
-
<value>recommendation</value>
|
207
|
-
<value>permission</value>
|
208
|
-
</choice>
|
228
|
+
<define name="ReqtObligationType">
|
229
|
+
<a:documentation>Values are "requirement", "recommendation", "permission"; multiple values can be comma-delimited</a:documentation>
|
230
|
+
<text/>
|
209
231
|
</define>
|
210
232
|
</grammar>
|
data/lib/metanorma/un/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-un
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: iso-639
|