metanorma-iso 2.7.4 → 2.7.5

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.
@@ -1,4 +1,4 @@
1
- <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:java="http://xml.apache.org/xalan/java" xmlns:barcode="http://barcode4j.krysalis.org/ns" exclude-result-prefixes="java" version="1.0">
1
+ <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:iso="https://www.metanorma.org/ns/iso" xmlns:mathml="http://www.w3.org/1998/Math/MathML" xmlns:xalan="http://xml.apache.org/xalan" xmlns:fox="http://xmlgraphics.apache.org/fop/extensions" xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:java="http://xml.apache.org/xalan/java" xmlns:barcode="http://barcode4j.krysalis.org/ns" xmlns:redirect="http://xml.apache.org/xalan/redirect" exclude-result-prefixes="java" extension-element-prefixes="redirect" version="1.0">
2
2
 
3
3
  <xsl:output method="xml" encoding="UTF-8" indent="no"/>
4
4
 
@@ -77,6 +77,16 @@
77
77
  </xsl:if>
78
78
  </xsl:variable>
79
79
 
80
+ <xsl:variable name="copyrightTextLastPage2024">
81
+ <xsl:value-of select="concat('© ', $copyrightAbbr, ' ', $copyrightYear)"/>
82
+ <xsl:if test="$copyrightAbbrIEEE != ''">
83
+ <xsl:value-of select="$linebreak"/>
84
+ <xsl:value-of select="concat('© ', $copyrightAbbrIEEE, ' ', $copyrightYear)"/>
85
+ </xsl:if>
86
+ <xsl:value-of select="$linebreak"/>
87
+ <xsl:value-of select="$i18n_all_rights_reserved"/>
88
+ </xsl:variable>
89
+
80
90
  <xsl:variable name="docidentifier_iso_with_lang" select="/iso:iso-standard/iso:bibdata/iso:docidentifier[@type = 'iso-with-lang']"/>
81
91
 
82
92
  <xsl:variable name="lang-1st-letter_tmp" select="substring-before(substring-after($docidentifier_iso_with_lang, '('), ')')"/>
@@ -100,7 +110,9 @@
100
110
  <xsl:choose>
101
111
  <!-- year separator replace to '-' -->
102
112
  <xsl:when test="$layoutVersion = '1951'">
103
- <xsl:value-of select="java:replaceAll(java:java.lang.String.new($iso_reference_tmp),':',' - ')"/>
113
+ <xsl:variable name="iso_reference_tmp_" select="java:replaceAll(java:java.lang.String.new($iso_reference_tmp),':',' - ')"/>
114
+ <!-- insert space before ( -->
115
+ <xsl:value-of select="java:replaceAll(java:java.lang.String.new($iso_reference_tmp_),'\(',' \(')"/>
104
116
  </xsl:when>
105
117
  <xsl:when test="$layoutVersion = '1972'">
106
118
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new($iso_reference_tmp),':','-')"/>
@@ -254,6 +266,10 @@
254
266
 
255
267
  <xsl:variable name="proof-text">PROOF/ÉPREUVE</xsl:variable>
256
268
 
269
+ <xsl:variable name="docnumber_with_prefix">
270
+ <xsl:if test="$doctype = 'recommendation'">R </xsl:if><xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docnumber"/>
271
+ </xsl:variable>
272
+
257
273
  <xsl:variable name="ISO_title_en">INTERNATIONAL ORGANIZATION FOR STANDARDIZATION</xsl:variable>
258
274
  <xsl:variable name="ISO_title_ru">МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ</xsl:variable>
259
275
  <xsl:variable name="ISO_title_fr">ORGANISATION INTERNATIONALE DE NORMALISATION</xsl:variable>
@@ -264,6 +280,8 @@
264
280
  <xsl:variable name="i18n_voting_begins_on"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">voting_begins_on</xsl:with-param></xsl:call-template></xsl:variable>
265
281
  <xsl:variable name="i18n_voting_terminates_on"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">voting_terminates_on</xsl:with-param></xsl:call-template></xsl:variable>
266
282
  <xsl:variable name="i18n_price_based_on"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">price_based_on</xsl:with-param></xsl:call-template></xsl:variable>
283
+ <xsl:variable name="i18n_price"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">price</xsl:with-param></xsl:call-template></xsl:variable>
284
+ <xsl:variable name="i18n_date_first_printing"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">date_first_printing</xsl:with-param></xsl:call-template></xsl:variable>
267
285
  <xsl:variable name="i18n_corrected_version"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">corrected_version</xsl:with-param></xsl:call-template></xsl:variable>
268
286
  <xsl:variable name="i18n_fast_track_procedure"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">fast-track-procedure</xsl:with-param></xsl:call-template></xsl:variable>
269
287
  <xsl:variable name="i18n_all_rights_reserved"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">all_rights_reserved</xsl:with-param></xsl:call-template></xsl:variable>
@@ -393,6 +411,11 @@
393
411
 
394
412
  <xsl:variable name="root-style">
395
413
  <root-style xsl:use-attribute-sets="root-style">
414
+
415
+ <xsl:if test="$layoutVersion = '1951'">
416
+ <xsl:attribute name="font-size">10pt</xsl:attribute>
417
+ </xsl:if>
418
+
396
419
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
397
420
  <xsl:attribute name="font-family">Arial, Times New Roman, Cambria Math, <xsl:value-of select="$font_noto_sans"/></xsl:attribute>
398
421
  <xsl:attribute name="font-family-generic">Sans</xsl:attribute>
@@ -403,9 +426,6 @@
403
426
  <xsl:attribute name="font-size">8.5pt</xsl:attribute>
404
427
  </xsl:if>
405
428
 
406
- <xsl:if test="$layoutVersion = '2024'">
407
- <xsl:attribute name="font-size">10.5pt</xsl:attribute>
408
- </xsl:if>
409
429
  <!-- <xsl:if test="$lang = 'zh'">
410
430
  <xsl:attribute name="font-family">Source Han Sans, Times New Roman, Cambria Math</xsl:attribute>
411
431
  </xsl:if> -->
@@ -438,8 +458,8 @@
438
458
  <xsl:variable name="marginRight_cover_page_1987">37</xsl:variable>
439
459
  <xsl:variable name="marginTopBottom_cover_page_1987">20</xsl:variable>
440
460
 
441
- <xsl:variable name="marginLeftRight_cover_page_2024">14</xsl:variable>
442
- <xsl:variable name="marginTopBottom_cover_page_2024">15</xsl:variable>
461
+ <xsl:variable name="marginLeftRight_cover_page_2024">9.9</xsl:variable>
462
+ <xsl:variable name="marginTopBottom_cover_page_2024">9.9</xsl:variable>
443
463
 
444
464
  <!-- cover page -->
445
465
  <fo:simple-page-master master-name="cover-page" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
@@ -612,11 +632,16 @@
612
632
  <!-- odd pages -->
613
633
  <fo:simple-page-master master-name="odd-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
614
634
  <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
615
- <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
635
+ <fo:region-before region-name="header-odd" extent="{$marginTop}mm">
636
+ <xsl:if test="$layoutVersion = '1951'">
637
+ <xsl:attribute name="precedence">true</xsl:attribute>
638
+ </xsl:if>
639
+ </fo:region-before>
616
640
  <fo:region-after region-name="footer-odd" extent="{$marginBottom - 2}mm"/>
617
641
  <fo:region-start region-name="left-region" extent="{$marginLeftRight1}mm"/>
618
642
  <fo:region-end region-name="right-region" extent="{$marginLeftRight2}mm"/>
619
643
  </fo:simple-page-master>
644
+
620
645
  <fo:simple-page-master master-name="odd-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
621
646
  <fo:region-body margin-top="{$marginTop}mm" margin-bottom="{$marginBottom}mm" margin-left="{$marginLeftRight1}mm" margin-right="{$marginLeftRight2}mm" column-count="{$layout_columns}" column-gap="{$column_gap}"/>
622
647
  <fo:region-before region-name="header-odd" extent="{$marginTop}mm"/> <!-- display-align="center" -->
@@ -627,11 +652,25 @@
627
652
  <!-- even pages -->
628
653
  <fo:simple-page-master master-name="even-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
629
654
  <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}"/>
630
- <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
655
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm">
656
+ <xsl:if test="$layoutVersion = '1951'">
657
+ <xsl:attribute name="precedence">true</xsl:attribute>
658
+ </xsl:if>
659
+ </fo:region-before>
631
660
  <fo:region-after region-name="footer-even" extent="{$marginBottom - 2}mm"/>
632
661
  <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
633
662
  <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
634
663
  </fo:simple-page-master>
664
+
665
+ <!-- for 1951 layout only -->
666
+ <fo:simple-page-master master-name="even-last-publishedISO" page-width="{$pageWidth}mm" page-height="{$pageHeight}mm">
667
+ <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}"/>
668
+ <fo:region-before region-name="header-even" extent="{$marginTop}mm" precedence="true"/>
669
+ <fo:region-after region-name="footer-even-last" extent="{$marginBottom - 2}mm"/>
670
+ <fo:region-start region-name="left-region" extent="{$marginLeftRight2}mm"/>
671
+ <fo:region-end region-name="right-region" extent="{$marginLeftRight1}mm"/>
672
+ </fo:simple-page-master>
673
+
635
674
  <fo:simple-page-master master-name="even-publishedISO-landscape" page-width="{$pageHeight}mm" page-height="{$pageWidth}mm">
636
675
  <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}"/>
637
676
  <fo:region-before region-name="header-even" extent="{$marginTop}mm"/>
@@ -672,21 +711,30 @@
672
711
 
673
712
  <fo:page-sequence-master master-name="document-publishedISO">
674
713
  <fo:repeatable-page-master-alternatives>
675
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
714
+ <xsl:if test="not($layoutVersion = '1951')">
715
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
716
+ </xsl:if>
717
+ <xsl:if test="$layoutVersion = '1951'">
718
+ <fo:conditional-page-master-reference page-position="last" master-reference="even-last-publishedISO"/> <!-- odd-or-even="even" -->
719
+ </xsl:if>
676
720
  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
677
721
  <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
678
722
  </fo:repeatable-page-master-alternatives>
679
723
  </fo:page-sequence-master>
680
724
  <fo:page-sequence-master master-name="document-publishedISO-portrait">
681
725
  <fo:repeatable-page-master-alternatives>
682
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
726
+ <xsl:if test="not($layoutVersion = '1951')">
727
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
728
+ </xsl:if>
683
729
  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO"/>
684
730
  <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO"/>
685
731
  </fo:repeatable-page-master-alternatives>
686
732
  </fo:page-sequence-master>
687
733
  <fo:page-sequence-master master-name="document-publishedISO-landscape">
688
734
  <fo:repeatable-page-master-alternatives>
689
- <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
735
+ <xsl:if test="not($layoutVersion = '1951')">
736
+ <fo:conditional-page-master-reference master-reference="first-publishedISO" page-position="first"/>
737
+ </xsl:if>
690
738
  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-publishedISO-landscape"/>
691
739
  <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-publishedISO-landscape"/>
692
740
  </fo:repeatable-page-master-alternatives>
@@ -764,7 +812,7 @@
764
812
  <xsl:value-of select="$udc"/>
765
813
  <fo:inline keep-together.within-line="always" role="SKIP">
766
814
  <fo:leader leader-pattern="space"/>
767
- <fo:inline font-weight="normal"><xsl:value-of select="concat($i18n_reference_number, ':')"/></fo:inline><xsl:value-of select="$ISOnumber"/>
815
+ <fo:inline font-weight="normal"><xsl:value-of select="concat($i18n_reference_number_abbrev, ': ')"/></fo:inline><xsl:value-of select="$ISOnumber"/>
768
816
  </fo:inline>
769
817
  </fo:block>
770
818
  </fo:block-container>
@@ -797,8 +845,7 @@
797
845
  </xsl:call-template>
798
846
  </fo:block>
799
847
  <fo:block font-size="24pt" margin-top="5mm">
800
- <xsl:if test="$doctype = 'recommendation'">R </xsl:if>
801
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:docnumber"/>
848
+ <xsl:value-of select="$docnumber_with_prefix"/>
802
849
  </fo:block>
803
850
 
804
851
  <fo:block font-size="11pt" margin-top="12mm">
@@ -1025,10 +1072,10 @@
1025
1072
  <fo:flow flow-name="xsl-region-body">
1026
1073
  <fo:table table-layout="fixed" width="100%">
1027
1074
  <xsl:call-template name="insertInterFont"/>
1028
- <fo:table-column column-width="proportional-column-width(109)"/>
1029
- <fo:table-column column-width="proportional-column-width(1.9)"/>
1030
- <fo:table-column column-width="proportional-column-width(1.9)"/>
1031
- <fo:table-column column-width="proportional-column-width(70)"/>
1075
+ <fo:table-column column-width="proportional-column-width(113.8)"/>
1076
+ <fo:table-column column-width="proportional-column-width(2)"/>
1077
+ <fo:table-column column-width="proportional-column-width(2)"/>
1078
+ <fo:table-column column-width="proportional-column-width(72.2)"/>
1032
1079
  <fo:table-body>
1033
1080
 
