metanorma-un 0.6.11 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1205,6 +1205,8 @@
1205
1205
 
1206
1206
  <title-list-figures lang="en">List of Figures</title-list-figures>
1207
1207
 
1208
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1209
+
1208
1210
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1209
1211
 
1210
1212
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1479,6 +1481,11 @@
1479
1481
  <xsl:attribute name="padding-right">4mm</xsl:attribute>
1480
1482
 
1481
1483
 
1484
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1485
+
1486
+
1487
+
1488
+
1482
1489
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1483
1490
 
1484
1491
 
@@ -1636,13 +1643,20 @@
1636
1643
 
1637
1644
  </xsl:attribute-set><xsl:attribute-set name="list-style">
1638
1645
 
1639
- </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1646
+ </xsl:attribute-set><xsl:attribute-set name="toc-style">
1647
+ <xsl:attribute name="line-height">135%</xsl:attribute>
1648
+ </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="OLD_processPrefaceSectionsDefault_Contents">
1640
1649
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1641
1650
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1642
1651
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1643
1652
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1644
1653
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1645
- </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1654
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault_Contents">
1655
+ <xsl:for-each select="/*/*[local-name()='preface']/*">
1656
+ <xsl:sort select="@displayorder" data-type="number"/>
1657
+ <xsl:apply-templates select="." mode="contents"/>
1658
+ </xsl:for-each>
1659
+ </xsl:template><xsl:template name="OLD_processMainSectionsDefault_Contents">
1646
1660
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1647
1661
 
1648
1662
  <!-- Normative references -->
@@ -1655,13 +1669,33 @@
1655
1669
  <!-- Bibliography -->
1656
1670
  <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]" mode="contents"/>
1657
1671
 
1658
- </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1672
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1673
+ <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1674
+ <xsl:sort select="@displayorder" data-type="number"/>
1675
+ <xsl:apply-templates select="." mode="contents"/>
1676
+ </xsl:for-each>
1677
+
1678
+ <xsl:for-each select="/*/*[local-name()='annex']">
1679
+ <xsl:sort select="@displayorder" data-type="number"/>
1680
+ <xsl:apply-templates select="." mode="contents"/>
1681
+ </xsl:for-each>
1682
+
1683
+ <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
1684
+ <xsl:sort select="@displayorder" data-type="number"/>
1685
+ <xsl:apply-templates select="." mode="contents"/>
1686
+ </xsl:for-each>
1687
+ </xsl:template><xsl:template name="OLD_processPrefaceSectionsDefault">
1659
1688
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1660
1689
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1661
1690
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1662
1691
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1663
1692
  <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1664
- </xsl:template><xsl:template name="processMainSectionsDefault">
1693
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1694
+ <xsl:for-each select="/*/*[local-name()='preface']/*">
1695
+ <xsl:sort select="@displayorder" data-type="number"/>
1696
+ <xsl:apply-templates select="."/>
1697
+ </xsl:for-each>
1698
+ </xsl:template><xsl:template name="OLD_processMainSectionsDefault">
1665
1699
  <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1666
1700
 
1667
1701
  <!-- Normative references -->
@@ -1673,6 +1707,22 @@
1673
1707
  <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1674
1708
  <!-- Bibliography -->
1675
1709
  <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1710
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1711
+ <xsl:for-each select="/*/*[local-name()='sections']/* | /*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']">
1712
+ <xsl:sort select="@displayorder" data-type="number"/>
1713
+ <xsl:apply-templates select="."/>
1714
+
1715
+ </xsl:for-each>
1716
+
1717
+ <xsl:for-each select="/*/*[local-name()='annex']">
1718
+ <xsl:sort select="@displayorder" data-type="number"/>
1719
+ <xsl:apply-templates select="."/>
1720
+ </xsl:for-each>
1721
+
1722
+ <xsl:for-each select="/*/*[local-name()='bibliography']/*[not(@normative='true')] | /*/*[local-name()='bibliography']/*[local-name()='clause'][*[local-name()='references'][not(@normative='true')]]">
1723
+ <xsl:sort select="@displayorder" data-type="number"/>
1724
+ <xsl:apply-templates select="."/>
1725
+ </xsl:for-each>
1676
1726
  </xsl:template><xsl:template match="text()">
