metanorma-iso 3.4.5 → 3.4.7

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.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +13 -1
  3. data/Makefile +0 -45
  4. data/lib/isodoc/iso/html/html_iso_titlepage.html +6 -0
  5. data/lib/isodoc/iso/html/style-human.css +0 -4
  6. data/lib/isodoc/iso/html/style-human.scss +0 -2
  7. data/lib/isodoc/iso/html/style-iso.css +0 -2
  8. data/lib/isodoc/iso/html/style-iso.scss +0 -2
  9. data/lib/isodoc/iso/html/word_iso_titlepage-dis.html +14 -0
  10. data/lib/isodoc/iso/html/word_iso_titlepage-prf.html +14 -0
  11. data/lib/isodoc/iso/html/word_iso_titlepage.html +14 -0
  12. data/lib/isodoc/iso/i18n-de.yaml +2 -0
  13. data/lib/isodoc/iso/i18n-en.yaml +4 -0
  14. data/lib/isodoc/iso/i18n-fr.yaml +4 -0
  15. data/lib/isodoc/iso/i18n-ru.yaml +4 -0
  16. data/lib/isodoc/iso/i18n-zh-Hans.yaml +2 -0
  17. data/lib/isodoc/iso/iso.amendment.xsl +648 -83
  18. data/lib/isodoc/iso/iso.international-standard.xsl +648 -83
  19. data/lib/isodoc/iso/metadata.rb +15 -1
  20. data/lib/isodoc/iso/presentation_origin.rb +2 -6
  21. data/lib/isodoc/iso/presentation_xml_convert.rb +16 -1
  22. data/lib/isodoc/iso/word_cleanup.rb +1 -2
  23. data/lib/isodoc/iso/word_convert.rb +11 -0
  24. data/lib/metanorma/iso/basicdoc.rng +31 -6
  25. data/lib/metanorma/iso/cleanup_biblio.rb +55 -15
  26. data/lib/metanorma/iso/front.rb +14 -2
  27. data/lib/metanorma/iso/front_id.rb +8 -2
  28. data/lib/metanorma/iso/isodoc.rng +28 -3
  29. data/lib/metanorma/iso/mathml3-common.rng +257 -0
  30. data/lib/metanorma/iso/mathml3-content.rng +1544 -0
  31. data/lib/metanorma/iso/mathml3-presentation.rng +2324 -0
  32. data/lib/metanorma/iso/mathml3-strict-content.rng +205 -0
  33. data/lib/metanorma/iso/mathml3.rng +23 -0
  34. data/lib/metanorma/iso/metanorma-mathml.rng +45 -0
  35. data/lib/metanorma/iso/publisher_identity.rb +36 -0
  36. data/lib/metanorma/iso/relaton-iso.rng +2 -0
  37. data/lib/metanorma/iso/reqt.rng +10 -2
  38. data/lib/metanorma/iso/validate.rb +1 -1
  39. data/lib/metanorma/iso/validate_section.rb +1 -5
  40. data/lib/metanorma/iso/version.rb +1 -1
  41. data/lib/metanorma-iso.rb +1 -0
  42. data/lib/relaton/render/config.yml +9 -9
  43. data/metanorma-iso.gemspec +1 -1
  44. metadata +11 -7
@@ -11,21 +11,6 @@
11
11
 
12
12
  <xsl:variable name="debug">false</xsl:variable>
13
13
 
14
- <xsl:variable name="revision_date" select="normalize-space((//mn:metanorma)[1]/mn:bibdata/mn:version/mn:revision-date)"/>
15
- <xsl:variable name="revision_date_num" select="number(translate($revision_date,'-',''))"/>
16
-
17
- <!-- TO DO: move inside 'variables' -->
18
- <xsl:variable name="layoutVersion_">
19
- <xsl:choose>
20
- <xsl:when test="$document_scheme = ''">2024</xsl:when>
21
- <xsl:when test="$document_scheme = '1951' or $document_scheme = '1972' or $document_scheme = '1979' or $document_scheme = '1987' or $document_scheme = '1989' or $document_scheme = '2012' or $document_scheme = '2013' or $document_scheme = '2024'"><xsl:value-of select="$document_scheme"/></xsl:when>
22
- <xsl:otherwise>default</xsl:otherwise>
23
- </xsl:choose>
24
- </xsl:variable>
25
- <xsl:variable name="layoutVersion" select="normalize-space($layoutVersion_)"/>
26
-
27
- <xsl:variable name="doctype" select="(//mn:metanorma)[1]/mn:bibdata/mn:ext/mn:doctype"/>
28
-
29
14
  <xsl:variable name="variables_">
30
15
  <xsl:for-each select="//mn:metanorma">
31
16
  <xsl:variable name="num"><xsl:number level="any" count="mn:metanorma"/></xsl:variable>
@@ -38,6 +23,21 @@
38
23
  <mnx:doc num="{$num}">
39
24
  <!-- <mnx:variables> -->
40
25
 
26
+ <!---examples: 2013, 2024 -->
27
+ <xsl:variable name="document_scheme" select="normalize-space(/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata/mn:document-scheme)"/>
28
+
29
+ <xsl:variable name="layoutVersion_">
30
+ <xsl:choose>
31
+ <xsl:when test="$document_scheme = ''">2024</xsl:when>
32
+ <xsl:when test="$document_scheme = '1951' or $document_scheme = '1972' or $document_scheme = '1979' or $document_scheme = '1987' or $document_scheme = '1989' or $document_scheme = '2012' or $document_scheme = '2013' or $document_scheme = '2024'"><xsl:value-of select="$document_scheme"/></xsl:when>
33
+ <xsl:otherwise>default</xsl:otherwise>
34
+ </xsl:choose>
35
+ </xsl:variable>
36
+ <xsl:variable name="layoutVersion" select="normalize-space($layoutVersion_)"/>
37
+ <layoutVersion><xsl:value-of select="$layoutVersion"/></layoutVersion>
38
+
39
+ <isAuthorOrganizationAbbreviationISO><xsl:value-of select="normalize-space(/mn:metanorma/mn:bibdata/mn:contributor[mn:role/@type = 'author']/mn:organization/mn:abbreviation = 'ISO')"/></isAuthorOrganizationAbbreviationISO>
40
+
41
41
  <i18n_reference_number_abbrev><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">reference_number_abbrev</xsl:with-param></xsl:call-template></i18n_reference_number_abbrev>
42
42
  <i18n_reference_number><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">reference_number</xsl:with-param></xsl:call-template></i18n_reference_number>
43
43
  <i18n_descriptors><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">Descriptor.pl</xsl:with-param></xsl:call-template></i18n_descriptors>
@@ -461,15 +461,6 @@
461
461
  <revision_date><xsl:value-of select="$revision_date"/></revision_date>
462
462
  <revision_date_num><xsl:value-of select="number(translate($revision_date,'-',''))"/></revision_date_num>
463
463
 
464
- <xsl:variable name="layoutVersion_">
465
- <xsl:choose>
466
- <xsl:when test="$document_scheme = ''">2024</xsl:when>
467
- <xsl:when test="$document_scheme = '1951' or $document_scheme = '1972' or $document_scheme = '1979' or $document_scheme = '1987' or $document_scheme = '1989' or $document_scheme = '2012' or $document_scheme = '2013' or $document_scheme = '2024'"><xsl:value-of select="$document_scheme"/></xsl:when>
468
- <xsl:otherwise>default</xsl:otherwise>
469
- </xsl:choose>
470
- </xsl:variable>
471
- <layoutVersion><xsl:value-of select="normalize-space($layoutVersion_)"/></layoutVersion>
472
-
473
464
  <xsl:variable name="color_secondary_value" select="normalize-space(/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata/mn:color-secondary)"/>
474
465
  <color_secondary>
475
466
  <xsl:choose>
@@ -485,6 +476,12 @@
485
476
  </xsl:variable>
486
477
  <xsl:variable name="variables" select="xalan:nodeset($variables_)"/>
487
478
 
479
+ <xsl:template name="getVariable">
480
+ <xsl:param name="variable"/>
481
+ <xsl:variable name="num" select="number(java:org.metanorma.fop.global.Variables.getVariable('num'))"/>
482
+ <xsl:value-of select="$variables/mnx:doc[@num = $num]/*[local-name() = $variable]"/>
483
+ </xsl:template>
484
+
488
485
  <xsl:variable name="COLUMN_GAP">8.5mm</xsl:variable>
489
486
 
490
487
  <xsl:variable name="PROOF_TEXT">PROOF/ÉPREUVE</xsl:variable>
@@ -729,6 +726,9 @@
729
726
  </fo:repeatable-page-master-alternatives>
730
727
  </fo:page-sequence-master>
731
728
 
729
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = 1]/layoutVersion"/>
730
+ <xsl:variable name="doctype" select="$variables/mnx:doc[@num = 1]/doctype"/>
731
+
732
732
  <!-- first page -->
733
733
  <fo:simple-page-master master-name="preface_firstpage" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
734
734
  <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight2}mm" margin-right="{$marginLeftRight1}mm" column-count="{$layout_columns}" column-gap="{$COLUMN_GAP}"/>
@@ -934,30 +934,7 @@
934
934
  <xsl:variable name="root-style">
935
935
  <root-style xsl:use-attribute-sets="root-style">
936
936
 
937
- <xsl:if test="$layoutVersion = '1951'">
938
- <xsl:attribute name="font-size">10pt</xsl:attribute>
939
- <xsl:if test="$revision_date_num &gt;= 19680101">
940
- <xsl:attribute name="font-size">9pt</xsl:attribute>
941
- </xsl:if>
942
- </xsl:if>
943
-
944
- <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979'">
945
- <xsl:attribute name="font-family">Univers, Times New Roman, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
946
- <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
947
- <xsl:attribute name="font-size">10pt</xsl:attribute>
948
- <xsl:if test="$layout_columns = 2">
949
- <xsl:attribute name="font-size">9pt</xsl:attribute>
950
- </xsl:if>
951
- </xsl:if>
952
- <xsl:if test="$layoutVersion = '1987' or $layoutVersion = '1989'">
953
- <xsl:attribute name="font-family">Arial, Times New Roman, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
954
- <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
955
- <xsl:attribute name="font-size">10pt</xsl:attribute>
956
- </xsl:if>
957
-
958
- <xsl:if test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))">
959
- <xsl:attribute name="font-size">8.5pt</xsl:attribute>
960
- </xsl:if>
937
+ <!-- <xsl:call-template name="refinePageSequenceCommon"/> -->
961
938
 
962
939
  <xsl:if test="$lang = 'zh'">
963
940
  <!-- <xsl:attribute name="font-family">Source Han Sans, Times New Roman, Cambria Math</xsl:attribute> -->
@@ -969,10 +946,6 @@
969
946
  <xsl:with-param name="root-style" select="$root-style"/>
970
947
  </xsl:call-template>
971
948
 
972
- <xsl:if test="$layoutVersion = '2024' and /mn:metanorma/mn:bibdata/mn:contributor[mn:role/@type = 'author']/mn:organization/mn:abbreviation = 'ISO'">
973
- <xsl:attribute name="color">rgb(35,31,32)</xsl:attribute>
974
- </xsl:if>
975
-
976
949
  <xsl:if test="/mn:metanorma/mn:metanorma-extension/mn:presentation-metadata/mn:linenumbers = 'true'">
977
950
  <xsl:processing-instruction name="add_line_numbers">true</xsl:processing-instruction>
978
951
  </xsl:if>
@@ -1021,6 +994,8 @@
1021
994
  <xsl:for-each select="xalan:nodeset($updated_xml)//mn:metanorma">
1022
995
  <xsl:variable name="num"><xsl:number level="any" count="mn:metanorma"/></xsl:variable>
1023
996
 
997
+ <xsl:variable name="setVariable" select="java:org.metanorma.fop.global.Variables.setVariable('num', $num)"/>
998
+
1024
999
  <xsl:variable name="current_document">
1025
1000
  <xsl:copy-of select="."/>
1026
1001
  </xsl:variable>
@@ -1046,6 +1021,7 @@
1046
1021
  </xsl:if>
1047
1022
 
1048
1023
  <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
1024
+ <xsl:variable name="doctype" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
1049
1025
  <xsl:variable name="revision_date" select="$variables/mnx:doc[@num = $num]/revision_date"/>
1050
1026
  <xsl:variable name="revision_date_num" select="$variables/mnx:doc[@num = $num]/revision_date_num"/>
1051
1027
  <xsl:variable name="ISOnumber" select="$variables/mnx:doc[@num = $num]/ISOnumber"/>
@@ -1066,6 +1042,7 @@
1066
1042
  <xsl:choose>
1067
1043
  <xsl:when test="$layoutVersion = '1951'">
1068
1044
  <fo:page-sequence master-reference="document{$document-master-reference_addon}" initial-page-number="auto" force-page-count="no-force">