1034
1081
  <fo:table-row>
@@ -1040,8 +1087,8 @@
1040
1087
  <!-- International
1041
1088
  Standard -->
1042
1089
  <fo:table-cell number-columns-spanned="2" padding-left="6mm">
1043
- <fo:block-container height="44mm">
1044
- <fo:block font-size="19.2pt" font-weight="bold" line-height="1.25">
1090
+ <fo:block-container height="46mm">
1091
+ <fo:block font-size="20pt" font-weight="bold" line-height="1.25" margin-top="3mm">
1045
1092
 
1046
1093
  <xsl:variable name="updates-document-type" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type"/>
1047
1094
  <xsl:variable name="updates-document-type_localized">
@@ -1102,13 +1149,13 @@
1102
1149
  </fo:table-cell>
1103
1150
  </fo:table-row>
1104
1151
 
1105
- <fo:table-row height="44mm">
1152
+ <fo:table-row height="46mm">
1106
1153
  <fo:table-cell number-columns-spanned="2" border-right="{$cover_page_border}">
1107
1154
  <fo:block>
1108
1155
  </fo:block>
1109
1156
  </fo:table-cell>
1110
1157
  <fo:table-cell number-columns-spanned="2" display-align="after" padding-left="6mm">
1111
- <fo:block font-size="18.2pt" font-weight="bold">
1158
+ <fo:block font-size="19pt" font-weight="bold" line-height="1">
1112
1159
  <xsl:if test="$stage &gt;=60">
1113
1160
  <xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
1114
1161
  </xsl:if>
@@ -1122,16 +1169,16 @@
1122
1169
  <fo:table-cell number-columns-spanned="2"><fo:block> </fo:block></fo:table-cell>
1123
1170
  <fo:table-cell border-bottom="{$cover_page_border}"><fo:block> </fo:block></fo:table-cell>
1124
1171
  </fo:table-row>
1125
- <fo:table-row height="2mm" font-size="0pt">
1172
+ <fo:table-row height="1.4mm" font-size="0pt">
1126
1173
  <fo:table-cell number-columns-spanned="4"><fo:block> </fo:block></fo:table-cell>
1127
1174
  </fo:table-row>
1128
1175
 
1129
1176
  <fo:table-row>
1130
1177
  <fo:table-cell number-columns-spanned="2" border-right="{$cover_page_border}" padding-right="4mm">
1131
1178
 
1132
- <fo:block-container font-family="Cambria" line-height="1.1" role="SKIP" height="103mm">
1179
+ <fo:block-container font-family="Cambria" line-height="1.1" role="SKIP" height="110mm">
1133
1180
  <fo:block margin-right="3.5mm" role="SKIP">
1134
- <fo:block font-size="18pt" font-weight="bold" margin-top="6pt" role="H1">
1181
+ <fo:block font-size="18pt" font-weight="bold" margin-top="2.5mm" role="H1">
1135
1182
  <xsl:call-template name="insertTitlesLangMain"/>
1136
1183
  </fo:block>
1137
1184
 
@@ -1158,21 +1205,21 @@
1158
1205
  </fo:block-container>
1159
1206
  </fo:table-cell>
1160
1207
  <fo:table-cell number-columns-spanned="2" padding-left="6mm">
1161
- <fo:block margin-top="6pt">
1208
+ <fo:block margin-top="2.5mm" line-height="1.1">
1162
1209
 
1163
1210
  <xsl:if test="not($stage-abbreviation = 'DIS' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM')">
1164
1211
  <xsl:variable name="edition_and_date">
1165
1212
  <xsl:call-template name="insertEditionAndDate"/>
1166
1213
  </xsl:variable>
1167
1214
  <xsl:if test="normalize-space($edition_and_date) != ''">
1168
- <fo:block font-size="17.2pt" font-weight="bold" margin-bottom="3mm">
1215
+ <fo:block font-size="18pt" font-weight="bold" margin-bottom="3mm">
1169
1216
  <xsl:value-of select="$edition_and_date"/>
1170
1217
  </fo:block>
1171
1218
  </xsl:if>
1172
1219
  </xsl:if>
1173
1220
 
1174
1221
  <xsl:if test="$doctype = 'amendment' and not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
1175
- <fo:block font-size="17.2pt" font-weight="bold" margin-bottom="3mm">
1222
+ <fo:block font-size="18pt" font-weight="bold" margin-bottom="3mm">
1176
1223
  <xsl:value-of select="$doctype_uppercased"/>
1177
1224
  <xsl:text> </xsl:text>
1178
1225
  <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
@@ -1184,7 +1231,7 @@
1184
1231
 
1185
1232
  <xsl:if test="$doctype = 'amendment' and not($stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM')">
1186
1233
  <xsl:if test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']">
1187
- <fo:block font-size="17.2pt" font-weight="bold" margin-bottom="3mm">
1234
+ <fo:block font-size="18pt" font-weight="bold" margin-bottom="3mm">
1188
1235
  <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']"/>
1189
1236
  </fo:block>
1190
1237
  </xsl:if>
@@ -1192,7 +1239,7 @@
1192
1239
 
1193
1240
  <xsl:variable name="date_corrected" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:date[@type = 'corrected'])"/>
1194
1241
  <xsl:if test="$date_corrected != ''">
1195
- <fo:block font-size="17.2pt" font-weight="bold" margin-bottom="3mm">
1242
+ <fo:block font-size="18pt" font-weight="bold" margin-bottom="3mm">
1196
1243
  <xsl:value-of select="$i18n_corrected_version"/>
1197
1244
  <xsl:value-of select="$linebreak"/>
1198
1245
  <xsl:value-of select="$date_corrected"/>
@@ -1280,7 +1327,7 @@
1280
1327
  </fo:block>
1281
1328
  </fo:table-cell>
1282
1329
  <fo:table-cell padding="4mm">
1283
- <fo:block color="black" font-size="7.2pt" line-height="1.35">
1330
+ <fo:block color="black" font-size="7.5pt" line-height="1.35">
1284
1331
  <xsl:text>Please share your feedback about the standard. Scan the QR code with your phone or click the link</xsl:text>
1285
1332
  <fo:block margin-top="2pt">
1286
1333
  <fo:basic-link external-destination="{$feedback_link}" fox:alt-text="{$feedback_link}">
@@ -1305,17 +1352,17 @@
1305
1352
  </fo:table-cell>
1306
1353
  </fo:table-row>
1307
1354
 
1308
- <fo:table-row height="12mm">
1309
- <fo:table-cell number-columns-spanned="2" border-right="{$cover_page_border}" display-align="after" padding-bottom="-1mm">
1310
- <fo:block font-size="9.6pt">
1355
+ <fo:table-row height="13mm">
1356
+ <fo:table-cell number-columns-spanned="2" border-right="{$cover_page_border}" display-align="after" padding-bottom="-1mm" line-height="1.1">&gt;
1357
+ <fo:block font-size="10pt">
1311
1358
  <xsl:value-of select="$i18n_reference_number"/>
1312
1359
  </fo:block>
1313
- <fo:block font-size="9.6pt">
1360
+ <fo:block font-size="10pt">
1314
1361
  <xsl:value-of select="$ISOnumber"/>
1315
1362
  </fo:block>
1316
1363
  </fo:table-cell>
1317
1364
  <fo:table-cell number-columns-spanned="2" padding-left="6mm" display-align="after" padding-bottom="-1mm">
1318
- <fo:block font-size="9.6pt">
1365
+ <fo:block font-size="10pt" line-height="1.1">
1319
1366
  <xsl:value-of select="concat('© ', $copyrightAbbr, ' ', $copyrightYear)"/>
1320
1367
  <xsl:if test="$copyrightAbbrIEEE != ''">
1321
1368
  <xsl:value-of select="$linebreak"/>
@@ -1998,27 +2045,86 @@
1998
2045
  </xsl:otherwise>
1999
2046
  </xsl:choose>
2000
2047
 
2048
+ <xsl:if test="$debug = 'true'"><xsl:message>START updated_xml_step1</xsl:message></xsl:if>
2049
+ <xsl:variable name="startTime1" select="java:getTime(java:java.util.Date.new())"/>
2050
+
2001
2051
  <!-- STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
2002
2052
  <xsl:variable name="updated_xml_step1">
2003
2053
  <xsl:apply-templates mode="update_xml_step1"/>
2004
2054
  </xsl:variable>
2005
- <!-- DEBUG: updated_xml_step1=<xsl:copy-of select="$updated_xml_step1"/> -->
2055
+
2056
+ <!-- DEBUG -->
2057
+ <!-- <redirect:write file="updated_xml_step1_{java:getTime(java:java.util.Date.new())}.xml">
2058
+ <xsl:copy-of select="$updated_xml_step1"/>
2059
+ </redirect:write> -->
2060
+
2061
+ <xsl:variable name="endTime1" select="java:getTime(java:java.util.Date.new())"/>
2062
+ <xsl:if test="$debug = 'true'">
2063
+ <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime1 - $startTime1"/> msec.</xsl:message>
2064
+ <xsl:message>END updated_xml_step1</xsl:message>
2065
+ </xsl:if>
2066
+
2067
+ <xsl:if test="$debug = 'true'"><xsl:message>START updated_xml_step2</xsl:message></xsl:if>
2068
+ <xsl:variable name="startTime2" select="java:getTime(java:java.util.Date.new())"/>
2006
2069
 
2007
2070
  <!-- STEP2: add 'fn' after 'eref' and 'origin', if referenced to bibitem with 'note' = Withdrawn.' or 'Cancelled and replaced...' -->
2008
2071
  <xsl:variable name="updated_xml_step2">
2009
2072
  <xsl:apply-templates select="xalan:nodeset($updated_xml_step1)" mode="update_xml_step2"/>
2010
2073
  </xsl:variable>
2074
+
2075
+ <xsl:variable name="endTime2" select="java:getTime(java:java.util.Date.new())"/>
2076
+ <xsl:if test="$debug = 'true'">
2077
+ <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime2 - $startTime2"/> msec.</xsl:message>
2078
+ <xsl:message>END updated_xml_step2</xsl:message>
2079
+ </xsl:if>
2011
2080
  <!-- DEBUG: updated_xml_step2=<xsl:copy-of select="$updated_xml_step2"/> -->
2012
2081
 
2082
+ <xsl:if test="$debug = 'true'"><xsl:message>START updated_xml_step3</xsl:message></xsl:if>
2083
+ <xsl:variable name="startTime3" select="java:getTime(java:java.util.Date.new())"/>
2084
+
2013
2085
  <xsl:variable name="updated_xml_step3">
2014
2086
  <xsl:apply-templates select="xalan:nodeset($updated_xml_step2)" mode="update_xml_enclose_keep-together_within-line"/>
2015
2087
  </xsl:variable>
2088
+
2089
+ <xsl:variable name="endTime3" select="java:getTime(java:java.util.Date.new())"/>
2090
+ <xsl:if test="$debug = 'true'">
2091
+ <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime3 - $startTime3"/> msec.</xsl:message>
2092
+ <xsl:message>END updated_xml_step3</xsl:message>
2093
+ </xsl:if>
2016
2094
  <!-- DEBUG: updated_xml_step3=<xsl:copy-of select="$updated_xml_step3"/> -->
2017
2095
 
2018
2096
  <xsl:for-each select="xalan:nodeset($updated_xml_step3)">
2019
2097
 
2020
2098
  <xsl:choose>
2021
- <xsl:when test="$layoutVersion = '1951'"><!-- To do --></xsl:when>
2099
+ <xsl:when test="$layoutVersion = '1951'">
2100
+ <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="auto" force-page-count="no-force">
2101
+ <fo:static-content flow-name="xsl-footnote-separator">
2102
+ <fo:block>
2103
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
2104
+ </fo:block>
2105
+ </fo:static-content>
2106
+ <xsl:call-template name="insertHeaderFooter">
2107
+ <xsl:with-param name="is_header">false</xsl:with-param>
2108
+ <xsl:with-param name="insert_footer_last">false</xsl:with-param>
2109
+ </xsl:call-template>
2110
+ <fo:flow flow-name="xsl-region-body">
2111
+ <fo:block>
2112
+ <!-- <xsl:call-template name="processPrefaceSectionsDefault"/> -->
2113
+ <!-- Introduction will be showed in the main section -->
2114
+ <xsl:for-each select="/*/*[local-name()='preface']/*[not(local-name() = 'note' or local-name() = 'admonition' or local-name() = 'introduction')]">
2115
+ <xsl:sort select="@displayorder" data-type="number"/>
2116
+ <xsl:apply-templates select="."/>
2117
+ </xsl:for-each>
2118
+
2119
+ <fo:block span="all" text-align="center" margin-top="15mm" keep-with-next="always" role="SKIP">
2120
+ <fo:leader leader-pattern="rule" leader-length="22mm"/>
2121
+ </fo:block>
2122
+
2123
+ </fo:block>
2124
+ </fo:flow>
2125
+ </fo:page-sequence>
2126
+ </xsl:when><!-- END: preface sections (Foreword, Brief history for layout 1951 ($layoutVersion = '1951') -->
2127
+
2022
2128
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'">
2023
2129
  <fo:page-sequence master-reference="preface-1987_TR" format="i" force-page-count="no-force">
2024
2130
 
@@ -2136,6 +2242,13 @@
2136
2242
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)">
2137
2243
  <xsl:attribute name="master-reference">preface-1972-1998</xsl:attribute>
