metanorma-ietf 3.3.6 → 3.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -122,6 +122,23 @@
122
122
  </oneOrMore>
123
123
  </choice>
124
124
  </define>
125
+ <define name="LocalizedMarkedUpString1">
126
+ <!-- multiple languages and scripts possible: comma delimit them if so -->
127
+ <ref name="LocalizedStringAttrs"/>
128
+ <oneOrMore>
129
+ <ref name="TextElement"/>
130
+ </oneOrMore>
131
+ </define>
132
+ <define name="LocalizedMarkedUpString">
133
+ <choice>
134
+ <ref name="LocalizedMarkedUpString1"/>
135
+ <oneOrMore>
136
+ <element name="variant">
137
+ <ref name="LocalizedMarkedUpString1"/>
138
+ </element>
139
+ </oneOrMore>
140
+ </choice>
141
+ </define>
125
142
  <!--
126
143
  Unlike UML, change type to format: type is overloaded
127
144
  Would be need if plain were default value and could omit the attribute
@@ -204,10 +221,7 @@
204
221
  </define>
205
222
  <define name="roledescription">
206
223
  <element name="description">
207
- <ref name="LocalizedStringAttrs"/>
208
- <oneOrMore>
209
- <ref name="TextElement"/>
210
- </oneOrMore>
224
+ <ref name="LocalizedMarkedUpString"/>
211
225
  </element>
212
226
  </define>
213
227
  <define name="person">
@@ -332,10 +346,7 @@
332
346
  </define>
333
347
  <define name="affiliationdescription">
334
348
  <element name="description">
335
- <ref name="LocalizedStringAttrs"/>
336
- <oneOrMore>
337
- <ref name="TextElement"/>
338
- </oneOrMore>
349
+ <ref name="LocalizedMarkedUpString"/>
339
350
  </element>
340
351
  </define>
341
352
  <define name="organization">
@@ -384,7 +395,7 @@
384
395
  </define>
385
396
  <define name="logo">
386
397
  <element name="logo">
387
- <ref name="image"/>
398
+ <ref name="image-no-id"/>
388
399
  </element>
389
400
  </define>
390
401
  <define name="depiction">
@@ -393,7 +404,7 @@
393
404
  <attribute name="scope"/>
394
405
  </optional>
395
406
  <zeroOrMore>
396
- <ref name="image"/>
407
+ <ref name="image-no-id"/>
397
408
  </zeroOrMore>
398
409
  </element>
399
410
  </define>
@@ -946,10 +957,7 @@
946
957
  <optional>
947
958
  <attribute name="type"/>
948
959
  </optional>
949
- <ref name="LocalizedStringAttrs"/>
950
- <zeroOrMore>
951
- <ref name="TextElement"/>
952
- </zeroOrMore>
960
+ <ref name="LocalizedMarkedUpString"/>
953
961
  </define>
954
962
  <!-- TitleType = ( "alternative" | "original" | "unofficial" | "subtitle" | "main" ) -->
955
963
  <define name="TypedUri">
@@ -1040,10 +1048,7 @@
1040
1048
  <data type="boolean"/>
1041
1049
  </attribute>
1042
1050
  </optional>
1043
- <ref name="LocalizedStringAttrs"/>
1044
- <oneOrMore>
1045
- <ref name="TextElement"/>
1046
- </oneOrMore>
1051
+ <ref name="LocalizedMarkedUpString"/>
1047
1052
  </element>
1048
1053
  </define>
1049
1054
  <define name="docnumber">
@@ -1268,10 +1273,7 @@
1268
1273
  <optional>
1269
1274
  <attribute name="type"/>
1270
1275
  </optional>
1271
- <ref name="LocalizedStringAttrs"/>
1272
- <oneOrMore>
1273
- <ref name="TextElement"/>
1274
- </oneOrMore>
1276
+ <ref name="LocalizedMarkedUpString"/>
1275
1277
  </element>
1276
1278
  </define>
1277
1279
  <define name="bibabstract">
@@ -1279,7 +1281,7 @@
1279
1281
  <ref name="LocalizedStringAttrs"/>
1280
1282
  <choice>
1281
1283
  <oneOrMore>
1282
- <ref name="BasicBlock"/>
1284
+ <ref name="BasicBlockNoId"/>
1283
1285
  </oneOrMore>
1284
1286
  <oneOrMore>
1285
1287
  <ref name="TextElement"/>
@@ -1389,10 +1391,7 @@
1389
1391
  </attribute>
