metanorma-cc 2.2.8 → 2.2.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -219,76 +219,7 @@
219
219
 
220
220
  <fo:block break-after="page"/>
221
221
 
222
- <fo:block-container font-weight="bold" line-height="115%">
223
- <fo:block role="TOC">
224
- <xsl:variable name="title-toc">
225
- <xsl:call-template name="getTitle">
226
- <xsl:with-param name="name" select="'title-toc'"/>
227
- </xsl:call-template>
228
- </xsl:variable>
229
- <fo:block font-size="14pt" margin-bottom="15.5pt" role="H1"><xsl:value-of select="$title-toc"/></fo:block>
230
-
231
- <xsl:for-each select="$contents//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
232
-
233
- <fo:block role="TOCI">
234
- <xsl:if test="@level = 1">
235
- <xsl:attribute name="margin-top">6pt</xsl:attribute>
236
- </xsl:if>
237
-
238
- <fo:list-block>
239
- <xsl:attribute name="provisional-distance-between-starts">
240
- <xsl:choose>
241
- <!-- skip 0 section without subsections -->
242
- <xsl:when test="@section != ''">8mm</xsl:when> <!-- and not(@display-section = 'false') -->
243
- <xsl:otherwise>0mm</xsl:otherwise>
244
- </xsl:choose>
245
- </xsl:attribute>
246
- <fo:list-item>
247
- <fo:list-item-label end-indent="label-end()">
248
- <fo:block>
249
- <xsl:value-of select="@section"/>
250
- </fo:block>
251
- </fo:list-item-label>
252
- <fo:list-item-body start-indent="body-start()">
253
- <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
254
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
255
- <xsl:apply-templates select="title"/>
256
- <fo:inline keep-together.within-line="always">
257
- <fo:leader leader-pattern="dots"/>
258
- <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
259
- </fo:inline>
260
- </fo:basic-link>
261
- </fo:block>
262
- </fo:list-item-body>
263
- </fo:list-item>
264
- </fo:list-block>
265
- </fo:block>
266
- </xsl:for-each>
267
-
268
- <!-- List of Tables -->
269
- <xsl:if test="$contents//tables/table">
270
- <xsl:call-template name="insertListOf_Title">
271
- <xsl:with-param name="title" select="$title-list-tables"/>
272
- </xsl:call-template>
273
- <xsl:for-each select="$contents//tables/table">
274
- <xsl:call-template name="insertListOf_Item"/>
275
- </xsl:for-each>
276
- </xsl:if>
277
-
278
- <!-- List of Figures -->
279
- <xsl:if test="$contents//figures/figure">
280
- <xsl:call-template name="insertListOf_Title">
281
- <xsl:with-param name="title" select="$title-list-figures"/>
282
- </xsl:call-template>
283
- <xsl:for-each select="$contents//figures/figure">
284
- <xsl:call-template name="insertListOf_Item"/>
285
- </xsl:for-each>
286
- </xsl:if>
287
-
288
- </fo:block>
289
- </fo:block-container>
290
-
291
- <!-- Foreword, Introduction -->
222
+ <!-- Table of contents, Foreword, Introduction -->
292
223
  <xsl:call-template name="processPrefaceSectionsDefault"/>
293
224
 
294
225
  </fo:flow>
@@ -350,6 +281,87 @@
350
281
  </fo:block>
351
282
  </xsl:template>
352
283
 
284
+ <xsl:template match="csd:preface/csd:clause[@type = 'toc']" priority="3">
285
+ <fo:block-container font-weight="bold" line-height="115%">
286
+ <fo:block role="TOC">
287
+
288
+ <xsl:apply-templates/>
289
+
290
+ <xsl:if test="count(*) = 1 and *[local-name() = 'title']"> <!-- if there isn't user ToC -->
291
+
292
+ <xsl:for-each select="$contents//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
293
+
294
+ <fo:block role="TOCI">
295
+ <xsl:if test="@level = 1">
296
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
297
+ </xsl:if>
298
+
299
+ <fo:list-block>
300
+ <xsl:attribute name="provisional-distance-between-starts">
301
+ <xsl:choose>
302
+ <!-- skip 0 section without subsections -->
303
+ <xsl:when test="@section != ''">8mm</xsl:when> <!-- and not(@display-section = 'false') -->
304
+ <xsl:otherwise>0mm</xsl:otherwise>
305
+ </xsl:choose>
306
+ </xsl:attribute>
307
+ <fo:list-item>
308
+ <fo:list-item-label end-indent="label-end()">
309
+ <fo:block>
310
+ <xsl:value-of select="@section"/>
311
+ </fo:block>
312
+ </fo:list-item-label>
313
+ <fo:list-item-body start-indent="body-start()">
314
+ <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
315
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
316
+ <xsl:apply-templates select="title"/>
317
+ <fo:inline keep-together.within-line="always">
318
+ <fo:leader leader-pattern="dots"/>
319
+ <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
320
+ </fo:inline>
321
+ </fo:basic-link>
322
+ </fo:block>
323
+ </fo:list-item-body>
324
+ </fo:list-item>
325
+ </fo:list-block>
326
+ </fo:block>
327
+ </xsl:for-each>
328
+
329
+ <!-- List of Tables -->
330
+ <xsl:if test="$contents//tables/table">
331
+ <xsl:call-template name="insertListOf_Title">
332
+ <xsl:with-param name="title" select="$title-list-tables"/>
333
+ </xsl:call-template>
334
+ <xsl:for-each select="$contents//tables/table">
335
+ <xsl:call-template name="insertListOf_Item"/>
336
+ </xsl:for-each>
337
+ </xsl:if>
338
+
339
+ <!-- List of Figures -->
340
+ <xsl:if test="$contents//figures/figure">
341
+ <xsl:call-template name="insertListOf_Title">
342
+ <xsl:with-param name="title" select="$title-list-figures"/>
343
+ </xsl:call-template>
344
+ <xsl:for-each select="$contents//figures/figure">
345
+ <xsl:call-template name="insertListOf_Item"/>
346
+ </xsl:for-each>
347
+ </xsl:if>
348
+ </xsl:if>
349
+ </fo:block>
350
+ </fo:block-container>
351
+ </xsl:template>
352
+
353
+ <xsl:template match="csd:preface/csd:clause[@type = 'toc']/csd:title" priority="3">
354
+ <!-- <xsl:variable name="title-toc">
355
+ <xsl:call-template name="getTitle">
356
+ <xsl:with-param name="name" select="'title-toc'"/>
357
+ </xsl:call-template>
358
+ </xsl:variable> -->
359
+ <fo:block font-size="14pt" margin-bottom="15.5pt" role="H1">
360
+ <!-- <xsl:value-of select="$title-toc"/> -->
361
+ <xsl:apply-templates/>
362
+ </fo:block>
363
+ </xsl:template>
364
+
353
365
  <xsl:template match="node()">
354
366
  <xsl:apply-templates/>
355
367
  </xsl:template>
@@ -375,6 +387,7 @@
375
387
 
376
388
  <xsl:variable name="skip">
377
389
  <xsl:choose>
390
+ <xsl:when test="@type = 'toc'">true</xsl:when>
378
391
  <xsl:when test="ancestor-or-self::csd:bibitem">true</xsl:when>
379
392
  <xsl:when test="ancestor-or-self::csd:term">true</xsl:when>
380
393
  <xsl:otherwise>false</xsl:otherwise>
@@ -964,6 +977,10 @@
964
977
 
965
978
  </xsl:attribute-set>
966
979
 
980
+ <xsl:template name="refine_link-style">
981
+
982
+ </xsl:template> <!-- refine_link-style -->
983
+
967
984
  <xsl:attribute-set name="sourcecode-container-style">
968
985
 
969
986
  </xsl:attribute-set>
@@ -979,6 +996,10 @@
979
996
 
980
997
  </xsl:attribute-set>
981
998
 