1045
+ <xsl:call-template name="refinePageSequenceCommon"/>
1069
1046
 
1070
1047
  <xsl:call-template name="insertFootnoteSeparatorCommon"/>
1071
1048
 
@@ -1096,6 +1073,7 @@
1096
1073
 
1097
1074
  <xsl:when test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))">
1098
1075
  <fo:page-sequence master-reference="preface-1987_TR" force-page-count="no-force" xsl:use-attribute-sets="page-sequence-preface">
1076
+ <xsl:call-template name="refinePageSequenceCommon"/>
1099
1077
  <xsl:call-template name="refine_page-sequence-preface"/>
1100
1078
 
1101
1079
  <xsl:call-template name="insertHeaderFooter">
@@ -1263,6 +1241,7 @@
1263
1241
  <xsl:for-each select=".//mn:page_sequence[parent::mn:preface][normalize-space() != '' or .//mn:image or .//*[local-name() = 'svg']]">
1264
1242
 
1265
1243
  <fo:page-sequence force-page-count="no-force" xsl:use-attribute-sets="page-sequence-preface">
1244
+ <xsl:call-template name="refinePageSequenceCommon"/>
1266
1245
  <xsl:call-template name="refine_page-sequence-preface"/>
1267
1246
 
1268
1247
  <xsl:attribute name="master-reference">
@@ -1328,6 +1307,7 @@
1328
1307
 
1329
1308
  <!-- BODY -->
1330
1309
  <fo:page-sequence force-page-count="no-force" xsl:use-attribute-sets="page-sequence-main">
1310
+ <xsl:call-template name="refinePageSequenceCommon"/>
1331
1311
  <xsl:call-template name="refine_page-sequence-main">
1332
1312
  <xsl:with-param name="layoutVersion" select="$layoutVersion"/>
1333
1313
  </xsl:call-template>
@@ -1505,6 +1485,9 @@
1505
1485
  </xsl:template> <!-- END: / -->
1506
1486
 
1507
1487
  <xsl:template name="printAddendumTitle">
1488
+ <xsl:variable name="doctype">
1489
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
1490
+ </xsl:variable>
1508
1491
  <xsl:value-of select="java:toUpperCase(java:java.lang.String.new($doctype))"/>
1509
1492
  <xsl:text> </xsl:text>
1510
1493
  <xsl:value-of select="/mn:metanorma/mn:bibdata/mn:ext/mn:structuredidentifier/mn:project-number/@addendum"/>
@@ -1537,6 +1520,10 @@
1537
1520
  <!-- <xsl:if test="$debug = 'true'"><xsl:message>START updated_xml_step_move_pagebreak</xsl:message></xsl:if>
1538
1521
  <xsl:variable name="startTime1" select="java:getTime(java:java.util.Date.new())"/> -->
1539
1522
 
1523
+ <xsl:variable name="doctype">
1524
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
1525
+ </xsl:variable>
1526
+
1540
1527
  <xsl:variable name="updated_xml_step_move_pagebreak">
1541
1528
  <xsl:element name="{$root_element}" namespace="{$namespace_full}">
1542
1529
  <xsl:call-template name="copyCommonElements"/>
@@ -1597,6 +1584,7 @@
1597
1584
  <xsl:if test="$isGenerateTableIF = 'false'"> <!-- no need cover page for auto-layout algorithm -->
1598
1585
 
1599
1586
  <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
1587
+ <xsl:variable name="doctype" select="$variables/mnx:doc[@num = $num]/doctype"/>
1600
1588
  <xsl:variable name="revision_date_num" select="$variables/mnx:doc[@num = $num]/revision_date_num"/>
1601
1589
  <xsl:variable name="docnumber_with_prefix" select="$variables/mnx:doc[@num = $num]/docnumber_with_prefix"/>
1602
1590
  <xsl:variable name="docidentifierISO" select="$variables/mnx:doc[@num = $num]/docidentifierISO"/>
@@ -1644,6 +1632,7 @@
1644
1632
 
1645
1633
  <xsl:when test="$layoutVersion = '1951'">
1646
1634
  <fo:page-sequence master-reference="cover-page_1951" force-page-count="no-force" initial-page-number="1">
1635
+ <xsl:call-template name="refinePageSequenceCommon"/>
1647
1636
  <fo:static-content flow-name="cover-page-header" font-family="Times New Roman" font-size="8.5pt" font-weight="bold">
1648
1637
  <xsl:if test="$revision_date_num &lt; 19680101">
1649
1638
  <xsl:attribute name="font-family">Arial</xsl:attribute>
@@ -1738,6 +1727,7 @@
1738
1727
 
1739
1728
  <xsl:when test="$layoutVersion = '1972' or ($layoutVersion = '1979' and not($doctype = 'addendum'))">
1740
1729
  <fo:page-sequence master-reference="cover-page_1972" force-page-count="no-force" initial-page-number="1">
1730
+ <xsl:call-template name="refinePageSequenceCommon"/>
1741
1731
  <fo:static-content flow-name="cover-page-footer" font-size="7pt">
1742
1732
  <xsl:call-template name="insertSingleLine"/>
1743
1733
  <fo:block font-size="11pt" font-weight="bold" text-align-last="justify" margin-right="1mm">
@@ -1876,6 +1866,7 @@
1876
1866
  <xsl:when test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))"><!-- see preface pages below --></xsl:when>
1877
1867
  <xsl:when test="$layoutVersion = '1987'">
1878
1868
  <fo:page-sequence master-reference="cover-page_1987" force-page-count="no-force" initial-page-number="1">
1869
+ <xsl:call-template name="refinePageSequenceCommon"/>
1879
1870
  <fo:static-content flow-name="right-region">
1880
1871
  <fo:block-container height="50%">
1881
1872
  <fo:block-container margin-top="8mm" margin-left="2mm">
@@ -1960,6 +1951,7 @@
1960
1951
 
1961
1952
  <xsl:when test="$layoutVersion = '2024'">
1962
1953
  <fo:page-sequence master-reference="cover-page_2024" force-page-count="no-force" initial-page-number="1">
1954
+ <xsl:call-template name="refinePageSequenceCommon"/>
1963
1955
  <fo:flow flow-name="xsl-region-body">
1964
1956
  <xsl:call-template name="insert_firstpage_id"><xsl:with-param name="num" select="$num"/></xsl:call-template>
1965
1957
 
@@ -2353,6 +2345,7 @@
2353
2345
 
2354
2346
  <xsl:when test="$stage-abbreviation != ''">
2355
2347
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force" initial-page-number="1">
2348
+ <xsl:call-template name="refinePageSequenceCommon"/>
2356
2349
  <fo:static-content flow-name="cover-page-footer" font-size="10pt">
2357
2350
  <xsl:if test="$layoutVersion = '1989'">
2358
2351
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -2861,6 +2854,7 @@
2861
2854
 
2862
2855
  <xsl:when test="$isPublished = 'true'">
2863
2856
  <fo:page-sequence master-reference="cover-page-published" force-page-count="no-force" initial-page-number="1">
2857
+ <xsl:call-template name="refinePageSequenceCommon"/>
2864
2858
  <fo:static-content flow-name="cover-page-footer" font-size="10pt">
2865
2859
  <xsl:call-template name="insertTripleLine"/>
2866
2860
  <fo:table table-layout="fixed" width="100%" margin-bottom="3mm" role="SKIP">
@@ -2962,6 +2956,7 @@
2962
2956
  </xsl:when> <!-- $isPublished = 'true' -->
2963
2957
  <xsl:otherwise>
2964
2958
  <fo:page-sequence master-reference="cover-page-nonpublished" force-page-count="no-force" initial-page-number="1">
2959
+ <xsl:call-template name="refinePageSequenceCommon"/>
2965
2960
  <fo:static-content flow-name="cover-page-header" font-size="10pt">
2966
2961
  <fo:block-container height="24mm" display-align="before">
2967
2962
  <fo:block padding-top="12.5mm">
@@ -3070,9 +3065,17 @@
3070
3065
  <xsl:template name="inner-cover-page">
3071
3066
  <xsl:param name="num"/>
3072
3067
 
3068
+ <xsl:variable name="layoutVersion">
3069
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3070
+ </xsl:variable>
3071
+ <xsl:variable name="revision_date_num">
3072
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
3073
+ </xsl:variable>
3074
+
3073
3075
  <xsl:if test="normalize-space(/mn:metanorma/mn:boilerplate/mn:copyright-statement) != ''">
3074
3076
 
3075
3077
  <fo:page-sequence force-page-count="no-force" xsl:use-attribute-sets="page-sequence-preface">
3078
+ <xsl:call-template name="refinePageSequenceCommon"/>
3076
3079
  <xsl:call-template name="refine_page-sequence-preface"/>
3077
3080
  <!-- The first instance of a running page header should be tagged - later instances should be marked as Artifact. -->
3078
3081
  <xsl:variable name="document-master-reference_addon" select="$variables/mnx:doc[@num = $num]/document-master-reference_addon"/>
@@ -3163,6 +3166,9 @@
3163
3166
  <xsl:template match="mn:preface/mn:introduction" mode="update_xml_step1" priority="3">
3164
3167
  <xsl:param name="num"/>
3165
3168
  <xsl:param name="process">false</xsl:param>
3169
+ <xsl:variable name="layoutVersion">
3170
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3171
+ </xsl:variable>
3166
3172
  <xsl:choose>
3167
3173
  <xsl:when test="$layoutVersion = '1951'">
3168
3174
  <xsl:if test="$process = 'true'">
@@ -3187,6 +3193,9 @@
3187
3193
  <xsl:copy>
3188
3194
  <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
3189
3195
  </xsl:copy>
3196
+ <xsl:variable name="layoutVersion">
3197
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3198
+ </xsl:variable>
3190
3199
  <xsl:if test="$layoutVersion = '1951'">
3191
3200
  <xsl:apply-templates select="../../mn:preface/mn:introduction" mode="update_xml_step1">
3192
3201
  <xsl:with-param name="process">true</xsl:with-param>
@@ -3196,6 +3205,9 @@
3196
3205
 
3197
3206
  <!-- transform NOTE to Note for smallcaps feature working -->
3198
3207
  <xsl:template match="mn:note/mn:name/text() | mn:example/mn:name/text() | mn:note/mn:fmt-name/text() | mn:example/mn:fmt-name/text()" mode="update_xml_step1" priority="3">
3208
+ <xsl:variable name="layoutVersion">
3209
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3210
+ </xsl:variable>
3199
3211
  <xsl:choose>
3200
3212
  <xsl:when test="$layoutVersion = '1951'"> <!-- and $revision_date_num &lt; 19680101 -->
3201
3213
  <xsl:value-of select="substring(., 1, 1)"/>
@@ -3276,6 +3288,12 @@
3276
3288
  <xsl:template name="insertLogoImage">
3277
3289
  <xsl:param name="num"/>
3278
3290
  <xsl:param name="content-height"/>
3291
+ <xsl:variable name="layoutVersion">
3292
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3293
+ </xsl:variable>
3294
+ <xsl:variable name="revision_date_num">
3295
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
3296
+ </xsl:variable>
3279
3297
  <xsl:choose>
3280
3298
  <xsl:when test="mn:logo/mn:image">
3281
3299
  <xsl:apply-templates select="mn:logo/mn:image"/>
@@ -3481,6 +3499,9 @@
3481
3499
  <xsl:call-template name="printEdition"/>
3482
3500
  </xsl:if>
3483
3501
  </xsl:variable>
3502
+ <xsl:variable name="layoutVersion">
3503
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3504
+ </xsl:variable>
3484
3505
  <xsl:value-of select="$edition"/>
3485
3506
  <xsl:variable name="date">
3486
3507
  <xsl:choose>
@@ -3574,6 +3595,9 @@
3574
3595
  <xsl:variable name="stagename_abbreviation" select="$variables/mnx:doc[@num = $num]/stagename_abbreviation"/>
3575
3596
  <xsl:variable name="i18n_fast_track_procedure" select="$variables/mnx:doc[@num = $num]/i18n_fast_track_procedure"/>
3576
3597
  <xsl:variable name="i18n_iso_cen_parallel" select="$variables/mnx:doc[@num = $num]/i18n_iso_cen_parallel"/>
3598
+ <xsl:variable name="layoutVersion">
3599
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3600
+ </xsl:variable>
3577
3601
  <xsl:if test="$stage-abbreviation = 'NWIP' or $stage-abbreviation = 'NP' or $stage-abbreviation = 'PWI' or $stage-abbreviation = 'AWI' or $stage-abbreviation = 'WD' or $stage-abbreviation = 'CD' or $stage-abbreviation = 'FCD' or $stage-abbreviation = 'DIS' or $stage-abbreviation = 'FDIS' or $stage-abbreviation = 'DAMD' or $stage-abbreviation = 'DAM' or $stagename_abbreviation = 'DIS' or $stagename_abbreviation = 'FDIS'">
