metanorma-ogc 1.4.3 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1658,6 +1658,8 @@
1658
1658
 
1659
1659
  <title-list-figures lang="en">List of Figures</title-list-figures>
1660
1660
 
1661
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1662
+
1661
1663
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1662
1664
 
1663
1665
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1987,6 +1989,11 @@
1987
1989
 
1988
1990
 
1989
1991
 
1992
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1993
+
1994
+
1995
+
1996
+
1990
1997
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1991
1998
 
1992
1999
 
@@ -3119,9 +3126,8 @@
3119
3126
 
3120
3127
  <!-- Table's note name (NOTE, for example) -->
3121
3128
 
3122
- <fo:inline padding-right="2mm">
3129
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3123
3130
 
3124
-
3125
3131
 
3126
3132
 
3127
3133
 
@@ -3749,6 +3755,8 @@
3749
3755
  <xsl:if test="$font-size != ''">
3750
3756
  <xsl:attribute name="font-size">
3751
3757
  <xsl:choose>
3758
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3759
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3752
3760
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3753
3761
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3754
3762
  </xsl:choose>
@@ -4556,6 +4564,7 @@
4556
4564
  <xsl:otherwise>
4557
4565
  <fo:block xsl:use-attribute-sets="image-style">
4558
4566
 
4567
+
4559
4568
  <xsl:variable name="src">
4560
4569
  <xsl:call-template name="image_src"/>
4561
4570
  </xsl:variable>
@@ -4922,7 +4931,7 @@
4922
4931
  <xsl:text> </xsl:text>
4923
4932
  </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">
4924
4933
  <xsl:value-of select="."/>
4925
- </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">
4934
+ </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">
4926
4935
  <xsl:value-of select="."/>
4927
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4928
4937
  <xsl:apply-templates mode="contents"/>
@@ -5015,41 +5024,72 @@
5015
5024
 
5016
5025
 
5017
5026
 
5018
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5019
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5020
- <fo:bookmark-title>Figures</fo:bookmark-title>
5021
- <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5027
+
5028
+
5029
+
5030
+
5031
+
5032
+ <xsl:variable name="list_of_tables_">
5033
+ <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5034
+ <table id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table>
5035
+ </xsl:for-each>
5036
+ </xsl:variable>
5037
+ <xsl:variable name="list_of_tables" select="xalan:nodeset($list_of_tables_)"/>
5038
+
5039
+ <xsl:variable name="list_of_figures_">
5040
+ <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5041
+ <figure id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></figure>
5042
+ </xsl:for-each>
5043
+ </xsl:variable>
5044
+ <xsl:variable name="list_of_figures" select="xalan:nodeset($list_of_figures_)"/>
5045
+
5046
+ <xsl:if test="$list_of_tables//table or $list_of_figures/figure or //*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5047
+ <fo:bookmark internal-destination="empty_bookmark">
5048
+ <fo:bookmark-title>—————</fo:bookmark-title>
5049
+ </fo:bookmark>
5050
+ </xsl:if>
5051
+
5052
+ <xsl:if test="$list_of_tables//table">
5053
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_tables//table[1]/@id} -->
5054
+ <fo:bookmark-title>
5055
+ <xsl:call-template name="getTitle">
5056
+ <xsl:with-param name="name" select="'title-list-tables'"/>
5057
+ </xsl:call-template>
5058
+ </fo:bookmark-title>
5059
+ <xsl:for-each select="$list_of_tables//table">
5022
5060
  <fo:bookmark internal-destination="{@id}">
5023
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']/text()" mode="bookmarks"/></fo:bookmark-title>
5061
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5024
5062
  </fo:bookmark>
5025
5063
  </xsl:for-each>
5026
- </fo:bookmark>
5064
+ </fo:bookmark>
5027
5065
  </xsl:if>
5028
-
5029
-
5030
-
5031
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5032
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5066
+
5067
+ <xsl:if test="$list_of_figures//figure">
5068
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_figures//figure[1]/@id} -->
5033
5069
  <fo:bookmark-title>