999
+ <xsl:template name="refine_sourcecode-style">
1000
+
1001
+ </xsl:template> <!-- refine_sourcecode-style -->
1002
+
982
1003
  <xsl:attribute-set name="pre-style">
983
1004
  <xsl:attribute name="font-family">Courier New, <xsl:value-of select="$font_noto_sans_mono"/></xsl:attribute>
984
1005
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1061,6 +1082,10 @@
1061
1082
 
1062
1083
  </xsl:attribute-set> <!-- example-style -->
1063
1084
 
1085
+ <xsl:template name="refine_example-style">
1086
+
1087
+ </xsl:template> <!-- refine_example-style -->
1088
+
1064
1089
  <xsl:attribute-set name="example-body-style">
1065
1090
 
1066
1091
  <xsl:attribute name="margin-left">12.5mm</xsl:attribute>
@@ -1081,6 +1106,10 @@
1081
1106
 
1082
1107
  </xsl:attribute-set> <!-- example-p-style -->
1083
1108
 
1109
+ <xsl:template name="refine_example-p-style">
1110
+
1111
+ </xsl:template> <!-- refine_example-p-style -->
1112
+
1084
1113
  <xsl:attribute-set name="termexample-name-style">
1085
1114
 
1086
1115
  <xsl:attribute name="padding-right">10mm</xsl:attribute>
@@ -1108,12 +1137,33 @@
1108
1137
 
1109
1138
  </xsl:attribute-set> <!-- table-container-style -->
1110
1139
 
1140
+ <xsl:template name="refine_table-container-style">
1141
+ <xsl:param name="margin-side"/>
1142
+
1143
+ <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1144
+ <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
1145
+
1146
+ <!-- end table block-container attributes -->
1147
+ </xsl:template> <!-- refine_table-container-style -->
1148
+
1111
1149
  <xsl:attribute-set name="table-style">
1112
1150
  <xsl:attribute name="table-omit-footer-at-break">true</xsl:attribute>
1113
1151
  <xsl:attribute name="table-layout">fixed</xsl:attribute>
1114
1152
 
1115
1153
  </xsl:attribute-set><!-- table-style -->
1116
1154
 
1155
+ <xsl:template name="refine_table-style">
1156
+ <xsl:param name="margin-side"/>
1157
+
1158
+ <xsl:if test="$margin-side != 0">
1159
+ <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1160
+ <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
1161
+ </xsl:if>
1162
+
1163
+ <xsl:call-template name="setBordersTableArray"/>
1164
+
1165
+ </xsl:template> <!-- refine_table-style -->
1166
+
1117
1167
  <xsl:attribute-set name="table-name-style">
1118
1168
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1119
1169
 
@@ -1123,6 +1173,11 @@
1123
1173
 
1124
1174
  </xsl:attribute-set> <!-- table-name-style -->
1125
1175
 
1176
+ <xsl:template name="refine_table-name-style">
1177
+ <xsl:param name="continued"/>
1178
+
1179
+ </xsl:template> <!-- refine_table-name-style -->
1180
+
1126
1181
  <xsl:attribute-set name="table-row-style">
1127
1182
  <xsl:attribute name="min-height">4mm</xsl:attribute>
1128
1183
 
@@ -1133,14 +1188,30 @@
1133
1188
 
1134
1189
  </xsl:attribute-set>
1135
1190
 
1191
+ <xsl:template name="refine_table-header-row-style">
1192
+
1193
+ <xsl:call-template name="setBordersTableArray"/>
1194
+
1195
+ </xsl:template> <!-- refine_table-header-row-style -->
1196
+
1136
1197
  <xsl:attribute-set name="table-footer-row-style" use-attribute-sets="table-row-style">
1137
1198
 
1138
1199
  </xsl:attribute-set>
1139
1200
 
1201
+ <xsl:template name="refine_table-footer-row-style">
1202
+
1203
+ </xsl:template> <!-- refine_table-footer-row-style -->
1204
+
1140
1205
  <xsl:attribute-set name="table-body-row-style" use-attribute-sets="table-row-style">
1141
1206
 
1142
1207
  </xsl:attribute-set>
1143
1208
 
1209
+ <xsl:template name="refine_table-body-row-style">
1210
+
1211
+ <xsl:call-template name="setBordersTableArray"/>
1212
+
1213
+ </xsl:template> <!-- refine_table-body-row-style -->
1214
+
1144
1215
  <xsl:attribute-set name="table-header-cell-style">
1145
1216
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1146
1217
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1149,6 +1220,18 @@
1149
1220
 
1150
1221
  </xsl:attribute-set> <!-- table-header-cell-style -->
1151
1222
 
1223
+ <xsl:template name="refine_table-header-cell-style">
1224
+
1225
+ <xsl:call-template name="setBordersTableArray"/>
1226
+
1227
+ <xsl:if test="$lang = 'ar'">
1228
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1229
+ </xsl:if>
1230
+
1231
+ <xsl:call-template name="setTableCellAttributes"/>
1232
+
1233
+ </xsl:template> <!-- refine_table-header-cell-style -->
1234
+
1152
1235
  <xsl:attribute-set name="table-cell-style">
1153
1236
  <xsl:attribute name="display-align">center</xsl:attribute>
1154
1237
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1156,6 +1239,18 @@
1156
1239
 
1157
1240
  </xsl:attribute-set> <!-- table-cell-style -->
1158
1241
 
1242
+ <xsl:template name="refine_table-cell-style">
1243
+
1244
+ <xsl:if test="$lang = 'ar'">
1245
+ <xsl:attribute name="padding-right">1mm</xsl:attribute>
1246
+ </xsl:if>
1247
+
1248
+ <!-- bsi -->
1249
+
1250
+ <xsl:call-template name="setBordersTableArray"/>
1251
+
1252
+ </xsl:template> <!-- refine_table-cell-style -->
1253
+
1159
1254
  <xsl:attribute-set name="table-footer-cell-style">
1160
1255
  <xsl:attribute name="border">solid black 1pt</xsl:attribute>
1161
1256
  <xsl:attribute name="padding-left">1mm</xsl:attribute>
@@ -1164,12 +1259,20 @@
1164
1259
 
1165
1260
  </xsl:attribute-set> <!-- table-footer-cell-style -->
1166
1261
 
1262
+ <xsl:template name="refine_table-footer-cell-style">
1263
+
1264
+ </xsl:template> <!-- refine_table-footer-cell-style -->
1265
+
1167
1266
  <xsl:attribute-set name="table-note-style">
1168
1267
  <xsl:attribute name="font-size">10pt</xsl:attribute>
1169
1268
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1170
1269
 
1171
1270
  </xsl:attribute-set><!-- table-note-style -->
1172
1271
 
1272
+ <xsl:template name="refine_table-note-style">
1273
+
1274
+ </xsl:template> <!-- refine_table-note-style -->
1275
+
1173
1276
  <xsl:attribute-set name="table-fn-style">
1174
1277
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1175
1278
 
@@ -1225,6 +1328,10 @@
1225
1328
 
1226
1329
  </xsl:attribute-set>
1227
1330
 
1331
+ <xsl:template name="refine_dt-cell-style">
1332
+
1333
+ </xsl:template> <!-- refine_dt-cell-style -->
1334
+
1228
1335
  <xsl:attribute-set name="dt-block-style">
1229
1336
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
1230
1337
 
@@ -1232,6 +1339,10 @@
1232
1339
 
1233
1340
  </xsl:attribute-set>
1234
1341
 
1342
+ <xsl:template name="refine_dt-block-style">
1343
+
1344
+ </xsl:template> <!-- refine_dt-block-style -->
1345
+
1235
1346
  <xsl:attribute-set name="dl-name-style">
1236
1347
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1237
1348
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
@@ -1245,6 +1356,10 @@
1245
1356
 
1246
1357
  </xsl:attribute-set>
1247
1358
 
