metanorma-iso 2.7.4 → 2.7.5

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