3578
3602
  <xsl:variable name="text">
3579
3603
  <xsl:for-each select="/mn:metanorma/mn:preface/mn:note[@coverpage='true']/mn:p">
@@ -3650,6 +3674,12 @@
3650
3674
 
3651
3675
  <xsl:template match="mn:preface//mn:clause[@type = 'toc']" name="toc" priority="3">
3652
3676
  <xsl:param name="num"/>
3677
+ <xsl:variable name="layoutVersion">
3678
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3679
+ </xsl:variable>
3680
+ <xsl:variable name="doctype">
3681
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
3682
+ </xsl:variable>
3653
3683
  <xsl:choose>
3654
3684
  <xsl:when test="$isGenerateTableIF = 'true'"/>
3655
3685
  <xsl:when test="$toc_level = 0"/>
@@ -3828,6 +3858,20 @@
3828
3858
  </fo:block>
3829
3859
  </fo:block-container>
3830
3860
  </xsl:if>
3861
+
3862
+ <xsl:if test="$contents/mnx:doc[@num = $num]//mnx:examples/mnx:example">
3863
+ <fo:block-container>
3864
+ <!-- List of Examples -->
3865
+ <xsl:call-template name="insertListOf_Title">
3866
+ <xsl:with-param name="title" select="$title-list-examples"/>
3867
+ </xsl:call-template>
3868
+ <fo:block role="TOC">
3869
+ <xsl:for-each select="$contents/mnx:doc[@num = $num]//mnx:examples/mnx:example">
3870
+ <xsl:call-template name="insertListOf_Item"/>
3871
+ </xsl:for-each>
3872
+ </fo:block>
3873
+ </fo:block-container>
3874
+ </xsl:if>
3831
3875
  </xsl:if>
3832
3876
  </fo:block-container>
3833
3877
  </xsl:otherwise>
@@ -3837,7 +3881,11 @@
3837
3881
  <xsl:template match="mn:preface//mn:clause[@type = 'toc']/mn:fmt-title" priority="3">
3838
3882
  <xsl:param name="num"/>
3839
3883
  <xsl:variable name="i18n_locality_page" select="$variables/mnx:doc[@num = $num]/i18n_locality_page"/>
3884
+ <xsl:variable name="layoutVersion">
3885
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3886
+ </xsl:variable>
3840
3887
  <fo:block xsl:use-attribute-sets="toc-title-style">
3888
+ <xsl:call-template name="refine_toc-title-style"/>
3841
3889
  <xsl:if test="$layoutVersion = '2024'">
3842
3890
  <xsl:attribute name="margin-top">0</xsl:attribute>
3843
3891
  </xsl:if>
@@ -3915,6 +3963,9 @@
3915
3963
  <!-- display titles -->
3916
3964
  <!-- ==================== -->
3917
3965
  <xsl:template match="mn:bibdata/mn:title[@type = 'title-intro']">
3966
+ <xsl:variable name="layoutVersion">
3967
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3968
+ </xsl:variable>
3918
3969
  <xsl:choose>
3919
3970
  <xsl:when test="$layoutVersion = '1951'">
3920
3971
  <fo:block text-transform="uppercase"><xsl:apply-templates/></fo:block>
@@ -3928,6 +3979,12 @@
3928
3979
 
3929
3980
  <xsl:template match="mn:bibdata/mn:title[@type = 'title-main']">
3930
3981
  <xsl:param name="body">false</xsl:param>
3982
+ <xsl:variable name="layoutVersion">
3983
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
3984
+ </xsl:variable>
3985
+ <xsl:variable name="revision_date_num">
3986
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
3987
+ </xsl:variable>
3931
3988
  <xsl:choose>
3932
3989
  <xsl:when test="$layoutVersion = '1951'">
3933
3990
  <fo:block text-transform="uppercase" font-weight="bold" margin-top="5mm">
@@ -3961,6 +4018,9 @@
3961
4018
  <xsl:param name="isMainLang">false</xsl:param>
3962
4019
  <xsl:variable name="part" select="$variables/mnx:doc[@num = $num]/part"/>
3963
4020
  <!-- <xsl:variable name="i18n_locality_part" select="$variables/mnx:doc[@num = $num]/i18n_locality_part"/> -->
4021
+ <xsl:variable name="layoutVersion">
4022
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4023
+ </xsl:variable>
3964
4024
  <xsl:choose>
3965
4025
  <xsl:when test="$part != ''">
3966
4026
  <!-- <xsl:text> — </xsl:text> -->
@@ -4047,6 +4107,9 @@
4047
4107
  <xsl:param name="isMainBody">false</xsl:param>
4048
4108
  <xsl:variable name="stage-abbreviation" select="$variables/mnx:doc[@num = $num]/stage-abbreviation"/>
4049
4109
  <xsl:variable name="doctype_uppercased" select="$variables/mnx:doc[@num = $num]/doctype_uppercased"/>
4110
+ <xsl:variable name="doctype">
4111
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
4112
+ </xsl:variable>
4050
4113
  <xsl:if test="$doctype = 'amendment'">
4051
4114
  <fo:block margin-right="-5mm" margin-top="6pt" role="H1">
4052
4115
  <xsl:if test="$isMainLang = 'true'">
@@ -4078,6 +4141,15 @@
4078
4141
  </xsl:template>
4079
4142
 
4080
4143
  <xsl:template match="mn:sections//mn:p[@class = 'zzSTDTitle1']" priority="4">
4144
+ <xsl:variable name="layoutVersion">
4145
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4146
+ </xsl:variable>
4147
+ <xsl:variable name="doctype">
4148
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
4149
+ </xsl:variable>
4150
+ <xsl:variable name="revision_date_num">
4151
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
4152
+ </xsl:variable>
4081
4153
  <xsl:choose>
4082
4154
  <xsl:when test="$layoutVersion = '1951'">
4083
4155
  <fo:block font-size="13pt" font-weight="bold" text-align="center" margin-top="49mm" margin-bottom="20mm" text-transform="uppercase" line-height="1.1" role="P/Title">
@@ -4146,6 +4218,9 @@
4146
4218
 
4147
4219
  <xsl:template match="mn:sections//mn:p[@class = 'zzSTDTitle1']/mn:span[@class = 'nonboldtitle']" priority="3">
4148
4220
  <!-- Example: <span class="nonboldtitle">Part 1:</span> -->
4221
+ <xsl:variable name="layoutVersion">
4222
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4223
+ </xsl:variable>
4149
4224
  <xsl:choose>
4150
4225
  <xsl:when test="$layoutVersion = '1972' or $layoutVersion = '1979'">
4151
4226
  <fo:inline font-weight="bold" role="SKIP">
@@ -4161,12 +4236,18 @@
4161
4236
  </xsl:template>
4162
4237
 
4163
4238
  <xsl:template match="mn:sections//mn:p[@class = 'zzSTDTitle2']" priority="4">
4239
+ <xsl:variable name="doctype">
4240
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
4241
+ </xsl:variable>
4164
4242
  <!-- Example: <p class="zzSTDTitle2" displayorder="3">AMENDMENT 1: Mass fraction of extraneous matter, milled rice (nonglutinous), sample dividers and recommendations relating to storage and transport conditions</p> -->
4165
4243
  <xsl:if test="$doctype = 'amendment'">
4166
4244
  <fo:block font-size="18pt" margin-top="12pt" margin-bottom="20pt" margin-right="0mm" font-weight="normal" line-height="1.1" role="P/Title">
4245
+ <xsl:variable name="layoutVersion">
4246
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4247
+ </xsl:variable>
4167
4248
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
4168
- <xsl:attribute name="font-size">16pt</xsl:attribute>
4169
- </xsl:if>
4249
+ <xsl:attribute name="font-size">16pt</xsl:attribute>
4250
+ </xsl:if>
4170
4251
  <!-- <xsl:if test="$layoutVersion = '2024'">
4171
4252
  <xsl:attribute name="font-size">17.2pt</xsl:attribute>
4172
4253
  </xsl:if> -->
@@ -4283,6 +4364,9 @@
4283
4364
 
4284
4365
  <xsl:template match="mn:strong/text()" mode="contents_item">
4285
4366
  <xsl:param name="element"/>
4367
+ <xsl:variable name="layoutVersion">
4368
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4369
+ </xsl:variable>
4286
4370
  <xsl:choose>
4287
4371
  <xsl:when test="$layoutVersion = '1987' and $element = 'annex' and not(../preceding-sibling::node())"> <!-- omit Annex -->
4288
4372
  <xsl:value-of select="substring-after(., ' ')"/><xsl:text>  </xsl:text>
@@ -4295,6 +4379,9 @@
4295
4379
 
4296
4380
  <xsl:template match="mn:span[@class = 'obligation']/text()" mode="contents_item">
4297
4381
  <xsl:param name="element"/>
4382
+ <xsl:variable name="layoutVersion">
4383
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4384
+ </xsl:variable>
4298
4385
  <xsl:choose>
4299
4386
  <xsl:when test="$layoutVersion = '1987' and $element = 'annex'"/>
4300
4387
  <xsl:otherwise>
@@ -4319,6 +4406,9 @@
4319
4406
  </fo:block> -->
4320
4407
 
4321
4408
  <xsl:template match="mn:copyright-statement/mn:clause[1]/mn:fmt-title" priority="2">
4409
+ <xsl:variable name="layoutVersion">
4410
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4411
+ </xsl:variable>
4322
4412
  <xsl:choose>
4323
4413
  <xsl:when test="$layoutVersion = '1951'">
4324
4414
  <fo:block><xsl:apply-templates/></fo:block> <!-- font-weight="bold" -->
@@ -4362,6 +4452,12 @@
4362
4452
  </xsl:template>
4363
4453
 
4364
4454
  <xsl:template match="mn:copyright-statement//mn:p" priority="2">
4455
+ <xsl:variable name="layoutVersion">
4456
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4457
+ </xsl:variable>
4458
+ <xsl:variable name="doctype">
4459
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
4460
+ </xsl:variable>
4365
4461
  <xsl:choose>
4366
4462
  <xsl:when test="$layoutVersion = '1951'">
4367
4463
  <xsl:choose>
@@ -4436,6 +4532,16 @@
4436
4532
 
4437
4533
  <xsl:variable name="title_styles"><styles xsl:use-attribute-sets="title-style"><xsl:call-template name="refine_title-style"><xsl:with-param name="element-name" select="$element-name"/></xsl:call-template></styles></xsl:variable>
4438
4534
 
4535
+ <xsl:variable name="layoutVersion">
4536
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4537
+ </xsl:variable>
4538
+ <xsl:variable name="doctype">
4539
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
4540
+ </xsl:variable>
4541
+ <xsl:variable name="revision_date_num">
4542
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
4543
+ </xsl:variable>
4544
+
4439
4545
  <xsl:choose>
4440
4546
  <xsl:when test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum')) and parent::mn:foreword"><!-- skip Foreword title --></xsl:when>
4441
4547
  <xsl:when test="$doctype = 'amendment' and not(ancestor::mn:preface)">
@@ -4571,6 +4677,9 @@
4571
4677
 
4572
4678
  <xsl:template match="mn:fmt-title[../@inline-header = 'true'][following-sibling::*[1][self::mn:p]]" priority="3">
4573
4679
  <xsl:param name="without_number">false</xsl:param>
4680
+ <xsl:variable name="layoutVersion">
4681
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4682
+ </xsl:variable>
4574
4683
  <xsl:choose>
4575
4684
  <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1"/> <!-- don't show 'title' with inline-header='true' if next element is 'p' -->
4576
4685
  <xsl:otherwise>
@@ -4585,6 +4694,9 @@
4585
4694
  <!-- ====== -->
4586
4695
 
4587
4696
  <xsl:template match="mn:clause[normalize-space() != '' or mn:figure]" priority="2">
4697
+ <xsl:variable name="layoutVersion">
4698
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4699
+ </xsl:variable>
4588
4700
  <xsl:choose>
4589
4701
  <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and self::mn:clause and count(node()) = 0 and following-sibling::*[1][self::mn:fmt-title and not(@id)]"/> <!-- @id will be added to title -->
4590
4702
  <xsl:otherwise>
@@ -4621,6 +4733,10 @@
4621
4733
 
4622
4734
  <xsl:copy-of select="$p_styles/styles/@*"/>
4623
4735
 
4736
+ <xsl:variable name="layoutVersion">
4737
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4738
+ </xsl:variable>
4739
+
4624
4740
  <!-- put inline title in the first paragraph -->
4625
4741
  <xsl:if test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
4626
4742
  <!-- <xsl:if test="preceding-sibling::*[1]/@inline-header = 'true' and preceding-sibling::*[1][self::mn:title]"> -->
@@ -4708,6 +4824,9 @@
4708
4824
  </xsl:template>
4709
4825
 
4710
4826
  <xsl:template match="mn:note/mn:fmt-name/text()" priority="5">
