metanorma-ogc 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6245ace03109e272fe254101d73a9cc5480d88d381c55d74559a947765996927
4
- data.tar.gz: b26cf5092c6612aca2b976587bcca88a6779d8df5a71c65e83c906ca50448f92
3
+ metadata.gz: 76f90019c544dd20c528d3e2f57d15793329886d62b98bcba60f969430c87fdf
4
+ data.tar.gz: 720a263164977814ab6fa7008563a082d6ebce3d514323efc5cba5abf9ab9695
5
5
  SHA512:
6
- metadata.gz: 6a043cf809b33c32c3f5fba14a6b626bde3a3a0b17378fc09d5de47d5d3ea1f469b8b2a2e47d4a04ef603b7a9d57a17977e9d37e8f3ff71ec2af7892aa0df20d
7
- data.tar.gz: 3535cca021ddde7151343fb0b281685bcda3e2800256eb2e2f3a60a3508ae11a39c9a57cd866642b4ca31b18692cdcff10b0707fed54caadb8eff61fd4cc8d89
6
+ metadata.gz: dce09236dbe9a502c134fbe243fbb9d18eb0d8c1c1ced88af0c7644ba665a054b8e2701b7cfe7a9e4e5cb9ef9f35308165a302858b8771990c046168fadef155
7
+ data.tar.gz: 5311eba244989127179285767469d09aa16f00745d814c9b7963ae5eb349fb95932d51489a0e140912585fc424045b6d964a30c851f17d254a7e5e80b8c027da
@@ -596,6 +596,7 @@
596
596
  <ref name="bookmark"/>
597
597
  <ref name="image"/>
598
598
  <ref name="index"/>
599
+ <ref name="index-xref"/>
599
600
  </choice>
600
601
  </define>
601
602
  <define name="PureTextElement">
@@ -737,6 +738,37 @@
737
738
  </optional>
738
739
  </element>
739
740
  </define>
741
+ <define name="index-xref">
742
+ <element name="index-xref">
743
+ <attribute name="also">
744
+ <data type="boolean"/>
745
+ </attribute>
746
+ <element name="primary">
747
+ <oneOrMore>
748
+ <ref name="PureTextElement"/>
749
+ </oneOrMore>
750
+ </element>
751
+ <optional>
752
+ <element name="secondary">
753
+ <oneOrMore>
754
+ <ref name="PureTextElement"/>
755
+ </oneOrMore>
756
+ </element>
757
+ </optional>
758
+ <optional>
759
+ <element name="tertiary">
760
+ <oneOrMore>
761
+ <ref name="PureTextElement"/>
762
+ </oneOrMore>
763
+ </element>
764
+ </optional>
765
+ <element name="target">
766
+ <oneOrMore>
767
+ <ref name="PureTextElement"/>
768
+ </oneOrMore>
769
+ </element>
770
+ </element>
771
+ </define>
740
772
  <!-- bare ID element, used for referencing arbitrary spans of text -->
741
773
  <define name="bookmark">
742
774
  <element name="bookmark">
@@ -246,6 +246,9 @@
246
246
  <data type="boolean"/>
247
247
  </attribute>
248
248
  </optional>
249
+ <optional>
250
+ <ref name="colgroup"/>
251
+ </optional>
249
252
  <optional>
250
253
  <ref name="tname"/>
251
254
  </optional>
@@ -764,6 +767,18 @@
764
767
  </define>
765
768
  </include>
766
769
  <!-- end overrides -->
770
+ <define name="colgroup">
771
+ <element name="colgroup">
772
+ <oneOrMore>
773
+ <ref name="col"/>
774
+ </oneOrMore>
775
+ </element>
776
+ </define>
777
+ <define name="col">
778
+ <element name="col">
779
+ <attribute name="width"/>
780
+ </element>
781
+ </define>
767
782
  <define name="TextElement" combine="choice">
768
783
  <ref name="concept"/>
769
784
  </define>
@@ -1069,13 +1069,13 @@
1069
1069
  <xsl:otherwise> <!-- for ordered lists -->
1070
1070
  <xsl:choose>
1071
1071
  <xsl:when test="../@type = 'arabic'">
1072
- <xsl:number format="a)"/>
1072
+ <xsl:number format="a)" lang="en"/>
1073
1073
  </xsl:when>
1074
1074
  <xsl:when test="../@type = 'alphabet'">