1390
1392
  <optional>
1391
1393
  <element name="description">
1392
- <ref name="LocalizedStringAttrs"/>
1393
- <oneOrMore>
1394
- <ref name="TextElement"/>
1395
- </oneOrMore>
1394
+ <ref name="LocalizedMarkedUpString"/>
1396
1395
  </element>
1397
1396
  </optional>
1398
1397
  <element name="bibitem">
@@ -37,10 +37,9 @@ module Metanorma
37
37
  rfc_converter(node).convert("#{@filename}.xml")
38
38
  end
39
39
 
40
- def doctype(node)
41
- ret = node.attr("doctype")&.gsub(/\s+/, "-")&.downcase || "internet-draft"
42
- ret = "internet-draft" if ret == "article"
43
- ret
40
+ def init_misc(node)
41
+ super
42
+ @default_doctype = "internet-draft"
44
43
  end
45
44
 
46
45
  def inline_quoted(node)
@@ -11,10 +11,7 @@
11
11
  <start>
12
12
  <ref name="ietf-standard"/>
13
13
  </start>
14
- <define name="ParagraphType">
15
- <attribute name="id">
16
- <data type="ID"/>
17
- </attribute>
14
+ <define name="ParagraphAttrs">
18
15
  <optional>
19
16
  <attribute name="align">
20
17
  <ref name="Alignments"/>
@@ -33,123 +30,84 @@
33
30
  <optional>
34
31
  <attribute name="indent"/>
35
32
  </optional>
36
- <zeroOrMore>
37
- <ref name="TextElement"/>
38
- </zeroOrMore>
33
+ </define>
34
+ <define name="UlAttr">
35
+ <optional>
36
+ <attribute name="nobullet">
37
+ <data type="boolean"/>
38
+ </attribute>
39
+ </optional>
40
+ <optional>
41
+ <attribute name="spacing"/>
42
+ </optional>
43
+ <optional>
44
+ <attribute name="indent"/>
45
+ </optional>
46
+ <optional>
47
+ <attribute name="bare">
48
+ <data type="boolean"/>
49
+ </attribute>
50
+ </optional>
51
+ </define>
52
+ <define name="UlBody">
53
+ <oneOrMore>
54
+ <ref name="li"/>
55
+ </oneOrMore>
39
56
  <zeroOrMore>
40
57
  <ref name="note"/>
41
58
  </zeroOrMore>
42
59
  </define>
43
- <define name="paragraph-with-footnote">
44
- <element name="p">
45
- <attribute name="id">
46
- <data type="ID"/>
47
- </attribute>
48
- <optional>
49
- <attribute name="align">
50
- <ref name="Alignments"/>
51
- </attribute>
52
- </optional>
53
- <optional>
54
- <attribute name="indent"/>
55
- </optional>
56
- <zeroOrMore>
57
- <choice>
58
- <ref name="TextElement"/>
59
- <ref name="fn"/>
60
- </choice>
61
- </zeroOrMore>
62
- <zeroOrMore>
63
- <ref name="note"/>
64
- </zeroOrMore>
65
- </element>
60
+ <define name="OlAttr">
61
+ <attribute name="type">
62
+ <choice>
63
+ <value>roman</value>
64
+ <value>alphabet</value>
65
+ <value>arabic</value>
66
+ <value>roman_upper</value>
67
+ <value>alphabet_upper</value>
68
+ <value>text</value>
69
+ </choice>
70
+ </attribute>
71
+ <optional>
72
+ <attribute name="group"/>
73
+ </optional>
74
+ <optional>
75
+ <attribute name="spacing"/>
76
+ </optional>
77
+ <optional>
78
+ <attribute name="start"/>
79
+ </optional>
80
+ <optional>
81
+ <attribute name="indent"/>
82
+ </optional>
66
83
  </define>
67
- <define name="ul">
68
- <element name="ul">
69
- <attribute name="id">
70
- <data type="ID"/>
71
- </attribute>
72
- <optional>
73
- <attribute name="nobullet">
74
- <data type="boolean"/>
75
- </attribute>
76
- </optional>
77
- <optional>
78
- <attribute name="spacing"/>
79
- </optional>
80
- <optional>
81
- <attribute name="indent"/>
82
- </optional>
83
- <optional>
84
- <attribute name="bare">
85
- <data type="boolean"/>
86
- </attribute>
87
- </optional>
88
- <oneOrMore>
89
- <ref name="li"/>
90
- </oneOrMore>
91
- <zeroOrMore>
92
- <ref name="note"/>
93
- </zeroOrMore>
94
- </element>
84
+ <define name="OlBody">
85
+ <oneOrMore>
86
+ <ref name="li"/>
87
+ </oneOrMore>
88
+ <zeroOrMore>
89
+ <ref name="note"/>
90
+ </zeroOrMore>
95
91
  </define>