5034
- <xsl:choose>
5035
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5036
- <xsl:otherwise>Tables</xsl:otherwise>
5037
- </xsl:choose>
5070
+
5071
+ <xsl:call-template name="getTitle">
5072
+ <xsl:with-param name="name" select="'title-list-figures'"/>
5073
+ </xsl:call-template>
5074
+
5075
+
5038
5076
  </fo:bookmark-title>
5039
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5040
5078
  <fo:bookmark internal-destination="{@id}">
5041
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']//text()" mode="bookmarks"/></fo:bookmark-title>
5079
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5042
5080
  </fo:bookmark>
5043
5081
  </xsl:for-each>
5044
- </fo:bookmark>
5082
+ </fo:bookmark>
5045
5083
  </xsl:if>
5046
-
5047
-
5048
-
5049
-
5084
+
5085
+
5050
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5051
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5052
- <fo:bookmark-title>Recommendations</fo:bookmark-title>
5087
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id} -->
5088
+ <fo:bookmark-title>
5089
+ <xsl:call-template name="getTitle">
5090
+ <xsl:with-param name="name" select="'title-list-recommendations'"/>
5091
+ </xsl:call-template>
5092
+ </fo:bookmark-title>
5053
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5054
5094
  <xsl:variable name="table_id" select="@id"/>
5055
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5057,8 +5097,7 @@
5057
5097
  </fo:bookmark>
5058
5098
  </xsl:for-each>
5059
5099
  </fo:bookmark>
5060
-
5061
- </xsl:if>
5100
+ </xsl:if>
5062
5101
 
5063
5102
 
5064
5103
 
@@ -5256,12 +5295,16 @@
5256
5295
  <xsl:if test="$font-size != ''">
5257
5296
  <xsl:attribute name="font-size">
5258
5297
  <xsl:choose>
5298
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
5299
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
5259
5300
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
5260
5301
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
5261
5302
  </xsl:choose>
5262
5303
  </xsl:attribute>
5263
5304
  </xsl:if>
5264
5305
 
5306
+
5307
+
5265
5308
  <xsl:apply-templates/>
5266
5309
  </fo:block>
5267
5310
 
@@ -5617,6 +5660,7 @@
5617
5660
  </xsl:choose>
5618
5661
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5619
5662
  <fo:block xsl:use-attribute-sets="termsource-style">
5663
+
5620
5664
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5621
5665
  <xsl:variable name="termsource_text">
5622
5666
  <xsl:apply-templates/>
@@ -1658,6 +1658,8 @@
1658
1658
 
1659
1659
  <title-list-figures lang="en">List of Figures</title-list-figures>
1660
1660
 
1661
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1662
+
1661
1663
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1662
1664
 
1663
1665
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1987,6 +1989,11 @@
1987
1989
 
1988
1990
 
1989
1991
 
1992
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1993
+
1994
+
1995
+
1996
+
1990
1997
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1991
1998
 
1992
1999
 
@@ -3119,9 +3126,8 @@
3119
3126
 
3120
3127
  <!-- Table's note name (NOTE, for example) -->
3121
3128
 
3122
- <fo:inline padding-right="2mm">
3129
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3123
3130
 
3124
-
3125
3131
 
3126
3132
 
3127
3133
 
@@ -3749,6 +3755,8 @@
3749
3755
  <xsl:if test="$font-size != ''">
3750
3756
  <xsl:attribute name="font-size">
3751
3757
  <xsl:choose>
3758
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3759
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3752
3760
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3753
3761
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3754
3762
  </xsl:choose>
@@ -4556,6 +4564,7 @@
4556
4564
  <xsl:otherwise>
4557
4565
  <fo:block xsl:use-attribute-sets="image-style">
4558
4566
 
4567
+
4559
4568
  <xsl:variable name="src">
4560
4569
  <xsl:call-template name="image_src"/>
4561
4570
  </xsl:variable>
@@ -4922,7 +4931,7 @@
4922
4931
  <xsl:text> </xsl:text>
4923
4932
  </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">
4924
4933
  <xsl:value-of select="."/>
