metanorma-iso 2.1.0 → 2.1.3

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.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/html2doc/lists.rb +145 -10
  3. data/lib/isodoc/iso/base_convert.rb +11 -1
  4. data/lib/isodoc/iso/html/html_iso_titlepage.html +2 -0
  5. data/lib/isodoc/iso/html/isodoc-dis.css +216 -278
  6. data/lib/isodoc/iso/html/isodoc-dis.scss +294 -288
  7. data/lib/isodoc/iso/html/isodoc.css +38 -13
  8. data/lib/isodoc/iso/html/isodoc.scss +38 -12
  9. data/lib/isodoc/iso/html/style-human.css +14 -1
  10. data/lib/isodoc/iso/html/style-human.scss +10 -1
  11. data/lib/isodoc/iso/html/style-iso.css +35 -23
  12. data/lib/isodoc/iso/html/style-iso.scss +31 -23
  13. data/lib/isodoc/iso/html/word_iso_intro-dis.html +1 -6
  14. data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +24 -13
  15. data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +58 -0
  16. data/lib/isodoc/iso/html/word_iso_titlepage.html +10 -6
  17. data/lib/isodoc/iso/html/wordstyle-dis.css +12 -62
  18. data/lib/isodoc/iso/html/wordstyle-dis.scss +7 -56
  19. data/lib/isodoc/iso/html_convert.rb +7 -2
  20. data/lib/isodoc/iso/i18n-en.yaml +32 -4
  21. data/lib/isodoc/iso/i18n-fr.yaml +29 -3
  22. data/lib/isodoc/iso/i18n-ru.yaml +32 -4
  23. data/lib/isodoc/iso/i18n-zh-Hans.yaml +32 -3
  24. data/lib/isodoc/iso/i18n.rb +1 -1
  25. data/lib/isodoc/iso/iso.amendment.xsl +1570 -246
  26. data/lib/isodoc/iso/iso.international-standard.xsl +1570 -246
  27. data/lib/isodoc/iso/metadata.rb +67 -67
  28. data/lib/isodoc/iso/presentation_bibdata.rb +74 -0
  29. data/lib/isodoc/iso/presentation_xml_convert.rb +16 -5
  30. data/lib/isodoc/iso/presentation_xref.rb +10 -4
  31. data/lib/isodoc/iso/sections.rb +3 -3
  32. data/lib/isodoc/iso/word_cleanup.rb +3 -0
  33. data/lib/isodoc/iso/word_convert.rb +8 -5
  34. data/lib/isodoc/iso/word_dis_cleanup.rb +235 -0
  35. data/lib/isodoc/iso/word_dis_convert.rb +48 -100
  36. data/lib/isodoc/iso/xref.rb +34 -6
  37. data/lib/metanorma/iso/base.rb +20 -1
  38. data/lib/metanorma/iso/biblio.rng +134 -39
  39. data/lib/metanorma/iso/boilerplate-fr.xml +3 -0
  40. data/lib/metanorma/iso/boilerplate-ru.xml +3 -0
  41. data/lib/metanorma/iso/boilerplate.xml +3 -0
  42. data/lib/metanorma/iso/cleanup.rb +49 -11
  43. data/lib/metanorma/iso/front.rb +38 -6
  44. data/lib/metanorma/iso/front_id.rb +2 -0
  45. data/lib/metanorma/iso/isodoc.rng +16 -0
  46. data/lib/metanorma/iso/isostandard.rng +30 -12
  47. data/lib/metanorma/iso/macros.rb +29 -0
  48. data/lib/metanorma/iso/validate_section.rb +0 -12
  49. data/lib/metanorma/iso/version.rb +1 -1
  50. data/spec/isodoc/amd_spec.rb +20 -46
  51. data/spec/isodoc/blocks_spec.rb +499 -2
  52. data/spec/isodoc/i18n_spec.rb +145 -80
  53. data/spec/isodoc/iso_spec.rb +50 -169
  54. data/spec/isodoc/metadata_spec.rb +240 -99
  55. data/spec/isodoc/postproc_spec.rb +43 -7
  56. data/spec/isodoc/section_spec.rb +9 -9
  57. data/spec/isodoc/word_dis_spec.rb +1332 -146
  58. data/spec/isodoc/xref_spec.rb +87 -13
  59. data/spec/metanorma/amd_spec.rb +39 -23
  60. data/spec/metanorma/base_spec.rb +174 -44
  61. data/spec/metanorma/blocks_spec.rb +54 -0
  62. data/spec/metanorma/lists_spec.rb +2 -2
  63. data/spec/metanorma/section_spec.rb +2 -2
  64. data/spec/metanorma/validate_spec.rb +8 -19
  65. data/spec/spec_helper.rb +17 -7
  66. data/spec/vcr_cassettes/withdrawn_iso.yml +30 -30
  67. metadata +7 -8
  68. data/docs/asciiiso-syntax.adoc +0 -307
  69. data/docs/guidance.adoc +0 -487
  70. data/docs/navigation.adoc +0 -23
  71. data/docs/quickstart.adoc +0 -179
  72. data/lib/isodoc/iso/presentation_inline.rb +0 -90