1075
1075
  <xsl:number format="1)"/>
1076
1076
  </xsl:when>
1077
1077
  <xsl:when test="../@type = 'alphabet_upper'">
1078
- <xsl:number format="A)"/>
1078
+ <xsl:number format="A)" lang="en"/>
1079
1079
  </xsl:when>
1080
1080
 
1081
1081
  <xsl:when test="../@type = 'roman'">
@@ -1328,7 +1328,7 @@
1328
1328
  <xsl:variable name="sectionNum">
1329
1329
  <xsl:choose>
1330
1330
  <xsl:when test="normalize-space($sectionNum_) = '' and local-name() = 'annex'">
1331
- <xsl:number format="A" count="ogc:annex"/>
1331
+ <xsl:number format="A" count="ogc:annex" lang="en"/>
1332
1332
  </xsl:when>
1333
1333
  <xsl:otherwise>
1334
1334
  <xsl:value-of select="$sectionNum_"/>
@@ -2086,10 +2086,12 @@
2086
2086
 
2087
2087
 
2088
2088
  <xsl:variable name="colwidths">
2089
- <xsl:call-template name="calculate-column-widths">
2090
- <xsl:with-param name="cols-count" select="$cols-count"/>
2091
- <xsl:with-param name="table" select="$simple-table"/>
2092
- </xsl:call-template>
2089
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2090
+ <xsl:call-template name="calculate-column-widths">
2091
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2092
+ <xsl:with-param name="table" select="$simple-table"/>
2093
+ </xsl:call-template>
2094
+ </xsl:if>
2093
2095
  </xsl:variable>
2094
2096
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2095
2097
 
@@ -2168,16 +2170,25 @@
2168
2170
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2169
2171
  </xsl:if>
2170
2172
 
2171
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2172
- <xsl:choose>
2173
- <xsl:when test=". = 1 or . = 0">
2174
- <fo:table-column column-width="proportional-column-width(2)"/>
2175
- </xsl:when>
2176
- <xsl:otherwise>
2177
- <fo:table-column column-width="proportional-column-width({.})"/>
2178
- </xsl:otherwise>
2179
- </xsl:choose>
2180
- </xsl:for-each>
2173
+ <xsl:choose>
2174
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2175
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2176
+ <fo:table-column column-width="{@width}"/>
2177
+ </xsl:for-each>
2178
+ </xsl:when>
2179
+ <xsl:otherwise>
2180
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2181
+ <xsl:choose>
2182
+ <xsl:when test=". = 1 or . = 0">
2183
+ <fo:table-column column-width="proportional-column-width(2)"/>
2184
+ </xsl:when>
2185
+ <xsl:otherwise>
2186
+ <fo:table-column column-width="proportional-column-width({.})"/>
2187
+ </xsl:otherwise>
2188
+ </xsl:choose>
2189
+ </xsl:for-each>
2190
+ </xsl:otherwise>
2191
+ </xsl:choose>
2181
2192
 
2182
2193
  <xsl:choose>
2183
2194
  <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
@@ -2190,10 +2201,12 @@
2190
2201
 
2191
2202
  </fo:table>
2192
2203
 
2204
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2193
2205
  <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2194
2206
  <xsl:call-template name="insertTableFooterInSeparateTable">
2195
2207
  <xsl:with-param name="table_attributes" select="$table_attributes"/>
2196
2208
  <xsl:with-param name="colwidths" select="$colwidths"/>
2209
+ <xsl:with-param name="colgroup" select="$colgroup"/>
2197
2210
  </xsl:call-template>
2198
2211
  </xsl:for-each>
2199
2212
 
@@ -2449,12 +2462,22 @@
2449
2462
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2450
2463
  <xsl:param name="table_attributes"/>
2451
2464
  <xsl:param name="colwidths"/>
2465
+ <xsl:param name="colgroup"/>
2452
2466
 
2453
2467
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2454
2468
 
2455
2469
  <xsl:if test="$isNoteOrFnExist = 'true'">
2456
2470
 
2457
- <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
2471
+ <xsl:variable name="cols-count">
2472
+ <xsl:choose>
2473
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2474
+ <xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
2475
+ </xsl:when>
2476
+ <xsl:otherwise>
2477
+ <xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
2478
+ </xsl:otherwise>
2479
+ </xsl:choose>
2480
+ </xsl:variable>
2458
2481
 
2459
2482
  <fo:table keep-with-previous="always">