1677
1727
  <xsl:value-of select="."/>
1678
1728
  </xsl:template><xsl:template match="*[local-name()='br']">
@@ -2536,9 +2586,7 @@
2536
2586
 
2537
2587
  <!-- Table's note name (NOTE, for example) -->
2538
2588
 
2539
- <fo:inline padding-right="2mm">
2540
-
2541
-
2589
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
2542
2590
 
2543
2591
 
2544
2592
 
@@ -2553,6 +2601,7 @@
2553
2601
  </xsl:if>
2554
2602
 
2555
2603
 
2604
+
2556
2605
  <xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
2557
2606
 
2558
2607
  </fo:inline>
@@ -3055,6 +3104,7 @@
3055
3104
  <fo:table-cell>
3056
3105
 
3057
3106
  <fo:block margin-top="6pt">
3107
+ <xsl:copy-of select="@id"/>
3058
3108
 
3059
3109
 
3060
3110
  <xsl:if test="normalize-space($key_iso) = 'true'">
@@ -3158,6 +3208,8 @@
3158
3208
  <xsl:if test="$font-size != ''">
3159
3209
  <xsl:attribute name="font-size">
3160
3210
  <xsl:choose>
3211
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3212
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3161
3213
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3162
3214
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3163
3215
  </xsl:choose>
@@ -3901,14 +3953,18 @@
3901
3953
  </xsl:template><xsl:template match="*[local-name() = 'termnote']/*[local-name() = 'p']">
3902
3954
  <fo:inline><xsl:apply-templates/></fo:inline>
3903
3955
  </xsl:template><xsl:template match="*[local-name() = 'terms']">
3956
+ <!-- <xsl:message>'terms' <xsl:number/> processing...</xsl:message> -->
3904
3957
  <fo:block id="{@id}">
3905
3958
  <xsl:apply-templates/>
3906
3959
  </fo:block>
3907
3960
  </xsl:template><xsl:template match="*[local-name() = 'term']">
3961
+ <!-- <xsl:message>'term' <xsl:number/> processing, name=<xsl:value-of select="iso:name"/>, preferred=<xsl:value-of select="iso:preferred"/>...</xsl:message> -->
3908
3962
  <fo:block id="{@id}" xsl:use-attribute-sets="term-style">
3909
3963
 
3910
3964
 
3911
-
3965
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'term'])">
3966
+
3967
+ </xsl:if>
3912
3968
  <xsl:apply-templates/>
3913
3969
  </fo:block>