2138
2244
  </xsl:if>
2245
+ <xsl:if test="$layoutVersion = '2024'">
2246
+ <fo:static-content flow-name="xsl-footnote-separator">
2247
+ <fo:block margin-bottom="6pt">
2248
+ <fo:leader leader-pattern="rule" leader-length="51mm" rule-thickness="0.5pt"/>
2249
+ </fo:block>
2250
+ </fo:static-content>
2251
+ </xsl:if>
2139
2252
  <xsl:call-template name="insertHeaderFooter">
2140
2253
  <xsl:with-param name="font-weight">normal</xsl:with-param>
2141
2254
  <xsl:with-param name="is_footer">true</xsl:with-param>
@@ -2197,9 +2310,12 @@
2197
2310
  <xsl:if test="/iso:iso-standard/iso:boilerplate/iso:copyright-statement">
2198
2311
 
2199
2312
  <fo:block-container height="252mm" display-align="after" role="SKIP">
2200
- <xsl:if test="$layoutVersion = '1989' or $layoutVersion = '2024'">
2313
+ <xsl:if test="$layoutVersion = '1989'">
2201
2314
  <xsl:attribute name="height">241.5mm</xsl:attribute>
2202
2315
  </xsl:if>
2316
+ <xsl:if test="$layoutVersion = '2024'">
2317
+ <xsl:attribute name="width">172mm</xsl:attribute>
2318
+ </xsl:if>
2203
2319
  <!-- <fo:block margin-bottom="3mm">
2204
2320
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}"/>
2205
2321
  <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold"></fo:inline>
@@ -2209,9 +2325,9 @@
2209
2325
  <xsl:if test="$layoutVersion = '1989'">
2210
2326
  <xsl:attribute name="font-size">8pt</xsl:attribute>
2211
2327
  </xsl:if>
2212
- <xsl:if test="$layoutVersion = '2024'">
2328
+ <!-- <xsl:if test="$layoutVersion = '2024'">
2213
2329
  <xsl:attribute name="font-size">8.6pt</xsl:attribute>
2214
- </xsl:if>
2330
+ </xsl:if> -->
2215
2331
  <xsl:apply-templates select="/iso:iso-standard/iso:boilerplate/iso:copyright-statement"/>
2216
2332
  </fo:block>
2217
2333
  </fo:block>
@@ -2234,12 +2350,28 @@
2234
2350
 
2235
2351
  <!-- BODY -->
2236
2352
  <fo:page-sequence master-reference="document{$document-master-reference}" initial-page-number="1" force-page-count="no-force">
2353
+ <xsl:if test="$layoutVersion = '1951'">
2354
+ <xsl:attribute name="initial-page-number">auto</xsl:attribute>
2355
+ <xsl:attribute name="force-page-count">end-on-even</xsl:attribute>
2356
+ </xsl:if>
2237
2357
  <fo:static-content flow-name="xsl-footnote-separator">
2238
2358
  <fo:block>
2239
- <fo:leader leader-pattern="rule" leader-length="30%"/>
2359
+ <xsl:if test="$layoutVersion = '2024'">
2360
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
2361
+ </xsl:if>
2362
+ <fo:leader leader-pattern="rule" leader-length="30%">
2363
+ <xsl:if test="$layoutVersion = '2024'">
2364
+ <xsl:attribute name="leader-length">51mm</xsl:attribute>
2365
+ <xsl:attribute name="rule-thickness">0.5pt</xsl:attribute>
2366
+ </xsl:if>
2367
+ </fo:leader>
2240
2368
  </fo:block>
2241
2369
  </fo:static-content>
2242
- <xsl:call-template name="insertHeaderFooter"/>
2370
+
2371
+ <xsl:variable name="border_around_page"><xsl:if test="$layoutVersion = '1951'">true</xsl:if></xsl:variable>
2372
+ <xsl:call-template name="insertHeaderFooter">
2373
+ <xsl:with-param name="border_around_page" select="$border_around_page"/>
2374
+ </xsl:call-template>
2243
2375
  <fo:flow flow-name="xsl-region-body">
2244
2376
 
2245
2377
  <!-- Information and documentation — Codes for transcription systems -->
@@ -2274,8 +2406,42 @@
2274
2406
  <!-- Clause(s) -->
2275
2407
  <!-- <fo:block> -->
2276
2408
 
2409
+ <xsl:if test="$layoutVersion = '1951'">
2410
+ <!-- first page header -->
2411
+ <!-- Example: ISO Recommendation R 453 November 1965 -->
2412
+ <fo:block-container margin-top="-13mm" margin-left="-12mm" margin-right="-12mm">
2413
+ <fo:block-container margin-left="0" margin-right="0" border-bottom="1.25pt solid black">
2414
+ <fo:table table-layout="fixed" width="100%" font-family="Arial" font-size="13pt">
2415
+ <fo:table-column column-width="proportional-column-width(9.5)"/>
2416
+ <fo:table-column column-width="proportional-column-width(65)"/>
2417
+ <fo:table-column column-width="proportional-column-width(34)"/>
2418
+ <fo:table-column column-width="proportional-column-width(50)"/>
2419
+ <fo:table-column column-width="proportional-column-width(9.5)"/>
2420
+ <fo:table-body>
2421
+ <fo:table-row height="10mm">
2422
+ <fo:table-cell><fo:block> </fo:block></fo:table-cell>
2423
+ <fo:table-cell><fo:block><xsl:value-of select="$doctype_localized"/></fo:block></fo:table-cell>
2424
+ <fo:table-cell text-align="center"><fo:block><xsl:value-of select="$docnumber_with_prefix"/></fo:block></fo:table-cell>
2425
+ <fo:table-cell text-align="right">
2426
+ <fo:block>
2427
+ <xsl:call-template name="convertDate">
2428
+ <xsl:with-param name="date" select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/>
2429
+ </xsl:call-template>
2430
+ </fo:block>
2431
+ </fo:table-cell>
2432
+ <fo:table-cell><fo:block> </fo:block></fo:table-cell>
2433
+ </fo:table-row>
2434
+ </fo:table-body>
2435
+ </fo:table>
2436
+ </fo:block-container>
2437
+ </fo:block-container>
2438
+
2439
+ <!-- Show Introduction in the main section -->
2440
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() = 'introduction']"/>
2441
+ </xsl:if> <!-- $layoutVersion = '1951' -->
2442
+
2277
2443
  <xsl:choose>
2278
- <xsl:when test="($layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
2444
+ <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
2279
2445
  <xsl:choose>
2280
2446
  <xsl:when test="$doctype = 'amendment'">
2281
2447
  <xsl:variable name="flatxml">
@@ -2301,17 +2467,23 @@
2301
2467
  </xsl:choose>
2302
2468
 
2303
2469
  <xsl:if test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989')">
2304
- <fo:block span="all" text-align="center" margin-top="15mm" keep-with-next="always" role="SKIP">
2470
+ <fo:block text-align="center" margin-top="12mm" keep-with-previous="always" role="SKIP">
2471
+ <xsl:if test="$layout_columns != 1">
2472
+ <xsl:attribute name="span">all</xsl:attribute>
2473
+ </xsl:if>
2305
2474
  <fo:leader leader-pattern="rule" leader-length="20%"/>
2306
2475
  </fo:block>
2307
2476
  </xsl:if>
2308
2477
 
2309
- <fo:block id="lastBlock" font-size="1pt" role="SKIP"> </fo:block>
2478
+ <fo:block id="lastBlock" font-size="1pt" keep-with-previous="always" role="SKIP"> </fo:block>
2310
2479
  <!-- </fo:block> -->
2311
2480
 
2312
2481
  </fo:flow>
2313
2482
  </fo:page-sequence>
2314
2483
 
2484
+ <!-- Index -->
2485
+ <!-- <xsl:message>START current_document_index_id</xsl:message> -->
2486
+
2315
2487
  <xsl:variable name="docid">
2316
2488
  <xsl:call-template name="getDocumentId"/>
2317
2489
  </xsl:variable>
@@ -2321,14 +2493,27 @@
2321
2493
  <xsl:with-param name="docid" select="$docid"/>
2322
2494
  </xsl:apply-templates>
2323
2495
  </xsl:variable>
2496
+ <!-- <xsl:message>END current_document_index_id</xsl:message> -->
2324
2497
 
2498
+ <!-- <xsl:message>START current_document_index</xsl:message> -->
2499
+ <xsl:variable name="startTime1" select="java:getTime(java:java.util.Date.new())"/>
2325
2500
  <xsl:variable name="current_document_index">
2326
2501
  <xsl:apply-templates select="xalan:nodeset($current_document_index_id)" mode="index_update"/>
2327
2502
  </xsl:variable>
2503
+ <!-- <xsl:variable name="endTime1" select="java:getTime(java:java.util.Date.new())"/>
2504
+ <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime1 - $startTime1"/> msec.</xsl:message>
2505
+ <xsl:message>END current_document_index</xsl:message> -->
2328
2506
 
2507
+ <!-- <xsl:variable name="startTime2" select="java:getTime(java:java.util.Date.new())"/>
2508
+ <xsl:message>START xalan:nodeset</xsl:message> -->
2509
+ <!-- <xsl:apply-templates select="//iso:indexsect" mode="index"/> -->
2329
2510
  <xsl:apply-templates select="xalan:nodeset($current_document_index)" mode="index"/>
2511
+ <!-- <xsl:variable name="endTime2" select="java:getTime(java:java.util.Date.new())"/>
2512
+ <xsl:message>DEBUG: processing time <xsl:value-of select="$endTime2 - $startTime2"/> msec.</xsl:message>
2513
+ <xsl:message>END xalan:nodeset</xsl:message> -->
2330
2514
 
2331
2515
  <xsl:choose>
2516
+ <xsl:when test="$layoutVersion = '1951'"/>
2332
2517
  <xsl:when test="$layoutVersion = '1972'"/>
2333
2518
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'"><!-- UDC, Keywords and Price renders on the first page for technical-report --></xsl:when>
2334
2519
  <xsl:when test="$layoutVersion = '2024'">
@@ -2349,8 +2534,41 @@
2349
2534
 
2350
2535
  </xsl:template>
2351
2536
 
2537
+ <xsl:template match="iso:preface/iso:introduction" mode="update_xml_step1" priority="3">
2538
+ <xsl:param name="process">false</xsl:param>
2539
+ <xsl:choose>
2540
+ <xsl:when test="$layoutVersion = '1951'">
2541
+ <xsl:if test="$process = 'true'">
2542
+ <xsl:copy>
2543
+ <xsl:apply-templates select="@*" mode="update_xml_step1"/>
2544
+ <xsl:attribute name="displayorder">
2545
+ <xsl:value-of select="concat(../../iso:sections/iso:p[@class = 'zzSTDTitle1']/@displayorder, '.1')"/>
2546
+ </xsl:attribute>
2547
+ <xsl:apply-templates select="node()" mode="update_xml_step1"/>
2548
+ </xsl:copy>
2549
+ </xsl:if>
2550
+ </xsl:when>
2551
+ <xsl:otherwise>
2552
+ <xsl:copy>
2553
+ <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
2554
+ </xsl:copy>
2555
+ </xsl:otherwise>
2556
+ </xsl:choose>
2557
+ </xsl:template>
2558
+
2559
+ <xsl:template match="iso:sections/iso:p[@class = 'zzSTDTitle1']" mode="update_xml_step1" priority="3">
2560
+ <xsl:copy>
2561
+ <xsl:apply-templates select="@*|node()" mode="update_xml_step1"/>
2562
+ </xsl:copy>
2563
+ <xsl:if test="$layoutVersion = '1951'">
2564
+ <xsl:apply-templates select="../../iso:preface/iso:introduction" mode="update_xml_step1">
2565
+ <xsl:with-param name="process">true</xsl:with-param>
2566
+ </xsl:apply-templates>
2567
+ </xsl:if>
2568
+ </xsl:template>
2569
+
2352
2570
  <xsl:template name="insertLogoImages2024">
2353
- <xsl:variable name="content-height">19.4</xsl:variable>
2571
+ <xsl:variable name="content-height">20</xsl:variable>
2354
2572
  <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:copyright/iso:owner/iso:organization">
2355
2573
  <xsl:choose>
2356
2574
  <xsl:when test="iso:abbreviation = 'ISO'">
@@ -2508,7 +2726,7 @@
2508
2726
  <fo:block-container margin-left="1mm" role="SKIP"> <!-- margin-bottom="7mm" margin-top="-15mm" -->
2509
2727
  <fo:block font-size="9pt" border="0.5pt solid black" fox:border-radius="5pt" padding-left="2mm" padding-top="2mm" padding-bottom="2mm">
2510
2728
  <xsl:if test="$layoutVersion = '2024'">