2460
2483
  <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
@@ -2472,16 +2495,25 @@
2472
2495
  </xsl:choose>
2473
2496
  </xsl:for-each>
2474
2497
 
2475
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2476
- <xsl:choose>
2477
- <xsl:when test=". = 1 or . = 0">
2478
- <fo:table-column column-width="proportional-column-width(2)"/>
2479
- </xsl:when>
2480
- <xsl:otherwise>
2481
- <fo:table-column column-width="proportional-column-width({.})"/>
2482
- </xsl:otherwise>
2483
- </xsl:choose>
2484
- </xsl:for-each>
2498
+ <xsl:choose>
2499
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2500
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
2501
+ <fo:table-column column-width="{@width}"/>
2502
+ </xsl:for-each>
2503
+ </xsl:when>
2504
+ <xsl:otherwise>
2505
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2506
+ <xsl:choose>
2507
+ <xsl:when test=". = 1 or . = 0">
2508
+ <fo:table-column column-width="proportional-column-width(2)"/>
2509
+ </xsl:when>
2510
+ <xsl:otherwise>
2511
+ <fo:table-column column-width="proportional-column-width({.})"/>
2512
+ </xsl:otherwise>
2513
+ </xsl:choose>
2514
+ </xsl:for-each>
2515
+ </xsl:otherwise>
2516
+ </xsl:choose>
2485
2517
 
2486
2518
  <fo:table-body>
2487
2519
  <fo:table-row>
@@ -4757,7 +4789,8 @@
4757
4789
  <fo:table-column column-width="107mm"/>
4758
4790
  <fo:table-column column-width="15mm"/>
4759
4791
  <fo:table-body>
4760
- <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
4792
+ <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
4793
+
4761
4794
  <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
4762
4795
  <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
4763
4796
  <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
@@ -4776,6 +4809,10 @@
4776
4809
  </fo:table-cell>
4777
4810
  </xsl:template><xsl:template name="processBibitem">
4778
4811
 
4812
+
4813
+ <!-- end BIPM bibitem processing-->
4814
+
4815
+
4779
4816
  <!-- start OGC bibtem processing -->
4780
4817
  <xsl:choose>
4781
4818
  <xsl:when test="*[local-name() = 'formattedref']">
@@ -1069,13 +1069,13 @@
1069
1069
  <xsl:otherwise> <!-- for ordered lists -->
1070
1070
  <xsl:choose>
1071
1071
  <xsl:when test="../@type = 'arabic'">
1072
- <xsl:number format="a)"/>
1072
+ <xsl:number format="a)" lang="en"/>
1073
1073
  </xsl:when>
1074
1074
  <xsl:when test="../@type = 'alphabet'">
1075
1075
  <xsl:number format="1)"/>
1076
1076
  </xsl:when>
1077
1077
  <xsl:when test="../@type = 'alphabet_upper'">
1078
- <xsl:number format="A)"/>
1078
+ <xsl:number format="A)" lang="en"/>
1079
1079
  </xsl:when>
1080
1080
 
1081
1081
  <xsl:when test="../@type = 'roman'">
@@ -1328,7 +1328,7 @@
1328
1328
  <xsl:variable name="sectionNum">
1329
1329
  <xsl:choose>
1330
1330
  <xsl:when test="normalize-space($sectionNum_) = '' and local-name() = 'annex'">
1331
- <xsl:number format="A" count="ogc:annex"/>
1331
+ <xsl:number format="A" count="ogc:annex" lang="en"/>
1332
1332
  </xsl:when>
1333
1333
  <xsl:otherwise>
1334
1334
  <xsl:value-of select="$sectionNum_"/>
@@ -2086,10 +2086,12 @@
2086
2086
 
2087
2087
 
2088
2088
  <xsl:variable name="colwidths">
2089
- <xsl:call-template name="calculate-column-widths">
2090
- <xsl:with-param name="cols-count" select="$cols-count"/>
2091
- <xsl:with-param name="table" select="$simple-table"/>
2092
- </xsl:call-template>
2089
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2090
+ <xsl:call-template name="calculate-column-widths">
2091
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2092
+ <xsl:with-param name="table" select="$simple-table"/>
2093
+ </xsl:call-template>
2094
+ </xsl:if>
2093
2095
  </xsl:variable>
2094
2096
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2095
2097
 
@@ -2168,16 +2170,25 @@
2168
2170
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2169
2171
  </xsl:if>