4827
+ <xsl:variable name="layoutVersion">
4828
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4829
+ </xsl:variable>
4711
4830
  <xsl:choose>
4712
4831
  <xsl:when test="$layoutVersion = '1951' and not(translate(.,'0123456789','') = .)"> <!-- NOTE with number -->
4713
4832
  <fo:inline padding-right="2mm" role="SKIP">
@@ -4727,6 +4846,9 @@
4727
4846
  </xsl:template>
4728
4847
 
4729
4848
  <xsl:template match="mn:example/mn:fmt-name/text()" priority="5">
4849
+ <xsl:variable name="layoutVersion">
4850
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4851
+ </xsl:variable>
4730
4852
  <xsl:choose>
4731
4853
  <xsl:when test="$layoutVersion = '1951'"> <!-- and $revision_date_num &lt; 19610101 -->
4732
4854
  <xsl:call-template name="smallcaps"/>
@@ -4737,6 +4859,9 @@
4737
4859
  </xsl:template>
4738
4860
 
4739
4861
  <xsl:template match="mn:figure/mn:fmt-name/text()" priority="5">
4862
+ <xsl:variable name="layoutVersion">
4863
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4864
+ </xsl:variable>
4740
4865
  <xsl:choose>
4741
4866
  <xsl:when test="$layoutVersion = '1951' and not(ancestor::mn:figure[1]/@unnumbered = 'true') and not(preceding-sibling::node())">
4742
4867
  <xsl:choose>
@@ -4755,6 +4880,9 @@
4755
4880
  </xsl:template>
4756
4881
 
4757
4882
  <xsl:template match="mn:table/mn:fmt-name/text()" priority="5">
4883
+ <xsl:variable name="layoutVersion">
4884
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4885
+ </xsl:variable>
4758
4886
  <xsl:choose>
4759
4887
  <xsl:when test="$layoutVersion = '1951' and not(ancestor::mn:table[1]/@unnumbered = 'true') and not(preceding-sibling::node())">
4760
4888
  <xsl:choose>
@@ -4799,6 +4927,13 @@
4799
4927
 
4800
4928
  <xsl:call-template name="addTagElementT"/>
4801
4929
 
4930
+ <xsl:variable name="layoutVersion">
4931
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4932
+ </xsl:variable>
4933
+ <xsl:variable name="revision_date_num">
4934
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
4935
+ </xsl:variable>
4936
+
4802
4937
  <xsl:if test="$layoutVersion = '1951' and $revision_date_num &gt;= 19680101">
4803
4938
  <xsl:attribute name="space-before">6pt</xsl:attribute>
4804
4939
  <xsl:if test="self::mn:introduction">
@@ -4839,6 +4974,12 @@
4839
4974
  <xsl:with-param name="depth" select="mn:fmt-title/@depth"/>
4840
4975
  </xsl:call-template>
4841
4976
  </xsl:variable>
4977
+ <xsl:variable name="layoutVersion">
4978
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
4979
+ </xsl:variable>
4980
+ <xsl:variable name="revision_date_num">
4981
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
4982
+ </xsl:variable>
4842
4983
  <xsl:choose>
4843
4984
  <xsl:when test="$layoutVersion = '1951' and ($revision_date_num &gt;= 19690101 or $level &gt;= 2) and ancestor::*[self::mn:sections or self::mn:annex] and not(self::mn:introduction)">
4844
4985
 
@@ -4904,6 +5045,7 @@
4904
5045
  <xsl:template match="mn:indexsect" mode="index">
4905
5046
  <xsl:param name="num"/>
4906
5047
  <fo:page-sequence master-reference="index" force-page-count="no-force">
5048
+ <xsl:call-template name="refinePageSequenceCommon"/>
4907
5049
  <!-- <xsl:variable name="header-title">
4908
5050
  <xsl:choose>
4909
5051
  <xsl:when test="./mn:title[1]/mn:tab">
@@ -4932,6 +5074,9 @@
4932
5074
  </xsl:template>
4933
5075
 
4934
5076
  <xsl:template match="mn:xref | mn:fmt-xref" priority="2">
5077
+ <xsl:variable name="layoutVersion">
5078
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
5079
+ </xsl:variable>
4935
5080
  <xsl:call-template name="insert_basic_link">
4936
5081
  <xsl:with-param name="element">
4937
5082
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
@@ -4972,6 +5117,9 @@
4972
5117
  </xsl:template>
4973
5118
 
4974
5119
  <xsl:template match="mn:sup[mn:fmt-xref[@type = 'footnote']]" priority="2">
5120
+ <xsl:variable name="layoutVersion">
5121
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
5122
+ </xsl:variable>
4975
5123
  <fo:inline font-size="80%">
4976
5124
  <xsl:choose>
4977
5125
  <xsl:when test="$layoutVersion = '2024'">
@@ -5043,6 +5191,10 @@
5043
5191
  <xsl:param name="is_header">true</xsl:param>
5044
5192
  <xsl:param name="border_around_page">false</xsl:param>
5045
5193
  <xsl:param name="insert_header_first">true</xsl:param>
5194
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5195
+ <xsl:variable name="doctype">
5196
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
5197
+ </xsl:variable>
5046
5198
  <xsl:call-template name="insertHeaderEven">
5047
5199
  <xsl:with-param name="num" select="$num"/>
5048
5200
  <xsl:with-param name="border_around_page" select="$border_around_page"/>
@@ -5066,6 +5218,10 @@
5066
5218
  <xsl:param name="font-weight" select="'bold'"/>
5067
5219
  <xsl:param name="is_footer">false</xsl:param>
5068
5220
  <xsl:param name="insert_footer_last">true</xsl:param>
5221
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5222
+ <xsl:variable name="revision_date_num">
5223
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5224
+ </xsl:variable>
5069
5225
  <xsl:if test="($layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)) and $is_footer = 'true'">
5070
5226
  <xsl:call-template name="insertFooterFirst1972_1998">
5071
5227
  <xsl:with-param name="num" select="$num"/>
@@ -5083,18 +5239,26 @@
5083
5239
  </xsl:call-template>
5084
5240
  </xsl:template> <!-- END: insertFooter -->
5085
5241
 
5086
- <xsl:variable name="font-size_header">
5242
+ <xsl:template name="get_font-size_header">
5243
+ <xsl:param name="layoutVersion"/>
5087
5244
  <xsl:choose>
5088
5245
  <xsl:when test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">11pt</xsl:when>
5089
5246
  <xsl:otherwise>12pt</xsl:otherwise>
5090
5247
  </xsl:choose>
5091
- </xsl:variable>
5248
+ </xsl:template>
5249
+
5092
5250
  <xsl:template name="insertHeaderEven">
5093
5251
  <xsl:param name="num"/>
5094
5252
  <xsl:param name="is_header">true</xsl:param>
5095
5253
  <xsl:param name="border_around_page">false</xsl:param>
5096
5254
  <xsl:param name="header_region_name">header-even</xsl:param>
5097
5255
  <xsl:variable name="ISOnumber" select="$variables/mnx:doc[@num = $num]/ISOnumber"/>
5256
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5257
+ <xsl:variable name="font-size_header">
5258
+ <xsl:call-template name="get_font-size_header">
5259
+ <xsl:with-param name="layoutVersion" select="$layoutVersion"/>
5260
+ </xsl:call-template>
5261
+ </xsl:variable>
5098
5262
  <fo:static-content flow-name="{$header_region_name}">
5099
5263
  <xsl:choose>
5100
5264
  <xsl:when test="$header_region_name = 'header-even'">
@@ -5146,6 +5310,12 @@
5146
5310
  <xsl:variable name="stagename_localized_firstpage" select="$variables/mnx:doc[@num = $num]/stagename_localized_firstpage"/>
5147
5311
  <xsl:variable name="stagename-header-firstpage" select="$variables/mnx:doc[@num = $num]/stagename-header-firstpage"/>
5148
5312
  <xsl:variable name="stagename-header-firstpage-uppercased" select="$variables/mnx:doc[@num = $num]/stagename-header-firstpage-uppercased"/>
5313
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5314
+ <xsl:variable name="font-size_header">
5315
+ <xsl:call-template name="get_font-size_header">
5316
+ <xsl:with-param name="layoutVersion" select="$layoutVersion"/>
5317
+ </xsl:call-template>
5318
+ </xsl:variable>
5149
5319
  <!-- The first instance of a running page header should be tagged - later instances should be marked as Artifact. -->
5150
5320
  <fo:static-content flow-name="header-first" role="SKIP"> <!-- role="artifact" -->
5151
5321
  <xsl:choose>
@@ -5235,6 +5405,12 @@
5235
5405
  <xsl:param name="is_header">true</xsl:param>
5236
5406
  <xsl:param name="border_around_page">false</xsl:param>
5237
5407
  <xsl:variable name="ISOnumber" select="$variables/mnx:doc[@num = $num]/ISOnumber"/>
5408
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5409
+ <xsl:variable name="font-size_header">
5410
+ <xsl:call-template name="get_font-size_header">
5411
+ <xsl:with-param name="layoutVersion" select="$layoutVersion"/>
5412
+ </xsl:call-template>
5413
+ </xsl:variable>
5238
5414
  <fo:static-content flow-name="header-odd" role="artifact">
5239
5415
  <xsl:if test="$layoutVersion = '1951' and $border_around_page = 'true'">
5240
5416
  <!-- box around page -->
@@ -5275,6 +5451,15 @@
5275
5451
  <xsl:param name="is_header"/>
5276
5452
  <xsl:param name="odd_or_even"/>
5277
5453
  <xsl:variable name="ISOnumber" select="$variables/mnx:doc[@num = $num]/ISOnumber"/>
5454
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5455
+ <xsl:variable name="revision_date_num">
5456
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5457
+ </xsl:variable>
5458
+ <xsl:variable name="font-size_header">
5459
+ <xsl:call-template name="get_font-size_header">
5460
+ <xsl:with-param name="layoutVersion" select="$layoutVersion"/>
5461
+ </xsl:call-template>
5462
+ </xsl:variable>
5278
5463
  <fo:block-container font-size="{$font-size_header}" font-weight="bold" text-align="right" padding-top="12.5mm" line-height="1.1">
5279
5464
  <xsl:call-template name="insertLayoutVersionAttributesTop">
5280
5465
  <xsl:with-param name="num" select="$num"/>
@@ -5324,6 +5509,7 @@
5324
5509
  <xsl:param name="font-weight" select="'bold'"/>
5325
5510
  <xsl:variable name="copyrightText" select="$variables/mnx:doc[@num = $num]/copyrightText"/>
5326
5511
  <xsl:variable name="stage-abbreviation" select="$variables/mnx:doc[@num = $num]/stage-abbreviation"/>
5512
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5327
5513
  <fo:static-content flow-name="footer-preface-first_1972-1998" role="artifact">
5328
5514
  <fo:block-container display-align="after" height="86mm">
5329
5515
 
@@ -5371,6 +5557,10 @@
5371
5557
  <xsl:param name="insert_footer_last">true</xsl:param>
5372
5558
  <xsl:variable name="copyrightText" select="$variables/mnx:doc[@num = $num]/copyrightText"/>
5373
5559
  <xsl:variable name="stage-abbreviation" select="$variables/mnx:doc[@num = $num]/stage-abbreviation"/>
5560
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5561
+ <xsl:variable name="revision_date_num">
5562
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5563
+ </xsl:variable>
5374
5564
  <fo:static-content flow-name="footer-even" role="artifact">
5375
5565
  <fo:block-container>
5376
5566
  <xsl:choose>
@@ -5436,6 +5626,10 @@
5436
5626
  <xsl:param name="font-weight" select="'bold'"/>
5437
5627
  <xsl:variable name="copyrightText" select="$variables/mnx:doc[@num = $num]/copyrightText"/>
5438
5628
  <xsl:variable name="stage-abbreviation" select="$variables/mnx:doc[@num = $num]/stage-abbreviation"/>
5629
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5630
+ <xsl:variable name="revision_date_num">
5631
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5632
+ </xsl:variable>
5439
5633
  <fo:static-content flow-name="footer-odd" role="artifact">
5440
5634
  <fo:block-container>
5441
5635
  <xsl:choose>
@@ -5493,6 +5687,9 @@
5493
5687
  <xsl:attribute name="text-align">center</xsl:attribute>
5494
5688
  <xsl:variable name="i18n_date_first_printing" select="$variables/mnx:doc[@num = $num]/i18n_date_first_printing"/>
5495
5689
  <xsl:variable name="i18n_price" select="$variables/mnx:doc[@num = $num]/i18n_price"/>
5690
+ <xsl:variable name="revision_date_num">
5691
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5692
+ </xsl:variable>
5496
5693
  <fo:block-container margin-left="-13mm" margin-right="-13mm">
5497
5694
  <fo:block-container xsl:use-attribute-sets="reset-margins-style">