2511
- <xsl:attribute name="font-size">9pt</xsl:attribute>
2729
+ <!-- <xsl:attribute name="font-size">9pt</xsl:attribute> -->
2512
2730
  <xsl:attribute name="fox:border-radius">0pt</xsl:attribute>
2513
2731
  <xsl:attribute name="border">1pt solid black</xsl:attribute>
2514
2732
  </xsl:if>
@@ -2674,12 +2892,12 @@
2674
2892
  <xsl:template match="iso:preface/iso:clause[@type = 'toc']/iso:title" priority="3">
2675
2893
  <fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
2676
2894
  <xsl:if test="$layoutVersion = '2024'">
2677
- <xsl:attribute name="font-size">15.3pt</xsl:attribute>
2895
+ <xsl:attribute name="margin-top">0</xsl:attribute>
2678
2896
  </xsl:if>
2679
2897
  <fo:inline font-size="16pt" font-weight="bold" role="SKIP">
2680
- <xsl:if test="$layoutVersion = '2024'">
2898
+ <!-- <xsl:if test="$layoutVersion = '2024'">
2681
2899
  <xsl:attribute name="font-size">15.3pt</xsl:attribute>
2682
- </xsl:if>
2900
+ </xsl:if> -->
2683
2901
  <!-- Contents -->
2684
2902
  <!-- <xsl:call-template name="getLocalizedString">
2685
2903
  <xsl:with-param name="key">table_of_contents</xsl:with-param>
@@ -2689,9 +2907,9 @@
2689
2907
  <fo:inline keep-together.within-line="always" role="SKIP">
2690
2908
  <fo:leader leader-pattern="space"/>
2691
2909
  <fo:inline font-weight="normal" font-size="10pt" role="SKIP">
2692
- <xsl:if test="$layoutVersion = '2024'">
2910
+ <!-- <xsl:if test="$layoutVersion = '2024'">
2693
2911
  <xsl:attribute name="font-size">9.6pt</xsl:attribute>
2694
- </xsl:if>
2912
+ </xsl:if> -->
2695
2913
  <!-- Page -->
2696
2914
  <xsl:value-of select="$i18n_locality_page"/>
2697
2915
  </fo:inline>
@@ -2860,13 +3078,19 @@
2860
3078
  <xsl:template match="iso:sections/iso:p[@class = 'zzSTDTitle1']" priority="4">
2861
3079
  <xsl:if test="not($layoutVersion = '1987' and $doctype = 'technical-report')">
2862
3080
  <fo:block font-size="18pt" font-weight="bold" margin-top="40pt" margin-bottom="20pt" line-height="1.1" role="H1">
3081
+ <xsl:if test="$layoutVersion = '1951'">
3082
+ <xsl:attribute name="font-size">13pt</xsl:attribute>
3083
+ <xsl:attribute name="text-align">center</xsl:attribute>
3084
+ <xsl:attribute name="margin-top">49mm</xsl:attribute>
3085
+ <xsl:attribute name="text-transform">uppercase</xsl:attribute>
3086
+ </xsl:if>
2863
3087
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
2864
3088
  <xsl:attribute name="font-size">16pt</xsl:attribute>
2865
3089
  <xsl:attribute name="span">all</xsl:attribute>
2866
3090
  <xsl:attribute name="margin-bottom">40pt</xsl:attribute>
2867
3091
  </xsl:if>
2868
3092
  <xsl:if test="$layoutVersion = '2024'">
2869
- <xsl:attribute name="font-size">17.2pt</xsl:attribute>
3093
+ <xsl:attribute name="margin-top">50pt</xsl:attribute>
2870
3094
  </xsl:if>
2871
3095
  <xsl:if test="following-sibling::*[1][self::iso:p][starts-with(@class, 'zzSTDTitle')]">
2872
3096
  <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
@@ -2899,9 +3123,9 @@
2899
3123
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
2900
3124
  <xsl:attribute name="font-size">16pt</xsl:attribute>
2901
3125
  </xsl:if>
2902
- <xsl:if test="$layoutVersion = '2024'">
3126
+ <!-- <xsl:if test="$layoutVersion = '2024'">
2903
3127
  <xsl:attribute name="font-size">17.2pt</xsl:attribute>
2904
- </xsl:if>
3128
+ </xsl:if> -->
2905
3129
  <xsl:apply-templates/>
2906
3130
  </fo:block>
2907
3131
  </xsl:if>
@@ -3006,12 +3230,15 @@
3006
3230
  </xsl:when>
3007
3231
  <xsl:otherwise>
3008
3232
  <fo:block margin-left="0.5mm" margin-bottom="3mm" role="H1">
3233
+ <xsl:if test="$layoutVersion = '2024'">
3234
+ <xsl:attribute name="margin-bottom">3.5mm</xsl:attribute>
3235
+ </xsl:if>
3009
3236
  <fo:external-graphic src="{concat('data:image/png;base64,', normalize-space($Image-Attention))}" width="14mm" content-height="13mm" content-width="scale-to-fit" scaling="uniform" fox:alt-text="Image {@alt}">
3010
- <xsl:if test="$layoutVersion = '2024'">
3237
+ <!-- <xsl:if test="$layoutVersion = '2024'">
3011
3238
  <xsl:attribute name="width">13mm</xsl:attribute>
3012
3239
  <xsl:attribute name="content-height">11.5mm</xsl:attribute>
3013
3240
  <xsl:attribute name="margin-bottom">-1mm</xsl:attribute>
3014
- </xsl:if>
3241
+ </xsl:if> -->
3015
3242
  </fo:external-graphic>
3016
3243
  <!-- <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold">COPYRIGHT PROTECTED DOCUMENT</fo:inline> -->
3017
3244
  <fo:inline padding-left="6mm" font-size="12pt" font-weight="bold" role="SKIP">
@@ -3019,7 +3246,7 @@
3019
3246
  <xsl:attribute name="font-size">11pt</xsl:attribute>
3020
3247
  </xsl:if>
3021
3248
  <xsl:if test="$layoutVersion = '2024'">
3022
- <xsl:attribute name="font-size">11.5pt</xsl:attribute>
3249
+ <xsl:attribute name="baseline-shift">5%</xsl:attribute>
3023
3250
  </xsl:if>
3024
3251
  <xsl:apply-templates/></fo:inline>
3025
3252
  </fo:block>
@@ -3094,7 +3321,8 @@
3094
3321
  <xsl:otherwise>
3095
3322
  <fo:block font-size="16pt" text-align="center" margin-bottom="48pt" keep-with-next="always" role="H1">
3096
3323
  <xsl:if test="$layoutVersion = '2024'">
3097
- <xsl:attribute name="font-size">15.3pt</xsl:attribute>
3324
+ <xsl:attribute name="line-height">1.1</xsl:attribute>
3325
+ <!-- <xsl:attribute name="margin-bottom">52pt</xsl:attribute> -->
3098
3326
  </xsl:if>
3099
3327
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
3100
3328
  <xsl:attribute name="span">all</xsl:attribute>
@@ -3119,7 +3347,8 @@
3119
3347
  <xsl:attribute name="span">all</xsl:attribute>
3120
3348
  </xsl:if>
3121
3349
  <xsl:if test="$layoutVersion = '2024'">
3122
- <xsl:attribute name="font-size">15.3pt</xsl:attribute>
3350
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
3351
+ <xsl:attribute name="margin-bottom">30pt</xsl:attribute>
3123
3352
  </xsl:if>
3124
3353
  <xsl:apply-templates/>
3125
3354
  </fo:block>
@@ -3135,6 +3364,15 @@
3135
3364
 
3136
3365
  <xsl:variable name="font-size">
3137
3366
  <xsl:choose>
3367
+ <xsl:when test="$layoutVersion = '1951'">
3368
+ <xsl:choose>
3369
+ <xsl:when test="$level = 1 and ancestor::iso:preface">13pt</xsl:when>
3370
+ <xsl:when test="$level = 1">9pt</xsl:when>
3371
+ <xsl:otherwise>inherit</xsl:otherwise>
3372
+ <!-- <xsl:when test="$level = 2">10pt</xsl:when>
3373
+ <xsl:when test="$level &gt;= 3">9pt</xsl:when> -->
3374
+ </xsl:choose>
3375
+ </xsl:when>
3138
3376
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'">
3139
3377
  <xsl:choose>
3140
3378
  <xsl:when test="$level = 1">11pt</xsl:when>
@@ -3153,7 +3391,7 @@
3153
3391
  <xsl:otherwise>12pt</xsl:otherwise>
3154
3392
  </xsl:choose>
3155
3393
  </xsl:when>
3156
- <xsl:when test="$layoutVersion = '2024'">
3394
+ <!-- <xsl:when test="$layoutVersion = '2024'">
3157
3395
  <xsl:choose>
3158
3396
  <xsl:when test="ancestor::iso:annex and $level = 2">12.5pt</xsl:when>
3159
3397
  <xsl:when test="ancestor::iso:annex and $level = 3">11.5pt</xsl:when>
@@ -3163,7 +3401,7 @@
3163
3401
  <xsl:when test="$level &gt;= 3">10.5pt</xsl:when>
3164
3402
  <xsl:otherwise>12.5pt</xsl:otherwise>
3165
3403
  </xsl:choose>
3166
- </xsl:when>
3404
+ </xsl:when> -->
3167
3405
  <xsl:otherwise>
3168
3406
  <xsl:choose>
3169
3407
  <xsl:when test="ancestor::iso:annex and $level = 2">13pt</xsl:when>
@@ -3190,9 +3428,9 @@
3190
3428
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report' and parent::iso:foreword"><!-- skip Foreword title --></xsl:when>
3191
3429
  <xsl:when test="$doctype = 'amendment' and not(ancestor::iso:preface)">
3192
3430
  <fo:block font-size="11pt" font-style="italic" margin-bottom="12pt" keep-with-next="always" role="H{$level}">
3193
- <xsl:if test="$layoutVersion = '2024'">
3431
+ <!-- <xsl:if test="$layoutVersion = '2024'">
3194
3432
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
3195
- </xsl:if>
3433
+ </xsl:if> -->
3196
3434
  <xsl:apply-templates/>
3197
3435
  <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
3198
3436
  </fo:block>
@@ -3223,13 +3461,16 @@
3223
3461
  </xsl:variable>
3224
3462
  <xsl:attribute name="{$attribute-name-before}"> <!-- space-before or margin-top -->
3225
3463
  <xsl:choose>
3464
+ <xsl:when test="$layoutVersion = '1951' and ancestor::iso:preface and $level = 1">20mm</xsl:when>
3226
3465
  <xsl:when test="ancestor::iso:introduction and $level &gt;= 2 and ../preceding-sibling::iso:clause">30pt</xsl:when>
3227
3466
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report' and ancestor::iso:preface and $level = 1">10mm</xsl:when>
3228
3467
  <xsl:when test="($layoutVersion = '1972' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)) and ancestor::iso:preface and $level = 1">62mm</xsl:when>
3229
3468
  <xsl:when test="$layoutVersion = '1989' and ancestor::iso:preface and $level = 1">56pt</xsl:when>
3469
+ <xsl:when test="$layoutVersion = '2024' and ancestor::iso:preface and $level = 1">0pt</xsl:when>
3230
3470
  <xsl:when test="ancestor::iso:preface">8pt</xsl:when>
3231
3471
  <xsl:when test="$level = 2 and ancestor::iso:annex">18pt</xsl:when>
3232
3472
  <xsl:when test="$level = 1">18pt</xsl:when>
3473
+ <xsl:when test="($level = 2 or $level = 3) and not(../preceding-sibling::iso:clause) and $layoutVersion = '2024'">12pt</xsl:when> <!-- first title in 3rd level clause -->
3233
3474
  <xsl:when test="($level = 2 or $level = 3) and not(../preceding-sibling::iso:clause)">14pt</xsl:when> <!-- first title in 3rd level clause -->
3234
3475
  <xsl:when test="$level = 3">14pt</xsl:when>
3235
3476
  <xsl:when test="$level &gt; 3">3pt</xsl:when>
@@ -3239,9 +3480,12 @@
3239
3480
  </xsl:attribute>
3240
3481
  <xsl:attribute name="space-after"> <!-- margin-bottom -->
3241
3482
  <xsl:choose>
3483
+ <xsl:when test="$layoutVersion = '1951' and $level = 1 and ancestor::iso:preface">14.7mm</xsl:when>
3484
+ <xsl:when test="$layoutVersion = '1951' and $level = 1">12pt</xsl:when>
3242
3485
  <xsl:when test="ancestor::iso:introduction and $level &gt;= 2">8pt</xsl:when>
3243
3486
  <xsl:when test="ancestor::iso:preface">18pt</xsl:when>
3244
3487
  <xsl:when test="$level = 3">9pt</xsl:when>
3488
+ <!-- <xsl:when test="$level = 2 and ancestor::iso:annex and $layoutVersion = '2024'">2pt</xsl:when> -->
3245
3489
  <!-- <xsl:otherwise>12pt</xsl:otherwise> -->
3246
3490
  <xsl:otherwise>8pt</xsl:otherwise>
3247
3491
  </xsl:choose>
@@ -3251,6 +3495,15 @@
3251
3495
  <xsl:if test="@type = 'floating-title' or @type = 'section-title'">