4925
- </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">
4934
+ </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">
4926
4935
  <xsl:value-of select="."/>
4927
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4928
4937
  <xsl:apply-templates mode="contents"/>
@@ -5015,41 +5024,72 @@
5015
5024
 
5016
5025
 
5017
5026
 
5018
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5019
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5020
- <fo:bookmark-title>Figures</fo:bookmark-title>
5021
- <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5027
+
5028
+
5029
+
5030
+
5031
+
5032
+ <xsl:variable name="list_of_tables_">
5033
+ <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5034
+ <table id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table>
5035
+ </xsl:for-each>
5036
+ </xsl:variable>
5037
+ <xsl:variable name="list_of_tables" select="xalan:nodeset($list_of_tables_)"/>
5038
+
5039
+ <xsl:variable name="list_of_figures_">
5040
+ <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5041
+ <figure id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></figure>
5042
+ </xsl:for-each>
5043
+ </xsl:variable>
5044
+ <xsl:variable name="list_of_figures" select="xalan:nodeset($list_of_figures_)"/>
5045
+
5046
+ <xsl:if test="$list_of_tables//table or $list_of_figures/figure or //*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5047
+ <fo:bookmark internal-destination="empty_bookmark">
5048
+ <fo:bookmark-title>—————</fo:bookmark-title>
5049
+ </fo:bookmark>
5050
+ </xsl:if>
5051
+
5052
+ <xsl:if test="$list_of_tables//table">
5053
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_tables//table[1]/@id} -->
5054
+ <fo:bookmark-title>
5055
+ <xsl:call-template name="getTitle">
5056
+ <xsl:with-param name="name" select="'title-list-tables'"/>
5057
+ </xsl:call-template>
5058
+ </fo:bookmark-title>
5059
+ <xsl:for-each select="$list_of_tables//table">
5022
5060
  <fo:bookmark internal-destination="{@id}">
5023
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']/text()" mode="bookmarks"/></fo:bookmark-title>
5061
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5024
5062
  </fo:bookmark>
5025
5063
  </xsl:for-each>
5026
- </fo:bookmark>
5064
+ </fo:bookmark>
5027
5065
  </xsl:if>
5028
-
5029
-
5030
-
5031
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5032
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5066
+
5067
+ <xsl:if test="$list_of_figures//figure">
5068
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_figures//figure[1]/@id} -->
5033
5069
  <fo:bookmark-title>
5034
- <xsl:choose>
5035
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5036
- <xsl:otherwise>Tables</xsl:otherwise>
5037
- </xsl:choose>
5070
+
5071
+ <xsl:call-template name="getTitle">
5072
+ <xsl:with-param name="name" select="'title-list-figures'"/>
5073
+ </xsl:call-template>
5074
+
5075
+
5038
5076
  </fo:bookmark-title>
5039
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5040
5078
  <fo:bookmark internal-destination="{@id}">
5041
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']//text()" mode="bookmarks"/></fo:bookmark-title>
5079
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5042
5080
  </fo:bookmark>
5043
5081
  </xsl:for-each>
5044
- </fo:bookmark>
5082
+ </fo:bookmark>
5045
5083
  </xsl:if>
5046
-
5047
-
5048
-
5049
-
5084
+
5085
+
5050
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5051
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5052
- <fo:bookmark-title>Recommendations</fo:bookmark-title>
5087
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id} -->
5088
+ <fo:bookmark-title>
5089
+ <xsl:call-template name="getTitle">
5090
+ <xsl:with-param name="name" select="'title-list-recommendations'"/>
5091
+ </xsl:call-template>
5092
+ </fo:bookmark-title>
5053
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5054
5094
  <xsl:variable name="table_id" select="@id"/>
5055
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5057,8 +5097,7 @@
5057
5097
  </fo:bookmark>
5058
5098
  </xsl:for-each>
5059
5099
  </fo:bookmark>
5060
-
5061
- </xsl:if>
5100
+ </xsl:if>
5062
5101
 
5063
5102
 
5064
5103
 
@@ -5256,12 +5295,16 @@
5256
5295
  <xsl:if test="$font-size != ''">