1359
+ <xsl:template name="refine_dd-cell-style">
1360
+
1361
+ </xsl:template> <!-- refine_dd-cell-style -->
1362
+
1248
1363
  <!-- ========================== -->
1249
1364
  <!-- END Definition's list styles -->
1250
1365
  <!-- ========================== -->
@@ -1267,7 +1382,6 @@
1267
1382
  </xsl:attribute-set>
1268
1383
 
1269
1384
  <xsl:attribute-set name="xref-style">
1270
- <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
1271
1385
 
1272
1386
  </xsl:attribute-set>
1273
1387
 
@@ -1278,6 +1392,12 @@
1278
1392
 
1279
1393
  </xsl:attribute-set>
1280
1394
 
1395
+ <xsl:template name="refine_eref-style">
1396
+ <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
1397
+ <xsl:variable name="text" select="normalize-space()"/>
1398
+
1399
+ </xsl:template> <!-- refine_eref-style -->
1400
+
1281
1401
  <xsl:attribute-set name="note-style">
1282
1402
 
1283
1403
  <xsl:attribute name="font-size">10pt</xsl:attribute>
@@ -1285,6 +1405,10 @@
1285
1405
 
1286
1406
  </xsl:attribute-set>
1287
1407
 
1408
+ <xsl:template name="refine_note-style">
1409
+
1410
+ </xsl:template>
1411
+
1288
1412
  <xsl:variable name="note-body-indent">10mm</xsl:variable>
1289
1413
  <xsl:variable name="note-body-indent-table">5mm</xsl:variable>
1290
1414
 
@@ -1294,11 +1418,19 @@
1294
1418
 
1295
1419
  </xsl:attribute-set>
1296
1420
 
1421
+ <xsl:template name="refine_note-name-style">
1422
+
1423
+ </xsl:template> <!-- refine_note-name-style -->
1424
+
1297
1425
  <xsl:attribute-set name="table-note-name-style">
1298
1426
  <xsl:attribute name="padding-right">2mm</xsl:attribute>
1299
1427
 
1300
1428
  </xsl:attribute-set>
1301
1429
 
1430
+ <xsl:template name="refine_table-note-name-style">
1431
+
1432
+ </xsl:template> <!-- refine_table-note-name-style -->
1433
+
1302
1434
  <xsl:attribute-set name="note-p-style">
1303
1435
 
1304
1436
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
@@ -1312,10 +1444,18 @@
1312
1444
 
1313
1445
  </xsl:attribute-set>
1314
1446
 
1447
+ <xsl:template name="refine_termnote-style">
1448
+
1449
+ </xsl:template> <!-- refine_termnote-style -->
1450
+
1315
1451
  <xsl:attribute-set name="termnote-name-style">
1316
1452
 
1317
1453
  </xsl:attribute-set>
1318
1454
 
1455
+ <xsl:template name="refine_termnote-name-style">
1456
+
1457
+ </xsl:template>
1458
+
1319
1459
  <xsl:attribute-set name="termnote-p-style">
1320
1460
 
1321
1461
  </xsl:attribute-set>
@@ -1328,6 +1468,10 @@
1328
1468
 
1329
1469
  </xsl:attribute-set>
1330
1470
 
1471
+ <xsl:template name="refine_quote-style">
1472
+
1473
+ </xsl:template>
1474
+
1331
1475
  <xsl:attribute-set name="quote-source-style">
1332
1476
  <xsl:attribute name="text-align">right</xsl:attribute>
1333
1477
 
@@ -1340,6 +1484,10 @@
1340
1484
 
1341
1485
  </xsl:attribute-set>
1342
1486
 
1487
+ <xsl:template name="refine_termsource-style">
1488
+
1489
+ </xsl:template> <!-- refine_termsource-style -->
1490
+
1343
1491
  <xsl:attribute-set name="termsource-text-style">
1344
1492
 
1345
1493
  </xsl:attribute-set>
@@ -1378,6 +1526,10 @@
1378
1526
 
1379
1527
  </xsl:attribute-set>
1380
1528
 
1529
+ <xsl:template name="refine_figure-name-style">
1530
+
1531
+ </xsl:template> <!-- refine_figure-name-style -->
1532
+
1381
1533
  <xsl:attribute-set name="figure-source-style">
1382
1534
 
1383
1535
  </xsl:attribute-set>
@@ -1397,6 +1549,10 @@
1397
1549
 
1398
1550
  </xsl:attribute-set> <!-- formula-stem-block-style -->
1399
1551
 
1552
+ <xsl:template name="refine_formula-stem-block-style">
1553
+
1554
+ </xsl:template> <!-- refine_formula-stem-block-style -->
1555
+
1400
1556
  <xsl:attribute-set name="formula-stem-number-style">
1401
1557
  <xsl:attribute name="text-align">right</xsl:attribute>
1402
1558
 
@@ -1408,6 +1564,10 @@
1408
1564
 
1409
1565
  </xsl:attribute-set>
1410
1566
 
1567
+ <xsl:template name="refine_image-style">
1568
+
1569
+ </xsl:template>
1570
+
1411
1571
  <xsl:attribute-set name="figure-pseudocode-p-style">
1412
1572
 
1413
1573
  </xsl:attribute-set>
@@ -1500,6 +1660,10 @@
1500
1660
 
1501
1661
  </xsl:attribute-set>
1502
1662
 
1663
+ <xsl:template name="refine_mathml-style">
1664
+
1665
+ </xsl:template>
1666
+
1503
1667
  <xsl:attribute-set name="list-style">
1504
1668
 
1505
1669
  <xsl:attribute name="provisional-distance-between-starts">6.5mm</xsl:attribute>
@@ -1507,6 +1671,14 @@
1507
1671
 
1508
1672
  </xsl:attribute-set> <!-- list-style -->
1509
1673
 
1674
+ <xsl:template name="refine_list-style">
1675
+
1676
+ <xsl:if test="ancestor::csd:ol">
1677
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
1678
+ </xsl:if>
1679
+
1680
+ </xsl:template> <!-- refine_list-style -->
1681
+
1510
1682
  <xsl:attribute-set name="list-name-style">
1511
1683
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1512
1684
 
@@ -1518,14 +1690,26 @@
1518
1690
 
1519
1691
  </xsl:attribute-set>
1520
1692
 
1693
+ <xsl:template name="refine_list-item-style">
1694
+
1695
+ </xsl:template> <!-- refine_list-item-style -->
1696
+
1521
1697
  <xsl:attribute-set name="list-item-label-style">
1522
1698
 
1523
1699
  </xsl:attribute-set>
1524
1700
 
1701
+ <xsl:template name="refine_list-item-label-style">
1702
+
1703
+ </xsl:template> <!-- refine_list-item-label-style -->
1704
+
1525
1705
  <xsl:attribute-set name="list-item-body-style">
1526
1706
 
1527
1707
  </xsl:attribute-set>
1528
1708
 
1709
+ <xsl:template name="refine_list-item-body-style">
1710
+
1711
+ </xsl:template> <!-- refine_list-item-body-style -->
1712
+
1529
1713
  <xsl:attribute-set name="toc-style">
1530
1714
  <xsl:attribute name="line-height">135%</xsl:attribute>
1531
1715
  </xsl:attribute-set>
@@ -1536,6 +1720,10 @@
1536
1720
 
1537
1721
  </xsl:attribute-set>
1538
1722
 
1723
+ <xsl:template name="refine_fn-reference-style">
1724
+
1725
+ </xsl:template> <!-- refine_fn-reference-style -->
1726
+
1539
1727
  <xsl:attribute-set name="fn-style">
1540
1728
  <xsl:attribute name="keep-with-previous.within-line">always</xsl:attribute>
1541
1729
  </xsl:attribute-set>
@@ -1559,6 +1747,10 @@
1559
1747
 
1560
1748
  </xsl:attribute-set>
1561
1749
 