3252
3496
  <xsl:copy-of select="@id"/>
3253
3497
  </xsl:if>
3498
+ <xsl:if test="$layoutVersion = '1951'">
3499
+ <xsl:if test="$element-name = 'fo:block' and ($level = 1 or parent::iso:introduction)">
3500
+ <xsl:attribute name="text-align">center</xsl:attribute>
3501
+ <xsl:attribute name="text-transform">uppercase</xsl:attribute>
3502
+ <xsl:if test="ancestor::iso:preface or ancestor::iso:introduction">
3503
+ <xsl:attribute name="font-weight">normal</xsl:attribute>
3504
+ </xsl:if>
3505
+ </xsl:if>
3506
+ </xsl:if>
3254
3507
  <xsl:if test="$element-name = 'fo:inline'">
3255
3508
  <xsl:choose>
3256
3509
  <xsl:when test="$lang = 'zh'">
@@ -3261,7 +3514,17 @@
3261
3514
  </xsl:otherwise>
3262
3515
  </xsl:choose>
3263
3516
  </xsl:if>
3264
- <xsl:apply-templates/>
3517
+ <xsl:choose>
3518
+ <xsl:when test="$layoutVersion = '1951' and ((ancestor::iso:preface and $level = 1) or parent::iso:introduction)">
3519
+ <xsl:call-template name="add-letter-spacing">
3520
+ <xsl:with-param name="text" select="."/>
3521
+ <xsl:with-param name="letter-spacing" select="0.65"/>
3522
+ </xsl:call-template>
3523
+ </xsl:when>
3524
+ <xsl:otherwise>
3525
+ <xsl:apply-templates/>
3526
+ </xsl:otherwise>
3527
+ </xsl:choose>
3265
3528
  <xsl:apply-templates select="following-sibling::*[1][local-name() = 'variant-title'][@type = 'sub']" mode="subtitle"/>
3266
3529
  </xsl:element>
3267
3530
 
@@ -3277,7 +3540,7 @@
3277
3540
 
3278
3541
  <xsl:template match="iso:title[@inline-header = 'true'][following-sibling::*[1][local-name() = 'p']]" priority="3">
3279
3542
  <xsl:choose>
3280
- <xsl:when test="($layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1"/> <!-- don't show 'title' with inline-header='true' if next element is 'p' -->
3543
+ <xsl:when test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1"/> <!-- don't show 'title' with inline-header='true' if next element is 'p' -->
3281
3544
  <xsl:otherwise>
3282
3545
  <xsl:call-template name="title"/>
3283
3546
  </xsl:otherwise>
@@ -3289,9 +3552,9 @@
3289
3552
  <xsl:call-template name="getId"/>
3290
3553
  </xsl:variable> id="{$id}" -->
3291
3554
  <fo:block font-size="11pt" font-style="italic" margin-bottom="12pt" keep-with-next="always">
3292
- <xsl:if test="$layoutVersion = '2024'">
3555
+ <!-- <xsl:if test="$layoutVersion = '2024'">
3293
3556
  <xsl:attribute name="font-size">10.5pt</xsl:attribute>
3294
- </xsl:if>
3557
+ </xsl:if> -->
3295
3558
  <xsl:apply-templates/>
3296
3559
  </fo:block>
3297
3560
  </xsl:template>
@@ -3387,8 +3650,25 @@
3387
3650
  </xsl:apply-templates> -->
3388
3651
  <!-- <xsl:apply-templates select="node()[not(self::iso:note[not(following-sibling::*) or count(following-sibling::*) = count(../iso:note) - 1])]"> -->
3389
3652
 
3653
+ <xsl:if test="$layoutVersion = '1951'">
3654
+ <xsl:if test="not(ancestor::*[local-name() = 'li' or local-name() = 'td' or local-name() = 'th' or local-name() = 'dd'])">
3655
+ <!-- for paragraphs in the main text -->
3656
+ <xsl:attribute name="margin-bottom">14pt</xsl:attribute>
3657
+ </xsl:if>
3658
+ <xsl:if test="ancestor::iso:preface and parent::iso:clause">
3659
+ <xsl:attribute name="text-indent">7.1mm</xsl:attribute>
3660
+ </xsl:if>
3661
+ </xsl:if>
3662
+
3663
+ <xsl:if test="$layoutVersion = '2024'">
3664
+ <xsl:attribute name="line-height">1.13</xsl:attribute>
3665
+ <xsl:if test="parent::iso:li/following-sibling::* or parent::iso:dd">
3666
+ <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
3667
+ </xsl:if>
3668
+ </xsl:if>
3669
+
3390
3670
  <!-- put inline title in the first paragraph -->
3391
- <xsl:if test="($layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
3671
+ <xsl:if test="($layoutVersion = '1951' or $layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989') and $layout_columns != 1">
3392
3672
  <xsl:if test="preceding-sibling::*[1]/@inline-header = 'true' and preceding-sibling::*[1][self::iso:title]">
3393
3673
  <xsl:attribute name="space-before">0pt</xsl:attribute>
3394
3674
  <xsl:for-each select="preceding-sibling::*[1]">
@@ -3510,6 +3790,10 @@
3510
3790
  <xsl:call-template name="insert_basic_link">
3511
3791
  <xsl:with-param name="element">
3512
3792
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
3793
+ <xsl:if test="$layoutVersion = '2024' and (ancestor::iso:termsource or $bibitems/*[local-name() ='bibitem'][@id = current()/@target and @type = 'standard'])">
3794
+ <xsl:attribute name="color">inherit</xsl:attribute>
3795
+ <xsl:attribute name="text-decoration">none</xsl:attribute>
3796
+ </xsl:if>
3513
3797
  <xsl:choose>
3514
3798
  <xsl:when test="@pagenumber='true'">
3515
3799
  <fo:inline>
@@ -3519,6 +3803,20 @@
3519
3803
  <fo:page-number-citation ref-id="{@target}"/>
3520
3804
  </fo:inline>
3521
3805
  </xsl:when>
3806
+ <xsl:when test="$layoutVersion = '2024' and $bibitems/*[local-name() ='bibitem'][@id = current()/@target and not(@type = 'standard')]"> <!-- if reference to bibitem -->
3807
+ <!-- <fo:inline baseline-shift="30%" font-size="80%"> -->
3808
+ <xsl:choose>
3809
+ <xsl:when test="contains(., '[') and contains(., ']')">
3810
+ <fo:inline color="black" text-decoration="none">[</fo:inline>
3811
+ <xsl:value-of select="translate(.,'[]','')"/>
3812
+ <fo:inline color="black" text-decoration="none">]</fo:inline>
3813
+ </xsl:when>
3814
+ <xsl:otherwise>
3815
+ <xsl:apply-templates/>
3816
+ </xsl:otherwise>
3817
+ </xsl:choose>
3818
+ <!-- </fo:inline> -->
3819
+ </xsl:when>
3522
3820
  <xsl:otherwise>
3523
3821
  <xsl:apply-templates/>
3524
3822
  </xsl:otherwise>
@@ -3528,6 +3826,20 @@
3528
3826
  </xsl:call-template>
3529
3827
  </xsl:template>
3530
3828
 
3829
+ <xsl:template match="*[local-name()='sup'][*[local-name()='xref'][@type = 'footnote']]" priority="2">
3830
+ <fo:inline font-size="80%">
3831
+ <xsl:choose>
3832
+ <xsl:when test="$layoutVersion = '2024'">
3833
+ <xsl:attribute name="baseline-shift">20%</xsl:attribute>
3834
+ </xsl:when>
3835
+ <xsl:otherwise>
3836
+ <xsl:attribute name="vertical-align">super</xsl:attribute>
3837
+ </xsl:otherwise>
3838
+ </xsl:choose>
3839
+ <xsl:apply-templates/>
3840
+ </fo:inline>
3841
+ </xsl:template>
3842
+
3531
3843
  <!-- =================== -->
3532
3844
  <!-- End of Index processing -->
3533
3845
  <!-- =================== -->
@@ -3650,19 +3962,32 @@
3650
3962
  <xsl:template name="insertHeaderFooter">
3651
3963
  <xsl:param name="font-weight" select="'bold'"/>
3652
3964
  <xsl:param name="is_footer">false</xsl:param>
3965
+ <xsl:param name="is_header">true</xsl:param>
3966
+ <xsl:param name="border_around_page">false</xsl:param>
3967
+ <xsl:param name="insert_footer_last">true</xsl:param>
3653
3968
  <xsl:if test="($layoutVersion = '1972' or $layoutVersion = '1987' or ($layoutVersion = '1989' and $revision_date_num &lt;= 19981231)) and $is_footer = 'true'">
3654
3969
  <xsl:call-template name="insertFooterFirst1972_1998">
3655
3970
  <xsl:with-param name="font-weight" select="$font-weight"/>
3656
3971
  </xsl:call-template>
3657
3972
  </xsl:if>
3658
- <xsl:call-template name="insertHeaderEven"/>
3973
+ <xsl:call-template name="insertHeaderEven">
3974
+ <xsl:with-param name="border_around_page" select="$border_around_page"/>
3975
+ <xsl:with-param name="is_header" select="$is_header"/>
3976
+ </xsl:call-template>
3659
3977
  <xsl:call-template name="insertFooterEven">
3660
3978
  <xsl:with-param name="font-weight" select="$font-weight"/>
3979
+ <xsl:with-param name="insert_footer_last" select="$insert_footer_last"/>
3980
+ </xsl:call-template>
3981
+ <xsl:choose>
3982
+ <xsl:when test="$layoutVersion = '1951'"/>
3983
+ <xsl:when test="not($layoutVersion = '1987' and $doctype = 'technical-report')">
3984
+ <xsl:call-template name="insertHeaderFirst"/>
3985
+ </xsl:when>
3986
+ </xsl:choose>
3987
+ <xsl:call-template name="insertHeaderOdd">
3988
+ <xsl:with-param name="border_around_page" select="$border_around_page"/>
3989
+ <xsl:with-param name="is_header" select="$is_header"/>
3661
3990
  </xsl:call-template>
3662
- <xsl:if test="not($layoutVersion = '1987' and $doctype = 'technical-report')">
3663
- <xsl:call-template name="insertHeaderFirst"/>
3664
- </xsl:if>
3665
- <xsl:call-template name="insertHeaderOdd"/>
3666
3991
  <xsl:call-template name="insertFooterOdd">
3667
3992
  <xsl:with-param name="font-weight" select="$font-weight"/>
3668
3993
  </xsl:call-template>
@@ -3674,11 +3999,26 @@
3674
3999
  </xsl:choose>
3675
4000
  </xsl:variable>
3676
4001
  <xsl:template name="insertHeaderEven">
4002
+ <xsl:param name="is_header">true</xsl:param>
4003
+ <xsl:param name="border_around_page">false</xsl:param>
3677
4004
  <fo:static-content flow-name="header-even" role="artifact">
4005
+ <xsl:if test="$layoutVersion = '1951' and $border_around_page = 'true'">
4006
+ <!-- box around page -->
4007
+ <fo:block-container position="absolute" left="16.5mm" top="10mm" height="271.5mm" width="170mm" border="1.25pt solid black" role="SKIP">
4008
+ <fo:block> </fo:block>
4009
+ </fo:block-container>
4010
+ </xsl:if>
3678
4011
  <fo:block-container height="24mm" display-align="before">
4012
+ <xsl:if test="$layoutVersion = '2024'">
4013
+ <xsl:attribute name="height">23mm</xsl:attribute>
4014
+ </xsl:if>
3679
4015
  <fo:block font-size="{$font-size_header}" font-weight="bold" padding-top="12.5mm" line-height="1.1">
3680
- <xsl:call-template name="insertLayoutVersion2024AttributesTop"/>
3681
- <xsl:value-of select="$ISOnumber"/>
4016
+ <xsl:call-template name="insertLayoutVersionAttributesTop">
4017
+ <xsl:with-param name="odd_or_even">even</xsl:with-param>
4018
+ </xsl:call-template>
4019
+ <xsl:if test="$is_header = 'true'">
4020
+ <xsl:value-of select="$ISOnumber"/>
4021
+ </xsl:if>
3682
4022
  </fo:block>
3683
4023
  </fo:block-container>
3684
4024
  </fo:static-content>
@@ -3689,7 +4029,7 @@
3689
4029
  <xsl:when test="$stage-abbreviation = 'FDAmd' or $stage-abbreviation = 'FDAM' or $stage-abbreviation = 'DAmd' or $stage-abbreviation = 'DAM'">
3690
4030
  <fo:block-container height="24mm" display-align="before">
3691
4031
  <fo:block font-size="{$font-size_header}" font-weight="bold" text-align="right" padding-top="12.5mm" line-height="1.1">
3692
- <xsl:call-template name="insertLayoutVersion2024AttributesTop"/>
4032
+ <xsl:call-template name="insertLayoutVersionAttributesTop"/>
3693
4033
  <xsl:value-of select="$ISOnumber"/>
3694
4034
  </fo:block>
3695
4035
  </fo:block-container>
@@ -3701,6 +4041,7 @@
3701
4041
  <xsl:attribute name="border-bottom">0.5mm solid black</xsl:attribute>
