metanorma-bipm 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"/>