5257
5296
  <xsl:attribute name="font-size">
5258
5297
  <xsl:choose>
5298
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
5299
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
5259
5300
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
5260
5301
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
5261
5302
  </xsl:choose>
5262
5303
  </xsl:attribute>
5263
5304
  </xsl:if>
5264
5305
 
5306
+
5307
+
5265
5308
  <xsl:apply-templates/>
5266
5309
  </fo:block>
5267
5310
 
@@ -5617,6 +5660,7 @@
5617
5660
  </xsl:choose>
5618
5661
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5619
5662
  <fo:block xsl:use-attribute-sets="termsource-style">
5663
+
5620
5664
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5621
5665
  <xsl:variable name="termsource_text">
5622
5666
  <xsl:apply-templates/>
@@ -1658,6 +1658,8 @@
1658
1658
 
1659
1659
  <title-list-figures lang="en">List of Figures</title-list-figures>
1660
1660
 
1661
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1662
+
1661
1663
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1662
1664
 
1663
1665
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -1987,6 +1989,11 @@
1987
1989
 
1988
1990
 
1989
1991
 
1992
+ </xsl:attribute-set><xsl:attribute-set name="table-note-name-style">
1993
+
1994
+
1995
+
1996
+
1990
1997
  </xsl:attribute-set><xsl:attribute-set name="note-p-style">
1991
1998
 
1992
1999
 
@@ -3119,9 +3126,8 @@
3119
3126
 
3120
3127
  <!-- Table's note name (NOTE, for example) -->
3121
3128
 
3122
- <fo:inline padding-right="2mm">
3129
+ <fo:inline padding-right="2mm" xsl:use-attribute-sets="table-note-name-style">
3123
3130
 
3124
-
3125
3131
 
3126
3132
 
3127
3133
 
@@ -3749,6 +3755,8 @@
3749
3755
  <xsl:if test="$font-size != ''">
3750
3756
  <xsl:attribute name="font-size">
3751
3757
  <xsl:choose>
3758
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
3759
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
3752
3760
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
3753
3761
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
3754
3762
  </xsl:choose>
@@ -4556,6 +4564,7 @@
4556
4564
  <xsl:otherwise>
4557
4565
  <fo:block xsl:use-attribute-sets="image-style">
4558
4566
 
4567
+
4559
4568
  <xsl:variable name="src">
4560
4569
  <xsl:call-template name="image_src"/>
4561
4570
  </xsl:variable>
@@ -4922,7 +4931,7 @@
4922
4931
  <xsl:text> </xsl:text>
4923
4932
  </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">
4924
4933
  <xsl:value-of select="."/>
4925
- </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">
4934
+ </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">
4926
4935
  <xsl:value-of select="."/>
4927
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4928
4937
  <xsl:apply-templates mode="contents"/>
@@ -5015,41 +5024,72 @@
5015
5024
 
5016
5025
 
5017
5026
 
5018
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5019
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5020
- <fo:bookmark-title>Figures</fo:bookmark-title>
5021
- <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5027
+
5028
+
5029
+
5030
+
5031
+
5032
+ <xsl:variable name="list_of_tables_">
5033
+ <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5034
+ <table id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table>
5035
+ </xsl:for-each>
5036
+ </xsl:variable>
5037
+ <xsl:variable name="list_of_tables" select="xalan:nodeset($list_of_tables_)"/>
5038
+
5039
+ <xsl:variable name="list_of_figures_">
5040
+ <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name'] and contains(*[local-name() = 'name'], '—')]">
5041
+ <figure id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></figure>
5042
+ </xsl:for-each>
5043
+ </xsl:variable>
5044
+ <xsl:variable name="list_of_figures" select="xalan:nodeset($list_of_figures_)"/>
5045
+
5046
+ <xsl:if test="$list_of_tables//table or $list_of_figures/figure or //*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5047
+ <fo:bookmark internal-destination="empty_bookmark">
5048
+ <fo:bookmark-title>—————</fo:bookmark-title>
5049
+ </fo:bookmark>
5050
+ </xsl:if>
5051
+
5052
+ <xsl:if test="$list_of_tables//table">
5053
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_tables//table[1]/@id} -->
5054
+ <fo:bookmark-title>
5055
+ <xsl:call-template name="getTitle">
5056
+ <xsl:with-param name="name" select="'title-list-tables'"/>
5057
+ </xsl:call-template>
5058
+ </fo:bookmark-title>
5059
+ <xsl:for-each select="$list_of_tables//table">
5022
5060
  <fo:bookmark internal-destination="{@id}">
