metanorma-ogc 1.4.4 → 1.4.5

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>
@@ -4562,6 +4564,7 @@
4562
4564
  <xsl:otherwise>
4563
4565
  <fo:block xsl:use-attribute-sets="image-style">
4564
4566
 
4567
+
4565
4568
  <xsl:variable name="src">
4566
4569
  <xsl:call-template name="image_src"/>
4567
4570
  </xsl:variable>
@@ -4928,7 +4931,7 @@
4928
4931
  <xsl:text> </xsl:text>
4929
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">
4930
4933
  <xsl:value-of select="."/>
4931
- </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">
4932
4935
  <xsl:value-of select="."/>
4933
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4934
4937
  <xsl:apply-templates mode="contents"/>
@@ -5021,41 +5024,72 @@
5021
5024
 
5022
5025
 
5023
5026
 
5024
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5025
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5026
- <fo:bookmark-title>Figures</fo:bookmark-title>
5027
- <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">
5028
5060
  <fo:bookmark internal-destination="{@id}">
5029
- <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>
5030
5062
  </fo:bookmark>
5031
5063
  </xsl:for-each>
5032
- </fo:bookmark>
5064
+ </fo:bookmark>
5033
5065
  </xsl:if>
5034
-
5035
-
5036
-
5037
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5038
- <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} -->
5039
5069
  <fo:bookmark-title>
5040
- <xsl:choose>
5041
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5042
- <xsl:otherwise>Tables</xsl:otherwise>
5043
- </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
+
5044
5076
  </fo:bookmark-title>
5045
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5046
5078
  <fo:bookmark internal-destination="{@id}">
5047
- <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>
5048
5080
  </fo:bookmark>
5049
5081
  </xsl:for-each>
5050
- </fo:bookmark>
5082
+ </fo:bookmark>
5051
5083
  </xsl:if>
5052
-
5053
-
5054
-
5055
-
5084
+
5085
+
5056
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5057
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5058
- <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>
5059
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5060
5094
  <xsl:variable name="table_id" select="@id"/>
5061
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5063,8 +5097,7 @@
5063
5097
  </fo:bookmark>
5064
5098
  </xsl:for-each>
5065
5099
  </fo:bookmark>
5066
-
5067
- </xsl:if>
5100
+ </xsl:if>
5068
5101
 
5069
5102
 
5070
5103
 
@@ -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>
@@ -4562,6 +4564,7 @@
4562
4564
  <xsl:otherwise>
4563
4565
  <fo:block xsl:use-attribute-sets="image-style">
4564
4566
 
4567
+
4565
4568
  <xsl:variable name="src">
4566
4569
  <xsl:call-template name="image_src"/>
4567
4570
  </xsl:variable>
@@ -4928,7 +4931,7 @@
4928
4931
  <xsl:text> </xsl:text>
4929
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">
4930
4933
  <xsl:value-of select="."/>
4931
- </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">
4932
4935
  <xsl:value-of select="."/>
4933
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4934
4937
  <xsl:apply-templates mode="contents"/>
@@ -5021,41 +5024,72 @@
5021
5024
 
5022
5025
 
5023
5026
 
5024
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5025
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5026
- <fo:bookmark-title>Figures</fo:bookmark-title>
5027
- <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">
5028
5060
  <fo:bookmark internal-destination="{@id}">
5029
- <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>
5030
5062
  </fo:bookmark>
5031
5063
  </xsl:for-each>
5032
- </fo:bookmark>
5064
+ </fo:bookmark>
5033
5065
  </xsl:if>
5034
-
5035
-
5036
-
5037
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5038
- <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} -->
5039
5069
  <fo:bookmark-title>
5040
- <xsl:choose>
5041
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5042
- <xsl:otherwise>Tables</xsl:otherwise>
5043
- </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
+
5044
5076
  </fo:bookmark-title>
5045
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5046
5078
  <fo:bookmark internal-destination="{@id}">
5047
- <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>
5048
5080
  </fo:bookmark>
5049
5081
  </xsl:for-each>
5050
- </fo:bookmark>
5082
+ </fo:bookmark>
5051
5083
  </xsl:if>
5052
-
5053
-
5054
-
5055
-
5084
+
5085
+
5056
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5057
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5058
- <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>
5059
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5060
5094
  <xsl:variable name="table_id" select="@id"/>
5061
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5063,8 +5097,7 @@
5063
5097
  </fo:bookmark>
5064
5098
  </xsl:for-each>
5065
5099
  </fo:bookmark>
5066
-
5067
- </xsl:if>
5100
+ </xsl:if>
5068
5101
 
5069
5102
 
5070
5103
 
@@ -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>
@@ -4562,6 +4564,7 @@
4562
4564
  <xsl:otherwise>
4563
4565
  <fo:block xsl:use-attribute-sets="image-style">
4564
4566
 
4567
+
4565
4568
  <xsl:variable name="src">
4566
4569
  <xsl:call-template name="image_src"/>
4567
4570
  </xsl:variable>