5498
5695
  <fo:table table-layout="fixed" width="100%" margin-bottom="5mm">
@@ -5589,6 +5786,10 @@
5589
5786
  <xsl:template name="insertLayoutVersionAttributesTop">
5590
5787
  <xsl:param name="num"/>
5591
5788
  <xsl:param name="odd_or_even"/>
5789
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5790
+ <xsl:variable name="revision_date_num">
5791
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5792
+ </xsl:variable>
5592
5793
  <xsl:if test="$layoutVersion = '1951'">
5593
5794
  <xsl:attribute name="font-family">Arial</xsl:attribute>
5594
5795
  <xsl:attribute name="font-size">8pt</xsl:attribute>
@@ -5643,6 +5844,9 @@
5643
5844
  <xsl:template name="back-page">
5644
5845
  <xsl:param name="num"/>
5645
5846
  <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5847
+ <xsl:variable name="doctype">
5848
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
5849
+ </xsl:variable>
5646
5850
  <xsl:variable name="isPublished" select="$variables/mnx:doc[@num = $num]/isPublished"/>
5647
5851
  <xsl:choose>
5648
5852
  <xsl:when test="$isGenerateTableIF = 'true'"><!-- skip last page --></xsl:when>
@@ -5667,7 +5871,12 @@
5667
5871
  <xsl:variable name="i18n_descriptors" select="$variables/mnx:doc[@num = $num]/i18n_descriptors"/>
5668
5872
  <xsl:variable name="copyrightText" select="$variables/mnx:doc[@num = $num]/copyrightText"/>
5669
5873
  <xsl:variable name="udc" select="$variables/mnx:doc[@num = $num]/udc"/>
5874
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
5875
+ <xsl:variable name="revision_date_num">
5876
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
5877
+ </xsl:variable>
5670
5878
  <fo:page-sequence master-reference="back-page" force-page-count="no-force">
5879
+ <xsl:call-template name="refinePageSequenceCommon"/>
5671
5880
  <xsl:call-template name="insertHeaderEven"><xsl:with-param name="num" select="$num"/></xsl:call-template>
5672
5881
  <fo:static-content flow-name="back-page-footer" font-size="10pt">
5673
5882
  <fo:table table-layout="fixed" width="100%">
@@ -5788,6 +5997,7 @@
5788
5997
  <xsl:variable name="substage" select="$variables/mnx:doc[@num = $num]/substage"/>
5789
5998
  <xsl:variable name="copyrightTextLastPage2024" select="$variables/mnx:doc[@num = $num]/copyrightTextLastPage2024"/>
5790
5999
  <fo:page-sequence master-reference="back-page_2024" force-page-count="no-force">
6000
+ <xsl:call-template name="refinePageSequenceCommon"/>
5791
6001
  <fo:flow flow-name="xsl-region-body">
5792
6002
  <xsl:variable name="fo_last_page">
5793
6003
  <fo:table table-layout="fixed" width="100%" margin-bottom="-1mm">
@@ -6033,6 +6243,7 @@
6033
6243
 
6034
6244
  <xsl:template name="insertSmallHorizontalLine">
6035
6245
  <xsl:param name="num"/>
6246
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = $num]/layoutVersion"/>
6036
6247
  <xsl:if test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989')">
6037
6248
  <!-- small horizontal line -->
6038
6249
  <fo:block text-align="center" margin-top="12mm" keep-with-previous="always" role="SKIP">
@@ -6057,6 +6268,51 @@
6057
6268
  <fo:block id="lastBlock{$num}" font-size="1pt" keep-with-previous="always" role="SKIP"><fo:wrapper role="artifact"> </fo:wrapper></fo:block>
6058
6269
  </xsl:template>
6059
6270
 
6271
+ <xsl:template name="refinePageSequenceCommon">
6272
+ <xsl:variable name="layoutVersion">
6273
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
6274
+ </xsl:variable>
6275
+ <xsl:variable name="doctype">
6276
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
6277
+ </xsl:variable>
6278
+ <xsl:variable name="revision_date_num">
6279
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
6280
+ </xsl:variable>
6281
+ <xsl:variable name="isAuthorOrganizationAbbreviationISO">
6282
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">isAuthorOrganizationAbbreviationISO</xsl:with-param></xsl:call-template>
6283
+ </xsl:variable>
6284
+
6285
+ <xsl:if test="$layoutVersion = '1951'">
6286
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6287
+ <xsl:if test="$revision_date_num &gt;= 19680101">
6288
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
6289
+ </xsl:if>
6290
+ </xsl:if>
6291
+
6292
+ <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979'">
6293
+ <xsl:attribute name="font-family">Univers, Times New Roman, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
6294
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
6295
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6296
+ <xsl:if test="$layout_columns = 2">
6297
+ <xsl:attribute name="font-size">9pt</xsl:attribute>
6298
+ </xsl:if>
6299
+ </xsl:if>
6300
+ <xsl:if test="$layoutVersion = '1987' or $layoutVersion = '1989'">
6301
+ <xsl:attribute name="font-family">Arial, Times New Roman, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
6302
+ <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
6303
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
6304
+ </xsl:if>
6305
+
6306
+ <xsl:if test="(($layoutVersion = '1987' and $doctype = 'technical-report') or ($layoutVersion = '1979' and $doctype = 'addendum'))">
6307
+ <xsl:attribute name="font-size">8.5pt</xsl:attribute>
6308
+ </xsl:if>
6309
+
6310
+ <xsl:if test="$layoutVersion = '2024' and $isAuthorOrganizationAbbreviationISO = 'true'">
6311
+ <xsl:attribute name="color">rgb(35,31,32)</xsl:attribute>
6312
+ </xsl:if>
6313
+
6314
+ </xsl:template>
6315
+
6060
6316
  <!-- https://www.metanorma.org/ns/standoc -->
6061
6317
  <xsl:variable name="namespace_full" select="namespace-uri(//mn:metanorma[1])"/>
6062
6318
 
@@ -6221,6 +6477,16 @@
6221
6477
  </xsl:if>
6222
6478
  </xsl:variable>
6223
6479
 
6480
+ <xsl:variable name="title-list-examples">
6481
+ <xsl:variable name="toc_example_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title"/>
6482
+ <xsl:value-of select="$toc_example_title"/>
6483
+ <xsl:if test="normalize-space($toc_example_title) = ''">
6484
+ <xsl:call-template name="getLocalizedString">
6485
+ <xsl:with-param name="key">toc_examples</xsl:with-param>
6486
+ </xsl:call-template>
6487
+ </xsl:if>
6488
+ </xsl:variable>
6489
+
6224
6490
  <xsl:variable name="title-list-recommendations">
6225
6491
  <xsl:variable name="toc_requirement_title" select="//mn:metanorma/mn:metanorma-extension/mn:toc[@type='requirement']/mn:title"/>
6226
6492
  <xsl:value-of select="$toc_requirement_title"/>
@@ -6304,6 +6570,7 @@
6304
6570
  <!-- marginLeftRight1 and marginLeftRight2 - is left or right margin depends on odd/even page,
6305
6571
  for example, left margin on odd page and right margin on even page -->
6306
6572
  <xsl:variable name="marginLeftRight1_">
6573
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = 1]/layoutVersion"/>
6307
6574
  <xsl:choose>
6308
6575
  <xsl:when test="$layoutVersion = '1951'">36</xsl:when>
6309
6576
  <xsl:when test="$layoutVersion = '2024'">15.2</xsl:when>
@@ -6314,6 +6581,7 @@
6314
6581
  <xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/>
6315
6582
 
6316
6583
  <xsl:variable name="marginLeftRight2_">
6584
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = 1]/layoutVersion"/>
6317
6585
  <xsl:choose>
6318
6586
  <xsl:when test="$layoutVersion = '1951'">29</xsl:when>
6319
6587
  <xsl:when test="$layoutVersion = '2024'">15.2</xsl:when>
@@ -6324,6 +6592,7 @@
6324
6592
  <xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/>
6325
6593
 
6326
6594
  <xsl:variable name="marginTop_">
6595
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = 1]/layoutVersion"/>
6327
6596
  <xsl:choose>
6328
6597
  <xsl:when test="$layoutVersion = '2024'">23.5</xsl:when>
6329
6598
  <xsl:otherwise>27.4</xsl:otherwise>
@@ -6333,6 +6602,7 @@
6333
6602
  <xsl:variable name="marginTop" select="normalize-space($marginTop_)"/>
6334
6603
 
6335
6604
  <xsl:variable name="marginBottom_">
6605
+ <xsl:variable name="layoutVersion" select="$variables/mnx:doc[@num = 1]/layoutVersion"/>
6336
6606
  <xsl:choose>
6337
6607
  <xsl:when test="$layoutVersion = '1951'">25.5</xsl:when>
6338
6608
  <xsl:when test="$layoutVersion = '2024'">19.5</xsl:when>
@@ -7859,6 +8129,9 @@
7859
8129
  </xsl:attribute-set> <!-- copyright-statement-style -->
7860
8130
 
7861
8131
  <xsl:template name="refine_copyright-statement-style">
8132
+ <xsl:variable name="layoutVersion">
8133
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
8134
+ </xsl:variable>
7862
8135
  <xsl:if test="$layoutVersion = '1989'">
7863
8136
  <xsl:attribute name="font-size">8pt</xsl:attribute>
7864
8137
  </xsl:if>
@@ -7873,6 +8146,9 @@
7873
8146
  </xsl:attribute-set> <!-- copyright-statement-title-style -->
7874
8147
 
7875
8148
  <xsl:template name="refine_copyright-statement-title-style">
8149
+ <xsl:variable name="layoutVersion">
8150
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
8151
+ </xsl:variable>
7876
8152
  <xsl:if test="$layoutVersion = '1989'">
7877
8153
  <xsl:attribute name="font-size">11pt</xsl:attribute>
7878
8154
  </xsl:if>
@@ -8068,6 +8344,9 @@
8068
8344
  </xsl:attribute-set>
8069
8345
 
8070
8346
  <xsl:template name="refine_link-style">
8347
+ <xsl:variable name="layoutVersion">
8348
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
8349
+ </xsl:variable>
8071
8350
  <xsl:if test="(ancestor::mn:copyright-statement and contains(@target, 'mailto:')) or ($layoutVersion = '2024' and ancestor::mn:fmt-termsource)">
8072
8351
  <xsl:attribute name="color">inherit</xsl:attribute>
8073
8352
  <xsl:attribute name="text-decoration">none</xsl:attribute>
@@ -9246,6 +9525,9 @@
9246
9525
  </xsl:choose>
9247
9526
  </xsl:variable>
9248
9527
  <xsl:variable name="ratio_">
9528
+ <xsl:variable name="layoutVersion">
9529
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
9530
+ </xsl:variable>
9249
9531
  <xsl:choose>
9250
9532
  <xsl:when test="$layoutVersion = '1951'">0.9</xsl:when>
9251
9533
  <xsl:when test="$layoutVersion = '2024'">0.8</xsl:when>
@@ -10143,6 +10425,9 @@
10143
10425
  </xsl:attribute-set> <!-- termexample-style -->
10144
10426
 
10145
10427
  <xsl:template name="refine_termexample-style">
10428
+ <xsl:variable name="layoutVersion">
10429
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10430
+ </xsl:variable>
10146
10431
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
10147
10432
  <xsl:attribute name="font-size">9pt</xsl:attribute>
10148
10433
  </xsl:if>
@@ -10153,6 +10438,9 @@
10153
10438
  </xsl:attribute-set> <!-- termexample-name-style -->
10154
10439
 
10155
10440
  <xsl:template name="refine_termexample-name-style">
10441
+ <xsl:variable name="layoutVersion">
10442
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10443
+ </xsl:variable>
10156
10444
  <xsl:if test="$layoutVersion = '2024' and translate(.,'0123456789','') = ."> <!-- EXAMPLE without number -->
10157
10445
  <xsl:attribute name="padding-right">8mm</xsl:attribute>
10158
10446
  </xsl:if>
@@ -10165,6 +10453,9 @@
10165
10453
  </xsl:attribute-set> <!-- example-style -->
10166
10454
 
10167
10455
  <xsl:template name="refine_example-style">
10456
+ <xsl:variable name="layoutVersion">
10457
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10458
+ </xsl:variable>
10168
10459
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
10169
10460
  <xsl:attribute name="font-size">9pt</xsl:attribute>
10170
10461
  </xsl:if>
@@ -10185,6 +10476,9 @@
10185
10476
  </xsl:attribute-set> <!-- example-name-style -->
10186
10477
 
10187
10478
  <xsl:template name="refine_example-name-style">
10479
+ <xsl:variable name="layoutVersion">
10480
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10481
+ </xsl:variable>
10188
10482
  <xsl:if test="$layoutVersion = '2024' and translate(.,'0123456789','') = ."> <!-- EXAMPLE without number -->
