metanorma-bipm 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -246,64 +246,65 @@ main {
246
246
  /*
247
247
  2. Responsive navigation layout
248
248
  */
249
- #toc, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
249
+ #toc, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) {
250
250
  font-family: {{bodyfont}};
251
251
  font-weight: 400; }
252
- #toc ul, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) ul {
252
+ #toc ul, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) ul {
253
253
  margin: 0;
254
254
  padding: 0;
255
255
  list-style: none; }
256
- #toc ul li a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) ul li a {
256
+ #toc ul li a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) ul li a {
257
257
  padding: 5px 10px; }
258
- #toc ul a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a {
258
+ #toc ul a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a {
259
259
  color: #485094;
260
260
  text-decoration: none;
261
261
  display: block; }
262
- #toc ul a:hover, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a:hover {
262
+ #toc ul a:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a:hover {
263
263
  box-shadow: none;
264
264
  color: #485094; }
265
- #toc .h2, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .h2 {
265
+ #toc .h2, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h2 {
266
266
  padding-left: 30px; }
267
- #toc .h3, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .h3 {
267
+ #toc .h3, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .h3 {
268
268
  padding-left: 50px; }
269
- #toc .toc-active, #toc li:hover, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
269
+ #toc .toc-active, #toc li:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
270
270
  background: #6C734A;
271
271
  box-shadow: inset -5px 0px 10px -5px #6C734A !important; }
272
- #toc .toc-active a, #toc li:hover a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
272
+ #toc .toc-active a, #toc li:hover a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
273
273
  color: #485094; }
274
274
  @media print {
275
- #toc .toc-active, #toc li:hover, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
275
+ #toc .toc-active, #toc li:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
276
276
  background: white;
277
277
  box-shadow: none !important; }
278
- #toc .toc-active a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a {
278
+ #toc .toc-active a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a {
279
279
  color: #485094; }
280
- #toc li:hover a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
280
+ #toc li:hover a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
281
281
  color: black; } }
282
282
  @media screen and (max-width: 768px) {
283
- #toc, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
283
+ #toc, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) {
284
284
  padding: 0 1.5em;
285
285
  overflow: visible; } }
286
- #toc .toc-active a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a {
286
+ #toc .toc-active a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a {
287
287
  color: white; }
288
288
  #toc .toc-active,
289
- #toc li:hover, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active,
290
- #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
289
+ #toc li:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active,
290
+ #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover {
291
291
  box-shadow: none !important; }
292
292
  #toc .toc-active a,
293
- #toc li:hover a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a,
294
- #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
293
+ #toc li:hover a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) .toc-active a,
294
+ #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li:hover a {
295
295
  color: white;
296
296
  background: none;
297
297
  box-shadow: none; }
298
- #toc li a, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) li a {
298
+ #toc li a, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) li a {
299
299
  text-transform: uppercase; }
300
- #toc ul a:hover, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a:hover {
300
+ #toc ul a:hover, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) ul a:hover {
301
301
  box-shadow: none;
302
302
  color: white; }
303
303
 
304
- #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
304
+ #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) {
305
305
  margin-top: 0;
306
- margin-bottom: 0; }
306
+ margin-bottom: 0;
307
+ font-size: 100%; }
307
308
 
