metanorma-itu 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.hound.yml +3 -0
  3. data/.rubocop.yml +10 -0
  4. data/.travis.yml +17 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +25 -0
  8. data/README.adoc +72 -0
  9. data/Rakefile +6 -0
  10. data/appveyor.yml +29 -0
  11. data/lib/asciidoctor/itu.rb +7 -0
  12. data/lib/asciidoctor/itu/biblio.rng +949 -0
  13. data/lib/asciidoctor/itu/converter.rb +164 -0
  14. data/lib/asciidoctor/itu/front.rb +182 -0
  15. data/lib/asciidoctor/itu/isodoc.rng +1132 -0
  16. data/lib/asciidoctor/itu/isostandard.rng +801 -0
  17. data/lib/asciidoctor/itu/itu.rng +223 -0
  18. data/lib/asciidoctor/itu/reqt.rng +162 -0
  19. data/lib/asciidoctor/itu/validate.rb +55 -0
  20. data/lib/isodoc/itu.rb +11 -0
  21. data/lib/isodoc/itu/base_convert.rb +210 -0
  22. data/lib/isodoc/itu/html/Logo_ITU.jpg +0 -0
  23. data/lib/isodoc/itu/html/header.html +162 -0
  24. data/lib/isodoc/itu/html/html_itu_intro.html +42 -0
  25. data/lib/isodoc/itu/html/html_itu_titlepage.html +144 -0
  26. data/lib/isodoc/itu/html/htmlstyle.scss +1167 -0
  27. data/lib/isodoc/itu/html/itu-document-comb.png +0 -0
  28. data/lib/isodoc/itu/html/itu.scss +707 -0
  29. data/lib/isodoc/itu/html/logo.png +0 -0
  30. data/lib/isodoc/itu/html/scripts.html +82 -0
  31. data/lib/isodoc/itu/html/scripts.pdf.html +70 -0
  32. data/lib/isodoc/itu/html/word_itu_intro.html +246 -0
  33. data/lib/isodoc/itu/html/word_itu_titlepage.html +283 -0
  34. data/lib/isodoc/itu/html/wordstyle.scss +1237 -0
  35. data/lib/isodoc/itu/html_convert.rb +72 -0
  36. data/lib/isodoc/itu/i18n-en.yaml +2 -0
  37. data/lib/isodoc/itu/metadata.rb +100 -0
  38. data/lib/isodoc/itu/pdf_convert.rb +70 -0
  39. data/lib/isodoc/itu/word_convert.rb +115 -0
  40. data/lib/metanorma-itu.rb +8 -0
  41. data/lib/metanorma/itu.rb +11 -0
  42. data/lib/metanorma/itu/processor.rb +43 -0
  43. data/lib/metanorma/itu/version.rb +5 -0
  44. data/metanorma-itu.gemspec +44 -0
  45. metadata +327 -0