1750
+ <xsl:template name="refine_fn-body-style">
1751
+
1752
+ </xsl:template> <!-- refine_fn-body-style -->
1753
+
1562
1754
  <xsl:attribute-set name="fn-body-num-style">
1563
1755
  <xsl:attribute name="keep-with-next.within-line">always</xsl:attribute>
1564
1756
 
@@ -1567,6 +1759,10 @@
1567
1759
 
1568
1760
  </xsl:attribute-set> <!-- fn-body-num-style -->
1569
1761
 
1762
+ <xsl:template name="refine_fn-body-num-style">
1763
+
1764
+ </xsl:template> <!-- refine_fn-body-num-style -->
1765
+
1570
1766
  <!-- admonition -->
1571
1767
  <xsl:attribute-set name="admonition-style">
1572
1768
 
@@ -2201,10 +2397,9 @@
2201
2397
 
2202
2398
  <fo:block-container xsl:use-attribute-sets="table-container-style">
2203
2399
 
2204
- <xsl:attribute name="margin-left"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2205
- <xsl:attribute name="margin-right"><xsl:value-of select="-$margin-side"/>mm</xsl:attribute>
2206
-
2207
- <!-- end table block-container attributes -->
2400
+ <xsl:call-template name="refine_table-container-style">
2401
+ <xsl:with-param name="margin-side" select="$margin-side"/>
2402
+ </xsl:call-template>
2208
2403
 
2209
2404
  <!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
2210
2405
 
@@ -2225,12 +2420,9 @@
2225
2420
 
2226
2421
  <xsl:attribute name="width"><xsl:value-of select="normalize-space($table_width)"/></xsl:attribute>
2227
2422
 
2228
- <xsl:if test="$margin-side != 0">
2229
- <xsl:attribute name="margin-left"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2230
- <xsl:attribute name="margin-right"><xsl:value-of select="$margin-side"/>mm</xsl:attribute>
2231
- </xsl:if>
2232
-
2233
- <xsl:call-template name="setBordersTableArray"/>
2423
+ <xsl:call-template name="refine_table-style">
2424
+ <xsl:with-param name="margin-side" select="$margin-side"/>
2425
+ </xsl:call-template>
2234
2426
 
2235
2427
  </xsl:element>
2236
2428
  </xsl:variable>
@@ -2296,7 +2488,7 @@
2296
2488
  <xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
2297
2489
  </xsl:when>
2298
2490
  <xsl:otherwise>
2299
- <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2491
+ <xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'p') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
2300
2492
  </xsl:otherwise>
2301
2493
  </xsl:choose>
2302
2494
 
@@ -2386,6 +2578,10 @@
2386
2578
 
2387
2579
  <fo:block xsl:use-attribute-sets="table-name-style">
2388
2580
 
2581
+ <xsl:call-template name="refine_table-name-style">
2582
+ <xsl:with-param name="continued" select="$continued"/>
2583
+ </xsl:call-template>
2584
+
2389
2585
  <xsl:choose>
2390
2586
  <xsl:when test="$continued = 'true'">
2391
2587
 
@@ -2768,6 +2964,8 @@
2768
2964
  <fo:table-row>
2769
2965
  <fo:table-cell number-columns-spanned="{$cols-count}" border-left="1.5pt solid white" border-right="1.5pt solid white" border-top="1.5pt solid white" border-bottom="1.5pt solid black">
2770
2966
 
2967
+ <xsl:call-template name="refine_table-header-title-style"/>
2968
+
2771
2969
  <xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']">
2772
2970
  <xsl:with-param name="continued">true</xsl:with-param>
2773
2971
  </xsl:apply-templates>
@@ -2780,6 +2978,10 @@
2780
2978
  </fo:table-row>
2781
2979
  </xsl:template> <!-- table-header-title -->
2782
2980
 
2981
+ <xsl:template name="refine_table-header-title-style">
2982
+
2983
+ </xsl:template> <!-- refine_table-header-title-style -->
2984
+
2783
2985
  <xsl:template match="*[local-name()='thead']" mode="process_tbody">
2784
2986
  <fo:table-body>
2785
2987
  <xsl:apply-templates/>
@@ -2804,7 +3006,7 @@
2804
3006
  <xsl:param name="colwidths"/>
2805
3007
  <xsl:param name="colgroup"/>
2806
3008
 
2807
- <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source']"/>
3009
+ <xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source'] or ../*[local-name()='p']"/>
2808
3010
 
2809
3011
  <xsl:variable name="isNoteOrFnExistShowAfterTable">
2810
3012
 
@@ -2864,6 +3066,8 @@
2864
3066
  <fo:table-row>
2865
3067
  <fo:table-cell xsl:use-attribute-sets="table-footer-cell-style" number-columns-spanned="{$cols-count}">
2866
3068
 
3069
+ <xsl:call-template name="refine_table-footer-cell-style"/>
3070
+
2867
3071
  <xsl:call-template name="setBordersTableArray"/>
2868
3072
 
2869
3073
  <!-- fn will be processed inside 'note' processing -->
@@ -2872,6 +3076,7 @@
2872
3076
 
2873
3077
  <!-- except gb and bsi -->
2874
3078
 
3079
+ <xsl:apply-templates select="../*[local-name()='p']"/>
2875
3080
  <xsl:apply-templates select="../*[local-name()='dl']"/>
2876
3081
  <xsl:apply-templates select="../*[local-name()='note']"/>
2877
3082
  <xsl:apply-templates select="../*[local-name()='source']"/>
@@ -3003,7 +3208,7 @@
3003
3208
  <xsl:template match="*[local-name()='thead']/*[local-name()='tr']" priority="2">
3004
3209
  <fo:table-row xsl:use-attribute-sets="table-header-row-style">
3005
3210
 
3006
- <xsl:call-template name="setBordersTableArray"/>
3211
+ <xsl:call-template name="refine_table-header-row-style"/>
3007
3212
 
3008
3213
  <xsl:call-template name="setTableRowAttributes"/>
3009
3214
 
@@ -3037,6 +3242,8 @@
3037
3242
  <xsl:template match="*[local-name()='tfoot']/*[local-name()='tr']" priority="2">
3038
3243
  <fo:table-row xsl:use-attribute-sets="table-footer-row-style">
3039
3244
 
3245
+ <xsl:call-template name="refine_table-footer-row-style"/>
3246
+
3040
3247
  <xsl:call-template name="setTableRowAttributes"/>
3041
3248
  <xsl:apply-templates/>
3042
3249
  </fo:table-row>
@@ -3050,9 +3257,10 @@
3050
3257
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
3051
3258
  </xsl:if>
3052
3259
 
3053
- <xsl:call-template name="setBordersTableArray"/>
3260
+ <xsl:call-template name="refine_table-body-row-style"/>
3054
3261
 
3055
3262
  <xsl:call-template name="setTableRowAttributes"/>
3263
+
3056
3264
  <xsl:apply-templates/>
3057
3265
  </fo:table-row>
3058
3266
  </xsl:template>
@@ -3071,13 +3279,7 @@
3071
3279
  <xsl:with-param name="default">center</xsl:with-param>
3072
3280
  </xsl:call-template>
3073
3281
 
3074
- <xsl:call-template name="setBordersTableArray"/>
3075
-
3076
- <xsl:if test="$lang = 'ar'">
3077
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
3078
- </xsl:if>
3079
-
3080
- <xsl:call-template name="setTableCellAttributes"/>
3282
+ <xsl:call-template name="refine_table-header-cell-style"/>
3081
3283
 
3082
3284
  <fo:block>
3083
3285
  <xsl:apply-templates/>
@@ -3119,13 +3321,7 @@
3119
3321
  <xsl:with-param name="default">left</xsl:with-param>
3120
3322
  </xsl:call-template>
3121
3323
 