308
309
  @media screen and (min-width: 768px) {
309
310
  nav {
@@ -52,7 +52,7 @@ main {
52
52
  2. Responsive navigation layout
53
53
  */
54
54
 
55
- #toc, #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
55
+ #toc, #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) {
56
56
  @include toc(#485094, #6C734A, #485094);
57
57
  @include sidebarToc();
58
58
 
@@ -83,9 +83,10 @@ main {
83
83
  }
84
84
  }
85
85
 
86
- #toc > ul > :is(.h1, .h2, .h3, .h4, .h5, .h6) {
86
+ #toc > ul :is(.h1, .h2, .h3, .h4, .h5, .h6) {
87
87
  margin-top: 0;
88
88
  margin-bottom: 0;
89
+ font-size: 100%;
89
90
  }
90
91
 
91
92
  nav {
@@ -85,8 +85,7 @@
85
85
  <xsl:variable name="column_width" select="($page_width - $column_gap) div $docs_count"/>
86
86
 
87
87
  <xsl:variable name="debug">false</xsl:variable>
88
- <xsl:variable name="pageWidth" select="210"/>
89
- <xsl:variable name="pageHeight" select="297"/>
88
+
90
89
  <xsl:variable name="marginLeftRight1" select="25"/>
91
90
  <xsl:variable name="marginLeftRight2" select="15"/>
92
91
  <xsl:variable name="marginTop" select="29.5"/>
@@ -675,7 +674,7 @@
675
674
 
676
675
 
677
676
 
678
- <xsl:template match="*[local-name()='p']">
677
+ <xsl:template match="*[local-name()='p']" name="paragraph">
679
678
  <xsl:param name="inline" select="'false'"/>
680
679
  <xsl:variable name="previous-element" select="local-name(preceding-sibling::*[1])"/>
681
680
  <xsl:variable name="element-name">
@@ -733,15 +732,13 @@
733
732
 
734
733
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="ul_ol">
735
734
  <fo:list-block provisional-distance-between-starts="7mm" margin-top="8pt"> <!-- margin-bottom="8pt" -->
736
- <xsl:apply-templates/>
735
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
737
736
  </fo:list-block>
738
737
  <xsl:for-each select="./*[local-name()='note']">
739
738
  <xsl:call-template name="note"/>
740
739
  </xsl:for-each>
741
740
  </xsl:template>
742
741
 
743
- <xsl:template match="*[local-name()='ul']//*[local-name()='note'] | *[local-name()='ol']//*[local-name()='note']" priority="2"/>
744
-
745
742
 
746
743
  <xsl:template match="*[local-name()='li']">
747
744
  <fo:list-item id="{@id}">
@@ -752,8 +749,8 @@
752
749
  </fo:list-item-label>
753
750
  <fo:list-item-body start-indent="body-start()">
754
751
  <fo:block>
755
- <xsl:apply-templates/>
756
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
752
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
753
+ <xsl:apply-templates select=".//*[local-name()='note']"/>
757
754
  </fo:block>
758
755
  </fo:list-item-body>
759
756
  </fo:list-item>
@@ -775,17 +772,14 @@
775
772
  </fo:list-item-label>
776
773
  <fo:list-item-body start-indent="body-start()">
777
774
  <fo:block>
778
- <xsl:apply-templates/>
779
- <xsl:apply-templates select=".//*[local-name()='note']" mode="process"/>
775
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
776
+ <xsl:apply-templates select=".//*[local-name()='note']"/>
780
777
  </fo:block>
781
778
  </fo:list-item-body>
782
779
  </fo:list-item>
783
780
  </fo:list-block>
784
781
  </xsl:template>
785
782
 
786
- <xsl:template match="*[local-name()='note']" mode="process">
787
- <xsl:call-template name="note"/>
788
- </xsl:template>
789
783
 
790
784
  <xsl:template match="*[local-name()='preferred']">
791
785
  <xsl:variable name="level">
@@ -1236,23 +1230,10 @@
1236
1230
  <xsl:attribute name="baseline-shift">0%</xsl:attribute>
1237
1231
  <xsl:attribute name="font-size">100%</xsl:attribute>
1238
1232
  </xsl:if>
1239
- <xsl:choose>
1240
- <xsl:when test="$curr_lang = 'fr'">
1241
- <xsl:choose>
1242
- <xsl:when test=". = '1'">re</xsl:when>
1243
- <xsl:otherwise>e</xsl:otherwise>
1244
- </xsl:choose>
1245
- </xsl:when>
1246
- <xsl:otherwise>
1247
- <xsl:choose>
1248
- <xsl:when test=". = '1'">st</xsl:when>
1249
- <xsl:when test=". = '2'">nd</xsl:when>
1250
- <xsl:when test=". = '3'">rd</xsl:when>
1251
- <xsl:otherwise>th</xsl:otherwise>
1252
- </xsl:choose>
1253
- </xsl:otherwise>
1254
- </xsl:choose>
1255
-
1233
+ <xsl:call-template name="number-to-ordinal">
1234
+ <xsl:with-param name="number" select="."/>
1235
+ <xsl:with-param name="curr_lang" select="$curr_lang"/>
1236
+ </xsl:call-template>
1256
1237
  </fo:inline>
1257
1238
  <xsl:text> </xsl:text>
1258
1239
  <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($title-edition))"/>
@@ -1871,7 +1852,11 @@
1871
1852
  </fo:block-container>
1872
1853
  </xsl:template>
1873
1854
 
1874
- <xsl:variable name="titles_">
1855
+ <xsl:variable name="pageWidth_">
1856
+ 210
1857
+ </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
1858
+ 297
1859
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
1875
1860
 
1876
1861
  <title-edition lang="en">
1877
1862
 
@@ -1974,6 +1959,53 @@
1974
1959
 
1975
1960
 
1976
1961
 
1962
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-style">
1963
+
1964
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-title-style">
1965
+
1966
+
1967
+ </xsl:attribute-set><xsl:attribute-set name="copyright-statement-p-style">
1968
+
1969
+
1970
+
1971
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-style">
1972
+
1973
+
1974
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-title-style">
1975
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+ </xsl:attribute-set><xsl:attribute-set name="license-statement-p-style">
1983
+
1984
+
1985
+
1986
+
1987
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-style">
1988
+
1989
+
1990
+
1991
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-title-style">
1992
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+ </xsl:attribute-set><xsl:attribute-set name="legal-statement-p-style">
1999
+
2000
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-style">
2001
+
2002
+
2003
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-title-style">
2004
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
2005
+
2006
+ </xsl:attribute-set><xsl:attribute-set name="feedback-statement-p-style">
2007
+
2008
+
1977
2009
  </xsl:attribute-set><xsl:attribute-set name="link-style">
1978
2010
 
1979
2011
 
@@ -2825,6 +2857,7 @@
2825
2857
  </xsl:attribute-set><xsl:attribute-set name="bibitem-non-normative-list-body-style">
2826
2858
 
2827
2859
 
2860
+
2828
2861
  </xsl:attribute-set><xsl:attribute-set name="bibitem-note-fn-style">
2829
2862
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
2830
2863
  <xsl:attribute name="font-size">65%</xsl:attribute>
@@ -2935,6 +2968,64 @@
2935
2968
  <xsl:value-of select="."/>
2936
2969
  </xsl:template><xsl:template match="*[local-name()='br']">
2937
2970
  <xsl:value-of select="$linebreak"/>
2971
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']">
2972
+ <fo:block xsl:use-attribute-sets="copyright-statement-style">
2973
+ <xsl:apply-templates/>
2974
+ </fo:block>
2975
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='title']">
2976
+
2977
+ <!-- process in the template 'title' -->
2978
+ <xsl:call-template name="title"/>
2979
+
2980
+ </xsl:template><xsl:template match="*[local-name()='copyright-statement']//*[local-name()='p']">
2981
+
2982
+
2983
+ <!-- process in the template 'paragraph' -->
2984
+ <xsl:call-template name="paragraph"/>
2985
+
2986
+ </xsl:template><xsl:template match="*[local-name()='license-statement']">
2987
+ <fo:block xsl:use-attribute-sets="license-statement-style">
2988
+ <xsl:apply-templates/>
2989
+ </fo:block>
2990
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='title']">
2991
+
2992
+ <!-- process in the template 'title' -->
2993
+ <xsl:call-template name="title"/>
2994
+
2995
+ </xsl:template><xsl:template match="*[local-name()='license-statement']//*[local-name()='p']">
2996
+
2997
+ <!-- process in the template 'paragraph' -->
2998
+ <xsl:call-template name="paragraph"/>
2999
+
3000
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']">
3001
+ <fo:block xsl:use-attribute-sets="legal-statement-style">
3002
+ <xsl:apply-templates/>
3003
+ </fo:block>
3004
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='title']">
3005
+
3006
+ <!-- process in the template 'title' -->
3007
+ <xsl:call-template name="title"/>
3008
+
3009
+
3010
+ </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
3011
+
3012
+ <!-- process in the template 'paragraph' -->
3013
+ <xsl:call-template name="paragraph"/>
3014
+
3015
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
3016
+ <fo:block xsl:use-attribute-sets="feedback-statement-style">
3017
+ <xsl:apply-templates/>
3018
+ </fo:block>
3019
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='title']">
3020
+
3021
+ <!-- process in the template 'title' -->
3022
+ <xsl:call-template name="title"/>
3023
+
3024
+ </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
3025
+
3026
+ <!-- process in the template 'paragraph' -->
3027
+ <xsl:call-template name="paragraph"/>
3028
+
2938
3029
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
2939
3030
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
2940
3031
  <xsl:call-template name="add-zero-spaces-java"/>