10189
10483
  <xsl:attribute name="padding-right">8mm</xsl:attribute>
10190
10484
  </xsl:if>
@@ -10271,6 +10565,12 @@
10271
10565
  <xsl:variable name="fo_element">
10272
10566
  <xsl:if test=".//mn:table or .//mn:dl or *[not(self::mn:fmt-name)][1][self::mn:sourcecode]">block</xsl:if>
10273
10567
  <xsl:if test="normalize-space($example_display_in) != ''"><xsl:value-of select="$example_display_in"/></xsl:if>
10568
+ <xsl:variable name="layoutVersion">
10569
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10570
+ </xsl:variable>
10571
+ <xsl:variable name="revision_date_num">
10572
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
10573
+ </xsl:variable>
10274
10574
  <xsl:choose>
10275
10575
  <xsl:when test="$layoutVersion = '1951' and $revision_date_num &lt; 19610101">list</xsl:when>
10276
10576
  <xsl:otherwise>inline</xsl:otherwise>
@@ -10407,6 +10707,12 @@
10407
10707
 
10408
10708
  <xsl:variable name="num"><xsl:number/></xsl:variable>
10409
10709
  <xsl:variable name="element">
10710
+ <xsl:variable name="layoutVersion">
10711
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10712
+ </xsl:variable>
10713
+ <xsl:variable name="revision_date_num">
10714
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
10715
+ </xsl:variable>
10410
10716
  <xsl:choose>
10411
10717
  <xsl:when test="$num = 1 and not(contains($fo_element, 'block'))">inline</xsl:when>
10412
10718
  <xsl:otherwise>
@@ -10470,6 +10776,9 @@
10470
10776
 
10471
10777
  <xsl:template name="refine_table-container-style">
10472
10778
  <xsl:param name="margin-side"/>
10779
+ <xsl:variable name="layoutVersion">
10780
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10781
+ </xsl:variable>
10473
10782
  <xsl:if test="not(mn:fmt-name)">
10474
10783
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
10475
10784
  </xsl:if>
@@ -10496,6 +10805,9 @@
10496
10805
 
10497
10806
  <xsl:template name="refine_table-style">
10498
10807
  <xsl:param name="margin-side"/>
10808
+ <xsl:variable name="layoutVersion">
10809
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10810
+ </xsl:variable>
10499
10811
  <xsl:if test="*[local-name()='thead']">
10500
10812
  <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
10501
10813
  </xsl:if>
@@ -10534,6 +10846,9 @@
10534
10846
  <xsl:if test="$continued = 'true'">
10535
10847
  <xsl:attribute name="role">SKIP</xsl:attribute>
10536
10848
  </xsl:if>
10849
+ <xsl:variable name="layoutVersion">
10850
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10851
+ </xsl:variable>
10537
10852
  <xsl:if test="$continued = 'true'">
10538
10853
  <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
10539
10854
  </xsl:if>
@@ -10654,6 +10969,9 @@
10654
10969
  <xsl:if test="$lang = 'ar'">
10655
10970
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
10656
10971
  </xsl:if>
10972
+ <xsl:variable name="layoutVersion">
10973
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
10974
+ </xsl:variable>
10657
10975
  <xsl:if test="ancestor::mn:tfoot">
10658
10976
  <xsl:attribute name="border">solid black 0</xsl:attribute>
10659
10977
  </xsl:if>
@@ -10693,6 +11011,9 @@
10693
11011
  </xsl:attribute-set> <!-- table-footer-cell-style -->
10694
11012
 
10695
11013
  <xsl:template name="refine_table-footer-cell-style">
11014
+ <xsl:variable name="layoutVersion">
11015
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
11016
+ </xsl:variable>
10696
11017
  <xsl:if test="$layoutVersion = '2024'">
10697
11018
  <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
10698
11019
  </xsl:if>
@@ -10717,6 +11038,9 @@
10717
11038
  </xsl:attribute-set> <!-- table-fn-style -->
10718
11039
 
10719
11040
  <xsl:template name="refine_table-fn-style">
11041
+ <xsl:variable name="layoutVersion">
11042
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
11043
+ </xsl:variable>
10720
11044
  <xsl:if test="$layoutVersion = '2024'">
10721
11045
  <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
10722
11046
  <xsl:if test="position() = last()">
@@ -10738,6 +11062,9 @@
10738
11062
  </xsl:attribute-set> <!-- table-fmt-fn-label-style -->
10739
11063
 
10740
11064
  <xsl:template name="refine_table-fmt-fn-label-style">
11065
+ <xsl:variable name="layoutVersion">
11066
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
11067
+ </xsl:variable>
10741
11068
  <xsl:if test="$layoutVersion = '2024'">
10742
11069
  <xsl:attribute name="alignment-baseline">auto</xsl:attribute>
10743
11070
  <xsl:attribute name="baseline-shift">15%</xsl:attribute>
@@ -11013,6 +11340,9 @@
11013
11340
 
11014
11341
  <!-- centered table when table name is centered (see table-name-style) -->
11015
11342
  <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style" role="SKIP">
11343
+ <xsl:variable name="layoutVersion">
11344
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
11345
+ </xsl:variable>
11016
11346
  <xsl:if test="$layoutVersion = '1951'">
11017
11347
  <xsl:attribute name="font-size">inherit</xsl:attribute>
11018
11348
  </xsl:if>
@@ -11999,6 +12329,12 @@
11999
12329
  <style name="{$key}-left"><xsl:value-of select="$value"/></style>
12000
12330
  <style name="{$key}-bottom"><xsl:value-of select="$value"/></style>
12001
12331
  </xsl:if>
12332
+ <xsl:if test="$key = 'page-break-inside' and $value = 'avoid'">
12333
+ <style name="keep-together.within-page">always</style>
12334
+ </xsl:if>
12335
+ <xsl:if test="$key = 'page-break-after' and $value = 'always'">
12336
+ <style name="break-after">page</style>
12337
+ </xsl:if>
12002
12338
  </xsl:for-each>
12003
12339
  </xsl:variable>
12004
12340
  <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
@@ -12042,6 +12378,11 @@
12042
12378
 
12043
12379
  <fo:block role="SKIP">
12044
12380
 
12381
+ <xsl:variable name="styles">
12382
+ <styles><xsl:call-template name="setTableStyles"/></styles>
12383
+ </xsl:variable>
12384
+ <xsl:copy-of select="xalan:nodeset($styles)/styles/@break-after"/>
12385
+
12045
12386
  <xsl:if test="$isGenerateTableIF = 'true'">
12046
12387
  <xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
12047
12388
  </xsl:if>
@@ -13033,6 +13374,9 @@
13033
13374
  </xsl:attribute-set>
13034
13375
 
13035
13376
  <xsl:template name="refine_dt-block-style">
13377
+ <xsl:variable name="layoutVersion">
13378
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
13379
+ </xsl:variable>
13036
13380
  <xsl:if test="$layoutVersion = '2024'">
13037
13381
  <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
13038
13382
  </xsl:if>
@@ -13978,6 +14322,12 @@
13978
14322
  </xsl:attribute-set> <!-- note-style -->
13979
14323
 
13980
14324
  <xsl:template name="refine_note-style">
14325
+ <xsl:variable name="layoutVersion">
14326
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14327
+ </xsl:variable>
14328
+ <xsl:variable name="doctype">
14329
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
14330
+ </xsl:variable>
13981
14331
  <xsl:if test="$layoutVersion = '1951'">
13982
14332
  <!-- <xsl:if test="$revision_date_num &lt; 19680101"> -->
13983
14333
  <xsl:attribute name="font-size">8.5pt</xsl:attribute>
@@ -14020,6 +14370,12 @@
14020
14370
 
14021
14371
  <xsl:template name="refine_note-name-style">
14022
14372
  <xsl:variable name="note_name" select="mn:fmt-name"/>
14373
+ <xsl:variable name="layoutVersion">
14374
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14375
+ </xsl:variable>
14376
+ <xsl:variable name="revision_date_num">
14377
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
14378
+ </xsl:variable>
14023
14379
  <xsl:if test="$layoutVersion = '1951'">
14024
14380
  <xsl:if test="$revision_date_num"> <!-- &lt; 19610101 -->
14025
14381
  <xsl:attribute name="padding-right">0mm</xsl:attribute>
@@ -14065,6 +14421,12 @@
14065
14421
  </xsl:attribute-set> <!-- termnote-style -->
14066
14422
 
14067
14423
  <xsl:template name="refine_termnote-style">
14424
+ <xsl:variable name="layoutVersion">
14425
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14426
+ </xsl:variable>
14427
+ <xsl:variable name="doctype">
14428
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
14429
+ </xsl:variable>
14068
14430
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
14069
14431
  <xsl:attribute name="font-size">9pt</xsl:attribute>
14070
14432
  </xsl:if>
@@ -14138,6 +14500,9 @@
14138
14500
  </xsl:template>
14139
14501
 
14140
14502
  <xsl:template name="refine_note_block_style">
14503
+ <xsl:variable name="layoutVersion">
14504
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14505
+ </xsl:variable>
14141
14506
  <xsl:if test="$layoutVersion = '1951' or $layoutVersion = '1987'">
14142
14507
  <xsl:if test="following-sibling::*[1][self::mn:note] and not(preceding-sibling::*[1][self::mn:note])">
14143
14508
  <!-- NOTES -->
@@ -14221,6 +14586,9 @@
14221
14586
  <!-- <xsl:if test="$namespace = 'iho' or $namespace = 'gb' or $namespace = 'm3d' or $namespace = 'unece-rec' or $namespace = 'unece' or $namespace = 'rsd'">
14222
14587
  <xsl:text>:</xsl:text>
14223
14588
  </xsl:if> -->
14589
+ <xsl:variable name="layoutVersion">
14590
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14591
+ </xsl:variable>
14224
14592
  <xsl:if test="$layoutVersion = '1987' and . = translate(.,'1234567890','')"> <!-- NOTE without number -->
14225
14593
  <xsl:text> — </xsl:text>
14226
14594
  </xsl:if>
@@ -14284,21 +14652,41 @@
14284
14652
  <!-- ====== -->
14285
14653
  <!-- ====== -->
14286
14654
 
14287
- <xsl:attribute-set name="quote-style">
14655
+ <xsl:attribute-set name="quote-container-style">
14288
14656
  <xsl:attribute name="margin-left">12mm</xsl:attribute>
14289
14657
  <xsl:attribute name="margin-right">12mm</xsl:attribute>
14290
- <xsl:attribute name="margin-top">12pt</xsl:attribute>
14291
- </xsl:attribute-set> <!-- quote-style -->
14658
+ <xsl:attribute name="role">SKIP</xsl:attribute>
14659
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
14660
+ </xsl:attribute-set>
14292
14661
 
14293
- <xsl:template name="refine_quote-style">
14662
+ <xsl:template name="refine_quote-container-style">
14663
+ <xsl:if test="parent::mn:note">
14664
+ <xsl:if test="not(ancestor::mn:table)">
14665
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
14666
+ </xsl:if>
14667
+ </xsl:if>
14668
+ <xsl:variable name="doctype">
14669
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
14670
+ </xsl:variable>
14294
14671
  <xsl:if test="$doctype = 'amendment' and (mn:note or mn:termnote)">
14295
14672
  <xsl:attribute name="margin-left">7mm</xsl:attribute>
14296
14673
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
14297
14674
  </xsl:if>
14675
+ </xsl:template>
14676
+
14677
+ <xsl:attribute-set name="quote-style">
14678
+ <xsl:attribute name="margin-left">0mm</xsl:attribute>
14679
+ <xsl:attribute name="margin-right">0mm</xsl:attribute>
14680
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
14681
+
14682
+ </xsl:attribute-set> <!-- quote-style -->
14683
+
14684
+ <xsl:template name="refine_quote-style">
14298
14685
  </xsl:template> <!-- refine_quote-style -->
14299
14686
 
14300
14687
  <xsl:attribute-set name="quote-source-style">
14301
14688
  <xsl:attribute name="text-align">right</xsl:attribute>
14689
+ <xsl:attribute name="margin-right">-12mm</xsl:attribute>
14302
14690
  </xsl:attribute-set> <!-- quote-source-style -->
14303
14691
 
14304
14692
  <xsl:template name="refine_quote-source-style">
@@ -14321,12 +14709,9 @@
14321
14709
 
14322
14710
  <xsl:call-template name="setBlockSpanAll"/>
14323
14711
 
14324
- <xsl:if test="parent::mn:note">
14325
- <xsl:if test="not(ancestor::mn:table)">
14326
- <xsl:attribute name="margin-left">5mm</xsl:attribute>
14327
- </xsl:if>
14328
- </xsl:if>
14329
- <fo:block-container margin-left="0mm" role="SKIP">
14712
+ <fo:block-container xsl:use-attribute-sets="quote-container-style">
14713
+ <xsl:call-template name="refine_quote-container-style"/>
14714
+
14330
14715
  <fo:block-container xsl:use-attribute-sets="quote-style" role="SKIP">
