metanorma-iho 0.3.12 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -58,6 +58,14 @@
58
58
  <optional>
59
59
  <attribute name="type"/>
60
60
  </optional>
61
+ <optional>
62
+ <attribute name="tag"/>
63
+ </optional>
64
+ <optional>
65
+ <attribute name="multilingual-rendering">
66
+ <ref name="MultilingualRenderingType"/>
67
+ </attribute>
68
+ </optional>
61
69
  <optional>
62
70
  <ref name="reqtitle"/>
63
71
  </optional>
@@ -101,7 +109,9 @@
101
109
  </define>
102
110
  <define name="label">
103
111
  <element name="label">
104
- <text/>
112
+ <oneOrMore>
113
+ <ref name="TextElement"/>
114
+ </oneOrMore>
105
115
  </element>
106
116
  </define>
107
117
  <define name="subject">
@@ -175,8 +185,19 @@
175
185
  <data type="boolean"/>
176
186
  </attribute>
177
187
  </optional>
188
+ <optional>
189
+ <attribute name="tag"/>
190
+ </optional>
191
+ <optional>
192
+ <attribute name="multilingual-rendering">
193
+ <ref name="MultilingualRenderingType"/>
194
+ </attribute>
195
+ </optional>
178
196
  <oneOrMore>
179
- <ref name="BasicBlock"/>
197
+ <choice>
198
+ <ref name="BasicBlock"/>
199
+ <ref name="component"/>
200
+ </choice>
180
201
  </oneOrMore>
181
202
  </define>
182
203
  <define name="ObligationType">
@@ -70,7 +70,7 @@ module IsoDoc
70
70
  end
71
71
 
72
72
  def extract_uri(bib)
73
- bib.at(ns("./uri"))
73
+ bib.at(ns("./uri[@type = 'src']")) || bib.at(ns("./uri"))
74
74
  end
75
75
 
76
76
  def omit_docid_prefix(prefix)