2170
2172
 
2171
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2172
- <xsl:choose>
2173
- <xsl:when test=". = 1 or . = 0">
2174
- <fo:table-column column-width="proportional-column-width(2)"/>
2175
- </xsl:when>
2176
- <xsl:otherwise>
2177
- <fo:table-column column-width="proportional-column-width({.})"/>
2178
- </xsl:otherwise>
2179
- </xsl:choose>
2180
- </xsl:for-each>
2173
+ <xsl:choose>
2174
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2175
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2176
+ <fo:table-column column-width="{@width}"/>
2177
+ </xsl:for-each>
2178
+ </xsl:when>
2179
+ <xsl:otherwise>
2180
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2181
+ <xsl:choose>
2182
+ <xsl:when test=". = 1 or . = 0">
2183
+ <fo:table-column column-width="proportional-column-width(2)"/>
2184
+ </xsl:when>
2185
+ <xsl:otherwise>
2186
+ <fo:table-column column-width="proportional-column-width({.})"/>
2187
+ </xsl:otherwise>
2188
+ </xsl:choose>
2189
+ </xsl:for-each>
2190
+ </xsl:otherwise>
2191
+ </xsl:choose>
2181
2192
 
2182
2193
  <xsl:choose>
2183
2194
  <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
@@ -2190,10 +2201,12 @@
2190
2201
 
2191
2202
  </fo:table>
2192
2203
 
2204
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2193
2205
  <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2194
2206
  <xsl:call-template name="insertTableFooterInSeparateTable">
2195
2207
  <xsl:with-param name="table_attributes" select="$table_attributes"/>
2196
2208
  <xsl:with-param name="colwidths" select="$colwidths"/>
2209
+ <xsl:with-param name="colgroup" select="$colgroup"/>
2197
2210
  </xsl:call-template>
2198
2211
  </xsl:for-each>
2199
2212
 
@@ -2449,12 +2462,22 @@
2449
2462
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2450
2463
  <xsl:param name="table_attributes"/>
2451
2464
  <xsl:param name="colwidths"/>
2465
+ <xsl:param name="colgroup"/>
2452
2466
 
2453
2467
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2454
2468
 
2455
2469
  <xsl:if test="$isNoteOrFnExist = 'true'">
2456
2470
 
2457
- <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
2471
+ <xsl:variable name="cols-count">
2472
+ <xsl:choose>
2473
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2474
+ <xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
2475
+ </xsl:when>
2476
+ <xsl:otherwise>
2477
+ <xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
2478
+ </xsl:otherwise>
2479
+ </xsl:choose>
2480
+ </xsl:variable>
2458
2481
 
2459
2482
  <fo:table keep-with-previous="always">
2460
2483
  <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
@@ -2472,16 +2495,25 @@
2472
2495
  </xsl:choose>
2473
2496
  </xsl:for-each>
2474
2497
 
2475
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2476
- <xsl:choose>
2477
- <xsl:when test=". = 1 or . = 0">
2478
- <fo:table-column column-width="proportional-column-width(2)"/>
2479
- </xsl:when>
2480
- <xsl:otherwise>
2481
- <fo:table-column column-width="proportional-column-width({.})"/>
2482
- </xsl:otherwise>
2483
- </xsl:choose>
2484
- </xsl:for-each>
2498
+ <xsl:choose>
2499
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2500
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
2501
+ <fo:table-column column-width="{@width}"/>
2502
+ </xsl:for-each>
2503
+ </xsl:when>
2504
+ <xsl:otherwise>
2505
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2506
+ <xsl:choose>
2507
+ <xsl:when test=". = 1 or . = 0">
2508
+ <fo:table-column column-width="proportional-column-width(2)"/>
2509
+ </xsl:when>
2510
+ <xsl:otherwise>
2511
+ <fo:table-column column-width="proportional-column-width({.})"/>
2512
+ </xsl:otherwise>
2513
+ </xsl:choose>
2514
+ </xsl:for-each>
2515
+ </xsl:otherwise>
2516
+ </xsl:choose>
2485
2517
 
2486
2518
  <fo:table-body>
2487
2519
  <fo:table-row>
@@ -4757,7 +4789,8 @@
4757
4789
  <fo:table-column column-width="107mm"/>
4758
4790
  <fo:table-column column-width="15mm"/>
4759
4791
  <fo:table-body>