@@ -0,0 +1,58 @@
1
+ <p class="zzCover" align="right" style='text-align:right'><span lang="EN-GB"><span style='mso-no-proof:yes'><b>{{ docnumber_reference }}</b></span></span></p>
2
+
3
+ {% if revdate %}
4
+ {% assign doc_date = revdate %}
5
+ {% elsif publisheddate %}
6
+ {% assign doc_date = publisheddate %}
7
+ {% elsif issueddate %}
8
+ {% assign doc_date = issueddate %}
9
+ {% elsif createddate %}
10
+ {% assign doc_date = createddate %}
11
+ {% endif %}
12
+
13
+ {% if doc_date %}
14
+ <p class="zzCover" align="right" style='text-align:right'><span lang="EN-GB">Date: <span style='mso-no-proof:yes'><b>{{ doc_date }}</b></span></span></p>
15
+ {% endif %}
16
+
17
+ <p class="zzCover" style='font-weight:normal;'><span lang="EN-GB">{{agency}}/{{ editorialgroup | join: "/" }}</span></p>
18
+
19
+ <!--
20
+ {% if doctitleamdlabel %}
21
+ <p class="zzCover"><b>{{ doctitleamdlabel }}</b></p>
22
+ {% endif %}
23
+
24
+ {% if doctitlecorrlabel %}
25
+ <p class="zzCover"><b>{{ doctitlecorrlabel }}</b></p>
26
+ {% endif %}
27
+ -->
28
+
29
+ {% if secretariat %}
30
+ <p class="zzCover" style='font-weight:normal;'><span lang="EN-GB">{{ labels["secretariat"] }}: <span>{{ secretariat }}</span></span></p>
31
+ {% endif %}
32
+
33
+ <p class="zzCover">
34
+ <span lang="EN-GB"><b>{{ doctitleintro }}{% if doctitleintro and doctitlemain %} &#x2014; {% endif %}{{ doctitlemain }}{% if doctitlemain and doctitlepart %} &#x2014; {% endif %}{% if doctitlepart %}{% if doctitlepartlabel %}{{ doctitlepartlabel }}: {% endif %}{{ doctitlepart }}</span>{% endif %}</b>
35
+ </p>
36
+ {% if doctitleamdlabel %}
37
+ <p class="zzCover"><b>{{ doctitleamdlabel }}{% if doctitleamd %}: {{ doctitleamd }}{% endif %}</b></p>
38
+ {% endif %}
39
+ {% if doctitlecorrlabel %}
40
+ <p class="zzCover"><b>{{ doctitlecorrlabel }}</b></p>
41
+ {% endif %}
42
+
43
+ <p class="zzCover" style='font-weight:normal;'><i>{{ docsubtitleintro }}{% if docsubtitleintro and docsubtitlemain %} &#x2014; {% endif %}{{ docsubtitlemain }}{% if docsubtitlemain and docsubtitlepart %} &#x2014; {% endif %}{% if docsubtitlepart %}{% if docsubtitlepartlabel %}{{ docsubtitlepartlabel }}: {% endif %}{{ docsubtitlepart }}{% endif %}</i>
44
+ </p>
45
+ {% if docsubtitleamdlabel %}
46
+ <p class="zzCover" style='font-weight:normal;'><i>{{ docsubtitleamdlabel }}{% if docsubtitleamd %}: {{ docsubtitleamd }}{% endif %}</i></p>
47
+ {% endif %}
48
+ {% if docsubtitlecorrlabel %}
49
+ <p class="zzCover" style='font-weight:normal;'><i>{{ docsubtitlecorrlabel }}</i></p>
50
+ {% endif %}
51
+
52
+ <div class="coverpage-warning" id="coverpage-note-destination"/>
53
+
54
+ </div>
55
+
56
+ <!--</div>-->
57
+
58
+
@@ -38,7 +38,7 @@ style='mso-no-proof:yes'>{{ agency }}&#xa0;{{ editorialgroup | join: "/" }}</spa
38
38
  {% endif %}
39
39
 
40
40
  <p class="MsoNormal" align="left" style='text-align:left;line-height:18.0pt;margin-top:100.0pt;margin-bottom:0.0pt;font-size:16.0pt'>