3702
4042
  </xsl:if>
3703
4043
  <xsl:if test=" $layoutVersion = '2024'">
4044
+ <xsl:attribute name="width">180mm</xsl:attribute>
3704
4045
  <xsl:attribute name="border-top">0.8mm solid black</xsl:attribute>
3705
4046
  <xsl:attribute name="border-bottom">0.8mm solid black</xsl:attribute>
3706
4047
  </xsl:if>
@@ -3726,6 +4067,9 @@
3726
4067
  <fo:table-column column-width="50%"/>
3727
4068
  <fo:table-body>
3728
4069
  <fo:table-row display-align="center" height="9mm">
4070
+ <xsl:if test="$layoutVersion = '2024'">
4071
+ <xsl:attribute name="height">8.5mm</xsl:attribute>
4072
+ </xsl:if>
3729
4073
  <fo:table-cell>
3730
4074
  <fo:block>
3731
4075
  <xsl:choose>
@@ -3757,11 +4101,26 @@
3757
4101
  </fo:static-content>
3758
4102
  </xsl:template>
3759
4103
  <xsl:template name="insertHeaderOdd">
4104
+ <xsl:param name="is_header">true</xsl:param>
4105
+ <xsl:param name="border_around_page">false</xsl:param>
3760
4106
  <fo:static-content flow-name="header-odd" role="artifact">
4107
+ <xsl:if test="$layoutVersion = '1951' and $border_around_page = 'true'">
4108
+ <!-- box around page -->
4109
+ <fo:block-container position="absolute" left="23.5mm" top="10mm" height="271.5mm" width="170mm" border="1.25pt solid black" role="SKIP">
4110
+ <fo:block> </fo:block>
4111
+ </fo:block-container>
4112
+ </xsl:if>
3761
4113
  <fo:block-container height="24mm" display-align="before">
4114
+ <xsl:if test="$layoutVersion = '2024'">
4115
+ <xsl:attribute name="height">23mm</xsl:attribute>
4116
+ </xsl:if>
3762
4117
  <fo:block font-size="{$font-size_header}" font-weight="bold" text-align="right" padding-top="12.5mm" line-height="1.1">
3763
- <xsl:call-template name="insertLayoutVersion2024AttributesTop"/>
3764
- <xsl:value-of select="$ISOnumber"/>
4118
+ <xsl:call-template name="insertLayoutVersionAttributesTop">
4119
+ <xsl:with-param name="odd_or_even">odd</xsl:with-param>
4120
+ </xsl:call-template>
4121
+ <xsl:if test="$is_header = 'true'">
4122
+ <xsl:value-of select="$ISOnumber"/>
4123
+ </xsl:if>
3765
4124
  </fo:block>
3766
4125
  </fo:block-container>
3767
4126
  </fo:static-content>
@@ -3817,9 +4176,13 @@
3817
4176
  </xsl:template>
3818
4177
  <xsl:template name="insertFooterEven">
3819
4178
  <xsl:param name="font-weight" select="'bold'"/>
4179
+ <xsl:param name="insert_footer_last">true</xsl:param>
3820
4180
  <fo:static-content flow-name="footer-even" role="artifact">
3821
4181
  <fo:block-container>
3822
4182
  <xsl:choose>
4183
+ <xsl:when test="$layoutVersion = '1951'">
4184
+ <xsl:call-template name="insertFooter1951"/>
4185
+ </xsl:when>
3823
4186
  <xsl:when test="$layoutVersion = '2024'">
3824
4187
  <xsl:call-template name="insertFooter2024">
3825
4188
  <xsl:with-param name="font-weight" select="$font-weight"/>
@@ -3860,12 +4223,25 @@
3860
4223
  </xsl:choose>
3861
4224
  </fo:block-container>
3862
4225
  </fo:static-content>
4226
+ <!-- for layout 1951 only -->
4227
+ <xsl:if test="$layoutVersion = '1951'">
4228
+ <fo:static-content flow-name="footer-even-last" role="artifact">
4229
+ <fo:block-container>
4230
+ <xsl:call-template name="insertFooter1951">
4231
+ <xsl:with-param name="insert_footer_last" select="$insert_footer_last"/>
4232
+ </xsl:call-template>
4233
+ </fo:block-container>
4234
+ </fo:static-content>
4235
+ </xsl:if>
3863
4236
  </xsl:template>
3864
4237
  <xsl:template name="insertFooterOdd">
3865
4238
  <xsl:param name="font-weight" select="'bold'"/>
3866
4239
  <fo:static-content flow-name="footer-odd" role="artifact">
3867
4240
  <fo:block-container>
3868
4241
  <xsl:choose>
4242
+ <xsl:when test="$layoutVersion = '1951'">
4243
+ <xsl:call-template name="insertFooter1951"/>
4244
+ </xsl:when>
3869
4245
  <xsl:when test="$layoutVersion = '2024'">
3870
4246
  <xsl:call-template name="insertFooter2024">
3871
4247
  <xsl:with-param name="font-weight" select="$font-weight"/>
@@ -3907,20 +4283,80 @@
3907
4283
  </fo:block-container>
3908
4284
  </fo:static-content>
3909
4285
  </xsl:template>
4286
+ <xsl:template name="insertFooter1951">
4287
+ <xsl:param name="insert_footer_last">false</xsl:param>
4288
+ <xsl:attribute name="height"><xsl:value-of select="$marginBottom - 2"/>mm</xsl:attribute>
4289
+ <xsl:attribute name="display-align">after</xsl:attribute>
4290
+ <xsl:attribute name="text-align">center</xsl:attribute>
4291
+ <fo:block-container margin-left="-13mm" margin-right="-13mm">
4292
+ <fo:block-container margin-left="0mm" margin-right="0mm">
4293
+ <fo:table table-layout="fixed" width="100%" margin-bottom="8mm">
4294
+ <fo:table-column column-width="proportional-column-width(35)"/>
4295
+ <fo:table-column column-width="proportional-column-width(100)"/>
4296
+ <fo:table-column column-width="proportional-column-width(35)"/>
4297
+ <fo:table-body>
4298
+ <fo:table-row>
4299
+ <fo:table-cell font-size="8pt">
4300
+ <fo:block line-height="1" margin-top="2mm">
4301
+ <xsl:variable name="date_first_printing" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:presentation-metadata/iso:first-printing-date)"/>
4302
+ <xsl:if test="$insert_footer_last = 'true' and $date_first_printing != ''">
4303
+ <fo:block><xsl:value-of select="$i18n_date_first_printing"/>:</fo:block>
4304
+ <fo:block>
4305
+ <!-- Example: December 1965 -->
4306
+ <xsl:call-template name="convertDate">
4307
+ <xsl:with-param name="date" select="$date_first_printing"/>
4308
+ </xsl:call-template>
4309
+ </fo:block>
4310
+ </xsl:if>
4311
+ </fo:block>
4312
+ </fo:table-cell>
4313
+ <fo:table-cell>
4314
+ <fo:block font-size="9.5pt" font-weight="bold"><xsl:value-of select="$em_dash"/>  <fo:page-number/>  <xsl:value-of select="$em_dash"/></fo:block>
4315
+ </fo:table-cell>
4316
+ <fo:table-cell>
4317
+ <fo:block font-size="8.5pt" text-align="right" font-weight="bold">
4318
+ <xsl:variable name="price_" select="normalize-space(/iso:iso-standard/iso:metanorma-extension/iso:presentation-metadata/iso:price)"/>
4319
+ <xsl:variable name="price" select="java:replaceAll(java:java.lang.String.new($price_), '-{2}', $em_dash)"/>
4320
+ <xsl:if test="$insert_footer_last = 'true' and $price != ''">
4321
+ <!-- Example: Price: Sw. fr. 3.- -->
4322
+ <xsl:value-of select="concat($i18n_price, ': ', $price)"/>
4323
+ </xsl:if>
4324
+ </fo:block>
4325
+ </fo:table-cell>
4326
+ </fo:table-row>
4327
+ </fo:table-body>
4328
+ </fo:table>
4329
+ </fo:block-container>
4330
+ </fo:block-container>
4331
+ </xsl:template>
3910
4332
  <xsl:template name="insertFooter2024">
3911
4333
  <xsl:param name="font-weight" select="'bold'"/>
3912
4334
  <xsl:attribute name="text-align">center</xsl:attribute>
3913
- <fo:block font-size="8.6pt">
3914
- <xsl:call-template name="insertInterFont"/>
4335
+ <xsl:attribute name="line-height">1.1</xsl:attribute>
4336
+ <fo:block font-size="9pt">
4337
+ <!-- <xsl:call-template name="insertInterFont"/> -->
3915
4338
  <xsl:value-of select="$copyrightText"/>
3916
4339
  </fo:block>
3917
4340
  <xsl:if test="$copyrightAbbrIEEE = ''"><fo:block> </fo:block></xsl:if>
3918
4341
  <fo:block font-size="11pt" font-weight="{$font-weight}"><fo:page-number/></fo:block>
3919
4342
  </xsl:template>
3920
- <xsl:template name="insertLayoutVersion2024AttributesTop">
4343
+ <xsl:template name="insertLayoutVersionAttributesTop">
4344
+ <xsl:param name="odd_or_even"/>
4345
+ <xsl:if test="$layoutVersion = '1951'">
4346
+ <xsl:attribute name="font-family">Arial</xsl:attribute>
4347
+ <xsl:attribute name="font-size">8pt</xsl:attribute>
4348
+ <xsl:attribute name="text-align">right</xsl:attribute>
4349
+ <xsl:attribute name="padding-top">5mm</xsl:attribute>
4350
+ <xsl:if test="$odd_or_even = 'odd'">
4351
+ <xsl:attribute name="margin-right">16.5mm</xsl:attribute>
4352
+ </xsl:if>
4353
+ <xsl:if test="$odd_or_even = 'even'">
4354
+ <xsl:attribute name="margin-right">23.5mm</xsl:attribute>
4355
+ </xsl:if>
4356
+ </xsl:if>
3921
4357
  <xsl:if test="$layoutVersion = '2024'">
3922
- <xsl:attribute name="font-size">11.5pt</xsl:attribute>
3923
- <xsl:attribute name="padding-top">17mm</xsl:attribute>
4358
+ <!-- <xsl:attribute name="font-size">11.5pt</xsl:attribute> -->
4359
+ <xsl:attribute name="padding-top">12.2mm</xsl:attribute>
3924
4360
  <xsl:attribute name="text-align">center</xsl:attribute>
3925
4361
  </xsl:if>
3926
4362
  </xsl:template>
@@ -4050,14 +4486,14 @@
4050
4486
  <xsl:template name="insertLastPage_2024">
4051
4487
  <fo:page-sequence master-reference="last-page_2024" force-page-count="no-force">
4052
4488
  <fo:flow flow-name="xsl-region-body">
4053
- <fo:table table-layout="fixed" width="100%">
4489
+ <fo:table table-layout="fixed" width="100%" margin-bottom="-1mm">
4054
4490
  <xsl:call-template name="insertInterFont"/>
4055
- <fo:table-column column-width="proportional-column-width(70)"/>
4056
- <fo:table-column column-width="proportional-column-width(1.4)"/>
4057
- <fo:table-column column-width="proportional-column-width(1.4)"/>
4058
- <fo:table-column column-width="proportional-column-width(109.5)"/>
4491
+ <fo:table-column column-width="proportional-column-width(73)"/>
4492
+ <fo:table-column column-width="proportional-column-width(1.45)"/>
4493
+ <fo:table-column column-width="proportional-column-width(1.45)"/>
4494
+ <fo:table-column column-width="proportional-column-width(114.3)"/>
4059
4495
  <fo:table-body>
4060
- <fo:table-row height="88mm">
4496
+ <fo:table-row height="91.8mm">
4061
4497
  <fo:table-cell number-columns-spanned="2" border-right="{$cover_page_border}">
4062
4498
  <fo:block>
4063
4499
  <xsl:call-template name="insertLogoImages2024"/>
@@ -4073,9 +4509,9 @@
4073
4509
  <fo:table-row height="2mm" font-size="0pt">
4074
4510
  <fo:table-cell number-columns-spanned="4"><fo:block> </fo:block></fo:table-cell>
4075
4511
  </fo:table-row>
4076
- <fo:table-row height="175mm"> <!-- 174 -->
4512
+ <fo:table-row height="182mm"> <!-- 174 -->
4077
4513
  <fo:table-cell number-columns-spanned="2" display-align="after" border-right="{$cover_page_border}">
4078
- <fo:block font-size="11.5pt" font-weight="bold">
4514
+ <fo:block font-size="12pt" font-weight="bold">
4079
4515
  <xsl:for-each select="/iso:iso-standard/iso:bibdata/iso:ext/iso:ics/iso:code">
4080
4516
  <xsl:if test="position() = 1"><fo:inline>ICS  </fo:inline></xsl:if>
4081
4517
  <xsl:value-of select="."/>
@@ -4084,7 +4520,7 @@
4084
4520
  </fo:block>
4085
4521
 
4086
4522
  <!-- Price based on ... pages -->