96
- <define name="ol">
97
- <element name="ol">
98
- <attribute name="id">
99
- <data type="ID"/>
100
- </attribute>
101
- <attribute name="type">
102
- <choice>
103
- <value>roman</value>
104
- <value>alphabet</value>
105
- <value>arabic</value>
106
- <value>roman_upper</value>
107
- <value>alphabet_upper</value>
108
- <value>text</value>
109
- </choice>
110
- </attribute>
111
- <optional>
112
- <attribute name="group"/>
113
- </optional>
114
- <optional>
115
- <attribute name="spacing"/>
116
- </optional>
117
- <optional>
118
- <attribute name="start"/>
119
- </optional>
120
- <optional>
121
- <attribute name="indent"/>
122
- </optional>
123
- <oneOrMore>
124
- <ref name="li"/>
125
- </oneOrMore>
126
- <zeroOrMore>
127
- <ref name="note"/>
128
- </zeroOrMore>
129
- </element>
92
+ <define name="DlAttr">
93
+ <optional>
94
+ <attribute name="newline"/>
95
+ </optional>
96
+ <optional>
97
+ <attribute name="indent"/>
98
+ </optional>
99
+ <optional>
100
+ <attribute name="spacing"/>
101
+ </optional>
130
102
  </define>
131
- <define name="dl">
132
- <element name="dl">
133
- <attribute name="id">
134
- <data type="ID"/>
135
- </attribute>
136
- <optional>
137
- <attribute name="newline"/>
138
- </optional>
139
- <optional>
140
- <attribute name="indent"/>
141
- </optional>
142
- <optional>
143
- <attribute name="spacing"/>
144
- </optional>
145
- <oneOrMore>
146
- <ref name="dt"/>
147
- <ref name="dd"/>
148
- </oneOrMore>
149
- <zeroOrMore>
150
- <ref name="note"/>
151
- </zeroOrMore>
152
- </element>
103
+ <define name="DlBody">
104
+ <oneOrMore>
105
+ <ref name="dt"/>
106
+ <ref name="dd"/>
107
+ </oneOrMore>
108
+ <zeroOrMore>
109
+ <ref name="note"/>
110
+ </zeroOrMore>
153
111
  </define>
154
112
  <define name="review">
155
113
  <element name="review">
@@ -178,124 +136,39 @@
178
136
  </oneOrMore>
179
137
  </element>
180
138
  </define>
181
- <define name="note">
182
- <element name="note">
183
- <attribute name="id">
184
- <data type="ID"/>
185
- </attribute>
186
- <optional>
187
- <attribute name="removeInRFC"/>
188
- </optional>
189
- <optional>
190
- <ref name="tname"/>
191
- </optional>
192
- <oneOrMore>
193
- <ref name="paragraph"/>
194
- </oneOrMore>
195
- </element>
139
+ <define name="NoteAttr">
140
+ <optional>
141
+ <attribute name="removeInRFC"/>
142
+ </optional>
196
143
  </define>
197
- <define name="pre">
198
- <element name="pre">
199
- <attribute name="id">
200
- <data type="ID"/>
201
- </attribute>
202
- <optional>
203
- <attribute name="alt"/>
204
- </optional>
205
- <optional>
206
- <attribute name="align"/>
207
- </optional>
208
- <optional>
209
- <ref name="tname"/>
210
- </optional>
211
- <text/>
212
- <zeroOrMore>
213
- <ref name="note"/>
214
- </zeroOrMore>
215
- </element>
144
+ <define name="NoteBody">
145
+ <optional>
146
+ <ref name="tname"/>
147
+ </optional>
148
+ <oneOrMore>
149
+ <ref name="paragraph"/>
150
+ </oneOrMore>
216
151
  </define>