3122
- <xsl:if test="$lang = 'ar'">
3123
- <xsl:attribute name="padding-right">1mm</xsl:attribute>
3124
- </xsl:if>
3125
-
3126
- <!-- bsi -->
3127
-
3128
- <xsl:call-template name="setBordersTableArray"/>
3324
+ <xsl:call-template name="refine_table-cell-style"/>
3129
3325
 
3130
3326
  <xsl:if test=".//*[local-name() = 'table']"> <!-- if there is nested table -->
3131
3327
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
@@ -3156,9 +3352,13 @@
3156
3352
 
3157
3353
  <fo:block xsl:use-attribute-sets="table-note-style">
3158
3354
 
3355
+ <xsl:call-template name="refine_table-note-style"/>
3356
+
3159
3357
  <!-- Table's note name (NOTE, for example) -->
3160
3358
  <fo:inline xsl:use-attribute-sets="table-note-name-style">
3161
3359
 
3360
+ <xsl:call-template name="refine_table-note-name-style"/>
3361
+
3162
3362
  <xsl:apply-templates select="*[local-name() = 'name']"/>
3163
3363
 
3164
3364
  </fo:inline>
@@ -3186,6 +3386,14 @@
3186
3386
  <!-- list of footnotes to calculate actual footnotes number -->
3187
3387
  <xsl:variable name="p_fn_">
3188
3388
  <xsl:call-template name="get_fn_list"/>
3389
+ <!-- <xsl:choose>
3390
+ <xsl:when test="$namespace = 'jis'">
3391
+ <xsl:call-template name="get_fn_list_for_element"/>
3392
+ </xsl:when>
3393
+ <xsl:otherwise>
3394
+ <xsl:call-template name="get_fn_list"/>
3395
+ </xsl:otherwise>
3396
+ </xsl:choose> -->
3189
3397
  </xsl:variable>
3190
3398
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
3191
3399
 
@@ -3210,7 +3418,14 @@
3210
3418
 
3211
3419
  </xsl:variable>
3212
3420
 
3213
- <xsl:variable name="ref_id" select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3421
+ <xsl:variable name="ref_id">
3422
+ <xsl:choose>
3423
+ <xsl:when test="normalize-space(@ref_id) != ''"><xsl:value-of select="@ref_id"/></xsl:when>
3424
+ <xsl:otherwise>
3425
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
3426
+ </xsl:otherwise>
3427
+ </xsl:choose>
3428
+ </xsl:variable>
3214
3429
  <xsl:variable name="footnote_inline">
3215
3430
  <fo:inline>
3216
3431
 
@@ -3236,7 +3451,7 @@
3236
3451
  <xsl:call-template name="insert_basic_link">
3237
3452
  <xsl:with-param name="element">
3238
3453
  <fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
3239
- <xsl:value-of select="$current_fn_number_text"/>
3454
+ <xsl:copy-of select="$current_fn_number_text"/>
3240
3455
  </fo:basic-link>
3241
3456
  </xsl:with-param>
3242
3457
  </xsl:call-template>
@@ -3256,8 +3471,12 @@
3256
3471
 
3257
3472
  <fo:block xsl:use-attribute-sets="fn-body-style">
3258
3473
 
3474
+ <xsl:call-template name="refine_fn-body-style"/>
3475
+
3259
3476
  <fo:inline id="{$ref_id}" xsl:use-attribute-sets="fn-body-num-style">
3260
3477
 
3478
+ <xsl:call-template name="refine_fn-body-num-style"/>
3479
+
3261
3480
  <xsl:value-of select="$current_fn_number_text"/>
3262
3481
  </fo:inline>
3263
3482
  <xsl:apply-templates/>
@@ -3309,6 +3528,28 @@
3309
3528
  </xsl:choose>
3310
3529
  </xsl:template>
3311
3530
 
3531
+ <xsl:template name="get_fn_list_for_element">
3532
+ <xsl:choose>
3533
+ <xsl:when test="@current_fn_number"> <!-- footnote reference number calculated already -->
3534
+ <fn gen_id="{generate-id(.)}">
3535
+ <xsl:copy-of select="@*"/>
3536
+ <xsl:copy-of select="node()"/>
3537
+ </fn>
3538
+ </xsl:when>
3539
+ <xsl:otherwise>
3540
+ <xsl:for-each select="ancestor::*[local-name() = 'ul' or local-name() = 'ol'][1]">
3541
+ <xsl:variable name="element_id" select="@id"/>
3542
+ <xsl:for-each select=".//*[local-name() = 'fn'][generate-id(.)=generate-id(key('kfn',@reference)[1])]">
3543
+ <!-- copy unique fn -->
3544
+ <fn gen_id="{generate-id(.)}">
3545
+ <xsl:copy-of select="@*"/>
3546
+ <xsl:copy-of select="node()"/>
3547
+ </fn>
3548
+ </xsl:for-each>
3549
+ </xsl:for-each>
3550
+ </xsl:otherwise>
3551
+ </xsl:choose>
3552
+ </xsl:template>
3312
3553
  <!-- ============================ -->
3313
3554
  <!-- table's footnotes rendering -->
3314
3555
  <!-- ============================ -->
@@ -3483,6 +3724,8 @@
3483
3724
  <xsl:template match="*[local-name()='fn']">
3484
3725
  <fo:inline xsl:use-attribute-sets="fn-reference-style">
3485
3726
 
3727
+ <xsl:call-template name="refine_fn-reference-style"/>
3728
+
3486
3729
  <fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
3487
3730
 
3488
3731
  <xsl:value-of select="@reference"/>
@@ -3582,6 +3825,8 @@
3582
3825
  <xsl:when test="$parent = 'formula'"> <!-- a few components -->
3583
3826
  <fo:block margin-bottom="12pt" text-align="left">
3584
3827
 
3828
+ <xsl:call-template name="refine_dl_formula_where_style"/>
3829
+
3585
3830
  <!-- <xsl:variable name="title-where">
3586
3831
  <xsl:call-template name="getLocalizedString">
3587
3832
  <xsl:with-param name="key">where</xsl:with-param>
@@ -3595,6 +3840,8 @@
3595
3840
  <xsl:when test="$parent = 'figure' and (not(../@class) or ../@class !='pseudocode')"> <!-- definition list in a figure -->
3596
3841
  <fo:block font-weight="bold" text-align="left" margin-bottom="12pt" keep-with-next="always">
3597
3842
 
3843
+ <xsl:call-template name="refine_figure_key_style"/>
3844
+
3598
3845
  <xsl:variable name="title-key">
3599
3846
  <xsl:call-template name="getLocalizedString">
3600
3847
  <xsl:with-param name="key">key</xsl:with-param>
@@ -3609,12 +3856,16 @@
3609
3856
  <xsl:if test="$onlyOneComponent = 'false'">
3610
3857
  <fo:block>
3611
3858
 
3859
+ <xsl:call-template name="refine_multicomponent_style"/>
3860
+
3612
3861
  <xsl:if test="ancestor::*[local-name() = 'dd' or local-name() = 'td']">
3613
3862
  <xsl:attribute name="margin-top">0</xsl:attribute>
3614
3863
  </xsl:if>
3615
3864
 
3616
3865
  <fo:block>
3617
3866
 
3867
+ <xsl:call-template name="refine_multicomponent_block_style"/>
3868
+
3618
3869
  <xsl:apply-templates select="*[local-name() = 'name']">
3619
3870
  <xsl:with-param name="process">true</xsl:with-param>
3620
3871
  </xsl:apply-templates>
@@ -3772,6 +4023,24 @@
3772
4023
 
3773
4024
  </xsl:template> <!-- END: dl -->
3774
4025
 