4087
- <fo:block font-size="8.6pt" space-before="2pt">
4523
+ <fo:block font-size="9pt" space-before="2pt">
4088
4524
  <fo:block>
4089
4525
  <xsl:for-each select="xalan:nodeset($price_based_on_items)/item">
4090
4526
  <xsl:value-of select="."/>
@@ -4093,11 +4529,11 @@
4093
4529
  </xsl:if>
4094
4530
  </xsl:for-each>
4095
4531
  </fo:block>
4096
- <fo:block margin-top="16pt" margin-bottom="2.5mm"><xsl:value-of select="$copyrightText"/></fo:block>
4532
+ <fo:block margin-top="18pt" margin-bottom="-1mm" line-height="1.1"><xsl:value-of select="$copyrightTextLastPage2024"/></fo:block>
4097
4533
  </fo:block>
4098
4534
  </fo:table-cell>
4099
4535
  <fo:table-cell number-columns-spanned="2" text-align="right" display-align="after">
4100
- <fo:block font-size="15.3pt" font-weight="bold" margin-bottom="1.5mm" margin-right="2mm">
4536
+ <fo:block font-size="16pt" font-weight="bold" margin-bottom="1mm" margin-right="1.5mm">
4101
4537
  <xsl:if test="$stage &gt;=60">
4102
4538
  <xsl:attribute name="color"><xsl:value-of select="$color_red"/></xsl:attribute>
4103
4539
  </xsl:if>
@@ -4407,7 +4843,8 @@
4407
4843
  <xsl:variable name="marginLeftRight1_">
4408
4844
 
4409
4845
  <xsl:choose>
4410
- <xsl:when test="$layoutVersion = '2024'">18.7</xsl:when>
4846
+ <xsl:when test="$layoutVersion = '1951'">36</xsl:when>
4847
+ <xsl:when test="$layoutVersion = '2024'">15.2</xsl:when>
4411
4848
  <xsl:otherwise>25</xsl:otherwise>
4412
4849
  </xsl:choose>
4413
4850
 
@@ -4417,7 +4854,8 @@
4417
4854
  <xsl:variable name="marginLeftRight2_">
4418
4855
 
4419
4856
  <xsl:choose>
4420
- <xsl:when test="$layoutVersion = '2024'">18.7</xsl:when>
4857
+ <xsl:when test="$layoutVersion = '1951'">29</xsl:when>
4858
+ <xsl:when test="$layoutVersion = '2024'">15.2</xsl:when>
4421
4859
  <xsl:otherwise>12.5</xsl:otherwise>
4422
4860
  </xsl:choose>
4423
4861
 
@@ -4425,14 +4863,20 @@
4425
4863
  <xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/>
4426
4864
 
4427
4865
  <xsl:variable name="marginTop_">
4428
- 27.4
4866
+
4867
+ <xsl:choose>
4868
+ <xsl:when test="$layoutVersion = '2024'">23.5</xsl:when>
4869
+ <xsl:otherwise>27.4</xsl:otherwise>
4870
+ </xsl:choose>
4871
+
4429
4872
  </xsl:variable>
4430
4873
  <xsl:variable name="marginTop" select="normalize-space($marginTop_)"/>
4431
4874
 
4432
4875
  <xsl:variable name="marginBottom_">
4433
4876
 
4434
4877
  <xsl:choose>
4435
- <xsl:when test="$layoutVersion = '2024'">25.5</xsl:when>
4878
+ <xsl:when test="$layoutVersion = '1951'">25.5</xsl:when>
4879
+ <xsl:when test="$layoutVersion = '2024'">19.5</xsl:when>
4436
4880
  <xsl:otherwise>15</xsl:otherwise>
4437
4881
  </xsl:choose>
4438
4882
 
@@ -4540,6 +4984,7 @@
4540
4984
  <xsl:variable name="zero_width_space">​</xsl:variable>
4541
4985
  <xsl:variable name="hair_space"> </xsl:variable>
4542
4986
  <xsl:variable name="en_dash">–</xsl:variable>
4987
+ <xsl:variable name="em_dash">—</xsl:variable>
4543
4988
 
4544
4989
  <xsl:template name="getTitle">
4545
4990
  <xsl:param name="name"/>
@@ -4736,6 +5181,11 @@
4736
5181
 
4737
5182
  <xsl:template name="refine_link-style">
4738
5183
 
5184
+ <xsl:if test="(ancestor::*[local-name() = 'copyright-statement'] and contains(@target, 'mailto:')) or ($layoutVersion = '2024' and ancestor::iso:termsource)">
5185
+ <xsl:attribute name="color">inherit</xsl:attribute>
5186
+ <xsl:attribute name="text-decoration">none</xsl:attribute>
5187
+ </xsl:if>
5188
+
4739
5189
  </xsl:template> <!-- refine_link-style -->
4740
5190
 
4741
5191
  <xsl:attribute-set name="sourcecode-container-style">
@@ -4880,6 +5330,14 @@
4880
5330
 
4881
5331
  </xsl:attribute-set> <!-- example-name-style -->
4882
5332
 
5333
+ <xsl:template name="refine_example-name-style">
5334
+
5335
+ <xsl:if test="$layoutVersion = '2024' and translate(.,'0123456789','') = ."> <!-- EXAMPLE without number -->
5336
+ <xsl:attribute name="padding-right">8mm</xsl:attribute>
5337
+ </xsl:if>
5338
+
5339
+ </xsl:template>
5340
+
4883
5341
  <xsl:attribute-set name="example-p-style">
4884
5342
 
4885
5343
  <xsl:attribute name="font-size">10pt</xsl:attribute>
@@ -4900,6 +5358,14 @@
4900
5358
 
4901
5359
  </xsl:attribute-set> <!-- termexample-name-style -->
4902
5360
 
5361
+ <xsl:template name="refine_termexample-name-style">
5362
+
5363
+ <xsl:if test="$layoutVersion = '2024' and translate(.,'0123456789','') = ."> <!-- EXAMPLE without number -->
5364
+ <xsl:attribute name="padding-right">8mm</xsl:attribute>
5365
+ </xsl:if>
5366
+
5367
+ </xsl:template>
5368
+
4903
5369
  <!-- ========================== -->
4904
5370
  <!-- Table styles -->
4905
5371
  <!-- ========================== -->
@@ -4938,8 +5404,6 @@
4938
5404
  <xsl:if test="normalize-space(@width) != 'text-width'">
4939
5405
  <xsl:attribute name="span">all</xsl:attribute>
4940
5406
  </xsl:if>
4941
- </xsl:if>
4942
- <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
4943
5407
  <xsl:attribute name="font-size">9pt</xsl:attribute>
4944
5408
  </xsl:if>
4945
5409
 
@@ -4991,9 +5455,6 @@
4991
5455
  <xsl:attribute name="span">all</xsl:attribute>
4992
5456
  </xsl:if>
4993
5457
  </xsl:if>
4994
- <xsl:if test="$layoutVersion = '2024'">
4995
- <xsl:attribute name="font-size">10.5pt</xsl:attribute>
4996
- </xsl:if>
4997
5458
 
4998
5459
  </xsl:template> <!-- refine_table-name-style -->
4999
5460
 
@@ -5072,6 +5533,10 @@
5072
5533
  <xsl:attribute name="border-top"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
5073
5534
  <xsl:attribute name="border-bottom"><xsl:value-of select="$table-cell-border"/></xsl:attribute>
5074
5535
  </xsl:if>
5536
+ <!-- vertical table header -->
5537
+ <xsl:if test="ancestor::*[local-name() = 'tbody'] and not(following-sibling::*[local-name() = 'th'])">
5538
+ <xsl:attribute name="border-right"><xsl:value-of select="$table-border"/></xsl:attribute>
5539
+ </xsl:if>
5075
5540
 
5076
5541
  <xsl:call-template name="setBordersTableArray"/>
5077
5542
 
@@ -5129,6 +5594,10 @@
5129
5594
 
5130
5595
  <xsl:template name="refine_table-footer-cell-style">
5131
5596
 
5597
+ <xsl:if test="$layoutVersion = '2024'">
5598
+ <xsl:attribute name="border-top"><xsl:value-of select="$table-border"/></xsl:attribute>
5599
+ </xsl:if>
5600
+
5132
5601
  </xsl:template> <!-- refine_table-footer-cell-style -->
5133
5602
 
5134
5603
  <xsl:attribute-set name="table-note-style">
@@ -5152,6 +5621,17 @@
5152
5621
 
5153
5622
  </xsl:attribute-set> <!-- table-fn-style -->
5154
5623
 
5624
+ <xsl:template name="refine_table-fn-style">
5625
+
5626
+ <xsl:if test="$layoutVersion = '2024'">
5627
+ <xsl:attribute name="margin-bottom">5pt</xsl:attribute>
5628
+ <xsl:if test="position() = last()">
5629
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
5630
+ </xsl:if>
5631
+ </xsl:if>
5632
+
5633
+ </xsl:template>
5634
+
5155
5635
  <xsl:attribute-set name="table-fn-number-style">
5156
5636
  <xsl:attribute name="font-size">80%</xsl:attribute>
5157
5637
  <xsl:attribute name="padding-right">5mm</xsl:attribute>
@@ -5160,6 +5640,15 @@
5160
5640
 
5161
5641
  </xsl:attribute-set> <!-- table-fn-number-style -->
5162
5642
 
5643
+ <xsl:template name="refine_table-fn-number-style">
5644
+
5645
+ <xsl:if test="$layoutVersion = '2024'">
5646
+ <xsl:attribute name="alignment-baseline">auto</xsl:attribute>
5647
+ <xsl:attribute name="baseline-shift">15%</xsl:attribute>
5648
+ </xsl:if>
5649
+
5650
+ </xsl:template>
5651
+
5163
5652
  <xsl:attribute-set name="fn-container-body-style">
5164
5653
  <xsl:attribute name="text-indent">0</xsl:attribute>
5165
5654
  <xsl:attribute name="start-indent">0</xsl:attribute>
@@ -5215,6 +5704,10 @@
5215
5704
 
5216
5705
  <xsl:template name="refine_dt-block-style">
5217
5706
 
5707
+ <xsl:if test="$layoutVersion = '2024'">
5708
+ <xsl:attribute name="margin-bottom">9pt</xsl:attribute>
5709
+ </xsl:if>
5710
+
5218
5711
  </xsl:template> <!-- refine_dt-block-style -->
5219
5712
 
5220
5713
  <xsl:attribute-set name="dl-name-style">
@@ -5286,6 +5779,14 @@
5286
5779
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
5287
5780
  <xsl:attribute name="font-size">9pt</xsl:attribute>
5288
5781
  </xsl:if>
5782
+ <xsl:if test="$layoutVersion = '2024'">
5783
+ <xsl:if test="ancestor::*[local-name() = 'li'] and not(following-sibling::*)">
5784
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
5785
+ </xsl:if>
5786
+ <xsl:if test="preceding-sibling::*[1][local-name() = 'table']">
5787
+ <xsl:attribute name="margin-top">0pt</xsl:attribute>
5788
+ </xsl:if>
5789
+ </xsl:if>
5289
5790
  <xsl:if test="$doctype = 'amendment' and parent::*[local-name() = 'quote']">
5290
5791
  <xsl:attribute name="font-size">inherit</xsl:attribute>
5291
5792
  </xsl:if>
@@ -5303,6 +5804,11 @@
5303
5804
 
5304
5805
  <xsl:template name="refine_note-name-style">
5305
5806
 
5807
+ <xsl:variable name="note_name" select="*[local-name() = 'name']"/>
5808
+ <xsl:if test="$layoutVersion = '2024' and translate($note_name,'0123456789','') = $note_name"> <!-- NOTE without number -->
5809
+ <xsl:attribute name="padding-right">8mm</xsl:attribute>
5810
+ </xsl:if>
5811
+
5306
5812
  </xsl:template> <!-- refine_note-name-style -->
5307
5813
 
5308
5814
  <xsl:attribute-set name="table-note-name-style">
@@ -5421,6 +5927,9 @@
5421
5927
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
5422
5928
  </xsl:if>
5423
5929
  </xsl:if>
5930
+ <xsl:if test="$layoutVersion = '2024'">
5931
+ <xsl:attribute name="space-after">18pt</xsl:attribute>
5932
+ </xsl:if>
5424
5933
 
5425
5934
  </xsl:template>
5426
5935
 
@@ -5625,6 +6134,8 @@
5625
6134
 
5626
6135
  <xsl:attribute-set name="list-item-body-style">
5627
6136
 
6137
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
6138
+
5628
6139
  </xsl:attribute-set>
5629
6140
 
5630
6141
  <xsl:template name="refine_list-item-body-style">
@@ -5658,7 +6169,8 @@
5658
6169
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
5659
6170
 
5660
6171
  <xsl:attribute name="font-size">80%</xsl:attribute>
5661
- <xsl:attribute name="vertical-align">super</xsl:attribute>
6172
+ <!--<xsl:attribute name="vertical-align">super</xsl:attribute> -->
6173
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
5662
6174
 
5663
6175
  </xsl:attribute-set>
5664
6176
 
