metanorma-itu 1.0.1 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66a239389cf1af0edc1da2b0e4544f410ac653fddc89d067a144e77b57b2eef5
4
- data.tar.gz: '0891530512830674abbf98a184c40f02316049e53098769910fb662597e7c5be'
3
+ metadata.gz: a54eb698e50f6263e965938de057f4a6d1810c294af798979d046c353c7522a3
4
+ data.tar.gz: ae1f096b59b820ef7018fde4fd8f71a235ef831ce9ec55a6ed53ba49f29b6c05
5
5
  SHA512:
6
- metadata.gz: 61b16c2f290c2969a3c21f2bc1bc4f16e55bc50b847bd4a51c1562f34614f9865a591a4f41dc6759ed4300db2061b1484f2aa4d1b7281b853638ce22dc491919
7
- data.tar.gz: c17a28663f612e773f092521e09df621d78fec768c4bbbb8bb8b62d4f5afdb5544a351297f406cba48428823502d74a54ce4291359c0cc7b53c49477a88dc532
6
+ metadata.gz: e11fbc40c7d9dc2abfccef6a55b304ab44c7cdd0670d4992d3b021890a663ed1a42c1431d80d8e826f3d7f618a62c37ca1470daf0b7bc45a730b6850f6b54062
7
+ data.tar.gz: f0c0c9ffa691e38676224698909ad84964018533f7fc4dc815d8610c954f017db08979fad1523a73661d90deb850b12dc035300d5b686ed10959a59868bd1dcf
@@ -2,13 +2,18 @@
2
2
  # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
3
  name: macos
4
4
 
5
- on: [push]
5
+ on:
6
+ push:
7
+ branches: [ master ]
8
+ pull_request:
9
+ branches: [ '**' ]
6
10
 
7
11
  jobs:
8
12
  test-macos:
9
13
  name: Test on Ruby ${{ matrix.ruby }} macOS
10
14
  runs-on: macos-latest
11
15
  strategy:
16
+ fail-fast: false
12
17
  matrix:
13
18
  ruby: [ '2.6', '2.5', '2.4' ]
14
19
  steps:
@@ -20,7 +25,7 @@ jobs:
20
25
  architecture: 'x64'
21
26
  - name: Update gems
22
27
  run: |
23
- sudo gem install bundler -v "~> 2" --force
28
+ sudo gem install bundler --force
24
29
  bundle install --jobs 4 --retry 3
25
30
  - name: Use Node
26
31
  uses: actions/setup-node@v1
@@ -2,13 +2,18 @@
2
2
  # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
3
  name: ubuntu
4
4
 
5
- on: [push]
5
+ on:
6
+ push:
7
+ branches: [ master ]
8
+ pull_request:
9
+ branches: [ '**' ]
6
10
 
7
11
  jobs:
8
12
  test-linux:
9
13
  name: Test on Ruby ${{ matrix.ruby }} Ubuntu
10
14
  runs-on: ubuntu-latest
11
15
  strategy:
16
+ fail-fast: false
12
17
  matrix:
13
18
  ruby: [ '2.6', '2.5', '2.4' ]
14
19
  steps:
@@ -20,7 +25,7 @@ jobs:
20
25
  architecture: 'x64'
21
26
  - name: Update gems
22
27
  run: |
23
- gem install bundler -v "~> 2"
28
+ gem install bundler
24
29
  bundle install --jobs 4 --retry 3
25
30
  - name: Use Node
26
31
  uses: actions/setup-node@v1
@@ -2,13 +2,18 @@
2
2
  # use ci-master https://github.com/metanorma/metanorma-build-scripts
3
3
  name: windows
4
4
 
5
- on: [push]
5
+ on:
6
+ push:
7
+ branches: [ master ]
8
+ pull_request:
9
+ branches: [ '**' ]
6
10
 
7
11
  jobs:
8
12
  test-windows:
9
13
  name: Test on Ruby ${{ matrix.ruby }} Windows
10
14
  runs-on: windows-latest
11
15
  strategy:
16
+ fail-fast: false
12
17
  matrix:
13
18
  ruby: [ '2.6', '2.5', '2.4' ]
14
19
  steps:
@@ -21,7 +26,7 @@ jobs:
21
26
  - name: Update gems
22
27
  shell: pwsh
23
28
  run: |
24
- gem install bundler -v "~> 2"
29
+ gem install bundler
25
30
  bundle config --local path vendor/bundle
26
31
  bundle update
27
32
  bundle install --jobs 4 --retry 3
@@ -52,11 +52,8 @@
52
52
  <optional>
53
53
  <ref name="section-title"/>
54
54
  </optional>
55
- <optional>
56
- <ref name="BasicBlock"/>
57
- </optional>
58
55
  <zeroOrMore>
59
- <ref name="note"/>
56
+ <ref name="BasicBlock"/>
60
57
  </zeroOrMore>
61
58
  </define>
62
59
  <define name="references">
@@ -99,6 +96,10 @@
99
96
  <ref name="example"/>
100
97
  <ref name="review"/>
101
98
  <ref name="pre"/>
99
+ <ref name="note"/>
100
+ <ref name="pagebreak"/>
101
+ <ref name="hr"/>
102
+ <ref name="bookmark"/>
102
103
  </choice>
103
104
  </define>
104
105
  <define name="paragraph">
@@ -341,7 +342,14 @@
341
342
  <define name="tname">
342
343
  <element name="name">
343
344
  <oneOrMore>
344
- <ref name="PureTextElement"/>
345
+ <choice>
346
+ <ref name="PureTextElement"/>
347
+ <ref name="eref"/>
348
+ <ref name="stem"/>
349
+ <ref name="keyword"/>
350
+ <ref name="xref"/>
351
+ <ref name="hyperlink"/>
352
+ </choice>
345
353
  </oneOrMore>
346
354
  </element>
347
355
  </define>
@@ -567,6 +575,7 @@
567
575
  <ref name="pagebreak"/>
568
576
  <ref name="bookmark"/>
569
577
  <ref name="image"/>
578
+ <ref name="index"/>
570
579
  </choice>
571
580
  </define>
572
581
  <define name="PureTextElement">
@@ -591,14 +600,20 @@
591
600
  <define name="em">
592
601
  <element name="em">
593
602
  <zeroOrMore>
594
- <ref name="PureTextElement"/>
603
+ <choice>
604
+ <ref name="PureTextElement"/>
605
+ <ref name="stem"/>
606
+ </choice>
595
607
  </zeroOrMore>
596
608
  </element>
597
609
  </define>
598
610
  <define name="strong">
599
611
  <element name="strong">
600
612
  <zeroOrMore>
601
- <ref name="PureTextElement"/>
613
+ <choice>
614
+ <ref name="PureTextElement"/>
615
+ <ref name="stem"/>
616
+ </choice>
602
617
  </zeroOrMore>
603
618
  </element>
604
619
  </define>
@@ -691,6 +706,17 @@
691
706
  <empty/>
692
707
  </element>
693
708
  </define>
709
+ <define name="index">
710
+ <element name="index">
711
+ <attribute name="primary"/>
712
+ <optional>
713
+ <attribute name="secondary"/>
714
+ </optional>
715
+ <optional>
716
+ <attribute name="tertiary"/>
717
+ </optional>
718
+ </element>
719
+ </define>
694
720
  <!-- bare ID element, used for referencing arbitrary spans of text -->
695
721
  <define name="bookmark">
696
722
  <element name="bookmark">
@@ -638,9 +638,9 @@
638
638
  <zeroOrMore>
639
639
  <ref name="license"/>
640
640
  </zeroOrMore>
641
- <optional>
641
+ <zeroOrMore>
642
642
  <ref name="bclassification"/>
643
- </optional>
643
+ </zeroOrMore>
644
644
  <zeroOrMore>
645
645
  <ref name="bkeyword"/>
646
646
  </zeroOrMore>
@@ -1,4 +1,18 @@
1
1
  <boilerplate>