4026
+ <xsl:template name="refine_dl_formula_where_style">
4027
+
4028
+ </xsl:template> <!-- refine_dl_formula_where_style -->
4029
+
4030
+ <xsl:template name="refine_figure_key_style">
4031
+
4032
+ </xsl:template> <!-- refine_figure_key_style -->
4033
+
4034
+ <xsl:template name="refine_multicomponent_style">
4035
+ <xsl:variable name="parent" select="local-name(..)"/>
4036
+
4037
+ </xsl:template> <!-- refine_multicomponent_style -->
4038
+
4039
+ <xsl:template name="refine_multicomponent_block_style">
4040
+ <xsl:variable name="parent" select="local-name(..)"/>
4041
+
4042
+ </xsl:template> <!-- refine_multicomponent_block_style -->
4043
+
3775
4044
  <!-- ignore 'p' with 'where' in formula, before 'dl' -->
3776
4045
  <xsl:template match="*[local-name() = 'formula']/*[local-name() = 'p' and @keep-with-next = 'true' and following-sibling::*[1][local-name() = 'dl']]"/>
3777
4046
 
@@ -3991,6 +4260,8 @@
3991
4260
 
3992
4261
  </xsl:if>
3993
4262
 
4263
+ <xsl:call-template name="refine_dt-cell-style"/>
4264
+
3994
4265
  <fo:block xsl:use-attribute-sets="dt-block-style">
3995
4266
  <xsl:copy-of select="@id"/>
3996
4267
 
@@ -3998,6 +4269,8 @@
3998
4269
  <xsl:attribute name="margin-top">0</xsl:attribute>
3999
4270
  </xsl:if>
4000
4271
 
4272
+ <xsl:call-template name="refine_dt-block-style"/>
4273
+
4001
4274
  <xsl:apply-templates>
4002
4275
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4003
4276
  </xsl:apply-templates>
@@ -4017,6 +4290,8 @@
4017
4290
  <xsl:attribute name="border">0.1pt solid black</xsl:attribute>
4018
4291
  </xsl:if>
4019
4292
 
4293
+ <xsl:call-template name="refine_dd-cell-style"/>
4294
+
4020
4295
  <fo:block>
4021
4296
 
4022
4297
  <xsl:if test="$isGenerateTableIF = 'true'">
@@ -4167,12 +4442,18 @@
4167
4442
  <xsl:param name="split_keep-within-line"/>
4168
4443
  <fo:inline font-weight="bold">
4169
4444
 
4445
+ <xsl:call-template name="refine_strong_style"/>
4446
+
4170
4447
  <xsl:apply-templates>
4171
4448
  <xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
4172
4449
  </xsl:apply-templates>
4173
4450
  </fo:inline>
4174
4451
  </xsl:template>
4175
4452
 
4453
+ <xsl:template name="refine_strong_style">
4454
+
4455
+ </xsl:template>
4456
+
4176
4457
  <xsl:template match="*[local-name()='padding']">
4177
4458
  <fo:inline padding-right="{@value}"> </fo:inline>
4178
4459
  </xsl:template>
@@ -5317,6 +5598,11 @@
5317
5598
 
5318
5599
  <fo:inline xsl:use-attribute-sets="mathml-style">
5319
5600
 
5601
+ <!-- DEBUG -->
5602
+ <!-- <xsl:copy-of select="ancestor::*[local-name() = 'stem']/@font-family"/> -->
5603
+
5604
+ <xsl:call-template name="refine_mathml-style"/>
5605
+
5320
5606
  <xsl:if test="$isGenerateTableIF = 'true' and ancestor::*[local-name() = 'td' or local-name() = 'th' or local-name() = 'dl'] and not(following-sibling::node()[not(self::comment())][normalize-space() != ''])"> <!-- math in table cell, and math is last element -->
5321
5607
  <!-- <xsl:attribute name="padding-right">1mm</xsl:attribute> -->
5322
5608
  </xsl:if>
@@ -5421,6 +5707,8 @@
5421
5707
 
5422
5708
  <fo:instream-foreign-object fox:alt-text="Math">
5423
5709
 
5710
+ <xsl:call-template name="refine_mathml_insteam_object_style"/>
5711
+
5424
5712
  <!-- put MathML in Actual Text -->
5425
5713
  <!-- DEBUG: mathml_content=<xsl:value-of select="$mathml_content"/> -->
5426
5714
  <xsl:attribute name="fox:actual-text">
@@ -5441,6 +5729,10 @@
5441
5729
  </fo:instream-foreign-object>
5442
5730
  </xsl:template>
5443
5731
 
5732
+ <xsl:template name="refine_mathml_insteam_object_style">
5733
+
5734
+ </xsl:template> <!-- refine_mathml_insteam_object_style -->
5735
+
5444
5736
  <xsl:template match="mathml:*" mode="mathml_actual_text">
5445
5737
  <!-- <xsl:text>a+b</xsl:text> -->
5446
5738
  <xsl:text>&lt;</xsl:text>
@@ -5585,6 +5877,8 @@
5585
5877
  <xsl:template match="*[local-name() = 'stem'][@type = 'AsciiMath'][count(*) = 0]/text() | *[local-name() = 'stem'][@type = 'AsciiMath'][*[local-name() = 'asciimath']]" priority="3">
5586
5878
  <fo:inline xsl:use-attribute-sets="mathml-style">
5587
5879
 
5880
+ <xsl:call-template name="refine_mathml-style"/>
5881
+
5588
5882
  <xsl:choose>
5589
5883
  <xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
5590
5884
  <xsl:otherwise>
@@ -5629,6 +5923,8 @@
5629
5923
  <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
5630
5924
  </xsl:if>
5631
5925
 
5926
+ <xsl:call-template name="refine_link-style"/>
5927
+
5632
5928
  <xsl:choose>
5633
5929
  <xsl:when test="$target_text = ''">
5634
5930
  <xsl:apply-templates/>
@@ -5716,6 +6012,9 @@
5716
6012
  <xsl:call-template name="insert_basic_link">
5717
6013
  <xsl:with-param name="element">
5718
6014
  <fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
6015
+ <xsl:if test="string-length(normalize-space()) &lt; 30 and not(contains(normalize-space(), 'http://')) and not(contains(normalize-space(), 'https://'))">
6016
+ <xsl:attribute name="keep-together.within-line">always</xsl:attribute>
6017
+ </xsl:if>
5719
6018
  <xsl:if test="parent::*[local-name() = 'add']">
5720
6019
  <xsl:call-template name="append_add-style"/>
5721
6020
  </xsl:if>
@@ -5777,6 +6076,8 @@
5777
6076
  <fo:table-cell display-align="center">
5778
6077
  <fo:block xsl:use-attribute-sets="formula-stem-block-style">
5779
6078
 
6079
+ <xsl:call-template name="refine_formula-stem-block-style"/>
6080
+
5780
6081
  <xsl:apply-templates/>
5781
6082
  </fo:block>
5782
6083
  </fo:table-cell>
@@ -5818,12 +6119,18 @@
5818
6119
 
5819
6120
  <xsl:call-template name="setBlockSpanAll"/>
5820
6121
 
6122
+ <xsl:call-template name="refine_note-style"/>
6123
+
5821
6124
  <fo:block-container margin-left="0mm" margin-right="0mm">
5822
6125
 
5823
6126
  <fo:block>
5824
6127
 
6128
+ <xsl:call-template name="refine_note_block_style"/>
6129
+
5825
6130
  <fo:inline xsl:use-attribute-sets="note-name-style">
5826
6131
 
6132
+ <xsl:call-template name="refine_note-name-style"/>
6133
+
5827
6134
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5828
6135
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5829
6136
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -5849,6 +6156,10 @@
5849
6156
 
5850
6157
  </xsl:template>
5851
6158
 
6159
+ <xsl:template name="refine_note_block_style">
6160
+
6161
+ </xsl:template>
6162
+
5852
6163
  <xsl:template match="*[local-name() = 'note']/*[local-name() = 'p']">
5853
6164
  <xsl:variable name="num"><xsl:number/></xsl:variable>
5854
6165
  <xsl:choose>
@@ -5870,12 +6181,16 @@
5870
6181
 