@@ -5678,6 +6190,9 @@
5678
6190
  <xsl:if test="$layoutVersion = '1972' or $layoutVersion = '1987' or $layoutVersion = '1989'">
5679
6191
  <xsl:attribute name="font-size">9pt</xsl:attribute>
5680
6192
  </xsl:if>
6193
+ <xsl:if test="$layoutVersion = '2024'">
6194
+ <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
6195
+ </xsl:if>
5681
6196
 
5682
6197
  </xsl:template> <!-- refine_fn-body-style -->
5683
6198
 
@@ -6511,6 +7026,12 @@
6511
7026
  <!-- centered table when table name is centered (see table-name-style) -->
6512
7027
 
6513
7028
  <fo:table table-layout="fixed" width="100%" xsl:use-attribute-sets="table-container-style">
7029
+
7030
+ <xsl:if test="$layoutVersion = '2024'">
7031
+ <xsl:attribute name="margin-top">12pt</xsl:attribute>
7032
+ <xsl:attribute name="margin-bottom">2pt</xsl:attribute>
7033
+ </xsl:if>
7034
+
6514
7035
  <fo:table-column column-width="proportional-column-width(1)"/>
6515
7036
  <fo:table-column column-width="{@width}"/>
6516
7037
  <fo:table-column column-width="proportional-column-width(1)"/>
@@ -7509,6 +8030,10 @@
7509
8030
  <xsl:attribute name="padding-right">0.5mm</xsl:attribute>
7510
8031
  </xsl:if>
7511
8032
 
8033
+ <xsl:if test="$layoutVersion = '2024'">
8034
+ <xsl:attribute name="font-size">70%</xsl:attribute>
8035
+ </xsl:if>
8036
+
7512
8037
  <xsl:call-template name="insert_basic_link">
7513
8038
  <xsl:with-param name="element">
7514
8039
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}" role="Lbl">
@@ -7627,8 +8152,9 @@
7627
8152
  <xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
7628
8153
 
7629
8154
  <fo:block xsl:use-attribute-sets="table-fn-style">
7630
-
8155
+ <xsl:call-template name="refine_table-fn-style"/>
7631
8156
  <fo:inline id="{@id}" xsl:use-attribute-sets="table-fn-number-style">
8157
+ <xsl:call-template name="refine_table-fn-number-style"/>
7632
8158
 
7633
8159
  <xsl:value-of select="@reference"/>
7634
8160
 
@@ -8792,11 +9318,21 @@
8792
9318
  <xsl:template match="text()[ancestor::*[local-name()='smallcap']]">
8793
9319
  <!-- <xsl:variable name="text" select="normalize-space(.)"/> --> <!-- https://github.com/metanorma/metanorma-iso/issues/1115 -->
8794
9320
  <xsl:variable name="text" select="."/>
8795
- <fo:inline font-size="75%" role="SKIP">
9321
+ <xsl:variable name="ratio_">
9322
+
9323
+ <xsl:choose>
9324
+ <xsl:when test="$layoutVersion = '2024'">0.8</xsl:when>
9325
+ <xsl:otherwise>0.75</xsl:otherwise>
9326
+ </xsl:choose>
9327
+
9328
+ </xsl:variable>
9329
+ <xsl:variable name="ratio" select="number(normalize-space($ratio_))"/>
9330
+ <fo:inline font-size="{$ratio * 100}%" role="SKIP">
8796
9331
  <xsl:if test="string-length($text) &gt; 0">
8797
9332
  <xsl:variable name="smallCapsText">
8798
9333
  <xsl:call-template name="recursiveSmallCaps">
8799
9334
  <xsl:with-param name="text" select="$text"/>
9335
+ <xsl:with-param name="ratio" select="$ratio"/>
8800
9336
  </xsl:call-template>
8801
9337
  </xsl:variable>
8802
9338
  <!-- merge neighboring fo:inline -->
@@ -8833,12 +9369,13 @@
8833
9369
 
8834
9370
  <xsl:template name="recursiveSmallCaps">
8835
9371
  <xsl:param name="text"/>
9372
+ <xsl:param name="ratio"/>
8836
9373
  <xsl:variable name="char" select="substring($text,1,1)"/>
8837
9374
  <!-- <xsl:variable name="upperCase" select="translate($char, $lower, $upper)"/> -->
8838
9375
  <xsl:variable name="upperCase" select="java:toUpperCase(java:java.lang.String.new($char))"/>
8839
9376
  <xsl:choose>
8840
9377
  <xsl:when test="$char=$upperCase">
8841
- <fo:inline font-size="{100 div 0.75}%" role="SKIP">
9378
+ <fo:inline font-size="{100 div $ratio}%" role="SKIP">
8842
9379
  <xsl:value-of select="$upperCase"/>
8843
9380
  </fo:inline>
8844
9381
  </xsl:when>
@@ -8849,6 +9386,7 @@
8849
9386
  <xsl:if test="string-length($text) &gt; 1">
8850
9387
  <xsl:call-template name="recursiveSmallCaps">
8851
9388
  <xsl:with-param name="text" select="substring($text,2)"/>
9389
+ <xsl:with-param name="ratio" select="$ratio"/>
8852
9390
  </xsl:call-template>
8853
9391
  </xsl:if>
8854
9392
  </xsl:template>
@@ -8956,6 +9494,9 @@
8956
9494
  <xsl:if test="$key = 'font-family' or $key = 'font-size' or $key = 'color'">
8957
9495
  <style name="{$key}"><xsl:value-of select="$value"/></style>
8958
9496
  </xsl:if>
9497
+ <xsl:if test="$key = 'text-indent'">
9498
+ <style name="padding-left"><xsl:value-of select="$value"/></style>
9499
+ </xsl:if>
8959
9500
  </xsl:for-each>
8960
9501
  </xsl:variable>
8961
9502
  <xsl:variable name="styles" select="xalan:nodeset($styles_)"/>
@@ -10365,6 +10906,13 @@
10365
10906
  </xsl:call-template>
10366
10907
  </xsl:template>
10367
10908
 
10909
+ <!-- command between two xref points to non-standard bibitem -->
10910
+ <xsl:template match="text()[. = ','][preceding-sibling::node()[1][local-name() = 'sup'][*[local-name() = 'xref'][@type = 'footnote']] and following-sibling::node()[1][local-name() = 'sup'][*[local-name() = 'xref'][@type = 'footnote']]]">
10911
+
10912
+ <fo:inline baseline-shift="20%" font-size="80%"><xsl:value-of select="."/></fo:inline>
10913
+
10914
+ </xsl:template>
10915
+
10368
10916
  <!-- ====== -->
10369
10917
  <!-- formula -->
10370
10918
  <!-- ====== -->
@@ -11070,6 +11618,8 @@
11070
11618
  </xsl:attribute>
11071
11619
  </xsl:template>
11072
11620
 
11621
+ <xsl:variable name="regex_starts_with_digit">^[0-9].*</xsl:variable>
11622
+
11073
11623
  <xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
11074
11624
  <xsl:copy>
11075
11625
  <xsl:apply-templates select="@*" mode="svg_update"/>
@@ -11088,7 +11638,8 @@
11088
11638
 
11089
11639
  <xsl:attribute name="width">
11090
11640
  <xsl:choose>
11091
- <xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
11641
+ <!-- width is non 'auto', 'text-width', 'full-page-width' or 'narrow' -->
11642
+ <xsl:when test="$parent_image_width != '' and normalize-space(java:matches(java:java.lang.String.new($parent_image_width), $regex_starts_with_digit)) = 'true'"><xsl:value-of select="$parent_image_width"/></xsl:when>
11092
11643
  <xsl:when test="$width != ''">
11093
11644
  <xsl:value-of select="round($width)"/>
11094
11645
  </xsl:when>
@@ -11097,7 +11648,8 @@
11097
11648
  </xsl:attribute>
11098
11649
  <xsl:attribute name="height">
11099
11650
  <xsl:choose>
11100
- <xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
11651
+ <!-- height non 'auto', 'text-width', 'full-page-width' or 'narrow' -->
11652
+ <xsl:when test="$parent_image_height != '' and normalize-space(java:matches(java:java.lang.String.new($parent_image_height), $regex_starts_with_digit)) = 'true'"><xsl:value-of select="$parent_image_height"/></xsl:when>
11101
11653
  <xsl:when test="$height != ''">
11102
11654
  <xsl:value-of select="round($height)"/>
11103
11655
  </xsl:when>
@@ -11114,7 +11666,7 @@
11114
11666
  <xsl:variable name="parent_image_width" select="normalize-space(ancestor::*[2][local-name() = 'image']/@width)"/>
11115
11667
  <xsl:attribute name="width">
11116
11668
  <xsl:choose>
11117
- <xsl:when test="$parent_image_width != '' and $parent_image_width != 'auto'"><xsl:value-of select="$parent_image_width"/></xsl:when>
11669
+ <xsl:when test="$parent_image_width != '' and normalize-space(java:matches(java:java.lang.String.new($parent_image_width), $regex_starts_with_digit)) = 'true'"><xsl:value-of select="$parent_image_width"/></xsl:when>
11118
11670
  <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
11119
11671
  </xsl:choose>
11120
11672
  </xsl:attribute>
@@ -11125,7 +11677,7 @@
11125
11677
  <xsl:variable name="parent_image_height" select="normalize-space(ancestor::*[2][local-name() = 'image']/@height)"/>
11126
11678
  <xsl:attribute name="height">
11127
11679
  <xsl:choose>
11128
- <xsl:when test="$parent_image_height != '' and $parent_image_height != 'auto'"><xsl:value-of select="$parent_image_height"/></xsl:when>
11680
+ <xsl:when test="$parent_image_height != '' and normalize-space(java:matches(java:java.lang.String.new($parent_image_height), $regex_starts_with_digit)) = 'true'"><xsl:value-of select="$parent_image_height"/></xsl:when>
11129
11681
  <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
11130
11682
  </xsl:choose>
11131
11683
  </xsl:attribute>
@@ -12588,6 +13140,7 @@
12588
13140
  <xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'name']">
12589
13141
  <xsl:if test="normalize-space() != ''">
12590
13142
  <fo:inline xsl:use-attribute-sets="termexample-name-style">
13143
+ <xsl:call-template name="refine_termexample-name-style"/>
12591
13144
  <xsl:apply-templates/>
12592
13145
  </fo:inline>
12593
13146
  </xsl:if>
@@ -12738,6 +13291,7 @@
12738
13291
  </xsl:when>
12739
13292
  <xsl:otherwise>
12740
13293
  <fo:inline xsl:use-attribute-sets="example-name-style">
13294
+ <xsl:call-template name="refine_example-name-style"/>
12741
13295
  <xsl:apply-templates/>
12742
13296
  </fo:inline>
12743
13297
  </xsl:otherwise>
@@ -13076,6 +13630,8 @@
13076
13630
  </xsl:choose>
13077
13631
  </xsl:variable>
13078
13632
 
13633
+ <xsl:if test="$layoutVersion = '1951' and $depth = 1">.</xsl:if>
13634
+
13079
13635
  <xsl:choose>
13080
13636
  <xsl:when test="$lang = 'zh'">
13081
13637
  <fo:inline role="SKIP"><xsl:value-of select="$tab_zh"/></fo:inline>
@@ -13206,6 +13762,7 @@
13206
13762
  <xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
13207
13763
 
13208
13764
  <xsl:choose>
13765
+ <xsl:when test="$layoutVersion = '1951' and (local-name() = 'clause' or local-name() = 'introduction')"/>
13209
13766
  <xsl:when test="$layoutVersion = '1987' and $doctype = 'technical-report'"/>
13210
13767
  <xsl:otherwise>
13211
13768
  <fo:block break-after="page"/>
@@ -13956,6 +14513,11 @@
13956
14513
  <xsl:template match="*[local-name() = 'references'][@normative='true']/*[local-name() = 'bibitem']" name="bibitem" priority="2">
13957
14514
 
13958
14515
  <fo:block id="{@id}" xsl:use-attribute-sets="bibitem-normative-style">
14516
+
14517
+ <xsl:if test="$layoutVersion = '2024'">
14518
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
14519
+ </xsl:if>
14520
+
13959
14521
  <xsl:call-template name="processBibitem"/>
13960
14522
  </fo:block>
13961
14523
 
@@ -13991,6 +14553,11 @@
13991
14553
  <xsl:when test="@hidden = 'true'"><!-- skip --></xsl:when>
13992
14554
  <xsl:otherwise>
13993
14555
  <fo:list-item id="{@id}" xsl:use-attribute-sets="bibitem-non-normative-list-item-style">
14556
+
14557
+ <xsl:if test="$layoutVersion = '2024'">
14558
+ <xsl:attribute name="margin-bottom">8pt</xsl:attribute>
14559
+ </xsl:if>
14560
+
13994
14561
  <fo:list-item-label end-indent="label-end()">
13995
14562
  <fo:block role="SKIP">
13996
14563
  <fo:inline role="SKIP">
@@ -15875,4 +16442,6 @@
15875
16442
  </xsl:if>
15876
16443
  </xsl:template>
15877
16444
 
16445
+ <!-- update -->
16446
+
15878
16447
  </xsl:stylesheet>