@@ -4928,7 +4931,7 @@
4928
4931
  <xsl:text> </xsl:text>
4929
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">
4930
4933
  <xsl:value-of select="."/>
4931
- </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">
4932
4935
  <xsl:value-of select="."/>
4933
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4934
4937
  <xsl:apply-templates mode="contents"/>
@@ -5021,41 +5024,72 @@
5021
5024
 
5022
5025
 
5023
5026
 
5024
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5025
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5026
- <fo:bookmark-title>Figures</fo:bookmark-title>
5027
- <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">
5028
5060
  <fo:bookmark internal-destination="{@id}">
5029
- <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>
5030
5062
  </fo:bookmark>
5031
5063
  </xsl:for-each>
5032
- </fo:bookmark>
5064
+ </fo:bookmark>
5033
5065
  </xsl:if>
5034
-
5035
-
5036
-
5037
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5038
- <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} -->
5039
5069
  <fo:bookmark-title>
5040
- <xsl:choose>
5041
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5042
- <xsl:otherwise>Tables</xsl:otherwise>
5043
- </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
+
5044
5076
  </fo:bookmark-title>
5045
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5046
5078
  <fo:bookmark internal-destination="{@id}">
5047
- <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>
5048
5080
  </fo:bookmark>
5049
5081
  </xsl:for-each>
5050
- </fo:bookmark>
5082
+ </fo:bookmark>
5051
5083
  </xsl:if>
5052
-
5053
-
5054
-
5055
-
5084
+
5085
+
5056
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5057
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5058
- <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>
5059
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5060
5094
  <xsl:variable name="table_id" select="@id"/>
5061
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5063,8 +5097,7 @@
5063
5097
  </fo:bookmark>
5064
5098
  </xsl:for-each>
5065
5099
  </fo:bookmark>
5066
-
5067
- </xsl:if>
5100
+ </xsl:if>
5068
5101
 
5069
5102
 
5070
5103
 
@@ -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>
@@ -4562,6 +4564,7 @@
4562
4564
  <xsl:otherwise>
4563
4565
  <fo:block xsl:use-attribute-sets="image-style">
4564
4566
 
4567
+
4565
4568
  <xsl:variable name="src">
4566
4569
  <xsl:call-template name="image_src"/>
4567
4570
  </xsl:variable>
@@ -4928,7 +4931,7 @@
4928
4931
  <xsl:text> </xsl:text>
4929
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">
4930
4933
  <xsl:value-of select="."/>
4931
- </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">
4932
4935
  <xsl:value-of select="."/>
4933
4936
  </xsl:template><xsl:template match="node()" mode="contents">
4934
4937
  <xsl:apply-templates mode="contents"/>
@@ -5021,41 +5024,72 @@
5021
5024
 
5022
5025
 
5023
5026
 
5024
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
5025
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
5026
- <fo:bookmark-title>Figures</fo:bookmark-title>
5027
- <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">
5028
5060
  <fo:bookmark internal-destination="{@id}">
5029
- <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>
5030
5062
  </fo:bookmark>
5031
5063
  </xsl:for-each>
5032
- </fo:bookmark>
5064
+ </fo:bookmark>
5033
5065
  </xsl:if>
5034
-
5035
-
5036
-
5037
- <xsl:if test="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5038
- <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} -->
5039
5069
  <fo:bookmark-title>
5040
- <xsl:choose>
5041
- <xsl:when test="@lang = 'fr'">Tableaux</xsl:when>
5042
- <xsl:otherwise>Tables</xsl:otherwise>
5043
- </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
+
5044
5076
  </fo:bookmark-title>
5045
- <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']]">
5077
+ <xsl:for-each select="$list_of_figures//figure">
5046
5078
  <fo:bookmark internal-destination="{@id}">
5047
- <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>
5048
5080
  </fo:bookmark>
5049
5081
  </xsl:for-each>
5050
- </fo:bookmark>
5082
+ </fo:bookmark>
5051
5083
  </xsl:if>
5052
-
5053
-
5054
-
5055
-
5084
+
5085
+
5056
5086
  <xsl:if test="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5057
- <fo:bookmark internal-destination="{//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']][1]/@id}" starting-state="hide">
5058
- <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>
5059
5093
  <xsl:for-each select="//*[local-name() = 'table'][.//*[local-name() = 'p'][@class = 'RecommendationTitle']]">
5060
5094
  <xsl:variable name="table_id" select="@id"/>
5061
5095
  <fo:bookmark internal-destination="{@id}">
@@ -5063,8 +5097,7 @@
5063
5097
  </fo:bookmark>
5064
5098
  </xsl:for-each>
5065
5099
  </fo:bookmark>
5066
-
5067
- </xsl:if>
5100
+ </xsl:if>
5068
5101
 
5069
5102
 
5070
5103
 
@@ -243,7 +243,10 @@
243
243
  <fo:block font-size="11pt" margin-top="8pt"> </fo:block>
244
244
  <fo:block font-size="11pt" margin-top="8pt"> </fo:block>