14331
14716
 
14332
14717
  <xsl:call-template name="refine_quote-style"/>
@@ -14338,14 +14723,16 @@
14338
14723
  </fo:block-container>
14339
14724
  </fo:block-container>
14340
14725
  <xsl:if test="mn:author or mn:fmt-source or mn:attribution">
14341
- <fo:block xsl:use-attribute-sets="quote-source-style">
14342
- <xsl:call-template name="refine_quote-source-style"/>
14343
- <!-- — ISO, ISO 7301:2011, Clause 1 -->
14344
- <xsl:apply-templates select="mn:author"/>
14345
- <xsl:apply-templates select="mn:fmt-source"/>
14346
- <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
14347
- <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
14348
- </fo:block>
14726
+ <fo:block-container margin-left="0mm" margin-right="0mm" role="SKIP">
14727
+ <fo:block xsl:use-attribute-sets="quote-source-style">
14728
+ <xsl:call-template name="refine_quote-source-style"/>
14729
+ <!-- — ISO, ISO 7301:2011, Clause 1 -->
14730
+ <xsl:apply-templates select="mn:author"/>
14731
+ <xsl:apply-templates select="mn:fmt-source"/>
14732
+ <!-- added for https://github.com/metanorma/isodoc/issues/607 -->
14733
+ <xsl:apply-templates select="mn:attribution/mn:p/node()"/>
14734
+ </fo:block>
14735
+ </fo:block-container>
14349
14736
  </xsl:if>
14350
14737
 
14351
14738
  </fo:block-container>
@@ -14399,6 +14786,9 @@
14399
14786
  </xsl:attribute-set>
14400
14787
 
14401
14788
  <xsl:template name="refine_figure-block-style">
14789
+ <xsl:variable name="layoutVersion">
14790
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
14791
+ </xsl:variable>
14402
14792
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
14403
14793
  <xsl:if test="normalize-space(@width) != 'text-width'">
14404
14794
  <xsl:attribute name="span">all</xsl:attribute>
@@ -16170,6 +16560,9 @@
16170
16560
  <!-- Lists processing -->
16171
16561
  <!-- ===================================== -->
16172
16562
  <xsl:variable name="ul_labels_">
16563
+ <xsl:variable name="layoutVersion">
16564
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16565
+ </xsl:variable>
16173
16566
  <xsl:choose>
16174
16567
  <xsl:when test="$layoutVersion = '1951'">
16175
16568
  <label>–</label> <!-- en dash -->
@@ -16243,6 +16636,9 @@
16243
16636
  <xsl:if test="$type = 'roman'"> <!-- Example: (i) -->
16244
16637
  </xsl:if>
16245
16638
  <xsl:if test="$type = 'alphabet'">
16639
+ <xsl:variable name="layoutVersion">
16640
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16641
+ </xsl:variable>
16246
16642
  <xsl:if test="$layoutVersion = '1951'">(</xsl:if> <!-- Example: (a) -->
16247
16643
  </xsl:if>
16248
16644
  </xsl:variable>
@@ -16273,6 +16669,9 @@
16273
16669
  <xsl:value-of select="$style_suffix"/>
16274
16670
  </xsl:if>
16275
16671
  </xsl:variable>
16672
+ <xsl:variable name="layoutVersion">
16673
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16674
+ </xsl:variable>
16276
16675
  <xsl:choose>
16277
16676
  <xsl:when test="$layoutVersion = '1951' and $type = 'alphabet'">(<fo:inline font-style="italic"><xsl:value-of select="@label"/></fo:inline>)</xsl:when>
16278
16677
  <xsl:otherwise>
@@ -16378,6 +16777,9 @@
16378
16777
  </fo:block-container>
16379
16778
  </xsl:when>
16380
16779
  <xsl:otherwise>
16780
+ <xsl:variable name="layoutVersion">
16781
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16782
+ </xsl:variable>
16381
16783
  <xsl:choose>
16382
16784
  <xsl:when test="$layoutVersion = '1951' and self::mn:ul">
16383
16785
  <fo:block-container margin-left="8mm">
@@ -16478,6 +16880,9 @@
16478
16880
  </xsl:template>
16479
16881
 
16480
16882
  <xsl:template name="refine_list-style_provisional-distance-between-starts">
16883
+ <xsl:variable name="layoutVersion">
16884
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16885
+ </xsl:variable>
16481
16886
  <xsl:if test="$layoutVersion = '1951' and self::mn:ul">
16482
16887
  <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
16483
16888
  </xsl:if>
@@ -16556,6 +16961,9 @@
16556
16961
  </xsl:attribute-set>
16557
16962
 
16558
16963
  <xsl:template name="refine_footnote-separator-block-style">
16964
+ <xsl:variable name="layoutVersion">
16965
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16966
+ </xsl:variable>
16559
16967
  <xsl:if test="$layoutVersion = '2024'">
16560
16968
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
16561
16969
  </xsl:if>
@@ -16567,6 +16975,9 @@
16567
16975
  </xsl:attribute-set>
16568
16976
 
16569
16977
  <xsl:template name="refine_footnote-separator-leader-style">
16978
+ <xsl:variable name="layoutVersion">
16979
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
16980
+ </xsl:variable>
16570
16981
  <xsl:if test="$layoutVersion = '2024'">
16571
16982
  <xsl:attribute name="leader-length">51mm</xsl:attribute>
16572
16983
  <xsl:attribute name="rule-thickness">0.5pt</xsl:attribute>
@@ -16624,6 +17035,12 @@
16624
17035
  </xsl:attribute-set> <!-- fn-body-style" -->
16625
17036
 
16626
17037
  <xsl:template name="refine_fn-body-style">
17038
+ <xsl:variable name="layoutVersion">
17039
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17040
+ </xsl:variable>
17041
+ <xsl:variable name="revision_date_num">
17042
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
17043
+ </xsl:variable>
16627
17044
  <xsl:if test="$layoutVersion = '1951'">
16628
17045
  <xsl:if test="$revision_date_num &gt;= 19680101">
16629
17046
  <xsl:attribute name="font-size">9pt</xsl:attribute>
@@ -16683,6 +17100,9 @@
16683
17100
  <xsl:variable name="current_fn_number" select="@reference"/>
16684
17101
 
16685
17102
  <xsl:variable name="current_fn_number_text">
17103
+ <xsl:variable name="layoutVersion">
17104
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17105
+ </xsl:variable>
16686
17106
  <xsl:choose>
16687
17107
  <xsl:when test="$layoutVersion = '1951' and translate($current_fn_number, '0123456789', '') = ''">
16688
17108
  <!-- replace number to asterisks -->
@@ -16707,6 +17127,9 @@
16707
17127
  <!-- <xsl:if test="following-sibling::node()[normalize-space() != ''][1][self::mn:fn]">
16708
17128
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
16709
17129
  </xsl:if> -->
17130
+ <xsl:variable name="layoutVersion">
17131
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17132
+ </xsl:variable>
16710
17133
  <xsl:if test="$layoutVersion = '2024'">
16711
17134
  <xsl:attribute name="font-size">70%</xsl:attribute>
16712
17135
  </xsl:if>
@@ -16960,6 +17383,9 @@
16960
17383
  </xsl:attribute-set>
16961
17384
 
16962
17385
  <xsl:template name="refine_bibliography-title-style">
17386
+ <xsl:variable name="layoutVersion">
17387
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17388
+ </xsl:variable>
16963
17389
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1979' or $layoutVersion = '1987' or $layoutVersion = '1989'">
16964
17390
  <xsl:attribute name="font-size">14pt</xsl:attribute>
16965
17391
  <xsl:attribute name="span">all</xsl:attribute>
@@ -16976,6 +17402,9 @@
16976
17402
  </xsl:attribute-set> <!-- bibitem-normative-style -->
16977
17403
 
16978
17404
  <xsl:template name="refine_bibitem-normative-style">
17405
+ <xsl:variable name="layoutVersion">
17406
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17407
+ </xsl:variable>
16979
17408
  <xsl:if test="$layoutVersion = '2024'">
16980
17409
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
16981
17410
  </xsl:if>
@@ -17013,6 +17442,9 @@
17013
17442
  </xsl:attribute-set>
17014
17443
 
17015
17444
  <xsl:template name="refine_bibitem-non-normative-list-item-style">
17445
+ <xsl:variable name="layoutVersion">
17446
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
17447
+ </xsl:variable>
17016
17448
  <xsl:if test="$layoutVersion = '2024'">
17017
17449
  <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
17018
17450
  </xsl:if>
@@ -17464,6 +17896,13 @@
17464
17896
  <xsl:with-param name="num" select="$num"/>
17465
17897
  </xsl:apply-templates>
17466
17898
  </xsl:template>
17899
+ <xsl:template match="mn:indexsect"/>
17900
+ <xsl:template match="/" mode="index">
17901
+ <xsl:param name="num"/>
17902
+ <xsl:apply-templates mode="index">
17903
+ <xsl:with-param name="num" select="$num"/>
17904
+ </xsl:apply-templates>
17905
+ </xsl:template>
17467
17906
 
17468
17907
  <xsl:template match="@*|node()" mode="index_add_id">
17469
17908
  <xsl:param name="docid"/>
@@ -17893,6 +18332,12 @@
17893
18332
 
17894
18333
  <xsl:template name="refine_toc-style">
17895
18334
  <xsl:copy-of select="@id"/>
18335
+ <xsl:variable name="layoutVersion">
18336
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
18337
+ </xsl:variable>
18338
+ <xsl:variable name="revision_date_num">
18339
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
18340
+ </xsl:variable>
17896
18341
  <xsl:if test="$layoutVersion = '1987'">
17897
18342
  <xsl:attribute name="font-size">9pt</xsl:attribute>
17898
18343
  <xsl:attribute name="font-weight">normal</xsl:attribute>
@@ -17935,6 +18380,9 @@
17935
18380
  </xsl:attribute-set> <!-- END: toc-item-style -->
17936
18381
 
17937
18382
  <xsl:template name="refine_toc-item-style">
18383
+ <xsl:variable name="layoutVersion">
18384
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
18385
+ </xsl:variable>
17938
18386
  <xsl:if test="@level = 1">
17939
18387
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
17940
18388
  </xsl:if>
@@ -17966,7 +18414,7 @@
17966
18414
  <xsl:template name="refine_toc-pagenumber-style">
17967
18415
  </xsl:template>
17968
18416
 
17969
- <!-- List of Figures, Tables -->
18417
+ <!-- List of Figures, Tables, Examples -->
17970
18418
  <xsl:attribute-set name="toc-listof-title-style">
17971
18419
  <xsl:attribute name="role">H2</xsl:attribute> <!-- TOCI -->
17972
18420
  <xsl:attribute name="margin-top">5pt</xsl:attribute>
@@ -18070,6 +18518,9 @@
18070
18518
  <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='figure']/mn:title) or normalize-space($always) = 'true'">
18071
18519
  <xsl:call-template name="processFigures_Contents"/>
18072
18520
  </xsl:if>
18521
+ <xsl:if test="(//mn:metanorma/mn:metanorma-extension/mn:toc[@type='example']/mn:title)">
18522
+ <xsl:call-template name="processExamples_Contents"/>
18523
+ </xsl:if>
18073
18524
  </xsl:template>
18074
18525
 
18075
18526
  <xsl:template name="processTables_Contents">
@@ -18116,7 +18567,29 @@
18116
18567
  </mnx:figures>
18117
18568
  </xsl:template>
18118
18569
 
18119
- <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name" mode="contents">
18570
+ <xsl:template name="processExamples_Contents">
18571
+ <mnx:examples>
18572
+ <xsl:for-each select="//mn:example[@id and mn:fmt-name and not(@unnumbered = 'true') and normalize-space(@id) != '']">
18573
+ <xsl:choose>
18574
+ <xsl:when test="mn:fmt-name">
18575
+ <xsl:variable name="fmt_name">
18576
+ <xsl:apply-templates select="mn:fmt-name" mode="update_xml_step1"/>
18577
+ </xsl:variable>
18578
+ <mnx:example id="{@id}" alt-text="{normalize-space($fmt_name)}">
18579
+ <xsl:copy-of select="$fmt_name"/>
18580
+ </mnx:example>
18581
+ </xsl:when>
18582
+ <xsl:otherwise>
18583
+ <mnx:example id="{@id}" alt-text="{mn:name}">
18584
+ <xsl:copy-of select="mn:name"/>
18585
+ </mnx:example>
18586
+ </xsl:otherwise>
18587
+ </xsl:choose>
18588
+ </xsl:for-each>
18589
+ </mnx:examples>
18590
+ </xsl:template>
18591
+
18592
+ <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:example/mn:name | mnx:example/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name" mode="contents">
18120
18593
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
18121
18594
  <xsl:apply-templates mode="contents"/>