2
+ <copyright-statement>
3
+ <clause>
4
+ <p>&copy; ITU {{ docyear }}</p>
5
+ <p>All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written permission of ITU.</p>
6
+ </clause>
7
+ </copyright-statement>
8
+ <license-statement>
9
+ <clause>
10
+ <title>INTELLECTUAL PROPERTY RIGHTS</title>
11
+ <p>ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process.</p>
12
+ <p>As of the date of approval of this Recommendation, ITU had {% if ip_notice_received %}{% else %}not{% endif %} received notice of intellectual property, protected by patents, which may be required to implement this Recommendation. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at <link target="http://www.itu.int/ITU-T/ipr/"/>.
13
+ </p>
14
+ </clause>
15
+ </license-statement>
2
16
  <legal-statement>
3
17
  <clause>
4
18
  <title>FOREWORD</title>
@@ -26,22 +40,6 @@
26
40
  </clause>
27
41
  {% endif %}
28
42
  </legal-statement>
29
-
30
- <copyright-statement>
31
- <clause>
32
- <p>&copy; ITU {{ docyear }}</p>
33
- <p>All rights reserved. No part of this publication may be reproduced, by any means whatsoever, without the prior written permission of ITU.</p>
34
- </clause>
35
- </copyright-statement>
36
-
37
- <license-statement>
38
- <clause>
39
- <title>INTELLECTUAL PROPERTY RIGHTS</title>
40
- <p>ITU draws attention to the possibility that the practice or implementation of this Recommendation may involve the use of a claimed Intellectual Property Right. ITU takes no position concerning the evidence, validity or applicability of claimed Intellectual Property Rights, whether asserted by ITU members or others outside of the Recommendation development process.</p>
41
- <p>As of the date of approval of this Recommendation, ITU had {% if ip_notice_received %}{% else %}not{% endif %} received notice of intellectual property, protected by patents, which may be required to implement this Recommendation. However, implementers are cautioned that this may not represent the latest information and are therefore strongly urged to consult the TSB patent database at <link target="http://www.itu.int/ITU-T/ipr/"/>.
42
- </p>
43
- </clause>
44
- </license-statement>
45
43
  </boilerplate>
46
44
 
47
45
 
@@ -88,31 +88,6 @@ module Asciidoctor
88
88
  biblio_reorder1(r)
89
89
  end
90
90
  end
91
-
92
- def boilerplate_cleanup(xmldoc)
93
- super
94
- initial_boilerplate(xmldoc)
95
- end
96
-
97
- def initial_boilerplate(x)
98
- return if x.at("//boilerplate")
99
- preface = x.at("//preface") || x.at("//sections") || x.at("//annex") ||
100
- x.at("//references") || return
101
- preface.previous = boilerplate(x)
102
- end
103
-
104
- def boilerplate(x_orig)
105
- x = x_orig.dup
106
- # TODO variable
107
- x.root.add_namespace(nil, Metanorma::ITU::DOCUMENT_NAMESPACE)
108
- x = Nokogiri::XML(x.to_xml)
109
- conv = IsoDoc::ITU::HtmlConvert.new({})
110
- conv.metadata_init("en", "Latn", {})
111
- conv.info(x, nil)
112
- file = @boilerplateauthority ? "#{@localdir}/#{@boilerplateauthority}" :
113
- File.join(File.dirname(__FILE__), "itu_intro.xml")
114
- conv.populate_template((File.read(file, encoding: "UTF-8")), nil)
115
- end
116
91
  end
117
92
  end
118
93
  end
@@ -24,8 +24,79 @@
24
24
  <start>
25
25
  <ref name="standard-document"/>
26
26
  </start>