@@ -3073,7 +3164,7 @@
3073
3164
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
3074
3165
  </xsl:when>
3075
3166
  <xsl:otherwise>
3076
- <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3167
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer and note that renders separaterely -->
3077
3168
  </xsl:otherwise>
3078
3169
  </xsl:choose>
3079
3170
 
@@ -3292,7 +3383,7 @@
3292
3383
 
3293
3384
  <xsl:variable name="math_text" select="normalize-space(xalan:nodeset($mathml))"/>
3294
3385
  <xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
3295
- </xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
3386
+ </xsl:template><xsl:template match="*[local-name()='thead']">
3296
3387
  <xsl:param name="cols-count"/>
3297
3388
  <fo:table-header>
3298
3389
 
@@ -3330,13 +3421,13 @@
3330
3421
  <fo:table-body>
3331
3422
  <xsl:apply-templates/>
3332
3423
  </fo:table-body>
3333
- </xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
3424
+ </xsl:template><xsl:template match="*[local-name()='tfoot']">
3334
3425
  <xsl:apply-templates/>
3335
3426
  </xsl:template><xsl:template name="insertTableFooter">
3336
3427
  <xsl:param name="cols-count"/>
3337
3428
  <xsl:if test="../*[local-name()='tfoot']">
3338
3429
  <fo:table-footer>