@@ -153,6 +153,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
153
153
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText {
154
154
  mso-style-noshow: yes;
155
155
  mso-style-unhide: no;
156
+ mso-style-name: "Comment Text";
156
157
  margin: 0cm;
157
158
  margin-bottom: .0001pt;
158
159
  mso-pagination: widow-orphan;
@@ -373,6 +374,7 @@ h1 {
373
374
  mso-style-priority: 1;
374
375
  mso-style-unhide: no;
375
376
  mso-style-qformat: yes;
377
+ mso-style-name: "Heading 1";
376
378
  mso-style-link: "Heading 1 Char";
377
379
  mso-style-next: Normal;
378
380
  margin-top: 13.5pt;
@@ -458,6 +460,7 @@ h2 {
458
460
  mso-style-priority: 2;
459
461
  mso-style-unhide: no;
460
462
  mso-style-qformat: yes;
463
+ mso-style-name: "Heading 2";
461
464
  mso-style-parent: "Heading 1";
462
465
  mso-style-link: "Heading 2 Char";
463
466
  mso-style-next: Normal;
@@ -486,7 +489,8 @@ h3 {
486
489
  mso-style-priority: 3;
487
490
  mso-style-unhide: no;
488
491
  mso-style-qformat: yes;
489
- mso-style-parent: "Heading 1";
492
+ mso-style-name: "Heading 3";
493
+ mso-style-parent: "Heading 2";
490
494
  mso-style-link: "Heading 3 Char";
491
495
  mso-style-next: Normal;
492
496
  margin-top: 3.0pt;
@@ -513,6 +517,7 @@ h4 {
513
517
  mso-style-priority: 4;
514
518
  mso-style-unhide: no;
515
519
  mso-style-qformat: yes;
520
+ mso-style-name: "Heading 4";
516
521
  mso-style-parent: "Heading 3";
517
522
  mso-style-link: "Heading 4 Char";
518
523
  mso-style-next: Normal;
@@ -540,6 +545,7 @@ h5 {
540
545
  mso-style-priority: 5;
541
546
  mso-style-unhide: no;
542
547
  mso-style-qformat: yes;
548
+ mso-style-name: "Heading 5";
543
549
  mso-style-parent: "Heading 4";
544
550
  mso-style-link: "Heading 5 Char";
545
551
  mso-style-next: Normal;
@@ -567,6 +573,7 @@ h6 {
567
573
  mso-style-priority: 6;
568
574
  mso-style-unhide: no;
569
575
  mso-style-qformat: yes;
576
+ mso-style-name: "Heading 6";
570
577
  mso-style-parent: "Heading 5";
571
578
  mso-style-link: "Heading 6 Char";
572
579
  mso-style-next: Normal;
@@ -593,6 +600,7 @@ h6 {
593
600
  p.MsoToc1, li.MsoToc1, div.MsoToc1 {
594
601
  mso-style-priority: 39;
595
602
  mso-style-unhide: no;
603
+ mso-style-name: "TOC 1";
596
604
  mso-style-next: Normal;
597
605
  margin-top: 6.0pt;
598
606
  margin-right: 25.0pt;
@@ -616,6 +624,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2 {
616
624
  mso-style-noshow: yes;
617
625
  mso-style-priority: 39;
618
626
  mso-style-unhide: no;
627
+ mso-style-name: "TOC 2";
619
628
  mso-style-parent: "TOC 1";
620
629
  mso-style-next: Normal;
621
630
  margin-top: 0cm;
@@ -640,6 +649,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
640
649
  mso-style-noshow: yes;
641
650
  mso-style-priority: 39;
642
651
  mso-style-unhide: no;
652
+ mso-style-name: "TOC 3";
643
653
  mso-style-parent: "TOC 2";
644
654
  mso-style-next: Normal;
645
655
  margin-top: 0cm;
@@ -662,6 +672,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3 {
662
672
 
663
673
  span.MsoFootnoteReference {
664
674
  mso-style-priority: 99;
675
+ mso-style-name: "Footnote Reference";
665
676
  vertical-align: super; }
666
677
 
667
678
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText {
@@ -139,6 +139,7 @@ p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxS
139
139
  p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
140
140
  {mso-style-noshow:yes;
141
141
  mso-style-unhide:no;
142
+ mso-style-name:"Comment Text";
142
143
  margin:0cm;
143
144
  margin-bottom:.0001pt;
144
145
  mso-pagination:widow-orphan;
@@ -343,6 +344,7 @@ h1
343
344
  {mso-style-priority:1;
344
345
  mso-style-unhide:no;
345
346
  mso-style-qformat:yes;
347
+ mso-style-name:"Heading 1";
346
348
  mso-style-link:"Heading 1 Char";
347
349
  mso-style-next:Normal;
348
350
  margin-top:13.5pt;
@@ -425,6 +427,7 @@ h2
425
427
  {mso-style-priority:2;
426
428
  mso-style-unhide:no;
427
429
  mso-style-qformat:yes;
430
+ mso-style-name:"Heading 2";
428
431
  mso-style-parent:"Heading 1";
429
432
  mso-style-link:"Heading 2 Char";
430
433
  mso-style-next:Normal;
@@ -452,7 +455,8 @@ h3
452
455
  {mso-style-priority:3;
453
456
  mso-style-unhide:no;
454
457
  mso-style-qformat:yes;
455
- mso-style-parent:"Heading 1";
458
+ mso-style-name:"Heading 3";
459
+ mso-style-parent:"Heading 2";
456
460
  mso-style-link:"Heading 3 Char";
457
461
  mso-style-next:Normal;
458
462
  margin-top:3.0pt;
@@ -478,6 +482,7 @@ h4
478
482
  {mso-style-priority:4;
479
483
  mso-style-unhide:no;
480
484
  mso-style-qformat:yes;
485
+ mso-style-name:"Heading 4";
481
486
  mso-style-parent:"Heading 3";
482
487
  mso-style-link:"Heading 4 Char";
483
488
  mso-style-next:Normal;
@@ -504,6 +509,7 @@ h5
504
509
  {mso-style-priority:5;
505
510
  mso-style-unhide:no;
506
511
  mso-style-qformat:yes;
512
+ mso-style-name:"Heading 5";
507
513
  mso-style-parent:"Heading 4";
508
514
  mso-style-link:"Heading 5 Char";
509
515
  mso-style-next:Normal;
@@ -530,6 +536,7 @@ h6
530
536
  {mso-style-priority:6;
531
537
  mso-style-unhide:no;
532
538
  mso-style-qformat:yes;
539
+ mso-style-name:"Heading 6";
533
540
  mso-style-parent:"Heading 5";
534
541
  mso-style-link:"Heading 6 Char";
535
542
  mso-style-next:Normal;
@@ -555,6 +562,7 @@ h6
555
562
  p.MsoToc1, li.MsoToc1, div.MsoToc1
556
563
  {mso-style-priority:39;
557
564
  mso-style-unhide:no;
565
+ mso-style-name:"TOC 1";
558
566
  mso-style-next:Normal;
559
567
  margin-top:6.0pt;
560
568
  margin-right:25.0pt;
@@ -577,6 +585,7 @@ p.MsoToc2, li.MsoToc2, div.MsoToc2
577
585
  {mso-style-noshow:yes;
578
586
  mso-style-priority:39;
579
587
  mso-style-unhide:no;
588
+ mso-style-name:"TOC 2";
580
589
  mso-style-parent:"TOC 1";
581
590
  mso-style-next:Normal;
582
591
  margin-top:0cm;
@@ -600,6 +609,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
600
609
  {mso-style-noshow:yes;
601
610
  mso-style-priority:39;
602
611
  mso-style-unhide:no;
612
+ mso-style-name:"TOC 3";
603
613
  mso-style-parent:"TOC 2";
604
614
  mso-style-next:Normal;
605
615
  margin-top:0cm;
@@ -621,6 +631,7 @@ p.MsoToc3, li.MsoToc3, div.MsoToc3
621
631
  mso-bidi-font-weight:normal;}
622
632
  span.MsoFootnoteReference
623
633
  {mso-style-priority:99;
634
+ mso-style-name:"Footnote Reference";
624
635
  vertical-align:super;}
625
636
  p.MsoFootnoteText, li.MsoFootnoteText, div.MsoFootnoteText
626
637
  {mso-style-noshow:yes;
@@ -817,7 +817,7 @@
817
817
  </xsl:variable>
818
818
  <fo:block line-height="1.1" role="H{$levelTerm}">
819
819
  <fo:block font-weight="bold" keep-with-next="always">
820
- <xsl:apply-templates select="ancestor::iho:term/iho:name" mode="presentation"/>
820
+ <xsl:apply-templates select="ancestor::iho:term[1]/iho:name" mode="presentation"/>
821
821
  </fo:block>
822
822
  <fo:block font-weight="bold" keep-with-next="always">
823
823
  <xsl:apply-templates/>
@@ -1062,6 +1062,8 @@
1062
1062
 
1063
1063
  <title-list-figures lang="en">List of Figures</title-list-figures>
1064
1064
 
1065
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1066
+
1065
1067
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1066
1068
 
1067
1069
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1350,6 +1352,14 @@
1350
1352
 
1351
1353
 
1352
1354
 
1355
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1356
+
1357
+
1358
+
1359
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1360
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
1361
+
1362
+
1353
1363
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1354
1364
 
1355
1365
 
@@ -2449,13 +2459,9 @@
2449
2459
 
2450
2460
  <!-- Table's note name (NOTE, for example) -->
2451
2461
 
2452
- <fo:inline padding-right="2mm">
2453
-
2454
-
2462
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2455
2463
 
2456
2464
 
2457
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2458
- <xsl:attribute name="padding-right">3mm</xsl:attribute>
2459
2465
 
2460
2466
 
2461
2467
 
@@ -2965,6 +2971,7 @@
2965
2971
  <fo:table-cell>
2966
2972
 
2967
2973
  <fo:block margin-top="6pt">
2974
+ <xsl:copy-of select="@id"/>
2968
2975
 
2969
2976
 
2970
2977
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3071,6 +3078,8 @@
3071
3078
  <xsl:if test="$font-size != ''">
3072
3079
  <xsl:attribute name="font-size">
3073
3080
  <xsl:choose>
3081
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3082
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3074
3083
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3075
3084
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3076
3085
  </xsl:choose>
@@ -3805,14 +3814,18 @@
3805
3814
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
3806
3815
  <fo:inline><xsl:apply-templates/></fo:inline>
3807
3816
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
3817
+ <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
3808
3818
  <fo:block id="{@id}">
3809
3819
  <xsl:apply-templates/>
3810
3820
  </fo:block>
3811
3821
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3822
+ <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3812
3823
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3813
3824
 
3814
3825
 
3815
-
3826
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3827
+
3828
+ </xsl:if>
3816
3829
  <xsl:apply-templates/>
3817
3830
  </fo:block>
3818
3831
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
@@ -3874,6 +3887,7 @@
3874
3887
  <xsl:otherwise>
3875
3888
  <fo:block xsl:use-attribute-sets="image-style">
3876
3889
 
3890
+
3877
3891
  <xsl:variable name="src">
3878
3892
  <xsl:call-template name="image_src"/>
3879
3893
  </xsl:variable>
@@ -4240,7 +4254,7 @@
4240
4254
  <xsl:text> </xsl:text>
4241
4255
  </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
4242
4256
  <xsl:value-of select="."/>
4243
- </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
4257
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
4244
4258
  <xsl:value-of select="."/>
4245
4259
  </xsl:template><xsl:template match="node()" mode="contents">
4246
4260
  <xsl:apply-templates mode="contents"/>
@@ -4338,6 +4352,8 @@
4338
4352
 
4339
4353
 
4340
4354
 
4355
+
4356
+
4341
4357
  </fo:bookmark-tree>
4342
4358
  </xsl:if>
4343
4359
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4531,12 +4547,16 @@
4531
4547
  <xsl:if test="$font-size != ''">
4532
4548
  <xsl:attribute name="font-size">
4533
4549
  <xsl:choose>
4550
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
4551
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
4534
4552
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
4535
4553
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
4536
4554
  </xsl:choose>
4537
4555
  </xsl:attribute>
4538
4556
  </xsl:if>
4539
4557
 
4558
+
4559
+
4540
4560
  <xsl:apply-templates/>
4541
4561
  </fo:block>
4542
4562
 
@@ -4779,7 +4799,8 @@
4779
4799
  </fo:block>
4780
4800
  </fo:table-cell>
4781
4801
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
4782
- <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
4802
+ <fo:block font-size="11pt">
4803
+
4783
4804
  <xsl:apply-templates/>
4784
4805
  </fo:block>
4785
4806
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -4884,6 +4905,7 @@
4884
4905
  </xsl:choose>
4885
4906
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
4886
4907
  <fo:block xsl:use-attribute-sets="termsource-style">
4908
+
4887
4909
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4888
4910
  <xsl:variable name="termsource_text">
4889
4911
  <xsl:apply-templates/>
@@ -4894,13 +4916,15 @@
4894
4916
  <!-- <xsl:apply-templates /> -->
4895
4917
  <xsl:copy-of select="$termsource_text"/>
4896
4918
  </xsl:when>
4897
- <xsl:otherwise>
4919
+ <xsl:otherwise>
4920
+
4898
4921
 
4899
4922
  <xsl:text>[</xsl:text>
4900
4923
 
4901
4924
  <!-- <xsl:apply-templates /> -->
4902
4925
  <xsl:copy-of select="$termsource_text"/>
4903
4926
 
4927
+
4904
4928
  <xsl:text>]</xsl:text>
4905
4929
 
4906
4930
  </xsl:otherwise>
@@ -4984,12 +5008,20 @@
4984
5008
  </xsl:template><xsl:template match="*[local-name() = 'author']">
4985
5009
  <xsl:text>— </xsl:text>
4986
5010
  <xsl:apply-templates/>
4987
- </xsl:template><xsl:template match="*[local-name() = 'eref']">
5011
+ </xsl:template><xsl:variable name="bibitem_hidden_">
5012
+ <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
5013
+ <xsl:copy-of select="."/>
5014
+ </xsl:for-each>
5015
+ <xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
5016
+ <xsl:copy-of select="."/>
5017
+ </xsl:for-each>
5018
+ </xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
4988
5019
 
4989
5020
  <xsl:variable name="bibitemid">
4990
5021
  <xsl:choose>
4991
- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
4992
- <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
5022
+ <!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
5023
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
5024
+ <xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
4993
5025
  <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
4994
5026
  </xsl:choose>
4995
5027
  </xsl:variable>
@@ -5082,10 +5114,10 @@
5082
5114
  </xsl:choose>
5083
5115
  </xsl:variable>
5084
5116
 
5085
- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
5117
+ <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5086
5118
 
5087
5119
  <xsl:choose>
5088
- <xsl:when test="$language = 'zh'">
5120
+ <xsl:when test="$lang = 'zh'">
5089
5121
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
5090
5122
  </xsl:when>
5091
5123
  <xsl:when test="../../@inline-header = 'true'">
@@ -6164,12 +6196,15 @@
6164
6196
  <xsl:param name="default">left</xsl:param>
6165
6197
  <xsl:attribute name="text-align">
6166
6198
  <xsl:choose>
6167
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
6199
+ <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6168
6200
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6169
6201
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6170
6202
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6171
6203
  </xsl:choose>
6172
6204
  </xsl:attribute>
6205
+ <xsl:if test="@align = 'indent'">
6206
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
6207
+ </xsl:if>
6173
6208
  </xsl:template><xsl:template name="number-to-words">
6174
6209
  <xsl:param name="number"/>
6175
6210
  <xsl:param name="first"/>
@@ -817,7 +817,7 @@
817
817
  </xsl:variable>
818
818
  <fo:block line-height="1.1" role="H{$levelTerm}">
819
819
  <fo:block font-weight="bold" keep-with-next="always">
820
- <xsl:apply-templates select="ancestor::iho:term/iho:name" mode="presentation"/>
820
+ <xsl:apply-templates select="ancestor::iho:term[1]/iho:name" mode="presentation"/>
821
821
  </fo:block>
822
822
  <fo:block font-weight="bold" keep-with-next="always">
823
823
  <xsl:apply-templates/>
@@ -1062,6 +1062,8 @@
1062
1062
 
1063
1063
  <title-list-figures lang="en">List of Figures</title-list-figures>
1064
1064
 
1065
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1066
+
1065
1067
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1066
1068
 
1067
1069
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1350,6 +1352,14 @@
1350
1352
 
1351
1353
 
1352
1354
 
1355
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1356
+
1357
+
1358
+
1359
+ <xsl:attribute name="font-size">11pt</xsl:attribute>
1360
+ <xsl:attribute name="padding-right">3mm</xsl:attribute>
1361
+
1362
+
1353
1363
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1354
1364
 
1355
1365
 
@@ -2449,13 +2459,9 @@
2449
2459
 
2450
2460
  <!-- Table's note name (NOTE, for example) -->
2451
2461
 
2452
- <fo:inline padding-right="2mm">
2453
-
2454
-
2462
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2455
2463
 
2456
2464
 
2457
- <xsl:attribute name="font-size">11pt</xsl:attribute>
2458
- <xsl:attribute name="padding-right">3mm</xsl:attribute>
2459
2465
 
2460
2466
 
2461
2467
 
@@ -2965,6 +2971,7 @@
2965
2971
  <fo:table-cell>
2966
2972
 
2967
2973
  <fo:block margin-top="6pt">
2974
+ <xsl:copy-of select="@id"/>
2968
2975
 
2969
2976
 
2970
2977
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3071,6 +3078,8 @@
3071
3078
  <xsl:if test="$font-size != ''">
3072
3079
  <xsl:attribute name="font-size">
3073
3080
  <xsl:choose>
3081
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3082
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3074
3083
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3075
3084
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3076
3085
  </xsl:choose>
@@ -3805,14 +3814,18 @@
3805
3814
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
3806
3815
  <fo:inline><xsl:apply-templates/></fo:inline>
3807
3816
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
3817
+ <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
3808
3818
  <fo:block id="{@id}">
3809
3819
  <xsl:apply-templates/>
3810
3820
  </fo:block>
3811
3821
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3822
+ <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3812
3823
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3813
3824
 
3814
3825
 
3815
-
3826
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3827
+
3828
+ </xsl:if>
3816
3829
  <xsl:apply-templates/>
3817
3830
  </fo:block>
3818
3831
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
@@ -3874,6 +3887,7 @@
3874
3887
  <xsl:otherwise>
3875
3888
  <fo:block xsl:use-attribute-sets="image-style">
3876
3889
 
3890
+
3877
3891
  <xsl:variable name="src">
3878
3892
  <xsl:call-template name="image_src"/>
3879
3893
  </xsl:variable>
@@ -4240,7 +4254,7 @@
4240
4254
  <xsl:text> </xsl:text>
4241
4255
  </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="contents" priority="2">
4242
4256
  <xsl:value-of select="."/>
4243
- </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
4257
+ </xsl:template><xsl:template match="*[local-name() = 'figure' or local-name() = 'table' or local-name() = 'permission' or local-name() = 'recommendation' or local-name() = 'requirement']/*[local-name() = 'name']//text()" mode="bookmarks" priority="2">
4244
4258
  <xsl:value-of select="."/>
4245
4259
  </xsl:template><xsl:template match="node()" mode="contents">
4246
4260
  <xsl:apply-templates mode="contents"/>
@@ -4338,6 +4352,8 @@
4338
4352
 
4339
4353
 
4340
4354
 
4355
+
4356
+
4341
4357
  </fo:bookmark-tree>
4342
4358
  </xsl:if>
4343
4359
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4531,12 +4547,16 @@
4531
4547
  <xsl:if test="$font-size != ''">
4532
4548
  <xsl:attribute name="font-size">
4533
4549
  <xsl:choose>
4550
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
4551
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
4534
4552
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
4535
4553
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
4536
4554
  </xsl:choose>
4537
4555
  </xsl:attribute>
4538
4556
  </xsl:if>
4539
4557
 
4558
+
4559
+
4540
4560
  <xsl:apply-templates/>
4541
4561
  </fo:block>
4542
4562
 
@@ -4779,7 +4799,8 @@
4779
4799
  </fo:block>
4780
4800
  </fo:table-cell>
4781
4801
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
4782
- <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
4802
+ <fo:block font-size="11pt">
4803
+
4783
4804
  <xsl:apply-templates/>
4784
4805
  </fo:block>
4785
4806
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -4884,6 +4905,7 @@
4884
4905
  </xsl:choose>
4885
4906
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
4886
4907
  <fo:block xsl:use-attribute-sets="termsource-style">
4908
+
4887
4909
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4888
4910
  <xsl:variable name="termsource_text">
4889
4911
  <xsl:apply-templates/>
@@ -4894,13 +4916,15 @@
4894
4916
  <!-- <xsl:apply-templates /> -->
4895
4917
  <xsl:copy-of select="$termsource_text"/>
4896
4918
  </xsl:when>
4897
- <xsl:otherwise>
4919
+ <xsl:otherwise>
4920
+
4898
4921
 
4899
4922
  <xsl:text>[</xsl:text>
4900
4923
 
4901
4924
  <!-- <xsl:apply-templates /> -->
4902
4925
  <xsl:copy-of select="$termsource_text"/>
4903
4926
 
4927
+
4904
4928
  <xsl:text>]</xsl:text>
4905
4929
 
4906
4930
  </xsl:otherwise>
@@ -4984,12 +5008,20 @@
4984
5008
  </xsl:template><xsl:template match="*[local-name() = 'author']">
4985
5009
  <xsl:text>— </xsl:text>
4986
5010
  <xsl:apply-templates/>
4987
- </xsl:template><xsl:template match="*[local-name() = 'eref']">
5011
+ </xsl:template><xsl:variable name="bibitem_hidden_">
5012
+ <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
5013
+ <xsl:copy-of select="."/>
5014
+ </xsl:for-each>
5015
+ <xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
5016
+ <xsl:copy-of select="."/>
5017
+ </xsl:for-each>
5018
+ </xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
4988
5019
 
4989
5020
  <xsl:variable name="bibitemid">
4990
5021
  <xsl:choose>
4991
- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
4992
- <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
5022
+ <!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
5023
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
5024
+ <xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
4993
5025
  <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
4994
5026
  </xsl:choose>
4995
5027
  </xsl:variable>
@@ -5082,10 +5114,10 @@
5082
5114
  </xsl:choose>
5083
5115
  </xsl:variable>
5084
5116
 
5085
- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
5117
+ <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5086
5118
 
5087
5119
  <xsl:choose>
5088
- <xsl:when test="$language = 'zh'">
5120
+ <xsl:when test="$lang = 'zh'">
5089
5121
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
5090
5122
  </xsl:when>
5091
5123
  <xsl:when test="../../@inline-header = 'true'">
@@ -6164,12 +6196,15 @@
6164
6196
  <xsl:param name="default">left</xsl:param>
6165
6197
  <xsl:attribute name="text-align">
6166
6198
  <xsl:choose>
6167
- <xsl:when test="@align"><xsl:value-of select="@align"/></xsl:when>
6199
+ <xsl:when test="@align and not(@align = 'indent')"><xsl:value-of select="@align"/></xsl:when>
6168
6200
  <xsl:when test="ancestor::*[local-name() = 'td']/@align"><xsl:value-of select="ancestor::*[local-name() = 'td']/@align"/></xsl:when>
6169
6201
  <xsl:when test="ancestor::*[local-name() = 'th']/@align"><xsl:value-of select="ancestor::*[local-name() = 'th']/@align"/></xsl:when>
6170
6202
  <xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
6171
6203
  </xsl:choose>
6172
6204
  </xsl:attribute>
6205
+ <xsl:if test="@align = 'indent'">
6206
+ <xsl:attribute name="margin-left">7mm</xsl:attribute>
6207
+ </xsl:if>
6173
6208
  </xsl:template><xsl:template name="number-to-words">
6174
6209
  <xsl:param name="number"/>
6175
6210
  <xsl:param name="first"/>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module IHO
3
- VERSION = "0.3.12".freeze
3
+ VERSION = "0.4.2".freeze
4
4
  end
5
5
  end