27
+ <define name="hyperlink">
28
+ <element name="link">
29
+ <attribute name="target">
30
+ <data type="anyURI"/>
31
+ </attribute>
32
+ <optional>
33
+ <attribute name="type">
34
+ <ref name="ReferenceFormat"/>
35
+ </attribute>
36
+ </optional>
37
+ <optional>
38
+ <attribute name="alt"/>
39
+ </optional>
40
+ <text/>
41
+ </element>
42
+ </define>
43
+ <define name="xref">
44
+ <element name="xref">
45
+ <attribute name="target">
46
+ <data type="IDREF"/>
47
+ </attribute>
48
+ <optional>
49
+ <attribute name="type">
50
+ <ref name="ReferenceFormat"/>
51
+ </attribute>
52
+ </optional>
53
+ <optional>
54
+ <attribute name="alt"/>
55
+ </optional>
56
+ <text/>
57
+ </element>
58
+ </define>
59
+ <define name="example">
60
+ <element name="example">
61
+ <attribute name="id">
62
+ <data type="ID"/>
63
+ </attribute>
64
+ <optional>
65
+ <attribute name="unnumbered">
66
+ <data type="boolean"/>
67
+ </attribute>
68
+ </optional>
69
+ <optional>
70
+ <attribute name="subsequence"/>
71
+ </optional>
72
+ <optional>
73
+ <ref name="tname"/>
74
+ </optional>
75
+ <oneOrMore>
76
+ <choice>
77
+ <ref name="formula"/>
78
+ <ref name="ul"/>
79
+ <ref name="ol"/>
80
+ <ref name="dl"/>
81
+ <ref name="quote"/>
82
+ <ref name="sourcecode"/>
83
+ <ref name="paragraph-with-footnote"/>
84
+ <ref name="figure"/>
85
+ </choice>
86
+ </oneOrMore>
87
+ <zeroOrMore>
88
+ <ref name="note"/>
89
+ </zeroOrMore>
90
+ </element>
91
+ </define>
27
92
  <define name="BibDataExtensionType">
28
93
  <ref name="doctype"/>
94
+ <optional>
95
+ <ref name="editorialgroup"/>
96
+ </optional>
97
+ <zeroOrMore>
98
+ <ref name="ics"/>
99
+ </zeroOrMore>
29
100
  <zeroOrMore>
30
101
  <ref name="structuredidentifier"/>
31
102
  </zeroOrMore>
@@ -39,6 +110,7 @@
39
110
  <choice>
40
111
  <ref name="clause"/>
41
112
  <ref name="terms"/>
113
+ <ref name="term-clause"/>
42
114
  <ref name="definitions"/>
43
115
  </choice>
44
116
  </oneOrMore>
@@ -51,21 +123,285 @@
51
123
  <data type="ID"/>
52
124
  </attribute>
53
125
  </optional>
126
+ <optional>
127
+ <attribute name="obligation">
128
+ <choice>
129
+ <value>normative</value>
130
+ <value>informative</value>
131
+ </choice>
132
+ </attribute>
133
+ </optional>
54
134
  <optional>
55
135
  <ref name="section-title"/>
56
136
  </optional>
57
137
  <zeroOrMore>
58
138
  <ref name="BasicBlock"/>
59
139
  </zeroOrMore>
140
+ <zeroOrMore>
141
+ <ref name="note"/>
142
+ </zeroOrMore>
60
143
  <zeroOrMore>
61
144
  <ref name="bibitem"/>
62
145
  <zeroOrMore>
63
146
  <ref name="note"/>
64
147
  </zeroOrMore>
65
148
  </zeroOrMore>