3914
3970
  </xsl:template><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'term']/*[local-name() = 'name']" mode="presentation">
@@ -3970,6 +4026,7 @@
3970
4026
  <xsl:otherwise>
3971
4027
  <fo:block xsl:use-attribute-sets="image-style">
3972
4028
 
4029
+
3973
4030
  <xsl:variable name="src">
3974
4031
  <xsl:call-template name="image_src"/>
3975
4032
  </xsl:variable>
@@ -4217,6 +4274,13 @@
4217
4274
  </xsl:attribute>
4218
4275
  <xsl:apply-templates mode="svg_update"/>
4219
4276
  </xsl:copy>
4277
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][*[local-name() = 'svg']]" priority="3">
4278
+ <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
4279
+ <xsl:for-each select="*[local-name() = 'svg']">
4280
+ <xsl:call-template name="image_svg">
4281
+ <xsl:with-param name="name" select="$name"/>
4282
+ </xsl:call-template>
4283
+ </xsl:for-each>
4220
4284
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
4221
4285
  <xsl:variable name="svg_content" select="document(@src)"/>
4222
4286
  <xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
@@ -4321,7 +4385,7 @@
4321
4385
  </fo:basic-link>
4322
4386
  </fo:block>
4323
4387
  </fo:block-container>
4324
- </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4388
+ </xsl:template><xsl:template match="*[local-name() = 'emf']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
4325
4389
  <xsl:apply-templates mode="contents"/>
4326
4390
  <xsl:text> </xsl:text>
4327
4391
  </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="bookmarks">
@@ -4329,7 +4393,7 @@
4329
4393
  <xsl:text> </xsl:text>
4330
4394
  </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">
4331
4395
  <xsl:value-of select="."/>
4332
- </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">
4396
+ </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">
4333
4397
  <xsl:value-of select="."/>
4334
4398
  </xsl:template><xsl:template match="node()" mode="contents">
4335
4399
  <xsl:apply-templates mode="contents"/>
@@ -4427,6 +4491,8 @@
4427
4491
 
4428
4492
 
4429
4493
 
4494
+
4495
+
4430
4496
  </fo:bookmark-tree>
4431
4497
  </xsl:if>
4432
4498
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -4620,12 +4686,16 @@
4620
4686
  <xsl:if test="$font-size != ''">
4621
4687
  <xsl:attribute name="font-size">
4622
4688
  <xsl:choose>
4689
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
4690
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
4623
4691
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
4624
4692
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
4625
4693
  </xsl:choose>
4626
4694
  </xsl:attribute>
4627
4695
  </xsl:if>
4628
4696
 
4697
+
4698
+
4629
4699
  <xsl:apply-templates/>
4630
4700
  </fo:block>
4631
4701
 
@@ -4868,7 +4938,8 @@
4868
4938
  </fo:block>
4869
4939
  </fo:table-cell>
4870
4940
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
4871
- <fo:block font-size="11pt" color="rgb(237, 193, 35)"> <!-- font-weight="bold" margin-bottom="4pt" text-align="center" -->
4941
+ <fo:block font-size="11pt">
4942
+
4872
4943
  <xsl:apply-templates/>
4873
4944
  </fo:block>
4874
4945
  </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
@@ -4978,6 +5049,7 @@
4978
5049
  </xsl:choose>
4979
5050
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
4980
5051
  <fo:block xsl:use-attribute-sets="termsource-style">
5052
+
4981
5053
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
4982
5054
  <xsl:variable name="termsource_text">
4983
5055
  <xsl:apply-templates/>
@@ -4988,13 +5060,15 @@
4988
5060
  <!-- <xsl:apply-templates /> -->
4989
5061
  <xsl:copy-of select="$termsource_text"/>
4990
5062
  </xsl:when>
4991
- <xsl:otherwise>
5063
+ <xsl:otherwise>
5064
+
4992
5065
 
4993
5066
  <xsl:text>[</xsl:text>
4994
5067
 
4995
5068
  <!-- <xsl:apply-templates /> -->
4996
5069
  <xsl:copy-of select="$termsource_text"/>
4997
5070
 
5071
+
4998
5072
  <xsl:text>]</xsl:text>
4999
5073
 
5000
5074
  </xsl:otherwise>
@@ -5006,8 +5080,8 @@
5006
5080
  </xsl:if>
5007
5081
  </xsl:template><xsl:variable name="localized.source">
5008
5082
  <xsl:call-template name="getLocalizedString">
5009
- <xsl:with-param name="key">source</xsl:with-param>
5010
- </xsl:call-template>
5083
+ <xsl:with-param name="key">source</xsl:with-param>
5084
+ </xsl:call-template>
5011
5085
  </xsl:variable><xsl:template match="*[local-name() = 'origin']">
5012
5086
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
5013
5087
  <xsl:if test="normalize-space(@citeas) = ''">
@@ -5017,6 +5091,7 @@
5017
5091
  <fo:inline xsl:use-attribute-sets="origin-style">
5018
5092
  <xsl:apply-templates/>
5019
5093
  </fo:inline>
5094
+
5020
5095
  </fo:basic-link>
5021
5096
  </xsl:template><xsl:template match="*[local-name() = 'modification']/*[local-name() = 'p']">
5022
5097
  <fo:inline><xsl:apply-templates/></fo:inline>
@@ -5060,12 +5135,20 @@
5060
5135
  </xsl:template><xsl:template match="*[local-name() = 'author']">
5061
5136
  <xsl:text>— </xsl:text>
5062
5137
  <xsl:apply-templates/>
5063
- </xsl:template><xsl:template match="*[local-name() = 'eref']">
5138
+ </xsl:template><xsl:variable name="bibitem_hidden_">
5139
+ <xsl:for-each select="//*[local-name() = 'bibitem'][@hidden='true']">
5140
+ <xsl:copy-of select="."/>
5141
+ </xsl:for-each>
5142
+ <xsl:for-each select="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem']">
5143
+ <xsl:copy-of select="."/>
5144
+ </xsl:for-each>
5145
+ </xsl:variable><xsl:variable name="bibitem_hidden" select="xalan:nodeset($bibitem_hidden_)"/><xsl:template match="*[local-name() = 'eref']">
5064
5146
 
5065
5147
  <xsl:variable name="bibitemid">
5066
5148
  <xsl:choose>
5067
- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"/>
5068
- <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
5149
+ <!-- <xsl:when test="//*[local-name() = 'bibitem'][@hidden='true' and @id = current()/@bibitemid]"></xsl:when>
5150
+ <xsl:when test="//*[local-name() = 'references'][@hidden='true']/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"></xsl:when> -->
5151
+ <xsl:when test="$bibitem_hidden/*[local-name() = 'bibitem'][@id = current()/@bibitemid]"/>
5069
5152
  <xsl:otherwise><xsl:value-of select="@bibitemid"/></xsl:otherwise>
5070
5153
  </xsl:choose>
5071
5154
  </xsl:variable>
@@ -5083,6 +5166,9 @@
5083
5166
 
5084
5167
  </xsl:if>
5085
5168
 
5169
+ <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
5170
+ <xsl:variable name="text" select="normalize-space()"/>
5171
+
5086
5172
 
5087
5173
 
5088
5174
  <fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
@@ -5097,7 +5183,9 @@
5097
5183
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
5098
5184
 
5099
5185
  </xsl:if>
5100
-
5186
+
5187
+
5188
+
5101
5189
  <xsl:apply-templates/>
5102
5190
  </fo:basic-link>
5103
5191
 
@@ -5151,10 +5239,10 @@
5151
5239
  </xsl:choose>
5152
5240
  </xsl:variable>
5153
5241
 
5154
- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/>
5242
+ <!-- <xsl:variable name="language" select="//*[local-name()='bibdata']//*[local-name()='language']"/> -->
5155
5243
 
5156
5244
  <xsl:choose>
5157
- <xsl:when test="$language = 'zh'">
5245
+ <xsl:when test="$lang = 'zh'">
5158
5246
  <fo:inline><xsl:value-of select="$tab_zh"/></fo:inline>
5159
5247
  </xsl:when>
5160
5248
  <xsl:when test="../../@inline-header = 'true'">
@@ -5609,9 +5697,97 @@
5609
5697
  <fo:block-container border="1pt solid black" width="50%">
5610
5698
  <fo:block> </fo:block>
5611
5699
  </fo:block-container>
5700
+ </xsl:template><xsl:template match="*[local-name() = 'toc']">
5701
+ <xsl:param name="colwidths"/>
5702
+ <xsl:variable name="colwidths_">
5703
+ <xsl:choose>
5704
+ <xsl:when test="not($colwidths)">
5705
+ <xsl:variable name="toc_table_simple">
5706
+ <tbody>
5707
+ <xsl:apply-templates mode="toc_table_width"/>
5708
+ </tbody>
5709
+ </xsl:variable>
5710
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($toc_table_simple)/*/tr[1]/td)"/>
5711
+ <xsl:call-template name="calculate-column-widths">
5712
+ <xsl:with-param name="cols-count" select="$cols-count"/>
5713
+ <xsl:with-param name="table" select="$toc_table_simple"/>
5714
+ </xsl:call-template>
5715
+ </xsl:when>
5716
+ <xsl:otherwise>
5717
+ <xsl:copy-of select="$colwidths"/>
5718
+ </xsl:otherwise>
5719
+ </xsl:choose>
5720
+ </xsl:variable>
5721
+ <fo:block role="TOCI" space-after="16pt">
5722
+ <fo:table width="100%" table-layout="fixed">
5723
+ <xsl:for-each select="xalan:nodeset($colwidths_)/column">
5724
+ <fo:table-column column-width="proportional-column-width({.})"/>
5725
+ </xsl:for-each>
5726
+ <fo:table-body>
5727
+ <xsl:apply-templates/>
5728
+ </fo:table-body>
5729
+ </fo:table>
5730
+ </fo:block>
5731
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']">
5732
+ <fo:table-row min-height="5mm">
5733
+ <xsl:apply-templates/>
5734
+ </fo:table-row>
5735
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']/*[local-name() = 'p']">
5736
+ <xsl:apply-templates/>
5737
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'xref']" priority="3">
5738
+ <!-- <xref target="cgpm9th1948r6">1.6.3<tab/>&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
5739
+ <xsl:variable name="target" select="@target"/>
5740
+ <xsl:for-each select="*[local-name() = 'tab']">
5741
+ <xsl:variable name="current_id" select="generate-id()"/>
5742
+ <fo:table-cell>
5743
+ <fo:block>
5744
+ <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
5745
+ <xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
5746
+ <xsl:choose>
5747
+ <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
5748
+ <xsl:otherwise><xsl:apply-templates select="."/></xsl:otherwise>
5749
+ </xsl:choose>
5750
+ </xsl:for-each>
5751
+ </fo:basic-link>
5752
+ </fo:block>
5753
+ </fo:table-cell>
5754
+ </xsl:for-each>
5755
+ <!-- last column - for page numbers -->
5756
+ <fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
5757
+ <fo:block>
5758
+ <fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
5759
+ <fo:page-number-citation ref-id="{$target}"/>
5760
+ </fo:basic-link>
5761
+ </fo:block>
5762
+ </fo:table-cell>
5763
+ </xsl:template><xsl:template match="*" mode="toc_table_width">
5764
+ <xsl:apply-templates mode="toc_table_width"/>
5765
+ </xsl:template><xsl:template match="*[local-name() = 'clause'][@type = 'toc']/*[local-name() = 'title']" mode="toc_table_width"/><xsl:template match="*[local-name() = 'clause'][not(@type = 'toc')]/*[local-name() = 'title']" mode="toc_table_width"/><xsl:template match="*[local-name() = 'li']" mode="toc_table_width">
5766
+ <tr>
5767
+ <xsl:apply-templates mode="toc_table_width"/>
5768
+ </tr>
5769
+ </xsl:template><xsl:template match="*[local-name() = 'xref']" mode="toc_table_width">
5770
+ <!-- <xref target="cgpm9th1948r6">1.6.3<tab/>&#8220;9th CGPM, 1948:<tab/>decision to establish the SI&#8221;</xref> -->
5771
+ <xsl:for-each select="*[local-name() = 'tab']">
5772
+ <xsl:variable name="current_id" select="generate-id()"/>
5773
+ <td>
5774
+ <xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
5775
+ <xsl:copy-of select="."/>
5776
+ </xsl:for-each>
5777
+ </td>
5778
+ </xsl:for-each>
5779
+ <td>333</td> <!-- page number, just for fill -->
5612
5780
  </xsl:template><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']"/><xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
5613
5781
  <fo:inline padding-right="5mm"> </fo:inline>
5614
5782
  <fo:inline><xsl:apply-templates/></fo:inline>
5783
+ </xsl:template><xsl:template match="*[local-name() = 'blacksquare']" name="blacksquare">
5784
+ <fo:inline padding-right="2.5mm" baseline-shift="5%">
5785
+ <fo:instream-foreign-object content-height="2mm" content-width="2mm" fox:alt-text="Quad">
5786
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" viewBox="0 0 2 2">
5787
+ <rect x="0" y="0" width="2" height="2" fill="black"/>
5788
+ </svg>
5789
+ </fo:instream-foreign-object>
5790
+ </fo:inline>
5615
5791
  </xsl:template><xsl:template name="convertDate">
5616
5792
  <xsl:param name="date"/>
5617
5793
  <xsl:param name="format" select="'short'"/>