3339
- <xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
3430
+ <xsl:apply-templates select="../*[local-name()='tfoot']"/>
3340
3431
  </fo:table-footer>
3341
3432
  </xsl:if>
3342
3433
  </xsl:template><xsl:template name="insertTableFooterInSeparateTable">
@@ -3422,7 +3513,7 @@
3422
3513
 
3423
3514
  <!-- except gb and bsi -->
3424
3515
 
3425
- <xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
3516
+ <xsl:apply-templates select="../*[local-name()='note']"/>
3426
3517
 
3427
3518
 
3428
3519
 
@@ -3469,7 +3560,7 @@
3469
3560
  </xsl:if>
3470
3561
 
3471
3562
 
3472
- <xsl:apply-templates select="../*[local-name()='thead']" mode="process">
3563
+ <xsl:apply-templates select="../*[local-name()='thead']">
3473
3564
  <xsl:with-param name="cols-count" select="$cols-count"/>
3474
3565
  </xsl:apply-templates>
3475
3566
 
@@ -3665,7 +3756,7 @@
3665
3756
  <xsl:apply-templates/>
3666
3757
  </fo:block>
3667
3758
  </fo:table-cell>
3668
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2"/><xsl:template match="*[local-name()='table']/*[local-name()='note']" mode="process">
3759
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']" priority="2">
3669
3760
 
3670
3761
  <fo:block xsl:use-attribute-sets="table-note-style">
3671
3762
 
@@ -3688,10 +3779,10 @@
3688
3779
 
3689
3780
 
3690
3781
 
3691
- <xsl:apply-templates select="node()[not(local-name() = 'name')]" mode="process"/>
3782
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
3692
3783
  </fo:block>
3693
3784
 
3694
- </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='name']" mode="process"/><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" mode="process">
3785
+ </xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='note']/*[local-name()='p']" priority="2">
3695
3786
  <xsl:apply-templates/>
3696
3787
  </xsl:template><xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" priority="2" name="fn">
3697
3788
 
@@ -4239,7 +4330,9 @@
4239
4330
  </td>
4240
4331
  <td>
4241
4332
 
4242
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4333
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4334
+ <xsl:with-param name="process">true</xsl:with-param>
4335
+ </xsl:apply-templates>
4243
4336
 
4244
4337
  </td>
4245
4338
  </tr>
@@ -4266,15 +4359,20 @@
4266
4359
  <fo:block>
4267
4360
 
4268
4361
 
4269
- <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
4362
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]">
4363
+ <xsl:with-param name="process">true</xsl:with-param>
4364
+ </xsl:apply-templates>
4270
4365
  </fo:block>
4271
4366
  </fo:table-cell>
4272
4367
  </fo:table-row>
4273
4368
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
4274
4369
  <xsl:apply-templates/>
4275
- </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
4276
- <xsl:apply-templates select="@language"/>
4277
- <xsl:apply-templates/>
4370
+ </xsl:template><xsl:template match="*[local-name()='dd']">
4371
+ <xsl:param name="process">false</xsl:param>
4372
+ <xsl:if test="$process = 'true'">
4373
+ <xsl:apply-templates select="@language"/>
4374
+ <xsl:apply-templates/>
4375
+ </xsl:if>
4278
4376
  </xsl:template><xsl:template match="*[local-name()='dd']/*[local-name()='p']" mode="inline">
4279
4377
  <fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
4280
4378
  </xsl:template><xsl:template match="*[local-name()='em']">
@@ -4449,7 +4547,11 @@
4449
4547
  <xsl:with-param name="text" select="substring($text,2)"/>
4450
4548
  </xsl:call-template>
4451
4549
  </xsl:if>
4452
- </xsl:template><xsl:template name="tokenize">
4550
+ </xsl:template><xsl:template match="*[local-name() = 'pagebreak']">
4551
+ <fo:block break-after="page"/>
4552
+ <fo:block> </fo:block>
4553
+ <fo:block break-after="page"/>
4554
+ </xsl:template><xsl:template name="tokenize">
4453
4555
  <xsl:param name="text"/>
4454
4556
  <xsl:param name="separator" select="' '"/>
4455
4557
  <xsl:choose>
@@ -4881,10 +4983,10 @@
4881
4983
  </fo:inline>
4882
4984
  </xsl:template><xsl:template match="*[local-name()='appendix']">
4883
4985
  <fo:block id="{@id}" xsl:use-attribute-sets="appendix-style">
4884
- <xsl:apply-templates select="*[local-name()='title']" mode="process"/>
4986
+ <xsl:apply-templates select="*[local-name()='title']"/>
4885
4987
  </fo:block>
4886
- <xsl:apply-templates/>
4887
- </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']"/><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" mode="process">
4988
+ <xsl:apply-templates select="node()[not(local-name()='title')]"/>
4989
+ </xsl:template><xsl:template match="*[local-name()='appendix']/*[local-name()='title']" priority="2">
4888
4990
  <xsl:variable name="level">
4889
4991
  <xsl:call-template name="getLevel"/>
4890
4992
  </xsl:variable>
@@ -5504,7 +5606,7 @@
5504
5606
  <xsl:value-of select="."/>
5505
5607
  </xsl:template><xsl:template match="node()" mode="contents">
5506
5608
  <xsl:apply-templates mode="contents"/>
5507
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="2" mode="contents">
5609
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="2" mode="contents">
5508
5610
  <xsl:variable name="level">
5509
5611
  <xsl:call-template name="getLevel">
5510
5612
  <xsl:with-param name="depth" select="@depth"/>
@@ -5512,10 +5614,15 @@
5512
5614
  </xsl:variable>
5513
5615
 
5514
5616
  <xsl:variable name="section">
5515
- <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5617
+ <xsl:choose>
5618
+ <xsl:when test="@type = 'section-title'"/>
5619
+ <xsl:otherwise>
5620
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5621
+ </xsl:otherwise>
5622
+ </xsl:choose>
5516
5623
  </xsl:variable>
5517
5624
 
5518
- <xsl:variable name="type">floating-title</xsl:variable>
5625
+ <xsl:variable name="type"><xsl:value-of select="@type"/></xsl:variable>
5519
5626
 
5520
5627
  <xsl:variable name="display">
5521
5628
  <xsl:choose>
@@ -5532,7 +5639,16 @@
5532
5639
  <xsl:variable name="title">
5533
5640
  <xsl:choose>
5534
5641
  <xsl:when test="*[local-name() = 'tab']">
5535
- <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5642
+ <xsl:choose>
5643
+ <xsl:when test="@type = 'section-title'">
5644
+ <xsl:value-of select="*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
5645
+ <xsl:text>: </xsl:text>
5646
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5647
+ </xsl:when>
5648
+ <xsl:otherwise>
5649
+ <xsl:copy-of select="*[local-name() = 'tab'][1]/following-sibling::node()"/>
5650
+ </xsl:otherwise>
5651
+ </xsl:choose>
5536
5652
  </xsl:when>
5537
5653
  <xsl:otherwise>
5538
5654
  <xsl:copy-of select="node()"/>
@@ -7131,7 +7247,7 @@
7131
7247
  </fo:inline>
7132
7248
  </xsl:template><xsl:template match="@language">
7133
7249
  <xsl:copy-of select="."/>
7134
- </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title']" priority="4">
7250
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@type = 'floating-title' or @type = 'section-title']" priority="4">
7135
7251
  <xsl:call-template name="title"/>
7136
7252
  </xsl:template><xsl:template match="*[local-name() = 'admonition']">
7137
7253
 
@@ -7190,27 +7306,17 @@
7190
7306
  <xsl:variable name="month" select="substring($date, 6, 2)"/>
7191
7307
  <xsl:variable name="day" select="substring($date, 9, 2)"/>
7192
7308
  <xsl:variable name="monthStr">
7193
- <xsl:choose>
7194
- <xsl:when test="$month = '01'">january</xsl:when>
7195
- <xsl:when test="$month = '02'">february</xsl:when>
7196
- <xsl:when test="$month = '03'">march</xsl:when>
7197
- <xsl:when test="$month = '04'">april</xsl:when>
7198
- <xsl:when test="$month = '05'">may</xsl:when>
7199
- <xsl:when test="$month = '06'">june</xsl:when>
7200
- <xsl:when test="$month = '07'">july</xsl:when>
7201
- <xsl:when test="$month = '08'">august</xsl:when>
7202
- <xsl:when test="$month = '09'">september</xsl:when>
7203
- <xsl:when test="$month = '10'">october</xsl:when>
7204
- <xsl:when test="$month = '11'">november</xsl:when>
7205
- <xsl:when test="$month = '12'">december</xsl:when>
7206
- </xsl:choose>
7309
+ <xsl:call-template name="getMonthByNum">
7310
+ <xsl:with-param name="num" select="$month"/>
7311
+ <xsl:with-param name="lowercase" select="'true'"/>
7312
+ </xsl:call-template>
7207
7313
  </xsl:variable>
7208
7314
  <xsl:variable name="monthStr_localized">
7209
7315
  <xsl:if test="normalize-space($monthStr) != ''"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_<xsl:value-of select="$monthStr"/></xsl:with-param></xsl:call-template></xsl:if>
7210
7316
  </xsl:variable>
7211
7317
  <xsl:variable name="result">
7212
7318
  <xsl:choose>
7213
- <xsl:when test="$format = 'ddMMyyyy'">
7319
+ <xsl:when test="$format = 'ddMMyyyy'"> <!-- convert date from format 2007-04-01 to 1 April 2007 -->
7214
7320
  <xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
7215
7321
  <xsl:text> </xsl:text>
7216
7322
  <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ' , $year))"/>
@@ -7223,11 +7329,57 @@
7223
7329
  <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $year))"/>
7224
7330
  </xsl:when>
7225
7331
  <xsl:otherwise>
7226
- <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/>
7332
+ <xsl:value-of select="normalize-space(concat($monthStr_localized, ' ', $day, ', ' , $year))"/> <!-- January 01, 2022 -->
7227
7333
  </xsl:otherwise>
7228
7334
  </xsl:choose>
7229
7335
  </xsl:variable>
7230
7336
  <xsl:value-of select="$result"/>
7337
+ </xsl:template><xsl:template name="getMonthByNum">
7338
+ <xsl:param name="num"/>
7339
+ <xsl:param name="lang">en</xsl:param>
7340
+ <xsl:param name="lowercase">false</xsl:param> <!-- return 'january' instead of 'January' -->
7341
+ <xsl:variable name="monthStr_">
7342
+ <xsl:choose>
7343
+ <xsl:when test="$lang = 'fr'">
7344
+ <xsl:choose>
7345
+ <xsl:when test="$num = '01'">Janvier</xsl:when>
7346
+ <xsl:when test="$num = '02'">Février</xsl:when>
7347
+ <xsl:when test="$num = '03'">Mars</xsl:when>
7348
+ <xsl:when test="$num = '04'">Avril</xsl:when>
7349
+ <xsl:when test="$num = '05'">Mai</xsl:when>
7350
+ <xsl:when test="$num = '06'">Juin</xsl:when>
7351
+ <xsl:when test="$num = '07'">Juillet</xsl:when>
7352
+ <xsl:when test="$num = '08'">Août</xsl:when>
7353
+ <xsl:when test="$num = '09'">Septembre</xsl:when>
7354
+ <xsl:when test="$num = '10'">Octobre</xsl:when>
7355
+ <xsl:when test="$num = '11'">Novembre</xsl:when>
7356
+ <xsl:when test="$num = '12'">Décembre</xsl:when>
7357
+ </xsl:choose>
7358
+ </xsl:when>
7359
+ <xsl:otherwise>
7360
+ <xsl:choose>
7361
+ <xsl:when test="$num = '01'">January</xsl:when>
7362
+ <xsl:when test="$num = '02'">February</xsl:when>
7363
+ <xsl:when test="$num = '03'">March</xsl:when>
7364
+ <xsl:when test="$num = '04'">April</xsl:when>
7365
+ <xsl:when test="$num = '05'">May</xsl:when>
7366
+ <xsl:when test="$num = '06'">June</xsl:when>
7367
+ <xsl:when test="$num = '07'">July</xsl:when>
7368
+ <xsl:when test="$num = '08'">August</xsl:when>
7369
+ <xsl:when test="$num = '09'">September</xsl:when>
7370
+ <xsl:when test="$num = '10'">October</xsl:when>
7371
+ <xsl:when test="$num = '11'">November</xsl:when>
7372
+ <xsl:when test="$num = '12'">December</xsl:when>
7373
+ </xsl:choose>
7374
+ </xsl:otherwise>
7375
+ </xsl:choose>
7376
+ </xsl:variable>
7377
+ <xsl:choose>
7378
+ <xsl:when test="normalize-space($lowercase) = 'true'">
7379
+ <xsl:value-of select="java:toLowerCase(java:java.lang.String.new($monthStr_))"/>
7380
+ </xsl:when>
7381
+ <xsl:otherwise><xsl:value-of select="$monthStr_"/></xsl:otherwise>
7382
+ </xsl:choose>
7231
7383
  </xsl:template><xsl:template name="insertKeywords">
7232
7384
  <xsl:param name="sorting" select="'true'"/>
7233
7385
  <xsl:param name="charAtEnd" select="'.'"/>
@@ -7685,6 +7837,25 @@
7685
7837
  </xsl:otherwise>
7686
7838
  </xsl:choose>
7687
7839
  </xsl:if>
7840
+ </xsl:template><xsl:template name="number-to-ordinal">
7841
+ <xsl:param name="number"/>
7842
+ <xsl:param name="curr_lang"/>
7843
+ <xsl:choose>
7844
+ <xsl:when test="$curr_lang = 'fr'">
7845
+ <xsl:choose>
7846
+ <xsl:when test="$number = '1'">re</xsl:when>
7847
+ <xsl:otherwise>e</xsl:otherwise>
7848
+ </xsl:choose>
7849
+ </xsl:when>
7850
+ <xsl:otherwise>
7851
+ <xsl:choose>
7852
+ <xsl:when test="$number = 1">st</xsl:when>
7853
+ <xsl:when test="$number = 2">nd</xsl:when>
7854
+ <xsl:when test="$number = 3">rd</xsl:when>
7855
+ <xsl:otherwise>th</xsl:otherwise>
7856
+ </xsl:choose>
7857
+ </xsl:otherwise>
7858
+ </xsl:choose>
7688
7859
  </xsl:template><xsl:template name="setAltText">
7689
7860
  <xsl:param name="value"/>
7690
7861
  <xsl:attribute name="fox:alt-text">
@@ -401,9 +401,9 @@
401
401
  <choice>
402
402
  <!-- iso191606 TODO -->
403
403
  <group>
404
- <oneOrMore>
404
+ <zeroOrMore>
405
405
  <ref name="street"/>
406
- </oneOrMore>
406
+ </zeroOrMore>
407
407
  <ref name="city"/>
408
408
  <optional>
409
409
  <ref name="state"/>