149
+ <zeroOrMore>
150
+ <ref name="references"/>
151
+ </zeroOrMore>
152
+ </element>
153
+ </define>
154
+ <define name="note">
155
+ <element name="note">
156
+ <attribute name="id">
157
+ <data type="ID"/>
158
+ </attribute>
159
+ <oneOrMore>
160
+ <choice>
161
+ <ref name="paragraph"/>
162
+ <ref name="ul"/>
163
+ <ref name="ol"/>
164
+ <ref name="dl"/>
165
+ <ref name="formula"/>
166
+ </choice>
167
+ </oneOrMore>
168
+ </element>
169
+ </define>
170
+ <define name="Basic-Section">
171
+ <optional>
172
+ <attribute name="id">
173
+ <data type="ID"/>
174
+ </attribute>
175
+ </optional>
176
+ <optional>
177
+ <attribute name="language"/>
178
+ </optional>
179
+ <optional>
180
+ <attribute name="script"/>
181
+ </optional>
182
+ <optional>
183
+ <attribute name="obligation">
184
+ <choice>
185
+ <value>normative</value>
186
+ <value>informative</value>
187
+ </choice>
188
+ </attribute>
189
+ </optional>
190
+ <optional>
191
+ <ref name="section-title"/>
192
+ </optional>
193
+ <group>
194
+ <oneOrMore>
195
+ <ref name="BasicBlock"/>
196
+ </oneOrMore>
197
+ <zeroOrMore>
198
+ <ref name="note"/>
199
+ </zeroOrMore>
200
+ </group>
201
+ </define>
202
+ <define name="li">
203
+ <element name="li">
204
+ <group>
205
+ <optional>
206
+ <attribute name="id">
207
+ <data type="ID"/>
208
+ </attribute>
209
+ </optional>
210
+ <oneOrMore>
211
+ <ref name="BasicBlock"/>
212
+ </oneOrMore>
213
+ </group>
214
+ <!-- exclude figures? -->
215
+ </element>
216
+ </define>
217
+ <define name="dd">
218
+ <element name="dd">
219
+ <zeroOrMore>
220
+ <!-- exclude figures? -->
221
+ <ref name="BasicBlock"/>
222
+ </zeroOrMore>
223
+ </element>
224
+ </define>
225
+ <define name="thead">
226
+ <element name="thead">
227
+ <oneOrMore>
228
+ <ref name="tr"/>
229
+ </oneOrMore>
230
+ </element>
231
+ </define>
232
+ <define name="td">
233
+ <element name="td">
234
+ <optional>
235
+ <attribute name="colspan"/>
236
+ </optional>
237
+ <optional>
238
+ <attribute name="rowspan"/>
239
+ </optional>
240
+ <optional>
241
+ <attribute name="align">
242
+ <choice>
243
+ <value>left</value>
244
+ <value>right</value>
245
+ <value>center</value>
246
+ </choice>
247
+ </attribute>
248
+ </optional>
249
+ <choice>
250
+ <zeroOrMore>
251
+ <choice>
252
+ <ref name="TextElement"/>
253
+ <ref name="fn"/>
254
+ </choice>
255
+ </zeroOrMore>
256
+ <oneOrMore>
257
+ <choice>
258
+ <ref name="paragraph-with-footnote"/>
259
+ <ref name="dl"/>
260
+ <ref name="ul"/>
261
+ <ref name="ol"/>
262
+ <ref name="figure"/>
263
+ </choice>
264
+ </oneOrMore>
265
+ </choice>
266
+ </element>
267
+ </define>
268
+ <define name="th">
269
+ <element name="th">
270
+ <optional>
271
+ <attribute name="colspan"/>
272
+ </optional>
273
+ <optional>
274
+ <attribute name="rowspan"/>
275
+ </optional>
276
+ <optional>
277
+ <attribute name="align">
278
+ <choice>
279
+ <value>left</value>
280
+ <value>right</value>
281
+ <value>center</value>
282
+ </choice>
283
+ </attribute>
284
+ </optional>
285
+ <choice>
286
+ <zeroOrMore>
287
+ <choice>
288
+ <ref name="TextElement"/>
289
+ <ref name="fn"/>
290
+ </choice>
291
+ </zeroOrMore>
292
+ <oneOrMore>
293
+ <ref name="paragraph-with-footnote"/>
294
+ </oneOrMore>
295
+ </choice>
296
+ </element>
297
+ </define>
298
+ <define name="table-note">
299
+ <element name="note">
300
+ <optional>
301
+ <attribute name="id">
302
+ <data type="ID"/>
303
+ </attribute>
304
+ </optional>
305
+ <ref name="paragraph"/>
66
306
  </element>
67
307
  </define>
68
308
  </include>