4760
- <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
4792
+ <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
4793
+
4761
4794
  <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
4762
4795
  <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
4763
4796
  <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
@@ -4776,6 +4809,10 @@
4776
4809
  </fo:table-cell>
4777
4810
  </xsl:template><xsl:template name="processBibitem">
4778
4811
 
4812
+
4813
+ <!-- end BIPM bibitem processing-->
4814
+
4815
+
4779
4816
  <!-- start OGC bibtem processing -->
4780
4817
  <xsl:choose>
4781
4818
  <xsl:when test="*[local-name() = 'formattedref']">
@@ -1069,13 +1069,13 @@
1069
1069
  <xsl:otherwise> <!-- for ordered lists -->
1070
1070
  <xsl:choose>
1071
1071
  <xsl:when test="../@type = 'arabic'">
1072
- <xsl:number format="a)"/>
1072
+ <xsl:number format="a)" lang="en"/>
1073
1073
  </xsl:when>
1074
1074
  <xsl:when test="../@type = 'alphabet'">
1075
1075
  <xsl:number format="1)"/>
1076
1076
  </xsl:when>
1077
1077
  <xsl:when test="../@type = 'alphabet_upper'">
1078
- <xsl:number format="A)"/>
1078
+ <xsl:number format="A)" lang="en"/>
1079
1079
  </xsl:when>
1080
1080
 
1081
1081
  <xsl:when test="../@type = 'roman'">
@@ -1328,7 +1328,7 @@
1328
1328
  <xsl:variable name="sectionNum">
1329
1329
  <xsl:choose>
1330
1330
  <xsl:when test="normalize-space($sectionNum_) = '' and local-name() = 'annex'">
1331
- <xsl:number format="A" count="ogc:annex"/>
1331
+ <xsl:number format="A" count="ogc:annex" lang="en"/>
1332
1332
  </xsl:when>
1333
1333
  <xsl:otherwise>
1334
1334
  <xsl:value-of select="$sectionNum_"/>
@@ -2086,10 +2086,12 @@
2086
2086
 
2087
2087
 
2088
2088
  <xsl:variable name="colwidths">
2089
- <xsl:call-template name="calculate-column-widths">
2090
- <xsl:with-param name="cols-count" select="$cols-count"/>
2091
- <xsl:with-param name="table" select="$simple-table"/>
2092
- </xsl:call-template>
2089
+ <xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
2090
+ <xsl:call-template name="calculate-column-widths">
2091
+ <xsl:with-param name="cols-count" select="$cols-count"/>
2092
+ <xsl:with-param name="table" select="$simple-table"/>
2093
+ </xsl:call-template>
2094
+ </xsl:if>
2093
2095
  </xsl:variable>
2094
2096
  <!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
2095
2097
 
@@ -2168,16 +2170,25 @@
2168
2170
  <xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
2169
2171
  </xsl:if>
2170
2172
 
2171
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2172
- <xsl:choose>
2173
- <xsl:when test=". = 1 or . = 0">
2174
- <fo:table-column column-width="proportional-column-width(2)"/>
2175
- </xsl:when>
2176
- <xsl:otherwise>
2177
- <fo:table-column column-width="proportional-column-width({.})"/>
2178
- </xsl:otherwise>
2179
- </xsl:choose>
2180
- </xsl:for-each>
2173
+ <xsl:choose>
2174
+ <xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
2175
+ <xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
2176
+ <fo:table-column column-width="{@width}"/>
2177
+ </xsl:for-each>
2178
+ </xsl:when>
2179
+ <xsl:otherwise>
2180
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2181
+ <xsl:choose>
2182
+ <xsl:when test=". = 1 or . = 0">
2183
+ <fo:table-column column-width="proportional-column-width(2)"/>
2184
+ </xsl:when>
2185
+ <xsl:otherwise>
2186
+ <fo:table-column column-width="proportional-column-width({.})"/>
2187
+ </xsl:otherwise>
2188
+ </xsl:choose>
2189
+ </xsl:for-each>
2190
+ </xsl:otherwise>
2191
+ </xsl:choose>
2181
2192
 
2182
2193
  <xsl:choose>
2183
2194
  <xsl:when test="not(*[local-name()='tbody']) and *[local-name()='thead']">
@@ -2190,10 +2201,12 @@
2190
2201
 
2191
2202
  </fo:table>
2192
2203
 