217
- <define name="image">
218
- <element name="image">
219
- <attribute name="id">
220
- <data type="ID"/>
221
- </attribute>
222
- <attribute name="src">
223
- <data type="anyURI"/>
224
- </attribute>
225
- <attribute name="mimetype"/>
226
- <optional>
227
- <attribute name="filename"/>
228
- </optional>
229
- <optional>
230
- <attribute name="width">
231
- <choice>
232
- <data type="int"/>
233
- <value>auto</value>
234
- </choice>
235
- </attribute>
236
- </optional>
237
- <optional>
238
- <attribute name="height">
239
- <choice>
240
- <data type="int"/>
241
- <value>auto</value>
242
- </choice>
243
- </attribute>
244
- </optional>
245
- <optional>
246
- <attribute name="alt"/>
247
- </optional>
248
- <optional>
249
- <attribute name="title"/>
250
- </optional>
251
- <optional>
252
- <attribute name="longdesc">
253
- <data type="anyURI"/>
254
- </attribute>
255
- </optional>
256
- <optional>
257
- <attribute name="align"/>
258
- </optional>
259
- </element>
152
+ <define name="PreAttr">
153
+ <optional>
154
+ <attribute name="alt"/>
155
+ </optional>
156
+ <optional>
157
+ <attribute name="align"/>
158
+ </optional>
260
159
  </define>
261
- <define name="sourcecode">
262
- <element name="sourcecode">
263
- <attribute name="id">
264
- <data type="ID"/>
265
- </attribute>
266
- <optional>
267
- <attribute name="unnumbered">
268
- <data type="boolean"/>
269
- </attribute>
270
- </optional>
271
- <optional>
272
- <attribute name="number"/>
273
- </optional>
274
- <optional>
275
- <attribute name="subsequence"/>
276
- </optional>
277
- <optional>
278
- <attribute name="lang"/>
279
- </optional>
280
- <optional>
281
- <attribute name="markers"/>
282
- </optional>
283
- <optional>
284
- <ref name="tname"/>
285
- </optional>
286
- <oneOrMore>
287
- <choice>
288
- <text/>
289
- <ref name="callout"/>
290
- </choice>
291
- </oneOrMore>
292
- <zeroOrMore>
293
- <ref name="annotation"/>
294
- </zeroOrMore>
295
- <zeroOrMore>
296
- <ref name="note"/>
297
- </zeroOrMore>
298
- </element>
160
+ <define name="ImageAttr" combine="interleave">
161
+ <optional>
162
+ <attribute name="align"/>
163
+ </optional>
164
+ </define>
165
+ <define name="SourceAttr" combine="interleave">
166
+ <optional>
167
+ <attribute name="number"/>
168
+ </optional>
169
+ <optional>
170
+ <attribute name="markers"/>
171
+ </optional>
299
172
  </define>
300
173
  <define name="xref">
301
174
  <element name="xref">
@@ -343,56 +216,16 @@
343
216
  <ref name="erefTypeURI"/>
344
217
  </element>
345
218
  </define>
346
- <define name="table">
347
- <element name="table">
348
- <attribute name="id">
349
- <data type="ID"/>
350
- </attribute>
351
- <optional>
352
- <attribute name="unnumbered">
353
- <data type="boolean"/>
354
- </attribute>
355
- </optional>
356
- <optional>
357
- <attribute name="number"/>
358
- </optional>
359
- <optional>
360
- <attribute name="subsequence"/>
361
- </optional>
362
- <optional>
363
- <attribute name="alt"/>
364
- </optional>
365
- <optional>
366
- <attribute name="summary"/>
367
- </optional>
368
- <optional>
369
- <attribute name="uri">
370
- <data type="anyURI"/>
371
- </attribute>
372
- </optional>
373
- <optional>
374
- <attribute name="align"/>
375
- </optional>
376
- <optional>
377
- <attribute name="width"/>
378
- </optional>
379
- <optional>
380
- <ref name="tname"/>
381
- </optional>
382
- <optional>
383
- <ref name="thead"/>
384
- </optional>
385
- <ref name="tbody"/>
386
- <optional>
387
- <ref name="tfoot"/>
388
- </optional>
389
- <zeroOrMore>
390
- <ref name="table-note"/>
391
- </zeroOrMore>
392
- <optional>
393
- <ref name="dl"/>
394
- </optional>
395
- </element>
219
+ <define name="TableAttr" combine="interleave">
220
+ <optional>
221
+ <attribute name="number"/>
222
+ </optional>
223
+ <optional>
224
+ <attribute name="align"/>
225
+ </optional>
226
+ <optional>
227
+ <attribute name="width"/>
228
+ </optional>
396
229
  </define>
397
230
  <define name="Clause-Section">
398
231
  <optional>