309
+ <!-- end overrides -->
310
+ <define name="BasicBlock" combine="choice">
311
+ <choice>
312
+ <ref name="requirement"/>
313
+ <ref name="recommendation"/>
314
+ <ref name="permission"/>
315
+ </choice>
316
+ </define>
317
+ <define name="bibliography">
318
+ <element name="bibliography">
319
+ <oneOrMore>
320
+ <choice>
321
+ <ref name="references"/>
322
+ <ref name="reference-clause"/>
323
+ </choice>
324
+ </oneOrMore>
325
+ </element>
326
+ </define>
327
+ <define name="reference-clause">
328
+ <element name="clause">
329
+ <optional>
330
+ <attribute name="id">
331
+ <data type="ID"/>
332
+ </attribute>
333
+ </optional>
334
+ <optional>
335
+ <attribute name="language"/>
336
+ </optional>
337
+ <optional>
338
+ <attribute name="script"/>
339
+ </optional>
340
+ <optional>
341
+ <attribute name="inline-header">
342
+ <data type="boolean"/>
343
+ </attribute>
344
+ </optional>
345
+ <optional>
346
+ <attribute name="obligation">
347
+ <choice>
348
+ <value>normative</value>
349
+ <value>informative</value>
350
+ </choice>
351
+ </attribute>
352
+ </optional>
353
+ <optional>
354
+ <ref name="section-title"/>
355
+ </optional>
356
+ <zeroOrMore>
357
+ <ref name="BasicBlock"/>
358
+ </zeroOrMore>
359
+ <zeroOrMore>
360
+ <ref name="note"/>
361
+ </zeroOrMore>
362
+ <choice>
363
+ <oneOrMore>
364
+ <ref name="reference-clause"/>
365
+ </oneOrMore>
366
+ <zeroOrMore>
367
+ <ref name="references"/>
368
+ </zeroOrMore>
369
+ </choice>
370
+ </element>
371
+ </define>
372
+ <define name="editorialgroup">
373
+ <element name="editorialgroup">
374
+ <oneOrMore>
375
+ <ref name="technical-committee"/>
376
+ </oneOrMore>
377
+ </element>
378
+ </define>
379
+ <define name="technical-committee">
380
+ <element name="technical-committee">
381
+ <ref name="IsoWorkgroup"/>
382
+ </element>
383
+ </define>
384
+ <define name="IsoWorkgroup">
385
+ <optional>
386
+ <attribute name="number">
387
+ <data type="int"/>
388
+ </attribute>
389
+ </optional>
390
+ <optional>
391
+ <attribute name="type"/>
392
+ </optional>
393
+ <text/>
394
+ </define>
395
+ <define name="ics">
396
+ <element name="ics">
397
+ <element name="code">
398
+ <text/>
399
+ </element>
400
+ <element name="text">
401
+ <text/>
402
+ </element>
403
+ </element>
404
+ </define>
69
405
  <define name="standard-document">
70
406
  <element name="standard-document">
71
407
  <ref name="bibdata"/>
@@ -89,7 +425,7 @@
89
425
  <oneOrMore>
90
426
  <choice>
91
427
  <ref name="content"/>
92
- <ref name="abstract"/>
428
+ <ref name="preface_abstract"/>
93
429
  <ref name="foreword"/>
94
430
  <ref name="introduction"/>
95
431
  <ref name="acknowledgements"/>
@@ -156,6 +492,14 @@
156
492
  <optional>
157
493
  <attribute name="script"/>
158
494
  </optional>
495
+ <optional>
496
+ <attribute name="obligation">
497
+ <choice>
498
+ <value>normative</value>
499
+ <value>informative</value>
500
+ </choice>
501
+ </attribute>
502
+ </optional>
159
503
  <optional>
160
504
  <ref name="section-title"/>
161
505
  </optional>
@@ -163,6 +507,9 @@
163
507
  <zeroOrMore>
164
508
  <ref name="BasicBlock"/>
165
509
  </zeroOrMore>
510
+ <zeroOrMore>
511
+ <ref name="note"/>
512
+ </zeroOrMore>
166
513
  <ref name="dl"/>
167
514
  </oneOrMore>
168
515
  </element>
@@ -202,22 +549,35 @@
202
549
  <optional>
203
550
  <attribute name="script"/>
204
551
  </optional>
552
+ <optional>
553
+ <attribute name="inline-header">
554
+ <data type="boolean"/>
555
+ </attribute>
556
+ </optional>
557
+ <optional>
558
+ <attribute name="obligation">
559
+ <choice>
560
+ <value>normative</value>
561
+ <value>informative</value>
562
+ </choice>
563
+ </attribute>
564
+ </optional>
205
565
  <optional>
206
566
  <ref name="section-title"/>
207
567
  </optional>
208
- <choice>
568
+ <group>
209
569
  <group>
210
- <optional>
570
+ <zeroOrMore>
211
571
  <ref name="BasicBlock"/>
212
- </optional>
572
+ </zeroOrMore>
213
573
  <zeroOrMore>