5871
6182
  <xsl:call-template name="setBlockSpanAll"/>
5872
6183
 
6184
+ <xsl:call-template name="refine_termnote-style"/>
6185
+
5873
6186
  <fo:inline xsl:use-attribute-sets="termnote-name-style">
5874
6187
 
5875
6188
  <xsl:if test="not(*[local-name() = 'name']/following-sibling::node()[1][self::text()][normalize-space()=''])">
5876
6189
  <xsl:attribute name="padding-right">1mm</xsl:attribute>
5877
6190
  </xsl:if>
5878
6191
 
6192
+ <xsl:call-template name="refine_termnote-name-style"/>
6193
+
5879
6194
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
5880
6195
  <!-- <xsl:if test="*[not(local-name()='name')][1][node()[normalize-space() != ''][1][local-name() = 'add'] and node()[normalize-space() != ''][last()][local-name() = 'add']]"> -->
5881
6196
  <xsl:if test="*[not(local-name()='name')][1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
@@ -6045,6 +6360,8 @@
6045
6360
  <xsl:otherwise>
6046
6361
  <fo:block xsl:use-attribute-sets="image-style">
6047
6362
 
6363
+ <xsl:call-template name="refine_image-style"/>
6364
+
6048
6365
  <xsl:variable name="src">
6049
6366
  <xsl:call-template name="image_src"/>
6050
6367
  </xsl:variable>
@@ -6894,6 +7211,8 @@
6894
7211
  <xsl:if test="normalize-space() != ''">
6895
7212
  <fo:block xsl:use-attribute-sets="figure-name-style">
6896
7213
 
7214
+ <xsl:call-template name="refine_figure-name-style"/>
7215
+
6897
7216
  <xsl:apply-templates/>
6898
7217
  </fo:block>
6899
7218
  </xsl:if>
@@ -7160,6 +7479,8 @@
7160
7479
  </xsl:attribute>
7161
7480
  </xsl:for-each>
7162
7481
 
7482
+ <xsl:call-template name="refine_sourcecode-style"/>
7483
+
7163
7484
  <!-- remove margin between rows in the table with sourcecode line numbers -->
7164
7485
  <xsl:if test="ancestor::*[local-name() = 'sourcecode'][@linenums = 'true'] and ancestor::*[local-name() = 'tr'][1]/following-sibling::*[local-name() = 'tr']">
7165
7486
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
@@ -7864,6 +8185,8 @@
7864
8185
 
7865
8186
  <xsl:call-template name="setBlockSpanAll"/>
7866
8187
 
8188
+ <xsl:call-template name="refine_example-style"/>
8189
+
7867
8190
  <xsl:variable name="fo_element">
7868
8191
  <xsl:if test=".//*[local-name() = 'table'] or .//*[local-name() = 'dl'] or *[not(local-name() = 'name')][1][local-name() = 'sourcecode']">block</xsl:if>
7869
8192
  block
@@ -7991,6 +8314,8 @@
7991
8314
  </xsl:if>
7992
8315
  <fo:block xsl:use-attribute-sets="example-p-style">
7993
8316
 
8317
+ <xsl:call-template name="refine_example-p-style"/>
8318
+
7994
8319
  <xsl:apply-templates/>
7995
8320
  </fo:block>
7996
8321
  </fo:block-container>
@@ -8007,6 +8332,7 @@
8007
8332
  </xsl:otherwise>
8008
8333
  </xsl:choose>
8009
8334
  </xsl:template> <!-- example/p -->
8335
+
8010
8336
  <!-- ====== -->
8011
8337
  <!-- ====== -->
8012
8338
 
@@ -8018,6 +8344,8 @@
8018
8344
  <xsl:template match="*[local-name() = 'termsource']" name="termsource">
8019
8345
  <fo:block xsl:use-attribute-sets="termsource-style">
8020
8346
 
8347
+ <xsl:call-template name="refine_termsource-style"/>
8348
+
8021
8349
  <!-- Example: [SOURCE: ISO 5127:2017, 3.1.6.02] -->
8022
8350
  <xsl:variable name="termsource_text">
8023
8351
  <xsl:apply-templates/>
@@ -8133,6 +8461,8 @@
8133
8461
  <fo:block-container margin-left="0mm">
8134
8462
  <fo:block-container xsl:use-attribute-sets="quote-style">
8135
8463
 
8464
+ <xsl:call-template name="refine_quote-style"/>
8465
+
8136
8466
  <fo:block-container margin-left="0mm" margin-right="0mm">
8137
8467
  <fo:block role="BlockQuote">
8138
8468
  <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
@@ -8207,8 +8537,7 @@
8207
8537
 
8208
8538
  </xsl:if>
8209
8539
 
8210
- <xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
8211
- <xsl:variable name="text" select="normalize-space()"/>
8540
+ <xsl:call-template name="refine_eref-style"/>
8212
8541
 
8213
8542
  <xsl:call-template name="insert_basic_link">
8214
8543
  <xsl:with-param name="element">
@@ -8218,8 +8547,7 @@
8218
8547
  </xsl:if>
8219
8548
  <xsl:if test="@type = 'inline'">
8220
8549
 
8221
- <xsl:attribute name="color">blue</xsl:attribute>
8222
- <xsl:attribute name="text-decoration">underline</xsl:attribute>
8550
+ <xsl:call-template name="refine_basic_link_style"/>
8223
8551
 
8224
8552
  </xsl:if>
8225
8553
 
@@ -8253,6 +8581,14 @@
8253
8581
  </xsl:otherwise>
8254
8582
  </xsl:choose>
8255
8583
  </xsl:template>
8584
+
8585
+ <xsl:template name="refine_basic_link_style">
8586
+
8587
+ <xsl:attribute name="color">blue</xsl:attribute>
8588
+ <xsl:attribute name="text-decoration">underline</xsl:attribute>
8589
+
8590
+ </xsl:template> <!-- refine_basic_link_style -->
8591
+
8256
8592
  <!-- ====== -->
8257
8593
  <!-- END eref -->
8258
8594
  <!-- ====== -->
@@ -8401,16 +8737,22 @@
8401
8737
  <fo:block>
8402
8738
  <xsl:call-template name="setId"/>
8403
8739
 
8404
- <xsl:variable name="pos"><xsl:number count="csd:sections/csd:clause | csd:sections/csd:terms"/></xsl:variable>
8405
- <xsl:if test="$pos &gt;= 2">
8406
- <xsl:attribute name="space-before">18pt</xsl:attribute>
8407
- </xsl:if>
8740
+ <xsl:call-template name="sections_element_style"/>
8408
8741
 
8409
8742
  <xsl:apply-templates/>
8410
8743
  </fo:block>
8411
8744
 
8412
8745
  </xsl:template>
8413
8746
 
8747
+ <xsl:template name="sections_element_style">
8748
+
8749
+ <xsl:variable name="pos"><xsl:number count="csd:sections/csd:clause | csd:sections/csd:terms"/></xsl:variable>
8750
+ <xsl:if test="$pos &gt;= 2">
8751
+ <xsl:attribute name="space-before">18pt</xsl:attribute>
8752
+ </xsl:if>
8753
+
8754
+ </xsl:template> <!-- sections_element_style -->
8755
+
8414
8756
  <xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
8415
8757
  <fo:block break-after="page"/>
8416
8758
  <fo:block>
@@ -8425,10 +8767,16 @@
8425
8767
 
8426
8768
  <xsl:call-template name="setBlockSpanAll"/>
8427
8769
 
8770
+ <xsl:call-template name="refine_clause_style"/>
8771
+
8428
8772
  <xsl:apply-templates/>
8429
8773
  </fo:block>
8430
8774
  </xsl:template>
8431
8775
 
8776
+ <xsl:template name="refine_clause_style">
8777
+
8778
+ </xsl:template> <!-- refine_clause_style -->
8779
+
8432
8780
  <xsl:template match="*[local-name() = 'definitions']">