41
- <span class="title"><b>{{ doctitleintro }}{% if doctitleintro and doctitlemain %} &mdash; {% endif %}</b></span><b><span class="subtitle">{{ doctitlemain }}{% if doctitlemain and doctitlepart %} &mdash;{% endif %}</b></span>
41
+ <span class="title"><b>{{ doctitleintro }}{% if doctitleintro and doctitlemain %} &#x2014; {% endif %}</b></span><b><span class="subtitle">{{ doctitlemain }}{% if doctitlemain and doctitlepart %} &#x2014;{% endif %}</b></span>
42
42
  {% if doctitlepart %}
43
43
  {% if doctitlepartlabel %}<span class="partlabel">{{ doctitlepartlabel }}: </span><br/>{% endif %}
44
44
  <span class="part"><b>{{ doctitlepart }}</b></span>
@@ -55,7 +55,7 @@ style='mso-no-proof:yes'>{{ agency }}&#xa0;{{ editorialgroup | join: "/" }}</spa
55
55
  {% else %}
56
56
  <br/>
57
57
  <p class="MsoNormal" align="left" style='text-align:left;line-height:18.0pt;margin-bottom:0.0pt;font-size:16.0pt'>
58
- <span class="title">{{ docsubtitleintro }}{% if docsubtitleintro and docsubtitlemain %} &mdash; {% endif %}</span><span class="subtitle">{{ docsubtitlemain }}{% if docsubtitlemain and docsubtitlepart %} &mdash;{% endif %}</span>
58
+ <span class="title">{{ docsubtitleintro }}{% if docsubtitleintro and docsubtitlemain %} &#x2014; {% endif %}</span><span class="subtitle">{{ docsubtitlemain }}{% if docsubtitlemain and docsubtitlepart %} &#x2014;{% endif %}</span>
59
59
  {% if docsubtitlepart %}
60
60
  {% if docsubtitlepartlabel %}<span class="partlabel">{{ docsubtitlepartlabel }}: </span><br/>{% endif %}
61
61
  <span class="part">{{ docsubtitlepart }}</span>
@@ -71,19 +71,23 @@ style='mso-no-proof:yes'>{{ agency }}&#xa0;{{ editorialgroup | join: "/" }}</spa
71
71
 
72
72
 
73
73
 
74
- <p class="MsoNormal" style='margin-top:100.0pt'><span lang="EN-GB"><o:p>&nbsp;</o:p></span></p>
75
-
74
+ <p class="MsoNormal" style='margin-top:100.0pt'><span lang="EN-GB"><o:p>&#xa0;</o:p></span></p>
75
+ {% if unpublished %}
76
76
  <div style='mso-element:para-border-div;border:solid windowtext 1.0pt;
77
77
  mso-border-alt:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt;
78
78
  margin-left:4.25pt;margin-right:4.25pt'>
79
79
 
80
80
  <p class="MsoNormal" align="center" style='text-align:center;border:none;
81
81
  mso-border-alt:solid windowtext .5pt;padding:0cm;mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt'><span
82
- lang="EN-GB" style='font-size:40.0pt'>{% if unpublished %}{{ stageabbr }} stage{% endif %}<o:p></o:p></span></p>
82
+ lang="EN-GB" style='font-size:40.0pt'>{{ stageabbr }} stage<o:p></o:p></span></p>
83
83
 
84
84
  </div>
85
+ {% else %}
86
+ <p class="MsoNormal" align="center" style='text-align:center;border:none;'><span
87
+ lang="EN-GB" style='font-size:40.0pt'><o:p></o:p></span></p>
88
+ {% endif %}
85
89
 
86
- <p class="MsoNormal" style='margin-bottom:6.0pt'><span lang="EN-GB"><o:p>&nbsp;</o:p></span></p>
90
+ <p class="MsoNormal" style='margin-bottom:6.0pt'><span lang="EN-GB"><o:p>&#xa0;</o:p></span></p>
87
91
 
88
92
  {% if unpublished %}
89
93
  <!--