2204
+ <xsl:variable name="colgroup" select="*[local-name()='colgroup']"/>
2193
2205
  <xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
2194
2206
  <xsl:call-template name="insertTableFooterInSeparateTable">
2195
2207
  <xsl:with-param name="table_attributes" select="$table_attributes"/>
2196
2208
  <xsl:with-param name="colwidths" select="$colwidths"/>
2209
+ <xsl:with-param name="colgroup" select="$colgroup"/>
2197
2210
  </xsl:call-template>
2198
2211
  </xsl:for-each>
2199
2212
 
@@ -2449,12 +2462,22 @@
2449
2462
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
2450
2463
  <xsl:param name="table_attributes"/>
2451
2464
  <xsl:param name="colwidths"/>
2465
+ <xsl:param name="colgroup"/>
2452
2466
 
2453
2467
  <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
2454
2468
 
2455
2469
  <xsl:if test="$isNoteOrFnExist = 'true'">
2456
2470
 
2457
- <xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
2471
+ <xsl:variable name="cols-count">
2472
+ <xsl:choose>
2473
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2474
+ <xsl:value-of select="count(xalan:nodeset($colgroup)//*[local-name()='col'])"/>
2475
+ </xsl:when>
2476
+ <xsl:otherwise>
2477
+ <xsl:value-of select="count(xalan:nodeset($colwidths)//column)"/>
2478
+ </xsl:otherwise>
2479
+ </xsl:choose>
2480
+ </xsl:variable>
2458
2481
 
2459
2482
  <fo:table keep-with-previous="always">
2460
2483
  <xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
@@ -2472,16 +2495,25 @@
2472
2495
  </xsl:choose>
2473
2496
  </xsl:for-each>
2474
2497
 
2475
- <xsl:for-each select="xalan:nodeset($colwidths)//column">
2476
- <xsl:choose>
2477
- <xsl:when test=". = 1 or . = 0">
2478
- <fo:table-column column-width="proportional-column-width(2)"/>
2479
- </xsl:when>
2480
- <xsl:otherwise>
2481
- <fo:table-column column-width="proportional-column-width({.})"/>
2482
- </xsl:otherwise>
2483
- </xsl:choose>
2484
- </xsl:for-each>
2498
+ <xsl:choose>
2499
+ <xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
2500
+ <xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
2501
+ <fo:table-column column-width="{@width}"/>
2502
+ </xsl:for-each>
2503
+ </xsl:when>
2504
+ <xsl:otherwise>
2505
+ <xsl:for-each select="xalan:nodeset($colwidths)//column">
2506
+ <xsl:choose>
2507
+ <xsl:when test=". = 1 or . = 0">
2508
+ <fo:table-column column-width="proportional-column-width(2)"/>
2509
+ </xsl:when>
2510
+ <xsl:otherwise>
2511
+ <fo:table-column column-width="proportional-column-width({.})"/>
2512
+ </xsl:otherwise>
2513
+ </xsl:choose>
2514
+ </xsl:for-each>
2515
+ </xsl:otherwise>
2516
+ </xsl:choose>
2485
2517
 
2486
2518
  <fo:table-body>
2487
2519
  <fo:table-row>
@@ -4757,7 +4789,8 @@
4757
4789
  <fo:table-column column-width="107mm"/>
4758
4790
  <fo:table-column column-width="15mm"/>
4759
4791
  <fo:table-body>
4760
- <fo:table-row font-family="Arial" text-align="center" font-weight="bold" background-color="black" color="white">
4792
+ <fo:table-row text-align="center" font-weight="bold" background-color="black" color="white">
4793
+
4761
4794
  <fo:table-cell border="1pt solid black"><fo:block>Date</fo:block></fo:table-cell>
4762
4795
  <fo:table-cell border="1pt solid black"><fo:block>Type</fo:block></fo:table-cell>
4763
4796
  <fo:table-cell border="1pt solid black"><fo:block>Change</fo:block></fo:table-cell>
@@ -4776,6 +4809,10 @@
4776
4809
  </fo:table-cell>
4777
4810
  </xsl:template><xsl:template name="processBibitem">
4778
4811
 
4812
+
4813
+ <!-- end BIPM bibitem processing-->
4814
+
4815
+
4779
4816
  <!-- start OGC bibtem processing -->
4780
4817
  <xsl:choose>
4781
4818
  <xsl:when test="*[local-name() = 'formattedref']">