8433
8781
  <fo:block id="{@id}">
8434
8782
  <xsl:apply-templates/>
@@ -8441,10 +8789,16 @@
8441
8789
 
8442
8790
  <xsl:call-template name="setBlockSpanAll"/>
8443
8791
 
8792
+ <xsl:call-template name="refine_annex_style"/>
8793
+
8444
8794
  </fo:block>
8445
8795
  <xsl:apply-templates/>
8446
8796
  </xsl:template>
8447
8797
 
8798
+ <xsl:template name="refine_annex_style">
8799
+
8800
+ </xsl:template>
8801
+
8448
8802
  <xsl:template match="*[local-name() = 'review']"> <!-- 'review' will be processed in mn2pdf/review.xsl -->
8449
8803
  <!-- comment 2019-11-29 -->
8450
8804
  <!-- <fo:block font-weight="bold">Review:</fo:block>
@@ -8609,6 +8963,8 @@
8609
8963
  </xsl:choose>
8610
8964
  </xsl:attribute>
8611
8965
 
8966
+ <xsl:call-template name="refine_list_container_style"/>
8967
+
8612
8968
  <fo:block-container margin-left="0mm">
8613
8969
  <fo:block>
8614
8970
  <xsl:apply-templates select="." mode="list"/>
@@ -8626,6 +8982,10 @@
8626
8982
  </xsl:choose>
8627
8983
  </xsl:template>
8628
8984
 
8985
+ <xsl:template name="refine_list_container_style">
8986
+
8987
+ </xsl:template> <!-- refine_list_container_style -->
8988
+
8629
8989
  <xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
8630
8990
 
8631
8991
  <xsl:apply-templates select="*[local-name() = 'name']">
@@ -8636,7 +8996,7 @@
8636
8996
 
8637
8997
  <xsl:variable name="provisional_distance_between_starts_">
8638
8998
  <attributes xsl:use-attribute-sets="list-style">
8639
-
8999
+ <xsl:call-template name="refine_list-style_provisional-distance-between-starts"/>
8640
9000
  </attributes>
8641
9001
  </xsl:variable>
8642
9002
  <xsl:variable name="provisional_distance_between_starts" select="normalize-space(xalan:nodeset($provisional_distance_between_starts_)/attributes/@provisional-distance-between-starts)"/>
@@ -8672,9 +9032,7 @@
8672
9032
  <addon><xsl:value-of select="$addon"/></addon> -->
8673
9033
  </xsl:if>
8674
9034
 
8675
- <xsl:if test="ancestor::csd:ol">
8676
- <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
8677
- </xsl:if>
9035
+ <xsl:call-template name="refine_list-style"/>
8678
9036
 
8679
9037
  <xsl:if test="*[local-name() = 'name']">
8680
9038
  <xsl:attribute name="margin-top">0pt</xsl:attribute>
@@ -8688,6 +9046,10 @@
8688
9046
  <xsl:apply-templates select="./*[local-name() = 'note']"/>
8689
9047
  </xsl:template>
8690
9048
 
9049
+ <xsl:template name="refine_list-style_provisional-distance-between-starts">
9050
+
9051
+ </xsl:template> <!-- refine_list-style_provisional-distance-between-starts -->
9052
+
8691
9053
  <xsl:template match="*[local-name() = 'ol' or local-name() = 'ul']/*[local-name() = 'name']">
8692
9054
  <xsl:param name="process">false</xsl:param>
8693
9055
  <xsl:if test="$process = 'true'">
@@ -8701,20 +9063,27 @@
8701
9063
  <fo:list-item xsl:use-attribute-sets="list-item-style">
8702
9064
  <xsl:copy-of select="@id"/>
8703
9065
 
9066
+ <xsl:call-template name="refine_list-item-style"/>
9067
+
8704
9068
  <fo:list-item-label end-indent="label-end()">
8705
9069
  <fo:block xsl:use-attribute-sets="list-item-label-style">
8706
9070
 
9071
+ <xsl:call-template name="refine_list-item-label-style"/>
9072
+
8707
9073
  <!-- if 'p' contains all text in 'add' first and last elements in first p are 'add' -->
8708
9074
  <xsl:if test="*[1][count(node()[normalize-space() != '']) = 1 and *[local-name() = 'add']]">
8709
9075
  <xsl:call-template name="append_add-style"/>
8710
9076
  </xsl:if>
8711
9077
 
8712
9078
  <xsl:call-template name="getListItemFormat"/>
9079
+
8713
9080
  </fo:block>
8714
9081
  </fo:list-item-label>
8715
9082
  <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
8716
9083
  <fo:block>
8717
9084
 
9085
+ <xsl:call-template name="refine_list-item-body-style"/>
9086
+
8718
9087
  <xsl:apply-templates/>
8719
9088
 
8720
9089
  <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
@@ -9032,6 +9401,7 @@
9032
9401
 
9033
9402
  <fo:block id="{@id}">
9034
9403
  <xsl:apply-templates/>
9404
+
9035
9405
  </fo:block>
9036
9406
  </xsl:template>
9037
9407
 
@@ -9051,6 +9421,7 @@
9051
9421
 
9052
9422
  <fo:block id="{@id}" xsl:use-attribute-sets="references-non-normative-style">
9053
9423
  <xsl:apply-templates/>
9424
+
9054
9425
  </fo:block>
9055
9426
 
9056
9427
  </xsl:template> <!-- references -->
@@ -9633,6 +10004,9 @@
9633
10004
  </xsl:copy>
9634
10005
  </xsl:template>
9635
10006
 
10007
+ <!-- prevent empty thead processing in XSL-FO, remove it -->
10008
+ <xsl:template match="*[local-name() = 'table']/*[local-name() = 'thead'][count(*) = 0]" mode="update_xml_step1"/>
10009
+
9636
10010
  <xsl:template name="add_id">
9637
10011
  <xsl:if test="not(@id)">
9638
10012
  <!-- add @id - first element with @id plus '_element_name' -->
@@ -9917,6 +10291,14 @@
9917
10291
  <xsl:template match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure')] and not(ancestor::*[local-name() = 'name']))]" mode="linear_xml" name="linear_xml_fn">
9918
10292
  <xsl:variable name="p_fn_">
9919
10293
  <xsl:call-template name="get_fn_list"/>
10294
+ <!-- <xsl:choose>
10295
+ <xsl:when test="$namespace = 'jis'">
10296
+ <xsl:call-template name="get_fn_list_for_element"/>
10297
+ </xsl:when>
10298
+ <xsl:otherwise>
10299
+ <xsl:call-template name="get_fn_list"/>
10300
+ </xsl:otherwise>
10301
+ </xsl:choose> -->
9920
10302
  </xsl:variable>
9921
10303
  <xsl:variable name="p_fn" select="xalan:nodeset($p_fn_)"/>
9922
10304
  <xsl:variable name="gen_id" select="generate-id(.)"/>
@@ -9931,8 +10313,14 @@
9931
10313
  <xsl:attribute name="current_fn_number">
9932
10314
  <xsl:value-of select="$current_fn_number"/>
9933
10315
  </xsl:attribute>
10316
+ <xsl:variable name="skip_footnote_body_" select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
9934
10317
  <xsl:attribute name="skip_footnote_body"> <!-- false for repeatable footnote -->
9935
- <xsl:value-of select="not($p_fn//fn[@gen_id = $gen_id] and (1 = 1))"/>
10318
+
10319
+ <xsl:value-of select="$skip_footnote_body_"/>
10320
+
10321
+ </xsl:attribute>
10322
+ <xsl:attribute name="ref_id">
10323
+ <xsl:value-of select="concat('footnote_', $lang, '_', $reference, '_', $current_fn_number)"/>
9936
10324
  </xsl:attribute>
9937
10325
  <xsl:apply-templates select="node()" mode="linear_xml"/>
9938
10326
  </xsl:copy>