@@ -0,0 +1,801 @@
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">
3
+ <include href="isodoc.rng">
4
+ <start>
5
+ <ref name="iso-standard"/>
6
+ </start>
7
+ <define name="organization">
8
+ <element name="organization">
9
+ <ref name="orgname"/>
10
+ <optional>
11
+ <ref name="abbreviation"/>
12
+ </optional>
13
+ <optional>
14
+ <ref name="uri"/>
15
+ </optional>
16
+ <zeroOrMore>
17
+ <ref name="org-identifier"/>
18
+ </zeroOrMore>
19
+ <zeroOrMore>
20
+ <ref name="contact"/>
21
+ </zeroOrMore>
22
+ <optional>
23
+ <ref name="technical-committee"/>
24
+ </optional>
25
+ <optional>
26
+ <ref name="subcommittee"/>
27
+ </optional>
28
+ <optional>
29
+ <ref name="workgroup"/>
30
+ </optional>
31
+ <optional>
32
+ <ref name="secretariat"/>
33
+ </optional>
34
+ </element>
35
+ </define>
36
+ <define name="BibDataExtensionType">
37
+ <optional>
38
+ <ref name="doctype"/>
39
+ </optional>
40
+ <ref name="editorialgroup"/>
41
+ <zeroOrMore>
42
+ <ref name="ics"/>
43
+ </zeroOrMore>
44
+ <ref name="structuredidentifier"/>
45
+ </define>
46
+ <define name="bdate">
47
+ <element name="date">
48
+ <attribute name="type">
49
+ <choice>
50
+ <ref name="BibliographicDateType"/>
51
+ <text/>
52
+ </choice>
53
+ </attribute>
54
+ <choice>
55
+ <group>
56
+ <element name="from">
57
+ <ref name="ISO8601Date"/>
58
+ </element>
59
+ <optional>
60
+ <element name="to">
61
+ <ref name="ISO8601Date"/>
62
+ </element>
63
+ </optional>
64
+ </group>
65
+ <element name="on">
66
+ <choice>
67
+ <ref name="ISO8601Date"/>
68
+ <value>--</value>
69
+ </choice>
70
+ </element>
71
+ </choice>
72
+ </element>
73
+ </define>
74
+ <define name="biblionote">
75
+ <element name="note">
76
+ <optional>
77
+ <!-- Biblio date notes can be footnoted -->
78
+ <attribute name="type"/>
79
+ </optional>
80
+ <optional>
81
+ <attribute name="reference"/>
82
+ </optional>
83
+ <ref name="FormattedString"/>
84
+ </element>
85
+ </define>
86
+ <define name="sections">
87
+ <element name="sections">
88
+ <ref name="clause"/>
89
+ <choice>
90
+ <ref name="term-clause"/>
91
+ <ref name="terms"/>
92
+ </choice>
93
+ <optional>
94
+ <ref name="definitions"/>
95
+ </optional>
96
+ <oneOrMore>
97
+ <ref name="clause"/>
98
+ </oneOrMore>
99
+ </element>
100
+ </define>
101
+ <define name="Basic-Section">
102
+ <optional>
103
+ <attribute name="id">
104
+ <data type="ID"/>
105
+ </attribute>
106
+ </optional>
107
+ <optional>
108
+ <attribute name="obligation">
109
+ <choice>
110
+ <value>normative</value>
111
+ <value>informative</value>
112
+ </choice>
113
+ </attribute>
114
+ </optional>
115
+ <optional>
116
+ <ref name="section-title"/>
117
+ </optional>
118
+ <group>
119
+ <oneOrMore>
120
+ <ref name="BasicBlock"/>
121
+ </oneOrMore>
122
+ <zeroOrMore>
123
+ <ref name="note"/>
124
+ </zeroOrMore>
125
+ </group>
126
+ </define>
127
+ <define name="Content-Section">
128
+ <optional>
129
+ <attribute name="id">
130
+ <data type="ID"/>
131
+ </attribute>
132
+ </optional>
133
+ <optional>
134
+ <attribute name="obligation">
135
+ <choice>
136
+ <value>normative</value>
137
+ <value>informative</value>
138
+ </choice>
139
+ </attribute>
140
+ </optional>
141
+ <optional>
142
+ <ref name="section-title"/>
143
+ </optional>
144
+ <choice>
145
+ <group>
146
+ <oneOrMore>
147
+ <ref name="BasicBlock"/>
148
+ </oneOrMore>
149
+ <zeroOrMore>
150
+ <ref name="note"/>
151
+ </zeroOrMore>
152
+ </group>
153
+ <oneOrMore>
154
+ <ref name="content-subsection"/>
155
+ </oneOrMore>
156
+ </choice>
157
+ </define>
158
+ <define name="Clause-Section">
159
+ <optional>
160
+ <attribute name="id">
161
+ <data type="ID"/>
162
+ </attribute>
163
+ </optional>
164
+ <optional>
165
+ <attribute name="inline-header">
166
+ <data type="boolean"/>
167
+ </attribute>
168
+ </optional>
169
+ <optional>
170
+ <attribute name="obligation">
171
+ <choice>
172
+ <value>normative</value>
173
+ <value>informative</value>
174
+ </choice>
175
+ </attribute>
176
+ </optional>
177
+ <optional>
178
+ <ref name="section-title"/>
179
+ </optional>
180
+ <choice>
181
+ <group>
182
+ <oneOrMore>
183
+ <ref name="BasicBlock"/>
184
+ </oneOrMore>
185
+ <zeroOrMore>
186
+ <ref name="note"/>
187
+ </zeroOrMore>
188
+ </group>
189
+ <oneOrMore>
190
+ <ref name="clause-subsection"/>
191
+ </oneOrMore>
192
+ </choice>
193
+ </define>
194
+ <define name="references">
195
+ <element name="references">
196
+ <optional>
197
+ <attribute name="id">
198
+ <data type="ID"/>
199
+ </attribute>
200
+ </optional>
201
+ <optional>
202
+ <attribute name="obligation">
203
+ <choice>
204
+ <value>normative</value>
205
+ <value>informative</value>
206
+ </choice>
207
+ </attribute>
208
+ </optional>
209
+ <optional>
210
+ <ref name="section-title"/>
211
+ </optional>
212
+ <zeroOrMore>
213
+ <ref name="bibitem"/>
214
+ </zeroOrMore>
215
+ <zeroOrMore>
216
+ <ref name="references"/>
217
+ </zeroOrMore>
218
+ </element>
219
+ </define>
220
+ <define name="definitions">
221
+ <element name="definitions">
222
+ <optional>
223
+ <attribute name="id">
224
+ <data type="ID"/>
225
+ </attribute>
226
+ </optional>
227
+ <optional>
228
+ <attribute name="obligation">
229
+ <choice>
230
+ <value>normative</value>
231
+ <value>informative</value>
232
+ </choice>
233
+ </attribute>
234
+ </optional>
235
+ <ref name="dl"/>
236
+ </element>
237
+ </define>
238
+ <define name="terms">
239
+ <element name="terms">
240
+ <optional>
241
+ <attribute name="id">
242
+ <data type="ID"/>
243
+ </attribute>
244
+ </optional>
245
+ <optional>
246
+ <attribute name="obligation">
247
+ <choice>
248
+ <value>normative</value>
249
+ <value>informative</value>
250
+ </choice>
251
+ </attribute>
252
+ </optional>
253
+ <optional>
254
+ <ref name="section-title"/>
255
+ </optional>
256
+ <choice>
257
+ <oneOrMore>
258
+ <ref name="term"/>
259
+ </oneOrMore>
260
+ <group>
261
+ <zeroOrMore>
262
+ <ref name="terms"/>
263
+ </zeroOrMore>
264
+ <optional>
265
+ <ref name="definitions"/>
266
+ </optional>
267
+ </group>
268
+ </choice>
269
+ </element>
270
+ </define>
271
+ <define name="term">
272
+ <element name="term">
273
+ <optional>
274
+ <attribute name="id">
275
+ <data type="ID"/>
276
+ </attribute>
277
+ </optional>
278
+ <ref name="preferred"/>
279
+ <zeroOrMore>
280
+ <ref name="admitted"/>
281
+ </zeroOrMore>
282
+ <zeroOrMore>
283
+ <ref name="deprecates"/>
284
+ </zeroOrMore>
285
+ <optional>
286
+ <ref name="termdomain"/>
287
+ </optional>
288
+ <ref name="definition"/>
289
+ <zeroOrMore>
290
+ <ref name="termnote"/>
291
+ </zeroOrMore>
292
+ <zeroOrMore>
293
+ <ref name="termexample"/>
294
+ </zeroOrMore>
295
+ <zeroOrMore>
296
+ <ref name="termsource"/>
297
+ </zeroOrMore>
298
+ </element>
299
+ </define>
300
+ <define name="definition">
301
+ <element name="definition">
302
+ <oneOrMore>
303
+ <choice>
304
+ <ref name="paragraph"/>
305
+ <ref name="figure"/>
306
+ <ref name="formula"/>
307
+ </choice>
308
+ </oneOrMore>
309
+ </element>
310
+ </define>
311
+ <define name="annex">
312
+ <element name="annex">
313
+ <optional>
314
+ <attribute name="id">
315
+ <data type="ID"/>
316
+ </attribute>
317
+ </optional>
318
+ <optional>
319
+ <attribute name="inline-header">
320
+ <data type="boolean"/>
321
+ </attribute>
322
+ </optional>
323
+ <optional>
324
+ <attribute name="obligation">
325
+ <choice>
326
+ <value>normative</value>
327
+ <value>informative</value>
328
+ </choice>
329
+ </attribute>
330
+ </optional>
331
+ <optional>
332
+ <ref name="section-title"/>
333
+ </optional>
334
+ <zeroOrMore>
335
+ <!--
336
+ allow hanging paragraps in annexes: they introduce lists
337
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | figure | quote | sourcecode | review | example )*,
338
+ -->
339
+ <ref name="BasicBlock"/>
340
+ </zeroOrMore>
341
+ <zeroOrMore>
342
+ <ref name="note"/>
343
+ </zeroOrMore>
344
+ <zeroOrMore>
345
+ <ref name="clause-hanging-paragraph-with-footnote"/>
346
+ </zeroOrMore>
347
+ <zeroOrMore>
348
+ <ref name="annex-appendix"/>
349
+ </zeroOrMore>
350
+ </element>
351
+ </define>
352
+ <define name="figure">
353
+ <element name="figure">
354
+ <attribute name="id">
355
+ <data type="ID"/>
356
+ </attribute>
357
+ <optional>
358
+ <ref name="tname"/>
359
+ </optional>
360
+ <choice>
361
+ <ref name="image"/>
362
+ <oneOrMore>
363
+ <ref name="subfigure"/>
364
+ </oneOrMore>
365
+ </choice>
366
+ <zeroOrMore>
367
+ <ref name="fn"/>
368
+ </zeroOrMore>
369
+ <optional>
370
+ <ref name="dl"/>
371
+ </optional>
372
+ <zeroOrMore>
373
+ <ref name="note"/>
374
+ </zeroOrMore>
375
+ </element>
376
+ </define>
377
+ <define name="li">
378
+ <element name="li">
379
+ <group>
380
+ <optional>
381
+ <!-- ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )+ -->
382
+ <attribute name="id">
383
+ <data type="ID"/>
384
+ </attribute>
385
+ </optional>
386
+ <oneOrMore>
387
+ <ref name="BasicBlock"/>
388
+ </oneOrMore>
389
+ </group>
390
+ <!-- exclude figures? -->
391
+ </element>
392
+ </define>
393
+ <define name="dd">
394
+ <element name="dd">
395
+ <zeroOrMore>
396
+ <!--
397
+ ( paragraph-with-footnote | table | note | formula | admonition | ol | ul | dl | quote | sourcecode | review | example )*
398
+ exclude figures?
399
+ -->
400
+ <ref name="BasicBlock"/>
401
+ </zeroOrMore>
402
+ </element>
403
+ </define>
404
+ <define name="admonition">
405
+ <element name="admonition">
406
+ <attribute name="id">
407
+ <data type="ID"/>
408
+ </attribute>
409
+ <attribute name="type">
410
+ <choice>
411
+ <value>danger</value>
412
+ <value>caution</value>
413
+ <value>warning</value>
414
+ <value>important</value>
415
+ <value>safety precautions</value>
416
+ </choice>
417
+ </attribute>
418
+ <oneOrMore>
419
+ <ref name="paragraph-with-footnote"/>
420
+ </oneOrMore>
421
+ <zeroOrMore>
422
+ <ref name="note"/>
423
+ </zeroOrMore>
424
+ </element>
425
+ </define>
426
+ <define name="xref">
427
+ <element name="xref">
428
+ <attribute name="target">
429
+ <data type="IDREF"/>
430
+ </attribute>
431
+ <text/>
432
+ </element>
433
+ </define>
434
+ <define name="hyperlink">
435
+ <element name="link">
436
+ <attribute name="target">
437
+ <data type="anyURI"/>
438
+ </attribute>
439
+ <text/>
440
+ </element>
441
+ </define>
442
+ <define name="thead">
443
+ <element name="thead">
444
+ <oneOrMore>
445
+ <ref name="tr"/>
446
+ </oneOrMore>
447
+ </element>
448
+ </define>
449
+ <define name="td">
450
+ <element name="td">
451
+ <optional>
452
+ <attribute name="colspan"/>
453
+ </optional>
454
+ <optional>
455
+ <attribute name="rowspan"/>
456
+ </optional>
457
+ <optional>
458
+ <attribute name="align">
459
+ <choice>
460
+ <value>left</value>
461
+ <value>right</value>
462
+ <value>center</value>
463
+ </choice>
464
+ </attribute>
465
+ </optional>
466
+ <choice>
467
+ <zeroOrMore>
468
+ <choice>
469
+ <ref name="TextElement"/>
470
+ <ref name="fn"/>
471
+ </choice>
472
+ </zeroOrMore>
473
+ <oneOrMore>
474
+ <ref name="paragraph-with-footnote"/>
475
+ </oneOrMore>
476
+ </choice>
477
+ </element>
478
+ </define>
479
+ <define name="th">
480
+ <element name="th">
481
+ <optional>
482
+ <attribute name="colspan"/>
483
+ </optional>
484
+ <optional>
485
+ <attribute name="rowspan"/>
486
+ </optional>
487
+ <optional>
488
+ <attribute name="align">
489
+ <choice>
490
+ <value>left</value>
491
+ <value>right</value>
492
+ <value>center</value>
493
+ </choice>
494
+ </attribute>
495
+ </optional>
496
+ <choice>
497
+ <zeroOrMore>
498
+ <choice>
499
+ <ref name="TextElement"/>
500
+ <ref name="fn"/>
501
+ </choice>
502
+ </zeroOrMore>
503
+ <oneOrMore>
504
+ <ref name="paragraph-with-footnote"/>
505
+ </oneOrMore>
506
+ </choice>
507
+ </element>
508
+ </define>
509
+ <define name="table-note">
510
+ <element name="note">
511
+ <optional>
512
+ <attribute name="id">
513
+ <data type="ID"/>
514
+ </attribute>
515
+ </optional>
516
+ <ref name="paragraph"/>
517
+ </element>
518
+ </define>
519
+ <define name="preface">
520
+ <element name="preface">
521
+ <optional>
522
+ <ref name="preface_abstract"/>
523
+ </optional>
524
+ <ref name="foreword"/>
525
+ <optional>
526
+ <ref name="introduction"/>
527
+ </optional>
528
+ </element>
529
+ </define>
530
+ <define name="DocumentType">
531
+ <choice>
532
+ <value>international-standard</value>
533
+ <value>technical-specification</value>
534
+ <value>technical-report</value>
535
+ <value>publicly-available-specification</value>
536
+ <value>international-workshop-agreement</value>
537
+ <value>guide</value>
538
+ </choice>
539
+ </define>
540
+ </include>
541
+ <!-- end overrides -->
542
+ <!--
543
+ We display the Normative References between scope and terms; but to keep the
544
+ grammar simple, we keep the references together
545
+ -->
546
+ <define name="iso-standard">
547
+ <element name="iso-standard">
548
+ <ref name="bibdata"/>
549
+ <zeroOrMore>
550
+ <ref name="termdocsource"/>
551
+ </zeroOrMore>
552
+ <optional>
553
+ <ref name="boilerplate"/>
554
+ </optional>
555
+ <ref name="preface"/>
556
+ <oneOrMore>
557
+ <ref name="sections"/>
558
+ </oneOrMore>
559
+ <zeroOrMore>
560
+ <ref name="annex"/>
561
+ </zeroOrMore>
562
+ <ref name="bibliography"/>
563
+ </element>
564
+ </define>
565
+ <define name="bibliography">
566
+ <element name="bibliography">
567
+ <oneOrMore>
568
+ <choice>
569
+ <ref name="references"/>
570
+ <ref name="reference-clause"/>
571
+ </choice>
572
+ </oneOrMore>
573
+ </element>
574
+ </define>
575
+ <define name="editorialgroup">
576
+ <element name="editorialgroup">
577
+ <oneOrMore>
578
+ <ref name="technical-committee"/>
579
+ </oneOrMore>
580
+ <zeroOrMore>
581
+ <ref name="subcommittee"/>
582
+ </zeroOrMore>
583
+ <zeroOrMore>
584
+ <ref name="workgroup"/>
585
+ </zeroOrMore>
586
+ <optional>
587
+ <ref name="secretariat"/>
588
+ </optional>
589
+ </element>
590
+ </define>
591
+ <define name="preface_abstract">
592
+ <element name="abstract">
593
+ <ref name="Basic-Section"/>
594
+ </element>
595
+ </define>
596
+ <define name="foreword">
597
+ <element name="foreword">
598
+ <ref name="Basic-Section"/>
599
+ </element>
600
+ </define>
601
+ <define name="introduction">
602
+ <element name="introduction">
603
+ <ref name="Content-Section"/>
604
+ </element>
605
+ </define>
606
+ <define name="structuredidentifier">
607
+ <element name="structuredidentifier">
608
+ <optional>
609
+ <attribute name="type"/>
610
+ </optional>
611
+ <group>
612
+ <ref name="documentnumber"/>
613
+ <optional>
614
+ <ref name="tc-documentnumber"/>
615
+ </optional>
616
+ </group>
617
+ </element>
618
+ </define>
619
+ <define name="documentnumber">
620
+ <element name="project-number">
621
+ <optional>
622
+ <attribute name="part">
623
+ <data type="int"/>
624
+ </attribute>
625
+ </optional>
626
+ <optional>
627
+ <attribute name="subpart">
628
+ <data type="int"/>
629
+ </attribute>
630
+ </optional>
631
+ <text/>
632
+ </element>
633
+ </define>
634
+ <define name="tc-documentnumber">
635
+ <element name="tc-document-number">
636
+ <data type="int"/>
637
+ </element>
638
+ </define>
639
+ <define name="technical-committee">
640
+ <element name="technical-committee">
641
+ <ref name="IsoWorkgroup"/>
642
+ </element>
643
+ </define>
644
+ <define name="subcommittee">
645
+ <element name="subcommittee">
646
+ <ref name="IsoWorkgroup"/>
647
+ </element>
648
+ </define>
649
+ <define name="workgroup">
650
+ <element name="workgroup">
651
+ <ref name="IsoWorkgroup"/>
652
+ </element>
653
+ </define>
654
+ <define name="IsoWorkgroup">
655
+ <optional>
656
+ <attribute name="number">
657
+ <data type="int"/>
658
+ </attribute>
659
+ </optional>
660
+ <optional>
661
+ <attribute name="type"/>
662
+ </optional>
663
+ <text/>
664
+ </define>
665
+ <define name="secretariat">
666
+ <element name="secretariat">
667
+ <text/>
668
+ </element>
669
+ </define>
670
+ <define name="clause-hanging-paragraph-with-footnote">
671
+ <element name="clause">
672
+ <optional>
673
+ <attribute name="id">
674
+ <data type="ID"/>
675
+ </attribute>
676
+ </optional>
677
+ <optional>
678
+ <attribute name="inline-header">
679
+ <data type="boolean"/>
680
+ </attribute>
681
+ </optional>
682
+ <optional>
683
+ <attribute name="obligation">
684
+ <choice>
685
+ <value>normative</value>
686
+ <value>informative</value>
687
+ </choice>
688
+ </attribute>
689
+ </optional>
690
+ <optional>
691
+ <ref name="section-title"/>
692
+ </optional>
693
+ <zeroOrMore>
694
+ <!-- allow hanging paragraphs in annexes: they introduce lists -->
695
+ <ref name="BasicBlock"/>
696
+ </zeroOrMore>
697
+ <zeroOrMore>
698
+ <ref name="note"/>
699
+ </zeroOrMore>
700
+ <zeroOrMore>
701
+ <ref name="clause-hanging-paragraph-with-footnote"/>
702
+ </zeroOrMore>
703
+ </element>
704
+ </define>
705
+ <define name="subfigure">
706
+ <element name="figure">
707
+ <attribute name="id">
708
+ <data type="ID"/>
709
+ </attribute>
710
+ <optional>
711
+ <ref name="tname"/>
712
+ </optional>
713
+ <ref name="image"/>
714
+ </element>
715
+ </define>
716
+ <define name="termdocsource">
717
+ <element name="termdocsource">
718
+ <ref name="CitationType"/>
719
+ </element>
720
+ </define>
721
+ <define name="ics">
722
+ <element name="ics">
723
+ <element name="code">
724
+ <text/>
725
+ </element>
726
+ <element name="text">
727
+ <text/>
728
+ </element>
729
+ </element>
730
+ </define>
731
+ <define name="term-clause">
732
+ <element name="clause">
733
+ <optional>
734
+ <attribute name="id">
735
+ <data type="ID"/>
736
+ </attribute>
737
+ </optional>
738
+ <optional>
739
+ <attribute name="inline-header">
740
+ <data type="boolean"/>
741
+ </attribute>
742
+ </optional>
743
+ <optional>
744
+ <attribute name="obligation">
745
+ <choice>
746
+ <value>normative</value>
747
+ <value>informative</value>
748
+ </choice>
749
+ </attribute>
750
+ </optional>
751
+ <optional>
752
+ <ref name="section-title"/>
753
+ </optional>
754
+ <zeroOrMore>
755
+ <choice>
756
+ <ref name="term-clause"/>
757
+ <ref name="terms"/>
758
+ <ref name="definitions"/>
759
+ </choice>
760
+ </zeroOrMore>
761
+ </element>
762
+ </define>
763
+ <define name="reference-clause">
764
+ <element name="clause">
765
+ <optional>
766
+ <attribute name="id">
767
+ <data type="ID"/>
768
+ </attribute>
769
+ </optional>
770
+ <optional>
771
+ <attribute name="inline-header">
772
+ <data type="boolean"/>
773
+ </attribute>
774
+ </optional>
775
+ <optional>
776
+ <attribute name="obligation">
777
+ <choice>
778
+ <value>normative</value>
779
+ <value>informative</value>
780
+ </choice>
781
+ </attribute>
782
+ </optional>
783
+ <optional>
784
+ <ref name="section-title"/>
785
+ </optional>
786
+ <choice>
787
+ <oneOrMore>
788
+ <ref name="reference-clause"/>
789
+ </oneOrMore>
790
+ <zeroOrMore>
791
+ <ref name="references"/>
792
+ </zeroOrMore>
793
+ </choice>
794
+ </element>
795
+ </define>
796
+ <define name="annex-appendix">
797
+ <element name="appendix">
798
+ <ref name="Clause-Section"/>
799
+ </element>
800
+ </define>
801
+ </grammar>