245
245
  <fo:block xsl:use-attribute-sets="title-toc-style">
246
- <xsl:text>Table of Figures</xsl:text>
246
+ <!-- <xsl:text>Table of Figures</xsl:text> -->
247
+ <xsl:call-template name="getTitle">
248
+ <xsl:with-param name="name" select="'title-table-figures'"/>
249
+ </xsl:call-template>
247
250
  </fo:block>
248
251
  <xsl:for-each select="//ogc:figure[@id and ogc:name] | //ogc:table[@id and ogc:name]">
249
252
  <fo:block margin-top="8pt" margin-bottom="5pt" text-align-last="justify" role="TOCI">
@@ -1014,6 +1017,8 @@
1014
1017
 
1015
1018
  <title-list-figures lang="en">List of Figures</title-list-figures>
1016
1019
 
1020
+ <title-table-figures lang="en">Table of Figures</title-table-figures>
1021
+
1017
1022
  <title-list-recommendations lang="en">List of Recommendations</title-list-recommendations>
1018
1023
 
1019
1024
  <title-acknowledgements lang="en">Acknowledgements</title-acknowledgements>
@@ -3914,6 +3919,7 @@
3914
3919
  <xsl:otherwise>
3915
3920
  <fo:block xsl:use-attribute-sets="image-style">
3916
3921
 
3922
+
3917
3923
  <xsl:variable name="src">
3918
3924
  <xsl:call-template name="image_src"/>
3919
3925
  </xsl:variable>
@@ -4280,7 +4286,7 @@
4280
4286
  <xsl:text> </xsl:text>
4281
4287
  </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">
4282
4288
  <xsl:value-of select="."/>
4283
- </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">
4289
+ </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">
4284
4290
  <xsl:value-of select="."/>
4285
4291
  </xsl:template><xsl:template match="node()" mode="contents">
4286
4292
  <xsl:apply-templates mode="contents"/>
@@ -4373,22 +4379,46 @@
4373
4379
 
4374
4380
 
4375
4381
 
4376
- <xsl:if test="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
4377
- <fo:bookmark internal-destination="{//*[local-name() = 'figure'][@id and *[local-name() = 'name']][1]/@id}" starting-state="hide">
4378
- <fo:bookmark-title>Figures</fo:bookmark-title>
4379
- <xsl:for-each select="//*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
4382
+
4383
+
4384
+
4385
+
4386
+
4387
+
4388
+ <xsl:variable name="list_of_tables_figures_">
4389
+ <xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name']] | //*[local-name() = 'figure'][@id and *[local-name() = 'name']]">
4390
+ <table_figure id="{@id}"><xsl:apply-templates select="*[local-name() = 'name']" mode="bookmarks"/></table_figure>
4391
+ </xsl:for-each>
4392
+ </xsl:variable>
4393
+ <xsl:variable name="list_of_tables_figures" select="xalan:nodeset($list_of_tables_figures_)"/>
4394
+
4395
+
4396
+ <xsl:if test="$list_of_tables_figures/table_figure">
4397
+ <fo:bookmark internal-destination="empty_bookmark">
4398
+ <fo:bookmark-title>—————</fo:bookmark-title>
4399
+ </fo:bookmark>
4400
+ </xsl:if>
4401
+
4402
+ <xsl:if test="$list_of_tables_figures//table_figure">
4403
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide"> <!-- {$list_of_figures//figure[1]/@id} -->
4404
+ <fo:bookmark-title>
4405
+
4406
+
4407
+ <xsl:call-template name="getTitle">
4408
+ <xsl:with-param name="name" select="'title-table-figures'"/>
4409
+ </xsl:call-template>
4410
+
4411
+ </fo:bookmark-title>
4412
+ <xsl:for-each select="$list_of_tables_figures//table_figure">
4380
4413
  <fo:bookmark internal-destination="{@id}">
4381
- <fo:bookmark-title><xsl:apply-templates select="*[local-name() = 'name']/text()" mode="bookmarks"/></fo:bookmark-title>
4414
+ <fo:bookmark-title><xsl:value-of select="."/></fo:bookmark-title>
4382
4415
  </fo:bookmark>
4383
4416
  </xsl:for-each>
4384
- </fo:bookmark>
4417
+ </fo:bookmark>
4385
4418
  </xsl:if>
4386
4419
 
4387
4420
 
4388
4421
 
4389
-
4390
-
4391
-
4392
4422
  </fo:bookmark-tree>
4393
4423
  </xsl:if>
4394
4424
  </xsl:template><xsl:template name="insertFigureBookmarks">
@@ -49,7 +49,7 @@ module IsoDoc
49
49
  label.xpath(ns(".//concept")).each { |f| concept1(f) }
50
50
  b = out.add_child("<tr><td colspan='2'><p></p></td></tr>")
51
51
  p = b.at(ns(".//p"))
52
- p << label.text
52
+ p << label.children.to_xml
53
53
  end
54
54
 
55
55
  def recommendation_attributes1(node)