5023
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']/text()" mode="bookmarks"/></fo:bookmark-title>
5061
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5024
5062
  </fo:bookmark>
5025
5063
  </xsl:for-each>
5026
- </fo:bookmark>
5064
+ </fo:bookmark>
5027
5065
  </xsl:if>
5028
-
5029
-
5030
-
5031
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5032
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5066
+
5067
+ <xsl:if test="$list_of_figures//figure">
5068
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_figures//figure[1]/@id} -->
5033
5069
  <fo:bookmark-title>
5034
- <xsl:choose>
5035
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5036
- <xsl:otherwise>Tables</xsl:otherwise>
5037
- </xsl:choose>
5070
+
5071
+ <xsl:call-template name="getTitle">
5072
+ <xsl:with-param name="name" select="'title-list-figures'"/>
5073
+ </xsl:call-template>
5074
+
5075
+
5038
5076
  </fo:bookmark-title>
5039
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5040
5078
  <fo:bookmark internal-destination="{@id}">
5041
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']//text()" mode="bookmarks"/></fo:bookmark-title>
5079
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
5042
5080
  </fo:bookmark>
5043
5081
  </xsl:for-each>
5044
- </fo:bookmark>
5082
+ </fo:bookmark>
5045
5083
  </xsl:if>
5046
-
5047
-
5048
-
5049
-
5084
+
5085
+
5050
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5051
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5052
- <fo:bookmark-title>Recommendations</fo:bookmark-title>
5087
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id} -->
5088
+ <fo:bookmark-title>
5089
+ <xsl:call-template name="getTitle">
5090
+ <xsl:with-param name="name" select="'title-list-recommendations'"/>
5091
+ </xsl:call-template>
5092
+ </fo:bookmark-title>
5053
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5054
5094
  <xsl:variable name="table_id" select="@id"/>
5055
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5057,8 +5097,7 @@
5057
5097
  </fo:bookmark>
5058
5098
  </xsl:for-each>
5059
5099
  </fo:bookmark>
5060
-
5061
- </xsl:if>
5100
+ </xsl:if>
5062
5101
 
5063
5102
 
5064
5103
 
@@ -5256,12 +5295,16 @@
5256
5295
  <xsl:if test="$font-size != ''">
5257
5296
  <xsl:attribute name="font-size">
5258
5297
  <xsl:choose>
5298
+ <xsl:when test="$font-size = 'inherit'"><xsl:value-of select="$font-size"/></xsl:when>
5299
+ <xsl:when test="contains($font-size, '%')"><xsl:value-of select="$font-size"/></xsl:when>
5259
5300
  <xsl:when test="ancestor::*[local-name()='note']"><xsl:value-of select="$font-size * 0.91"/>pt</xsl:when>
5260
5301
  <xsl:otherwise><xsl:value-of select="$font-size"/>pt</xsl:otherwise>
5261
5302
  </xsl:choose>
5262
5303
  </xsl:attribute>
5263
5304
  </xsl:if>
5264
5305
 
5306
+
5307
+
5265
5308
  <xsl:apply-templates/>
5266
5309
  </fo:block>
5267
5310
 
@@ -5617,6 +5660,7 @@
5617
5660
  </xsl:choose>
5618
5661
  </xsl:template><xsl:template match="*[local-name() = 'termsource']" name="termsource">
5619
5662
  <fo:block xsl:use-attribute-sets="termsource-style">
5663
+
5620
5664
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
5621
5665
  <xsl:variable name="termsource_text">
5622
5666
  <xsl:apply-templates/>