18122
18595
  <xsl:text> </xsl:text>
@@ -18125,40 +18598,40 @@
18125
18598
 
18126
18599
  <xsl:template match="mn:title[following-sibling::*[1][self::mn:fmt-title]]" mode="contents"/>
18127
18600
 
18128
- <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name" mode="contents">
18601
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:example/mn:fmt-name | mnx:example/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name" mode="contents">
18129
18602
  <xsl:apply-templates mode="contents"/>
18130
18603
  <xsl:text> </xsl:text>
18131
18604
  </xsl:template>
18132
18605
 
18133
- <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name | mn:sourcecode/mn:name" mode="bookmarks">
18606
+ <xsl:template match="mn:figure/mn:name | mnx:figure/mn:name | mn:table/mn:name | mnx:table/mn:name | mn:example/mn:name | mnx:example/mn:name | mn:permission/mn:name | mnx:permission/mn:name | mn:recommendation/mn:name | mnx:recommendation/mn:name | mn:requirement/mn:name | mnx:requirement/mn:name | mn:sourcecode/mn:name" mode="bookmarks">
18134
18607
  <xsl:if test="not(following-sibling::*[1][self::mn:fmt-name])">
18135
18608
  <xsl:apply-templates mode="bookmarks"/>
18136
18609
  <xsl:text> </xsl:text>
18137
18610
  </xsl:if>
18138
18611
  </xsl:template>
18139
18612
 
18140
- <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name | mnx:sourcecode/mn:fmt-name" mode="bookmarks">
18613
+ <xsl:template match="mn:figure/mn:fmt-name | mnx:figure/mn:fmt-name | mn:table/mn:fmt-name | mnx:table/mn:fmt-name | mn:example/mn:fmt-name | mnx:example/mn:fmt-name | mn:permission/mn:fmt-name | mnx:permission/mn:fmt-name | mn:recommendation/mn:fmt-name | mnx:recommendation/mn:fmt-name | mn:requirement/mn:fmt-name | mnx:requirement/mn:fmt-name | mn:sourcecode/mn:fmt-name | mnx:sourcecode/mn:fmt-name" mode="bookmarks">
18141
18614
  <xsl:apply-templates mode="bookmarks"/>
18142
18615
  <xsl:text> </xsl:text>
18143
18616
  </xsl:template>
18144
18617
 
18145
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:name/text()" mode="contents" priority="2">
18618
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:name/text()" mode="contents" priority="2">
18146
18619
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
18147
18620
  <xsl:value-of select="."/>
18148
18621
  </xsl:if>
18149
18622
  </xsl:template>
18150
18623
 
18151
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
18624
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement]/mn:fmt-name/text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement]/mn:fmt-name/text()" mode="contents" priority="2">
18152
18625
  <xsl:value-of select="."/>
18153
18626
  </xsl:template>
18154
18627
 
18155
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:name//text()" mode="bookmarks" priority="2">
18628
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:name//text()" mode="bookmarks" priority="2">
18156
18629
  <xsl:if test="not(../following-sibling::*[1][self::mn:fmt-name])">
18157
18630
  <xsl:value-of select="."/>
18158
18631
  </xsl:if>
18159
18632
  </xsl:template>
18160
18633
 
18161
- <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
18634
+ <xsl:template match="*[self::mn:figure or self::mn:table or self::mn:example or self::mn:permission or self::mn:recommendation or self::mn:requirement or self::mn:sourcecode]/mn:fmt-name//text() | *[self::mnx:figure or self::mnx:table or self::mnx:example or self::mnx:permission or self::mnx:recommendation or self::mnx:requirement or self::mnx:sourcecode]/mn:fmt-name//text()" mode="bookmarks" priority="2">
18162
18635
  <xsl:value-of select="."/>
18163
18636
  </xsl:template>
18164
18637
 
@@ -18391,6 +18864,11 @@
18391
18864
  <xsl:with-param name="lang" select="@lang"/>
18392
18865
  </xsl:call-template>
18393
18866
 
18867
+ <xsl:call-template name="insertExampleBookmarks">
18868
+ <xsl:with-param name="contents" select="mnx:contents"/>
18869
+ <xsl:with-param name="lang" select="@lang"/>
18870
+ </xsl:call-template>
18871
+
18394
18872
  </fo:bookmark>
18395
18873
 
18396
18874
  </xsl:for-each>
@@ -18409,6 +18887,11 @@
18409
18887
  <xsl:with-param name="lang" select="@lang"/>
18410
18888
  </xsl:call-template>
18411
18889
 
18890
+ <xsl:call-template name="insertExampleBookmarks">
18891
+ <xsl:with-param name="contents" select="mnx:contents"/>
18892
+ <xsl:with-param name="lang" select="@lang"/>
18893
+ </xsl:call-template>
18894
+
18412
18895
  </xsl:for-each>
18413
18896
  </xsl:otherwise>
18414
18897
  </xsl:choose>
@@ -18425,6 +18908,11 @@
18425
18908
  <xsl:with-param name="lang" select="@lang"/>
18426
18909
  </xsl:call-template>
18427
18910
 
18911
+ <xsl:call-template name="insertExampleBookmarks">
18912
+ <xsl:with-param name="contents" select="$contents_nodes/mnx:contents"/>
18913
+ <xsl:with-param name="lang" select="@lang"/>
18914
+ </xsl:call-template>
18915
+
18428
18916
  </xsl:otherwise>
18429
18917
  </xsl:choose>
18430
18918
 
@@ -18505,6 +18993,46 @@
18505
18993
  </fo:bookmark>
18506
18994
  </xsl:if>
18507
18995
  </xsl:template> <!-- insertTableBookmarks -->
18996
+
18997
+ <xsl:template name="insertExampleBookmarks">
18998
+ <xsl:param name="contents"/>
18999
+ <xsl:param name="lang"/>
19000
+ <xsl:variable name="contents_nodes" select="xalan:nodeset($contents)"/>
19001
+ <xsl:if test="$contents_nodes/mnx:example">
19002
+ <fo:bookmark internal-destination="{$contents_nodes/mnx:example[1]/@id}" starting-state="hide">
19003
+ <fo:bookmark-title>
19004
+ <xsl:choose>
19005
+ <xsl:when test="$lang = 'fr'">Exemples</xsl:when>
19006
+ <xsl:otherwise>Examples</xsl:otherwise>
19007
+ </xsl:choose>
19008
+ </fo:bookmark-title>
19009
+ <xsl:for-each select="$contents_nodes/mnx:example">
19010
+ <fo:bookmark internal-destination="{@id}">
19011
+ <fo:bookmark-title>
19012
+ <xsl:value-of select="normalize-space(mnx:title)"/>
19013
+ </fo:bookmark-title>
19014
+ </fo:bookmark>
19015
+ </xsl:for-each>
19016
+ </fo:bookmark>
19017
+ </xsl:if>
19018
+ <xsl:if test="$contents_nodes//mnx:examples/mnx:example">
19019
+ <fo:bookmark internal-destination="empty_bookmark" starting-state="hide">
19020
+
19021
+ <xsl:variable name="bookmark-title">
19022
+ <xsl:value-of select="$title-list-examples"/>
19023
+ </xsl:variable>
19024
+
19025
+ <fo:bookmark-title><xsl:value-of select="$bookmark-title"/></fo:bookmark-title>
19026
+
19027
+ <xsl:for-each select="$contents_nodes//mnx:examples/mnx:example">
19028
+ <fo:bookmark internal-destination="{@id}">
19029
+ <!-- <fo:bookmark-title><xsl:value-of select="normalize-space(.)"/></fo:bookmark-title> -->
19030
+ <fo:bookmark-title><xsl:apply-templates mode="bookmark_clean"/></fo:bookmark-title>
19031
+ </fo:bookmark>
19032
+ </xsl:for-each>
19033
+ </fo:bookmark>
19034
+ </xsl:if>
19035
+ </xsl:template> <!-- insertExampleBookmarks -->
18508
19036
  <!-- End Bookmarks -->
18509
19037
 
18510
19038
  <!-- ============================ -->
@@ -18896,6 +19424,9 @@
18896
19424
  </xsl:variable>
18897
19425
 
18898
19426
  <xsl:variable name="padding">
19427
+ <xsl:variable name="layoutVersion">
19428
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
19429
+ </xsl:variable>
18899
19430
  <xsl:choose>
18900
19431
  <xsl:when test="$layoutVersion = '1951'">2</xsl:when>
18901
19432
  <xsl:when test="$depth = 2">3</xsl:when>
@@ -18911,6 +19442,9 @@
18911
19442
  </xsl:otherwise>
18912
19443
  </xsl:choose>
18913
19444
  </xsl:variable>
19445
+ <xsl:variable name="layoutVersion">
19446
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
19447
+ </xsl:variable>
18914
19448
  <xsl:if test="$layoutVersion = '1951' and $depth = 1">.</xsl:if>
18915
19449
  <xsl:choose>
18916
19450
  <xsl:when test="$lang = 'zh'">
@@ -19216,6 +19750,9 @@
19216
19750
 
19217
19751
  <xsl:template name="refine_annex-title-style">
19218
19752
  <!-- <xsl:call-template name="setIDforNamedDestination"/> -->
19753
+ <xsl:variable name="layoutVersion">
19754
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
19755
+ </xsl:variable>
19219
19756
  <xsl:if test="$layoutVersion = '2024'">
19220
19757
  <xsl:attribute name="line-height">1.1</xsl:attribute>
19221
19758
  <!-- <xsl:attribute name="margin-bottom">52pt</xsl:attribute> -->
@@ -19240,6 +19777,12 @@
19240
19777
  <xsl:template name="refine_p-style">
19241
19778
  <xsl:param name="element-name"/>
19242
19779
  <xsl:param name="margin"/>
19780
+ <xsl:variable name="layoutVersion">
19781
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
19782
+ </xsl:variable>
19783
+ <xsl:variable name="revision_date_num">
19784
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
19785
+ </xsl:variable>
19243
19786
  <xsl:call-template name="setBlockAttributes">
19244
19787
  <!-- <xsl:with-param name="text_align_default">justify</xsl:with-param> -->
19245
19788
  <xsl:with-param name="skip_text_align_default">true</xsl:with-param>
@@ -19331,6 +19874,15 @@
19331
19874
  <xsl:variable name="level">
19332
19875
  <xsl:call-template name="getLevel"/>
19333
19876
  </xsl:variable>
19877
+ <xsl:variable name="layoutVersion">
19878
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
19879
+ </xsl:variable>
19880
+ <xsl:variable name="doctype">
19881
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
19882
+ </xsl:variable>
19883
+ <xsl:variable name="revision_date_num">
19884
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">revision_date_num</xsl:with-param></xsl:call-template>
19885
+ </xsl:variable>
19334
19886
 
19335
19887
  <xsl:if test="$level = 2">
19336
19888
  <xsl:attribute name="font-size">12pt</xsl:attribute>
@@ -19700,6 +20252,10 @@
19700
20252
  <fo:block break-after="page"/>
19701
20253
  </xsl:template>
19702
20254
 
20255
+ <xsl:template match="mn:pagebreak[ancestor::mn:table]" priority="2">
20256
+ <fo:block break-after="page"/>
20257
+ </xsl:template>
20258
+
19703
20259
  <xsl:variable name="font_main_root_style">
19704
20260
  <root-style xsl:use-attribute-sets="root-style">
19705
20261
  </root-style>
@@ -19947,6 +20503,12 @@
19947
20503
  </xsl:template> <!-- sections_element_style -->
19948
20504
 
19949
20505
  <xsl:template match="//mn:metanorma/mn:preface/*" priority="2" name="preface_node"> <!-- /*/mn:preface/* -->
20506
+ <xsl:variable name="layoutVersion">
20507
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
20508
+ </xsl:variable>
20509
+ <xsl:variable name="doctype">
20510
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">doctype</xsl:with-param></xsl:call-template>
20511
+ </xsl:variable>
19950
20512
  <xsl:choose>
19951
20513
  <xsl:when test="$layoutVersion = '1951' and (self::mn:clause or self::mn:introduction)"/>
19952
20514
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'"/>
@@ -20205,6 +20767,9 @@
20205
20767
 
20206
20768
  <xsl:template name="printEdition">
20207
20769
  <xsl:variable name="edition_i18n" select="normalize-space((//mn:metanorma)[1]/mn:bibdata/mn:edition[normalize-space(@language) != ''])"/>
20770
+ <xsl:variable name="layoutVersion">
20771
+ <xsl:call-template name="getVariable"><xsl:with-param name="variable">layoutVersion</xsl:with-param></xsl:call-template>
20772
+ </xsl:variable>
20208
20773
  <xsl:if test="$layoutVersion != '1972' and $layoutVersion != '1979' and $layoutVersion != '2024'">
20209
20774
  <xsl:text> </xsl:text>
20210
20775
  </xsl:if>