214
574
  <ref name="note"/>
215
575
  </zeroOrMore>
216
576
  </group>
217
- <oneOrMore>
577
+ <zeroOrMore>
218
578
  <ref name="content-subsection"/>
219
- </oneOrMore>
220
- </choice>
579
+ </zeroOrMore>
580
+ </group>
221
581
  </define>
222
582
  <define name="clause">
223
583
  <element name="clause">
@@ -239,32 +599,92 @@
239
599
  <optional>
240
600
  <attribute name="script"/>
241
601
  </optional>
602
+ <optional>
603
+ <attribute name="inline-header">
604
+ <data type="boolean"/>
605
+ </attribute>
606
+ </optional>
607
+ <optional>
608
+ <attribute name="obligation">
609
+ <choice>
610
+ <value>normative</value>
611
+ <value>informative</value>
612
+ </choice>
613
+ </attribute>
614
+ </optional>
242
615
  <optional>
243
616
  <ref name="section-title"/>
244
617
  </optional>
245
- <choice>
618
+ <group>
246
619
  <group>
247
- <optional>
620
+ <zeroOrMore>
248
621
  <ref name="BasicBlock"/>
249
- </optional>
622
+ </zeroOrMore>
250
623
  <zeroOrMore>
251
624
  <ref name="note"/>
252
625
  </zeroOrMore>
253
626
  </group>
254
- <oneOrMore>
627
+ <zeroOrMore>
255
628
  <choice>
256
629
  <ref name="clause-subsection"/>
257
630
  <ref name="terms"/>
258
631
  <ref name="definitions"/>
259
632
  </choice>
260
- </oneOrMore>
261
- </choice>
633
+ </zeroOrMore>
634
+ </group>
635
+ </define>
636
+ <define name="Annex-Section">
637
+ <optional>
638
+ <attribute name="id">
639
+ <data type="ID"/>
640
+ </attribute>
641
+ </optional>
642
+ <optional>
643
+ <attribute name="language"/>
644
+ </optional>
645
+ <optional>
646
+ <attribute name="script"/>
647
+ </optional>
648
+ <optional>
649
+ <attribute name="obligation">
650
+ <choice>
651
+ <value>normative</value>
652
+ <value>informative</value>
653
+ </choice>
654
+ </attribute>
655
+ </optional>
656
+ <optional>
657
+ <ref name="section-title"/>
658
+ </optional>
659
+ <group>
660
+ <group>
661
+ <zeroOrMore>
662
+ <ref name="BasicBlock"/>
663
+ </zeroOrMore>
664
+ <zeroOrMore>
665
+ <ref name="note"/>
666
+ </zeroOrMore>
667
+ </group>
668
+ <zeroOrMore>
669
+ <choice>
670
+ <ref name="annex-subsection"/>
671
+ <ref name="terms"/>
672
+ <ref name="definitions"/>
673
+ <ref name="references"/>
674
+ </choice>
675
+ </zeroOrMore>
676
+ </group>
262
677
  </define>
263
678
  <define name="clause-subsection">
264
679
  <element name="clause">
265
680
  <ref name="Clause-Section"/>
266
681
  </element>
267
682
  </define>
683
+ <define name="annex-subsection">
684
+ <element name="clause">
685
+ <ref name="Annex-Section"/>
686
+ </element>
687
+ </define>
268
688
  <define name="annex">
269
689
  <element name="annex">
270
690
  <optional>
@@ -278,6 +698,11 @@
278
698
  <optional>
279
699
  <attribute name="script"/>
280
700
  </optional>
701
+ <optional>
702
+ <attribute name="inline-header">
703
+ <data type="boolean"/>
704
+ </attribute>
705
+ </optional>
281
706
  <attribute name="obligation">
282
707
  <choice>
283
708
  <value>normative</value>
@@ -287,19 +712,24 @@
287
712
  <optional>
288
713
  <ref name="section-title"/>
289
714
  </optional>
290
- <choice>
715
+ <group>
291
716
  <group>
292
- <optional>
717
+ <zeroOrMore>
293
718
  <ref name="BasicBlock"/>
294
- </optional>
719
+ </zeroOrMore>
295
720
  <zeroOrMore>