@@ -296,6 +296,7 @@ h1, .h1 {
296
296
  mso-style-name: "Heading 1";
297
297
  mso-style-link: "Heading 1 Char";
298
298
  mso-style-next: Normal;
299
+ mso-outline-level: 1;
299
300
  margin-top: 13.5pt;
300
301
  margin-right: 0cm;
301
302
  margin-bottom: 12.0pt;
@@ -318,7 +319,6 @@ h1, .h1 {
318
319
  mso-bidi-font-weight: normal; }
319
320
 
320
321
  h1 {
321
- mso-outline-level: 1;
322
322
  mso-list: l1 level1 lfo6; }
323
323
 
324
324
  h1.ForewordTitle {
@@ -326,54 +326,6 @@ h1.ForewordTitle {
326
326
  font-style: normal;
327
327
  font-weight: bold; }
328
328
 
329
- p.ForewordTitle, li.ForewordTitle, div.ForewordTitle {
330
- mso-style-name: "Foreword Title";
331
- mso-style-unhide: no;
332
- mso-style-parent: Base_Heading;
333
- margin-top: 15.5pt;
334
- margin-right: 0cm;
335
- margin-bottom: 15.5pt;
336
- margin-left: 0cm;
337
- line-height: 15.5pt;
338
- page-break-before: always;
339
- mso-pagination: widow-orphan;
340
- page-break-after: avoid;
341
- mso-outline-level: 1;
342
- mso-hyphenate: none;
343
- font-size: 14.0pt;
344
- mso-bidi-font-size: 11.0pt;
345
- font-family: {{headerfont}};
346
- mso-fareast-font-family: Calibri;
347
- mso-bidi-font-family: "Times New Roman";
348
- mso-ansi-language: EN-GB;
349
- mso-fareast-language: EN-US;
350
- font-weight: bold;
351
- mso-bidi-font-weight: normal; }
352
-
353
- p.IntroTitle, li.IntroTitle, div.IntroTitle {
354
- mso-style-name: "Intro Title";
355
- mso-style-unhide: no;
356
- mso-style-parent: "Foreword Title";
357
- margin-top: 15.5pt;
358
- margin-right: 0cm;
359
- margin-bottom: 15.5pt;
360
- margin-left: 0cm;
361
- line-height: 15.5pt;
362
- page-break-before: always;
363
- mso-pagination: widow-orphan;
364
- page-break-after: avoid;
365
- mso-outline-level: 1;
366
- mso-hyphenate: none;
367
- font-size: 14.0pt;
368
- mso-bidi-font-size: 11.0pt;
369
- font-family: {{headerfont}};
370
- mso-fareast-font-family: Calibri;
371
- mso-bidi-font-family: "Times New Roman";
372
- mso-ansi-language: EN-GB;
373
- mso-fareast-language: EN-US;
374
- font-weight: bold;
375
- mso-bidi-font-weight: normal; }
376
-
377
329
  h1.Annex {
378
330
  mso-style-priority: 1;
379
331
  mso-style-unhide: no;
@@ -390,7 +342,6 @@ h1.Annex {
390
342
  mso-pagination: widow-orphan;
391
343
  page-break-after: avoid;
392
344
  font-weight: normal;
393
- mso-outline-level: 1;
394
345
  mso-list: l1 level1 lfo6;
395
346
  mso-hyphenate: none;
396
347
  tab-stops: 20.0pt list 21.6pt left 28.0pt;
@@ -439,6 +390,7 @@ h2, .h2 {
439
390
  mso-style-parent: "Heading 1";
440
391
  mso-style-link: "Heading 2 Char";
441
392
  mso-style-next: Normal;
393
+ mso-outline-level: 2;
442
394
  margin-top: 3.0pt;
443
395
  margin-right: 0cm;
444
396
  margin-bottom: 12.0pt;
@@ -460,8 +412,7 @@ h2, .h2 {
460
412
  mso-bidi-font-weight: normal; }
461
413
 
462
414
  h2 {
463
- mso-list: l1 level2 lfo6;
464
- mso-outline-level: 2; }
415
+ mso-list: l1 level2 lfo6; }
465
416
 
466
417
  .h3Annex {
467
418
  mso-style-priority: 3;
@@ -520,8 +471,7 @@ h3, .h3 {
520
471
  mso-bidi-font-weight: normal; }
521
472
 
522
473
  h3 {
523
- mso-list: l1 level3 lfo6;
524
- mso-outline-level: 3; }
474
+ mso-list: l1 level3 lfo6; }
525
475
 
526
476
  .h4Annex {
527
477
  mso-style-priority: 4;
@@ -558,6 +508,7 @@ h4, .h4 {
558
508
  mso-style-parent: "Heading 3";
559
509
  mso-style-link: "Heading 4 Char";
560
510
  mso-style-next: Normal;
511
+ mso-outline-level: 4;
561
512
  margin-top: 3.0pt;
562
513
  margin-right: 0cm;
563
514
  margin-bottom: 12.0pt;
@@ -578,8 +529,7 @@ h4, .h4 {
578
529
  mso-bidi-font-weight: normal; }
579
530
 
580
531
  h4 {
581
- mso-list: l1 level4 lfo6;
582
- mso-outline-level: 4; }
532
+ mso-list: l1 level4 lfo6; }
583
533
 
584
534
  .h5Annex {
585
535
  mso-style-priority: 5;
@@ -616,6 +566,7 @@ h5, .h5 {
616
566
  mso-style-parent: "Heading 4";
617
567
  mso-style-link: "Heading 5 Char";
618
568
  mso-style-next: Normal;
569
+ mso-outline-level: 5;
619
570
  margin-top: 3.0pt;
620
571
  margin-right: 0cm;
621
572
  margin-bottom: 6.0pt;
@@ -636,8 +587,7 @@ h5, .h5 {
636
587
  mso-bidi-font-weight: normal; }
637
588
 
638
589
  h5 {
639
- mso-list: l1 level5 lfo6;
640
- mso-outline-level: 5; }
590
+ mso-list: l1 level5 lfo6; }
641
591
 
642
592
  h6, .h6 {
643
593
  mso-style-priority: 6;
@@ -647,6 +597,7 @@ h6, .h6 {
647
597
  mso-style-parent: "Heading 5";
648
598
  mso-style-link: "Heading 6 Char";
649
599
  mso-style-next: Normal;
600
+ mso-outline-level: 6;
650
601
  margin-top: 3.0pt;
651
602
  margin-right: 0cm;
652
603
  margin-bottom: 12.0pt;
@@ -667,8 +618,7 @@ h6, .h6 {
667
618
  mso-bidi-font-weight: normal; }
668
619
 
669
620
  h6 {
670
- mso-list: l1 level6 lfo6;
671
- mso-outline-level: 6; }
621
+ mso-list: l1 level6 lfo6; }
672
622
 
673
623
  p.a2, li.a2, div.a2 {
674
624
  mso-style-name: a2;
@@ -884,7 +834,7 @@ p.MsoHeader, li.MsoHeader, div.MsoHeader {
884
834
  font-weight: bold;
885
835
  mso-bidi-font-weight: normal; }
886
836
 
887
- p.MsoHeaderLandscape, li.MsoHeaderLandscape, div.MsoHeaderLandscape, p.msoheaderlandscape, li.msoheaderlandscape, div.msoheaderlandscape {
837
+ p.MsoHeaderLandscape, li.MsoHeaderLandscape, div.MsoHeaderLandscape {
888
838
  mso-style-name: msoheaderlandscape;
889
839
  mso-style-noshow: yes;
890
840
  mso-style-priority: 99;
@@ -927,7 +877,7 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter {
927
877
  mso-bidi-font-family: {{headerfont}};
928
878
  mso-ansi-language: EN-GB; }
929
879
 
930
- p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape, p.msofooterlandscape, li.msofooterlandscape, div.msofooterlandscape {
880
+ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape {
931
881
  mso-style-name: msofooterlandscape;
932
882
  mso-style-noshow: yes;
933
883
  mso-style-priority: 99;
@@ -276,6 +276,7 @@ h1, .h1
276
276
  mso-style-name:"Heading 1";
277
277
  mso-style-link:"Heading 1 Char";
278
278
  mso-style-next:Normal;
279
+ mso-outline-level:1;
279
280
  margin-top:13.5pt;
280
281
  margin-right:0cm;
281
282
  margin-bottom:12.0pt;
@@ -297,7 +298,6 @@ h1, .h1
297
298
  mso-fareast-language:JA;
298
299
  mso-bidi-font-weight:normal;}
299
300
  h1 {
300
- mso-outline-level:1;
301
301
  mso-list:l1 level1 lfo6;
302
302
  }
303
303
  h1.ForewordTitle {
@@ -305,53 +305,6 @@ h1.ForewordTitle {
305
305
  font-style: normal ;
306
306
  font-weight: bold;
307
307
  }
308
- p.ForewordTitle, li.ForewordTitle, div.ForewordTitle
309
- {mso-style-name:"Foreword Title";
310
- mso-style-unhide:no;
311
- mso-style-parent:Base_Heading;
312
- margin-top:15.5pt;
313
- margin-right:0cm;
314
- margin-bottom:15.5pt;
315
- margin-left:0cm;
316
- line-height:15.5pt;
317
- page-break-before:always;
318
- mso-pagination:widow-orphan;
319
- page-break-after:avoid;
320
- mso-outline-level:1;
321
- mso-hyphenate:none;
322
- font-size:14.0pt;
323
- mso-bidi-font-size:11.0pt;
324
- font-family:$headerfont;
325
- mso-fareast-font-family:Calibri;
326
- mso-bidi-font-family:"Times New Roman";
327
- mso-ansi-language:EN-GB;
328
- mso-fareast-language:EN-US;
329
- font-weight:bold;
330
- mso-bidi-font-weight:normal;}
331
- p.IntroTitle, li.IntroTitle, div.IntroTitle
332
- {mso-style-name:"Intro Title";
333
- mso-style-unhide:no;
334
- mso-style-parent:"Foreword Title";
335
- margin-top:15.5pt;
336
- margin-right:0cm;
337
- margin-bottom:15.5pt;
338
- margin-left:0cm;
339
- line-height:15.5pt;
340
- page-break-before:always;
341
- mso-pagination:widow-orphan;
342
- page-break-after:avoid;
343
- mso-outline-level:1;
344
- mso-hyphenate:none;
345
- font-size:14.0pt;
346
- mso-bidi-font-size:11.0pt;
347
- font-family:$headerfont;
348
- mso-fareast-font-family:Calibri;
349
- mso-bidi-font-family:"Times New Roman";
350
- mso-ansi-language:EN-GB;
351
- mso-fareast-language:EN-US;
352
- font-weight:bold;
353
- mso-bidi-font-weight:normal;}
354
-
355
308
  h1.Annex
356
309
  {mso-style-priority:1;
357
310
  mso-style-unhide:no;
@@ -368,7 +321,6 @@ h1.Annex
368
321
  mso-pagination:widow-orphan;
369
322
  page-break-after:avoid;
370
323
  font-weight:normal;
371
- mso-outline-level:1;
372
324
  mso-list:l1 level1 lfo6;
373
325
  mso-hyphenate:none;
374
326
  tab-stops:20.0pt list 21.6pt left 28.0pt;
@@ -415,6 +367,7 @@ h2, .h2
415
367
  mso-style-parent:"Heading 1";
416
368
  mso-style-link:"Heading 2 Char";
417
369
  mso-style-next:Normal;
370
+ mso-outline-level:2;
418
371
  margin-top:3.0pt;
419
372
  margin-right:0cm;
420
373
  margin-bottom:12.0pt;
@@ -436,7 +389,6 @@ h2, .h2
436
389
  mso-bidi-font-weight:normal;}
437
390
  h2
438
391
  { mso-list:l1 level2 lfo6;
439
- mso-outline-level:2;
440
392
  }
441
393
  .h3Annex
442
394
  {mso-style-priority:3;
@@ -493,7 +445,6 @@ h3, .h3
493
445
  mso-fareast-language:JA;
494
446
  mso-bidi-font-weight:normal;}
495
447
  h3 {mso-list:l1 level3 lfo6;
496
- mso-outline-level:3;
497
448
  }
498
449
  .h4Annex
499
450
  {mso-style-priority:4;
@@ -529,6 +480,7 @@ h4, .h4
529
480
  mso-style-parent:"Heading 3";
530
481
  mso-style-link:"Heading 4 Char";
531
482
  mso-style-next:Normal;
483
+ mso-outline-level:4;
532
484
  margin-top:3.0pt;
533
485
  margin-right:0cm;
534
486
  margin-bottom:12.0pt;
@@ -548,7 +500,6 @@ h4, .h4
548
500
  mso-fareast-language:JA;
549
501
  mso-bidi-font-weight:normal;}
550
502
  h4 {mso-list:l1 level4 lfo6;
551
- mso-outline-level:4;
552
503
  }
553
504
  .h5Annex
554
505
  {mso-style-priority:5;
@@ -584,6 +535,7 @@ h5, .h5
584
535
  mso-style-parent:"Heading 4";
585
536
  mso-style-link:"Heading 5 Char";
586
537
  mso-style-next:Normal;
538
+ mso-outline-level:5;
587
539
  margin-top:3.0pt;
588
540
  margin-right:0cm;
589
541
  margin-bottom:6.0pt;
@@ -603,7 +555,6 @@ h5, .h5
603
555
  mso-fareast-language:JA;
604
556
  mso-bidi-font-weight:normal;}
605
557
  h5 {mso-list:l1 level5 lfo6;
606
- mso-outline-level:5;
607
558
  }
608
559
  h6, .h6
609
560
  {mso-style-priority:6;
@@ -613,6 +564,7 @@ h6, .h6
613
564
  mso-style-parent:"Heading 5";
614
565
  mso-style-link:"Heading 6 Char";
615
566
  mso-style-next:Normal;
567
+ mso-outline-level:6;
616
568
  margin-top:3.0pt;
617
569
  margin-right:0cm;
618
570
  margin-bottom:12.0pt;
@@ -632,7 +584,6 @@ h6, .h6
632
584
  mso-fareast-language:JA;
633
585
  mso-bidi-font-weight:normal;}
634
586
  h6 {mso-list:l1 level6 lfo6;
635
- mso-outline-level:6;
636
587
  }
637
588
  p.a2, li.a2, div.a2
638
589
  {mso-style-name:a2;
@@ -839,7 +790,7 @@ p.MsoHeader, li.MsoHeader, div.MsoHeader
839
790
  mso-ansi-language:EN-GB;
840
791
  font-weight:bold;
841
792
  mso-bidi-font-weight:normal;}
842
- p.MsoHeaderLandscape, li.MsoHeaderLandscape, div.MsoHeaderLandscape, p.msoheaderlandscape, li.msoheaderlandscape, div.msoheaderlandscape
793
+ p.MsoHeaderLandscape, li.MsoHeaderLandscape, div.MsoHeaderLandscape
843
794
  {mso-style-name:msoheaderlandscape;
844
795
  mso-style-noshow:yes;
845
796
  mso-style-priority:99;
@@ -880,7 +831,7 @@ p.MsoFooter, li.MsoFooter, div.MsoFooter
880
831
  mso-fareast-font-family:"SimHei",serif;
881
832
  mso-bidi-font-family:$headerfont;
882
833
  mso-ansi-language:EN-GB;}
883
- p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape, p.msofooterlandscape, li.msofooterlandscape, div.msofooterlandscape
834
+ p.MsoFooterLandscape, li.MsoFooterLandscape, div.MsoFooterLandscape
884
835
  {mso-style-name:msofooterlandscape;
885
836
  mso-style-noshow:yes;
886
837
  mso-style-priority:99;
@@ -63,8 +63,8 @@ module IsoDoc
63
63
  if level == "h1" &&
64
64
  header.parent.at(".//h2#{toc_exclude_class}")
65
65
  <<~HDR
66
- <li class="#{level}"><div class="collapse-group"><a href="##{header['id']}">#{header_strip(content)}</a></li>
67
- <div class="collapse-button"></div></div>
66
+ <li class="#{level}"><div class="collapse-group"><a href="##{header['id']}">#{header_strip(content)}</a>
67
+ <div class="collapse-button"></div></div></li>
68
68
  HDR
69
69
  else
70
70
  %(<li class="#{level}"><a href="##{header['id']}">\
@@ -112,6 +112,11 @@ module IsoDoc
112
112
  end
113
113
  end
114
114
 
115
+ def ol_attrs(node)
116
+ ret = super
117
+ ret.merge(class: OL_STYLE.invert[ret[:type]])
118
+ end
119
+
115
120
  include BaseConvert
116
121
  include Init
117
122
  end
@@ -40,9 +40,37 @@ stage_dict:
40
40
  "10": New work item proposal
41
41
  "20": Working draft
42
42
  "30": Committee draft
43
- "40": Draft
44
- "50": Final draft
45
- "60": International standard
43
+ "40":
44
+ international-standard: Draft International Standard
45
+ technical-specification: Draft Technical Specification
46
+ technical-report: Draft Technical Report
47
+ publicly-available-specification: Draft Publicly Available Specification
48
+ international-workshop-agreement: Draft International Workshop Agreement
49
+ guide: Draft Guide
50
+ amendment: Draft Amendment
51
+ technical-corrigendum: Draft Technical Corrigendum
52
+ directive: Draft Directive
53
+ "50":
54
+ international-standard: Final Draft International Standard
55
+ technical-specification: Final Draft Technical Specification
56
+ technical-report: Final Draft Technical Report
57
+ publicly-available-specification: Final Draft Publicly Available Specification
58
+ international-workshop-agreement: Final Draft International Workshop Agreement
59
+ guide: Final Draft Guide
60
+ amendment: Final Draft Amendment
61
+ technical-corrigendum: Final Draft Technical Corrigendum
62
+ directive: Final Draft Directive
63
+ "60":
64
+ international-standard: International Standard
65
+ technical-specification: Technical Specification
66
+ technical-report: Technical Report
67
+ publicly-available-specification: Publicly Available Specification
68
+ international-workshop-agreement: International Workshop Agreement
69
+ guide: Guide
70
+ amendment: Amendment
71
+ technical-corrigendum: Technical Corrigendum
72
+ directive: Directive
46
73
  "90": Review
47
74
  "95": Withdrawal
48
-
75
+ locality:
76
+ appendix: Appendix
@@ -37,8 +37,34 @@ stage_dict:
37
37
  "10": Nouvelle proposition d'élément de travail
38
38
  "20": Brouillon de travail
39
39
  "30": Projet de comité
40
- "40": Brouillon
41
- "50": Version finale
42
- "60": Norme internationale
40
+ "40":
41
+ international-standard: Brouillon de la norme internationale
42
+ technical-specification: Brouillon de la spécification technique
43
+ technical-report: Brouillon du rapport technique
44
+ publicly-available-specification: Brouillon de la spécification disponible publiquement
45
+ international-workshop-agreement: Brouillon de l’accord internationale d’atelier
46
+ guide: Brouillon du guide
47
+ amendment: Brouillon de l’amendement
48
+ technical-corrigendum: Brouillon du rectificatif technique
49
+ "50":
50
+ international-standard: Version finale de la norme internationale
51
+ technical-specification: Version finale de la spécification technique
52
+ technical-report: Version finale du rapport technique
53
+ publicly-available-specification: Version finale de la spécification disponible publiquement
54
+ international-workshop-agreement: Version finale de l’accord internationale d’atelier
55
+ guide: Version finale du guide
56
+ amendment: Version finale de l’amendement
57
+ technical-corrigendum: Version finale du rectificatif technique
58
+ "60":
59
+ international-standard: Norme internationale
60
+ technical-specification: Spécification technique
61
+ technical-report: Rapport technique
62
+ publicly-available-specification: Spécification disponible publiquement
63
+ international-workshop-agreement: Accord internationale d’atelier
64
+ guide: Guide
65
+ amendment: Amendement
66
+ technical-corrigendum: Rectificatif technique
43
67
  "90": Révision
44
68
  "95": Retrait
69
+ locality:
70
+ appendix: Appendice
@@ -38,9 +38,37 @@ stage_dict:
38
38
  "10": Предложение нового рабочего элемента
39
39
  "20": Рабочий проект
40
40
  "30": Проект комитета
41
- "40": Проект Международного стандарта
42
- "50": Окончательный проект Международного стандарта
43
- "60": Международный стандарт
41
+ "40":
42
+ international-standard: Проект Международного стандарта
43
+ technical-specification: Проект Технической Спецификации
44
+ technical-report: Проект Технического Отчета
45
+ publicly-available-specification: Проект Общедоступной Спецификации
46
+ international-workshop-agreement: Проект Соглашения Международного Семинара
47
+ guide: Проект Руководства
48
+ amendment: Проект Поправки
49
+ technical-corrigendum: Проект Технического Исправления
50
+ directive: Проект Директивы
51
+ "50":
52
+ international-standard: Окончательный проект Международного стандарта
53
+ technical-specification: Окончательный проект Технической Спецификации
54
+ technical-report: Окончательный проект Технического Отчета
55
+ publicly-available-specification: Окончательный проект Общедоступной Спецификации
56
+ international-workshop-agreement: Окончательный проект Соглашения Международного Семинара
57
+ guide: Окончательный проект Руководства
58
+ amendment: Окончательный проект Поправки
59
+ technical-corrigendum: Окончательный проект Технического Исправления
60
+ directive: Окончательный проект Директивы
61
+ "60":
62
+ international-standard: Международный Стандарт
63
+ technical-specification: Техническая Спецификация
64
+ technical-report: Технический Отчет
65
+ publicly-available-specification: Общедоступная Спецификация
66
+ international-workshop-agreement: Соглашение Международного Семинара
67
+ guide: Руководство
68
+ amendment: Поправка
69
+ technical-corrigendum: Техническое Исправление
70
+ directive: Директива
44
71
  "90": Пересмотр
45
72
  "95": Отмена
46
-
73
+ locality:
74
+ appendix: Приложение
@@ -35,8 +35,37 @@ stage_dict:
35
35
  "10": 新工作项提案
36
36
  "20": 工作草案
37
37
  "30": 委员会草案
38
- "40": 草稿
39
- "50": 最终草案
40
- "60": 国际标准
38
+ "40":
39
+ international-standard: 国际标准草稿
40
+ technical-specification: 技术规格草稿
41
+ technical-report: 技术报告草稿
42
+ publicly-available-specification: 公开可用的规范草稿
43
+ international-workshop-agreement: 国际研讨会协议草稿
44
+ guide: 指南草稿
45
+ amendment: 修正草稿
46
+ technical-corrigendum: 技术勘误草稿
47
+ directive: 指令草稿
48
+ "50":
49
+ international-standard: 国际标准最终草案
50
+ technical-specification: 技术规格最终草案
51
+ technical-report: 技术报告最终草案
52
+ publicly-available-specification: 公开可用的规范最终草案
53
+ international-workshop-agreement: 国际研讨会协议最终草案
54
+ guide: 指南最终草案
55
+ amendment: 修正最终草案
56
+ technical-corrigendum: 技术勘误最终草案
57
+ directive: 指令最终草案
58
+ "60":
59
+ international-standard: 国际标准
60
+ technical-specification: 技术规格
61
+ technical-report: 技术报告
62
+ publicly-available-specification: 公开可用的规范
63
+ international-workshop-agreement: 国际研讨会协议
64
+ guide: 指南
65
+ amendment: 修正
66
+ technical-corrigendum: 技术勘误
67
+ directive: 指令
41
68
  "90": 回顾
42
69
  "95": 提款
70
+ locality:
71
+ appendix: 附录
@@ -13,7 +13,7 @@ module IsoDoc
13
13
  load_file("i18n-zh-Hans.yaml")
14
14
  else load_file("i18n-en.yaml")
15
15
  end
16
- super.merge(y)
16
+ super.deep_merge(y)
17
17
  end
18
18
  end
19
19
  end