296
721
  <ref name="note"/>
297
722
  </zeroOrMore>
298
723
  </group>
299
- <oneOrMore>
300
- <ref name="clause-subsection"/>
301
- </oneOrMore>
302
- </choice>
724
+ <zeroOrMore>
725
+ <choice>
726
+ <ref name="annex-subsection"/>
727
+ <ref name="terms"/>
728
+ <ref name="definitions"/>
729
+ <ref name="references"/>
730
+ </choice>
731
+ </zeroOrMore>
732
+ </group>
303
733
  </element>
304
734
  </define>
305
735
  <define name="terms">
@@ -315,12 +745,36 @@
315
745
  <optional>
316
746
  <attribute name="script"/>
317
747
  </optional>
748
+ <optional>
749
+ <attribute name="obligation">
750
+ <choice>
751
+ <value>normative</value>
752
+ <value>informative</value>
753
+ </choice>
754
+ </attribute>
755
+ </optional>
756
+ <optional>
757
+ <ref name="section-title"/>
758
+ </optional>
318
759
  <zeroOrMore>
319
760
  <ref name="BasicBlock"/>
320
761
  </zeroOrMore>
321
- <oneOrMore>
322
- <ref name="term"/>
323
- </oneOrMore>
762
+ <zeroOrMore>
763
+ <ref name="note"/>
764
+ </zeroOrMore>
765
+ <choice>
766
+ <oneOrMore>
767
+ <ref name="term"/>
768
+ </oneOrMore>
769
+ <group>
770
+ <zeroOrMore>
771
+ <ref name="terms"/>
772
+ </zeroOrMore>
773
+ <optional>
774
+ <ref name="definitions"/>
775
+ </optional>
776
+ </group>
777
+ </choice>
324
778
  </element>
325
779
  </define>
326
780
  <define name="term">
@@ -413,7 +867,13 @@
413
867
  </define>
414
868
  <define name="definition">
415
869
  <element name="definition">
416
- <ref name="paragraph"/>
870
+ <oneOrMore>
871
+ <choice>
872
+ <ref name="paragraph"/>
873
+ <ref name="figure"/>
874
+ <ref name="formula"/>
875
+ </choice>
876
+ </oneOrMore>
417
877
  </element>
418
878
  </define>
419
879
  <define name="termnote">
@@ -511,4 +971,58 @@
511
971
  </optional>
512
972
  </element>
513
973
  </define>
974
+ <define name="preface_abstract">
975
+ <element name="abstract">
976
+ <ref name="Basic-Section"/>
977
+ </element>
978
+ </define>
979
+ <define name="term-clause">
980
+ <element name="clause">
981
+ <optional>
982
+ <attribute name="id">
983
+ <data type="ID"/>
984
+ </attribute>
985
+ </optional>
986
+ <optional>
987
+ <attribute name="language"/>
988
+ </optional>
989
+ <optional>
990
+ <attribute name="script"/>
991
+ </optional>
992
+ <optional>
993
+ <attribute name="inline-header">
994
+ <data type="boolean"/>
995
+ </attribute>
996
+ </optional>
997
+ <optional>
998
+ <attribute name="obligation">
999
+ <choice>
1000
+ <value>normative</value>
1001
+ <value>informative</value>
1002
+ </choice>
1003
+ </attribute>
1004
+ </optional>
1005
+ <optional>
1006
+ <ref name="section-title"/>
1007
+ </optional>
1008
+ <zeroOrMore>
1009
+ <ref name="BasicBlock"/>
1010
+ </zeroOrMore>
1011
+ <zeroOrMore>
1012
+ <ref name="note"/>
1013
+ </zeroOrMore>
1014
+ <zeroOrMore>
1015
+ <choice>
1016
+ <ref name="term-clause"/>
1017
+ <ref name="terms"/>
1018
+ <ref name="definitions"/>
1019
+ </choice>
1020
+ </zeroOrMore>
1021
+ </element>
1022
+ </define>
1023
+ <define name="termdocsource">
1024
+ <element name="termdocsource">
1025
+ <ref name="CitationType"/>
1026
+ </element>
1027
+ </define>
514
1028
  </grammar>