metanorma-csa 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c181909c6ba03043074b9ae8e334a7e940d97f991e72ad4ae8e085aed200528e
4
- data.tar.gz: '0687a4b9f94e153a996ce8ff23f5cd20203990218595d7b9ca867544216c7244'
3
+ metadata.gz: 867b0c76e15390be774b264c2df106dd93f5ef952301269997fd6b5ec99321f6
4
+ data.tar.gz: 80279fbd80e0fd8420c10d5fde78b90982a0b7a25e2ea04612ced31697ba3d6a
5
5
  SHA512:
6
- metadata.gz: 6f2a242121325744a55be91d7683d5fd358edba1a054b5696ce03a26e8ccdc560985920767760dd1603d56e99ab8c544af251dff0fdcb6f243d51d7ebd77423e
7
- data.tar.gz: c872d1ceda93be01755d56ea94a5f68390f4ba59985536b446193a3834c88cc5dba32eb64662c6e703061ad52425735a1b3fea7332b5aea464b3f74749160074
6
+ metadata.gz: 0bf06af035cf7aa86fd887210a32c223d7cbda7d90c68cfc55b3e78ad24e8cbcf18e8c9846e201c2a03b382e265e0ca1cb741b29483b845edae715d435657291
7
+ data.tar.gz: cd76ed9d499742e6fd363dbe24d9e15e0d2582bf6bfe2a5dec4dd3fa64a3d3b7a876a156461c234b8b818af7c72be67d264ac79d09d5a041af708a4f9b157ec6
@@ -2,19 +2,8 @@
2
2
 
3
3
  <xsl:output version="1.0" method="xml" encoding="UTF-8" indent="yes"/>
4
4
 
5
- <xsl:param name="svg_images"/>
6
- <xsl:param name="external_index"/><!-- path to index xml, generated on 1st pass, based on FOP Intermediate Format -->
7
- <xsl:variable name="images" select="document($svg_images)"/>
8
- <xsl:param name="basepath"/>
9
-
10
5
  <xsl:key name="kfn" match="*[local-name() = 'fn'][not(ancestor::*[(local-name() = 'table' or local-name() = 'figure') and not(ancestor::*[local-name() = 'name'])])]" use="@reference"/>
11
6
 
12
- <xsl:variable name="marginLeftRight1" select="25"/>
13
- <xsl:variable name="marginLeftRight2" select="25"/>
14
- <xsl:variable name="marginTop" select="25"/>
15
- <xsl:variable name="marginBottom" select="21"/>
16
-
17
-
18
7
 
19
8
 
20
9
  <xsl:variable name="debug">false</xsl:variable>
@@ -34,10 +23,6 @@
34
23
  </contents>
35
24
  </xsl:variable>
36
25
 
37
- <xsl:variable name="lang">
38
- <xsl:call-template name="getLang"/>
39
- </xsl:variable>
40
-
41
26
  <xsl:template match="/">
42
27
  <xsl:call-template name="namespaceCheck"/>
43
28
  <fo:root xsl:use-attribute-sets="root-style" xml:lang="{$lang}">
@@ -445,7 +430,7 @@
445
430
  </xsl:template>
446
431
 
447
432
 
448
- <xsl:template match="csa:ul | csa:ol" mode="ul_ol">
433
+ <xsl:template match="csa:ul | csa:ol" mode="list" priority="2">
449
434
  <xsl:choose>
450
435
  <xsl:when test="not(ancestor::csa:ul) and not(ancestor::csa:ol)">
451
436
  <fo:block-container border-left="0.75mm solid {$color-header-document}" margin-left="1mm" margin-bottom="12pt">
@@ -469,57 +454,11 @@
469
454
  </xsl:template>
470
455
 
471
456
  <xsl:template name="listProcessing">
472
- <fo:list-block provisional-distance-between-starts="6.5mm" line-height="145%">
473
- <xsl:if test="ancestor::csa:ul | ancestor::csa:ol">
474
- <!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
475
- </xsl:if>
476
- <xsl:if test="following-sibling::*[1][local-name() = 'ul' or local-name() = 'ol']">
477
- <!-- <xsl:attribute name="margin-bottom">0pt</xsl:attribute> -->
478
- </xsl:if>
457
+ <fo:list-block xsl:use-attribute-sets="list-style">
479
458
  <xsl:apply-templates/>
480
459
  </fo:list-block>
481
460
  </xsl:template>
482
461
 
483
- <xsl:template match="csa:li">
484
- <fo:list-item>
485
- <fo:list-item-label end-indent="label-end()">
486
- <fo:block>
487
- <xsl:choose>
488
- <xsl:when test="local-name(..) = 'ul'">
489
- <xsl:call-template name="setULLabel"/>
490
- </xsl:when>
491
- <!-- <xsl:when test="local-name(..) = 'ul' and (../ancestor::csa:ul or ../ancestor::csa:ol)">-</xsl:when> --> <!-- &#x2014; dash -->
492
- <!-- <xsl:when test="local-name(..) = 'ul'">•</xsl:when> --> <!-- &#x2014; dash -->
493
- <xsl:otherwise> <!-- for ordered lists -->
494
- <xsl:choose>
495
- <xsl:when test="../@type = 'arabic'">
496
- <xsl:number format="a)" lang="en"/>
497
- </xsl:when>
498
- <xsl:when test="../@type = 'alphabet'">
499
- <xsl:number format="1)"/>
500
- </xsl:when>
501
- <xsl:when test="../@type = 'alphabet_upper'">
502
- <xsl:number format="A)" lang="en"/>
503
- </xsl:when>
504
-
505
- <xsl:when test="../@type = 'roman'">
506
- <xsl:number format="i)"/>
507
- </xsl:when>
508
- <xsl:otherwise>
509
- <xsl:number format="1)"/>
510
- </xsl:otherwise>
511
- </xsl:choose>
512
- </xsl:otherwise>
513
- </xsl:choose>
514
- </fo:block>
515
- </fo:list-item-label>
516
- <fo:list-item-body start-indent="body-start()" line-height-shift-adjustment="disregard-shifts">
517
- <fo:block>
518
- <xsl:apply-templates/>
519
- </fo:block>
520
- </fo:list-item-body>
521
- </fo:list-item>
522
- </xsl:template>
523
462
 
524
463
  <xsl:template match="csa:ul/csa:note | csa:ol/csa:note" priority="2">
525
464
  <fo:list-item font-size="10pt">
@@ -533,55 +472,6 @@
533
472
  </fo:list-item>
534
473
  </xsl:template>
535
474
 
536
- <xsl:template match="csa:preferred">
537
- <xsl:variable name="level">
538
- <xsl:call-template name="getLevel"/>
539
- </xsl:variable>
540
- <xsl:variable name="font-size">
541
- <xsl:choose>
542
- <xsl:when test="$level &gt;= 2">11pt</xsl:when>
543
- <xsl:otherwise>12pt</xsl:otherwise>
544
- </xsl:choose>
545
- </xsl:variable>
546
- <xsl:variable name="levelTerm">
547
- <xsl:call-template name="getLevelTermName"/>
548
- </xsl:variable>
549
- <fo:block font-size="{$font-size}" role="H{$levelTerm}">
550
- <fo:block font-weight="bold" keep-with-next="always">
551
- <xsl:apply-templates select="ancestor::csa:term[1]/csa:name"/>
552
- </fo:block>
553
- <fo:block font-weight="bold" keep-with-next="always" line-height="1">
554
- <xsl:call-template name="setStyle_preferred"/>
555
- <xsl:apply-templates/>
556
- </fo:block>
557
- </fo:block>
558
- </xsl:template>
559
-
560
-
561
-
562
- <xsl:template match="csa:formula/csa:stem">
563
- <fo:block margin-top="6pt" margin-bottom="12pt">
564
- <fo:table table-layout="fixed" width="100%">
565
- <fo:table-column column-width="95%"/>
566
- <fo:table-column column-width="5%"/>
567
- <fo:table-body>
568
- <fo:table-row>
569
- <fo:table-cell display-align="center">
570
- <fo:block text-align="left" margin-left="5mm">
571
- <xsl:apply-templates/>
572
- </fo:block>
573
- </fo:table-cell>
574
- <fo:table-cell display-align="center">
575
- <fo:block text-align="right">
576
- <xsl:apply-templates select="../csa:name" mode="formula_number"/>
577
- </fo:block>
578
- </fo:table-cell>
579
- </fo:table-row>
580
- </fo:table-body>
581
- </fo:table>
582
- </fo:block>
583
- </xsl:template>
584
-
585
475
 
586
476
  <xsl:template name="insertHeaderFooter">
587
477
  <fo:static-content flow-name="header" role="artifact">
@@ -607,11 +497,21 @@
607
497
  <xsl:text>iVBORw0KGgoAAAANSUhEUgAAASEAAAEhCAYAAAAwHRYbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplYWRhN2RlNC04YzAyLTQ1N2UtYjUwNy0zNGYzY2RjNWE2ZGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDUyNzBENDc3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDUyNzBENDY3NjVCMTFFQTlDMDhGMEI2ODhENjUxQkIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgSW5EZXNpZ24gMTQuMCAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ1dWlkOmZiZjFiODZmLTIzMjMtM2U0OS1hMDMzLTVlOGQxYThlNmI1YiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmlkOjFlMzVjZTE3LWU5NzAtNDQ1OS05ZjI0LTM1NzcwZWYzMjNjMiIvPiA8L3Jk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</xsl:text>
608
498
  </xsl:variable>
609
499
 
610
- <xsl:variable name="pageWidth_">
500
+ <xsl:param name="svg_images"/><xsl:variable name="images" select="document($svg_images)"/><xsl:param name="basepath"/><xsl:param name="external_index"/><xsl:param name="syntax-highlight">false</xsl:param><xsl:variable name="lang">
501
+ <xsl:call-template name="getLang"/>
502
+ </xsl:variable><xsl:variable name="pageWidth_">
611
503
  215.9
612
504
  </xsl:variable><xsl:variable name="pageWidth" select="normalize-space($pageWidth_)"/><xsl:variable name="pageHeight_">
613
505
  279.4
614
- </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="titles_">
506
+ </xsl:variable><xsl:variable name="pageHeight" select="normalize-space($pageHeight_)"/><xsl:variable name="marginLeftRight1_">
507
+ 25
508
+ </xsl:variable><xsl:variable name="marginLeftRight1" select="normalize-space($marginLeftRight1_)"/><xsl:variable name="marginLeftRight2_">
509
+ 25
510
+ </xsl:variable><xsl:variable name="marginLeftRight2" select="normalize-space($marginLeftRight2_)"/><xsl:variable name="marginTop_">
511
+ 25
512
+ </xsl:variable><xsl:variable name="marginTop" select="normalize-space($marginTop_)"/><xsl:variable name="marginBottom_">
513
+ 21
514
+ </xsl:variable><xsl:variable name="marginBottom" select="normalize-space($marginBottom_)"/><xsl:variable name="titles_">
615
515
 
616
516
  <title-edition lang="en">
617
517
 
@@ -673,7 +573,7 @@
673
573
  </xsl:variable><xsl:variable name="titles" select="xalan:nodeset($titles_)"/><xsl:variable name="bibdata">
674
574
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'bibdata']"/>
675
575
  <xsl:copy-of select="//*[contains(local-name(), '-standard')]/*[local-name() = 'localized-strings']"/>
676
- </xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
576
+ </xsl:variable><xsl:variable name="linebreak">&#8232;</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:variable name="non_breaking_hyphen">‑</xsl:variable><xsl:variable name="thin_space"> </xsl:variable><xsl:variable name="zero_width_space">​</xsl:variable><xsl:variable name="en_dash">–</xsl:variable><xsl:template name="getTitle">
677
577
  <xsl:param name="name"/>
678
578
  <xsl:param name="lang"/>
679
579
  <xsl:variable name="lang_">
@@ -696,7 +596,7 @@
696
596
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
697
597
  </xsl:otherwise>
698
598
  </xsl:choose>
699
- </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
599
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:attribute-set name="root-style">
700
600
 
701
601
 
702
602
 
@@ -863,8 +763,8 @@
863
763
 
864
764
 
865
765
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
866
- <xsl:attribute name="keep-with-next">always</xsl:attribute>
867
766
 
767
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
868
768
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
869
769
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
870
770
  <xsl:attribute name="font-weight">bold</xsl:attribute>
@@ -879,6 +779,7 @@
879
779
 
880
780
 
881
781
 
782
+
882
783
 
883
784
 
884
785
 
@@ -1225,11 +1126,11 @@
1225
1126
 
1226
1127
 
1227
1128
  </xsl:attribute-set><xsl:attribute-set name="quote-style">
1228
- <xsl:attribute name="role">BlockQuote</xsl:attribute>
1129
+ <xsl:attribute name="margin-left">12mm</xsl:attribute>
1130
+ <xsl:attribute name="margin-right">12mm</xsl:attribute>
1229
1131
 
1230
1132
  <xsl:attribute name="margin-top">12pt</xsl:attribute>
1231
1133
  <xsl:attribute name="margin-left">13mm</xsl:attribute>
1232
- <xsl:attribute name="margin-right">12mm</xsl:attribute>
1233
1134
 
1234
1135
 
1235
1136
 
@@ -1238,12 +1139,11 @@
1238
1139
 
1239
1140
 
1240
1141
  </xsl:attribute-set><xsl:attribute-set name="quote-source-style">
1142
+ <xsl:attribute name="text-align">right</xsl:attribute>
1241
1143
 
1242
- <xsl:attribute name="text-align">right</xsl:attribute>
1243
1144
  <xsl:attribute name="margin-right">25mm</xsl:attribute>
1244
1145
 
1245
1146
 
1246
-
1247
1147
  </xsl:attribute-set><xsl:attribute-set name="termsource-style">
1248
1148
 
1249
1149
 
@@ -1268,6 +1168,9 @@
1268
1168
 
1269
1169
  </xsl:attribute-set><xsl:attribute-set name="term-style">
1270
1170
 
1171
+ </xsl:attribute-set><xsl:attribute-set name="term-name-style">
1172
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1173
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1271
1174
  </xsl:attribute-set><xsl:attribute-set name="figure-style">
1272
1175
 
1273
1176
  </xsl:attribute-set><xsl:attribute-set name="figure-name-style">
@@ -1299,6 +1202,36 @@
1299
1202
 
1300
1203
 
1301
1204
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1205
+ <xsl:attribute name="margin-top">6pt</xsl:attribute>
1206
+ <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+
1213
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-block-style">
1214
+ <xsl:attribute name="text-align">center</xsl:attribute>
1215
+
1216
+
1217
+ <xsl:attribute name="text-align">left</xsl:attribute>
1218
+ <xsl:attribute name="margin-left">5mm</xsl:attribute>
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+ </xsl:attribute-set><xsl:attribute-set name="formula-stem-number-style">
1230
+ <xsl:attribute name="text-align">right</xsl:attribute>
1231
+
1232
+
1233
+
1234
+
1302
1235
 
1303
1236
  </xsl:attribute-set><xsl:attribute-set name="image-style">
1304
1237
  <xsl:attribute name="text-align">center</xsl:attribute>
@@ -1334,6 +1267,20 @@
1334
1267
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1335
1268
  <xsl:attribute name="keep-with-previous">always</xsl:attribute>
1336
1269
 
1270
+ </xsl:attribute-set><xsl:attribute-set name="preferred-block-style">
1271
+
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+ </xsl:attribute-set><xsl:attribute-set name="preferred-term-style">
1278
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1279
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1280
+
1281
+ <xsl:attribute name="line-height">1</xsl:attribute>
1282
+
1283
+
1337
1284
  </xsl:attribute-set><xsl:attribute-set name="domain-style">
1338
1285
 
1339
1286
  </xsl:attribute-set><xsl:attribute-set name="admitted-style">
@@ -1369,6 +1316,38 @@
1369
1316
 
1370
1317
  </xsl:attribute-set><xsl:attribute-set name="list-style">
1371
1318
 
1319
+
1320
+ <xsl:attribute name="provisional-distance-between-starts">6.5mm</xsl:attribute>
1321
+ <xsl:attribute name="line-height">145%</xsl:attribute>
1322
+
1323
+
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+ </xsl:attribute-set><xsl:attribute-set name="list-item-style">
1339
+
1340
+
1341
+ </xsl:attribute-set><xsl:attribute-set name="list-item-label-style">
1342
+
1343
+
1344
+
1345
+ </xsl:attribute-set><xsl:attribute-set name="list-item-body-style">
1346
+
1347
+ <xsl:attribute name="line-height-shift-adjustment">disregard-shifts</xsl:attribute>
1348
+
1349
+
1350
+
1372
1351
  </xsl:attribute-set><xsl:attribute-set name="toc-style">
1373
1352
  <xsl:attribute name="line-height">135%</xsl:attribute>
1374
1353
  </xsl:attribute-set><xsl:attribute-set name="fn-reference-style">
@@ -1661,6 +1640,111 @@
1661
1640
  <xsl:attribute name="line-height">145%</xsl:attribute>
1662
1641
 
1663
1642
 
1643
+ </xsl:attribute-set><xsl:attribute-set name="hljs-doctag">
1644
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1645
+ </xsl:attribute-set><xsl:attribute-set name="hljs-keyword">
1646
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1647
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-keyword">
1648
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1649
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-tag">
1650
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1651
+ </xsl:attribute-set><xsl:attribute-set name="hljs-template-variable">
1652
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1653
+ </xsl:attribute-set><xsl:attribute-set name="hljs-type">
1654
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1655
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable_and_language_">
1656
+ <xsl:attribute name="color">#d73a49</xsl:attribute>
1657
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title">
1658
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1659
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class_">
1660
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1661
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_class__and_inherited__">
1662
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1663
+ </xsl:attribute-set><xsl:attribute-set name="hljs-title_and_function_">
1664
+ <xsl:attribute name="color">#6f42c1</xsl:attribute>
1665
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attr">
1666
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1667
+ </xsl:attribute-set><xsl:attribute-set name="hljs-attribute">
1668
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1669
+ </xsl:attribute-set><xsl:attribute-set name="hljs-literal">
1670
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1671
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta">
1672
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1673
+ </xsl:attribute-set><xsl:attribute-set name="hljs-number">
1674
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1675
+ </xsl:attribute-set><xsl:attribute-set name="hljs-operator">
1676
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1677
+ </xsl:attribute-set><xsl:attribute-set name="hljs-variable">
1678
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1679
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-attr">
1680
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1681
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-class">
1682
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1683
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-id">
1684
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1685
+ </xsl:attribute-set><xsl:attribute-set name="hljs-regexp">
1686
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1687
+ </xsl:attribute-set><xsl:attribute-set name="hljs-string">
1688
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1689
+ </xsl:attribute-set><xsl:attribute-set name="hljs-meta_hljs-string">
1690
+ <xsl:attribute name="color">#032f62</xsl:attribute>
1691
+ </xsl:attribute-set><xsl:attribute-set name="hljs-built_in">
1692
+ <xsl:attribute name="color">#e36209</xsl:attribute>
1693
+ </xsl:attribute-set><xsl:attribute-set name="hljs-symbol">
1694
+ <xsl:attribute name="color">#e36209</xsl:attribute>
1695
+ </xsl:attribute-set><xsl:attribute-set name="hljs-comment">
1696
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1697
+ </xsl:attribute-set><xsl:attribute-set name="hljs-code">
1698
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1699
+ </xsl:attribute-set><xsl:attribute-set name="hljs-formula">
1700
+ <xsl:attribute name="color">#6a737d</xsl:attribute>
1701
+ </xsl:attribute-set><xsl:attribute-set name="hljs-name">
1702
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1703
+ </xsl:attribute-set><xsl:attribute-set name="hljs-quote">
1704
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1705
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-tag">
1706
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1707
+ </xsl:attribute-set><xsl:attribute-set name="hljs-selector-pseudo">
1708
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1709
+ </xsl:attribute-set><xsl:attribute-set name="hljs-subst">
1710
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1711
+ </xsl:attribute-set><xsl:attribute-set name="hljs-section">
1712
+ <xsl:attribute name="color">#005cc5</xsl:attribute>
1713
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1714
+ </xsl:attribute-set><xsl:attribute-set name="hljs-bullet">
1715
+ <xsl:attribute name="color">#735c0f</xsl:attribute>
1716
+ </xsl:attribute-set><xsl:attribute-set name="hljs-emphasis">
1717
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1718
+ <xsl:attribute name="font-style">italic</xsl:attribute>
1719
+ </xsl:attribute-set><xsl:attribute-set name="hljs-strong">
1720
+ <xsl:attribute name="color">#24292e</xsl:attribute>
1721
+ <xsl:attribute name="font-weight">bold</xsl:attribute>
1722
+ </xsl:attribute-set><xsl:attribute-set name="hljs-addition">
1723
+ <xsl:attribute name="color">#22863a</xsl:attribute>
1724
+ <xsl:attribute name="background-color">#f0fff4</xsl:attribute>
1725
+ </xsl:attribute-set><xsl:attribute-set name="hljs-deletion">
1726
+ <xsl:attribute name="color">#b31d28</xsl:attribute>
1727
+ <xsl:attribute name="background-color">#ffeef0</xsl:attribute>
1728
+ </xsl:attribute-set><xsl:attribute-set name="hljs-char_and_escape_">
1729
+ </xsl:attribute-set><xsl:attribute-set name="hljs-link">
1730
+ </xsl:attribute-set><xsl:attribute-set name="hljs-params">
1731
+ </xsl:attribute-set><xsl:attribute-set name="hljs-property">
1732
+ </xsl:attribute-set><xsl:attribute-set name="hljs-punctuation">
1733
+ </xsl:attribute-set><xsl:attribute-set name="hljs-tag">
1734
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-title-style">
1735
+ <xsl:attribute name="role">H1</xsl:attribute>
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+ </xsl:attribute-set><xsl:attribute-set name="indexsect-clause-title-style">
1742
+ <xsl:attribute name="keep-with-next">always</xsl:attribute>
1743
+
1744
+
1745
+
1746
+
1747
+
1664
1748
  </xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:variable name="ace_tag">ace-tag_</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
1665
1749
  <xsl:for-each select="/*/*[local-name()='preface']/*">
1666
1750
  <xsl:sort select="@displayorder" data-type="number"/>
@@ -1747,9 +1831,12 @@
1747
1831
 
1748
1832
 
1749
1833
  </xsl:template><xsl:template match="*[local-name()='legal-statement']//*[local-name()='p']">
1834
+ <xsl:param name="margin"/>
1750
1835
 
1751
1836
  <!-- process in the template 'paragraph' -->
1752
- <xsl:call-template name="paragraph"/>
1837
+ <xsl:call-template name="paragraph">
1838
+ <xsl:with-param name="margin" select="$margin"/>
1839
+ </xsl:call-template>
1753
1840
 
1754
1841
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']">
1755
1842
  <fo:block xsl:use-attribute-sets="feedback-statement-style">
@@ -1761,9 +1848,12 @@
1761
1848
  <xsl:call-template name="title"/>
1762
1849
 
1763
1850
  </xsl:template><xsl:template match="*[local-name()='feedback-statement']//*[local-name()='p']">
1851
+ <xsl:param name="margin"/>
1764
1852
 
1765
1853
  <!-- process in the template 'paragraph' -->
1766
- <xsl:call-template name="paragraph"/>
1854
+ <xsl:call-template name="paragraph">
1855
+ <xsl:with-param name="margin" select="$margin"/>
1856
+ </xsl:call-template>
1767
1857
 
1768
1858
  </xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
1769
1859
  <!-- <xsl:call-template name="add-zero-spaces"/> -->
@@ -2107,8 +2197,7 @@
2107
2197
  </xsl:call-template>
2108
2198
  </xsl:if>
2109
2199
  </xsl:template><xsl:template match="text()" mode="td_text">
2110
- <xsl:variable name="zero-space">​</xsl:variable>
2111
- <xsl:value-of select="translate(., $zero-space, ' ')"/><xsl:text> </xsl:text>
2200
+ <xsl:value-of select="translate(., $zero_width_space, ' ')"/><xsl:text> </xsl:text>
2112
2201
  </xsl:template><xsl:template match="*[local-name()='termsource']" mode="td_text">
2113
2202
  <xsl:value-of select="*[local-name()='origin']/@citeas"/>
2114
2203
  </xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
@@ -3078,20 +3167,44 @@
3078
3167
  <fo:inline text-decoration="underline">
3079
3168
  <xsl:apply-templates/>
3080
3169
  </fo:inline>
3081
- </xsl:template><xsl:template match="*[local-name()='add']">
3170
+ </xsl:template><xsl:template match="*[local-name()='add']" name="tag_add">
3082
3171
  <xsl:param name="skip">true</xsl:param>
3172
+ <xsl:param name="block">false</xsl:param>
3173
+ <xsl:param name="type"/>
3174
+ <xsl:param name="text-align"/>
3083
3175
  <xsl:choose>
3084
3176
  <xsl:when test="starts-with(., $ace_tag)"> <!-- examples: ace-tag_A1_start, ace-tag_A2_end, C1_start, AC_start -->
3085
3177
  <xsl:choose>
3086
- <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab'])) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3178
+ <xsl:when test="$skip = 'true' and ((local-name(../..) = 'note' and not(preceding-sibling::node())) or (local-name(..) = 'title' and preceding-sibling::node()[1][local-name() = 'tab']) or local-name(..) = 'formattedref' and not(preceding-sibling::node())) and ../node()[last()][local-name() = 'add'][starts-with(text(), $ace_tag)]"><!-- start tag displayed in template name="note" and title --></xsl:when>
3087
3179
  <xsl:otherwise>
3088
- <fo:inline>
3180
+ <xsl:variable name="tag">
3089
3181
  <xsl:call-template name="insertTag">
3090
- <xsl:with-param name="type" select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end -->
3182
+ <xsl:with-param name="type">
3183
+ <xsl:choose>
3184
+ <xsl:when test="$type = ''"><xsl:value-of select="substring-after(substring-after(., $ace_tag), '_')"/> <!-- start or end --></xsl:when>
3185
+ <xsl:otherwise><xsl:value-of select="$type"/></xsl:otherwise>
3186
+ </xsl:choose>
3187
+ </xsl:with-param>
3091
3188
  <xsl:with-param name="kind" select="substring(substring-before(substring-after(., $ace_tag), '_'), 1, 1)"/> <!-- A or C -->
3092
3189
  <xsl:with-param name="value" select="substring(substring-before(substring-after(., $ace_tag), '_'), 2)"/> <!-- 1, 2, C -->
3093
3190
  </xsl:call-template>
3094
- </fo:inline>
3191
+ </xsl:variable>
3192
+ <xsl:choose>
3193
+ <xsl:when test="$block = 'false'">
3194
+ <fo:inline>
3195
+ <xsl:copy-of select="$tag"/>
3196
+ </fo:inline>
3197
+ </xsl:when>
3198
+ <xsl:otherwise>
3199
+ <fo:block> <!-- for around figures -->
3200
+ <xsl:if test="$text-align != ''">
3201
+ <xsl:attribute name="text-align"><xsl:value-of select="$text-align"/></xsl:attribute>
3202
+ </xsl:if>
3203
+ <xsl:copy-of select="$tag"/>
3204
+ </fo:block>
3205
+ </xsl:otherwise>
3206
+ </xsl:choose>
3207
+
3095
3208
  </xsl:otherwise>
3096
3209
  </xsl:choose>
3097
3210
  </xsl:when>
@@ -3450,17 +3563,21 @@
3450
3563
  </xsl:apply-templates>
3451
3564
  </xsl:template><xsl:template name="getLang">
3452
3565
  <xsl:variable name="language_current" select="normalize-space(//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3453
- <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3454
3566
  <xsl:variable name="language">
3455
3567
  <xsl:choose>
3456
3568
  <xsl:when test="$language_current != ''">
3457
3569
  <xsl:value-of select="$language_current"/>
3458
3570
  </xsl:when>
3459
- <xsl:when test="$language_current_2 != ''">
3460
- <xsl:value-of select="$language_current_2"/>
3461
- </xsl:when>
3462
3571
  <xsl:otherwise>
3463
- <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3572
+ <xsl:variable name="language_current_2" select="normalize-space(xalan:nodeset($bibdata)//*[local-name()='bibdata']//*[local-name()='language'][@current = 'true'])"/>
3573
+ <xsl:choose>
3574
+ <xsl:when test="$language_current_2 != ''">
3575
+ <xsl:value-of select="$language_current_2"/>
3576
+ </xsl:when>
3577
+ <xsl:otherwise>
3578
+ <xsl:value-of select="//*[local-name()='bibdata']//*[local-name()='language']"/>
3579
+ </xsl:otherwise>
3580
+ </xsl:choose>
3464
3581
  </xsl:otherwise>
3465
3582
  </xsl:choose>
3466
3583
  </xsl:variable>
@@ -3677,8 +3794,8 @@
3677
3794
 
3678
3795
  </xsl:if>
3679
3796
  <fo:block-container margin-left="0mm">
3680
- <fo:block id="{@id}" xsl:use-attribute-sets="formula-style">
3681
- <xsl:apply-templates/>
3797
+ <fo:block id="{@id}">
3798
+ <xsl:apply-templates select="node()[not(local-name() = 'name')]"/> <!-- formula's number will be process in 'stem' template -->
3682
3799
  </fo:block>
3683
3800
  </fo:block-container>
3684
3801
  </fo:block-container>
@@ -3690,10 +3807,43 @@
3690
3807
  <fo:inline>
3691
3808
  <xsl:apply-templates/>
3692
3809
  </fo:inline>
3693
- </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']" mode="formula_number"> <!-- show by demand -->
3810
+ </xsl:template><xsl:template match="*[local-name() = 'formula']/*[local-name() = 'name']"> <!-- show in 'stem' template -->
3694
3811
  <xsl:if test="normalize-space() != ''">
3695
3812
  <xsl:text>(</xsl:text><xsl:apply-templates/><xsl:text>)</xsl:text>
3696
3813
  </xsl:if>
3814
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][*[local-name() = 'name']]/*[local-name() = 'stem']">
3815
+ <fo:block xsl:use-attribute-sets="formula-style">
3816
+
3817
+
3818
+
3819
+ <fo:table table-layout="fixed" width="100%">
3820
+ <fo:table-column column-width="95%"/>
3821
+ <fo:table-column column-width="5%"/>
3822
+ <fo:table-body>
3823
+ <fo:table-row>
3824
+ <fo:table-cell display-align="center">
3825
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
3826
+
3827
+
3828
+
3829
+ <xsl:apply-templates/>
3830
+ </fo:block>
3831
+ </fo:table-cell>
3832
+ <fo:table-cell display-align="center">
3833
+ <fo:block xsl:use-attribute-sets="formula-stem-number-style">
3834
+ <xsl:apply-templates select="../*[local-name() = 'name']"/>
3835
+ </fo:block>
3836
+ </fo:table-cell>
3837
+ </fo:table-row>
3838
+ </fo:table-body>
3839
+ </fo:table>
3840
+ </fo:block>
3841
+ </xsl:template><xsl:template match="*[local-name() = 'formula'][not(*[local-name() = 'name'])]/*[local-name() = 'stem']">
3842
+ <fo:block xsl:use-attribute-sets="formula-style">
3843
+ <fo:block xsl:use-attribute-sets="formula-stem-block-style">
3844
+ <xsl:apply-templates/>
3845
+ </fo:block>
3846
+ </fo:block>
3697
3847
  </xsl:template><xsl:template match="*[local-name() = 'note']" name="note">
3698
3848
 
3699
3849
  <fo:block-container id="{@id}" xsl:use-attribute-sets="note-style">
@@ -4643,12 +4793,140 @@
4643
4793
  </fo:block-container>
4644
4794
  </fo:block-container>
4645
4795
  </xsl:template><xsl:template match="*[local-name()='sourcecode']/text()" priority="2">
4646
- <xsl:variable name="text">
4796
+ <xsl:choose>
4797
+ <xsl:when test="normalize-space($syntax-highlight) = 'true' and normalize-space(../@lang) != ''"> <!-- condition for turn on of highlighting -->
4798
+ <xsl:variable name="syntax" select="java:org.metanorma.fop.Util.syntaxHighlight(., ../@lang)"/>
4799
+ <xsl:choose>
4800
+ <xsl:when test="normalize-space($syntax) != ''"><!-- if there is highlighted result -->
4801
+ <xsl:apply-templates select="xalan:nodeset($syntax)" mode="syntax_highlight"/> <!-- process span tags -->
4802
+ </xsl:when>
4803
+ <xsl:otherwise> <!-- if case of non-succesfull syntax highlight (for instance, unknown lang), process without highlighting -->
4804
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
4805
+ </xsl:otherwise>
4806
+ </xsl:choose>
4807
+ </xsl:when>
4808
+ <xsl:otherwise>
4809
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
4810
+ </xsl:otherwise>
4811
+ </xsl:choose>
4812
+
4813
+ </xsl:template><xsl:template name="add_spaces_to_sourcecode">
4814
+ <xsl:variable name="text_step1">
4647
4815
  <xsl:call-template name="add-zero-spaces-equal"/>
4648
4816
  </xsl:variable>
4649
- <xsl:call-template name="add-zero-spaces-java">
4650
- <xsl:with-param name="text" select="$text"/>
4651
- </xsl:call-template>
4817
+ <xsl:variable name="text_step2">
4818
+ <xsl:call-template name="add-zero-spaces-java">
4819
+ <xsl:with-param name="text" select="$text_step1"/>
4820
+ </xsl:call-template>
4821
+ </xsl:variable>
4822
+ <xsl:value-of select="$text_step2"/>
4823
+ </xsl:template><xsl:template match="*" mode="syntax_highlight">
4824
+ <xsl:apply-templates mode="syntax_highlight"/>
4825
+ </xsl:template><xsl:variable name="syntax_highlight_styles_">
4826
+ <style class="hljs-addition" xsl:use-attribute-sets="hljs-addition"/>
4827
+ <style class="hljs-attr" xsl:use-attribute-sets="hljs-attr"/>
4828
+ <style class="hljs-attribute" xsl:use-attribute-sets="hljs-attribute"/>
4829
+ <style class="hljs-built_in" xsl:use-attribute-sets="hljs-built_in"/>
4830
+ <style class="hljs-bullet" xsl:use-attribute-sets="hljs-bullet"/>
4831
+ <style class="hljs-char_and_escape_" xsl:use-attribute-sets="hljs-char_and_escape_"/>
4832
+ <style class="hljs-code" xsl:use-attribute-sets="hljs-code"/>
4833
+ <style class="hljs-comment" xsl:use-attribute-sets="hljs-comment"/>
4834
+ <style class="hljs-deletion" xsl:use-attribute-sets="hljs-deletion"/>
4835
+ <style class="hljs-doctag" xsl:use-attribute-sets="hljs-doctag"/>
4836
+ <style class="hljs-emphasis" xsl:use-attribute-sets="hljs-emphasis"/>
4837
+ <style class="hljs-formula" xsl:use-attribute-sets="hljs-formula"/>
4838
+ <style class="hljs-keyword" xsl:use-attribute-sets="hljs-keyword"/>
4839
+ <style class="hljs-link" xsl:use-attribute-sets="hljs-link"/>
4840
+ <style class="hljs-literal" xsl:use-attribute-sets="hljs-literal"/>
4841
+ <style class="hljs-meta" xsl:use-attribute-sets="hljs-meta"/>
4842
+ <style class="hljs-meta_hljs-string" xsl:use-attribute-sets="hljs-meta_hljs-string"/>
4843
+ <style class="hljs-meta_hljs-keyword" xsl:use-attribute-sets="hljs-meta_hljs-keyword"/>
4844
+ <style class="hljs-name" xsl:use-attribute-sets="hljs-name"/>
4845
+ <style class="hljs-number" xsl:use-attribute-sets="hljs-number"/>
4846
+ <style class="hljs-operator" xsl:use-attribute-sets="hljs-operator"/>
4847
+ <style class="hljs-params" xsl:use-attribute-sets="hljs-params"/>
4848
+ <style class="hljs-property" xsl:use-attribute-sets="hljs-property"/>
4849
+ <style class="hljs-punctuation" xsl:use-attribute-sets="hljs-punctuation"/>
4850
+ <style class="hljs-quote" xsl:use-attribute-sets="hljs-quote"/>
4851
+ <style class="hljs-regexp" xsl:use-attribute-sets="hljs-regexp"/>
4852
+ <style class="hljs-section" xsl:use-attribute-sets="hljs-section"/>
4853
+ <style class="hljs-selector-attr" xsl:use-attribute-sets="hljs-selector-attr"/>
4854
+ <style class="hljs-selector-class" xsl:use-attribute-sets="hljs-selector-class"/>
4855
+ <style class="hljs-selector-id" xsl:use-attribute-sets="hljs-selector-id"/>
4856
+ <style class="hljs-selector-pseudo" xsl:use-attribute-sets="hljs-selector-pseudo"/>
4857
+ <style class="hljs-selector-tag" xsl:use-attribute-sets="hljs-selector-tag"/>
4858
+ <style class="hljs-string" xsl:use-attribute-sets="hljs-string"/>
4859
+ <style class="hljs-strong" xsl:use-attribute-sets="hljs-strong"/>
4860
+ <style class="hljs-subst" xsl:use-attribute-sets="hljs-subst"/>
4861
+ <style class="hljs-symbol" xsl:use-attribute-sets="hljs-symbol"/>
4862
+ <style class="hljs-tag" xsl:use-attribute-sets="hljs-tag"/>
4863
+ <!-- <style class="hljs-tag_hljs-attr" xsl:use-attribute-sets="hljs-tag_hljs-attr"></style> -->
4864
+ <!-- <style class="hljs-tag_hljs-name" xsl:use-attribute-sets="hljs-tag_hljs-name"></style> -->
4865
+ <style class="hljs-template-tag" xsl:use-attribute-sets="hljs-template-tag"/>
4866
+ <style class="hljs-template-variable" xsl:use-attribute-sets="hljs-template-variable"/>
4867
+ <style class="hljs-title" xsl:use-attribute-sets="hljs-title"/>
4868
+ <style class="hljs-title_and_class_" xsl:use-attribute-sets="hljs-title_and_class_"/>
4869
+ <style class="hljs-title_and_class__and_inherited__" xsl:use-attribute-sets="hljs-title_and_class__and_inherited__"/>
4870
+ <style class="hljs-title_and_function_" xsl:use-attribute-sets="hljs-title_and_function_"/>
4871
+ <style class="hljs-type" xsl:use-attribute-sets="hljs-type"/>
4872
+ <style class="hljs-variable" xsl:use-attribute-sets="hljs-variable"/>
4873
+ <style class="hljs-variable_and_language_" xsl:use-attribute-sets="hljs-variable_and_language_"/>
4874
+ </xsl:variable><xsl:variable name="syntax_highlight_styles" select="xalan:nodeset($syntax_highlight_styles_)"/><xsl:template match="span" mode="syntax_highlight" priority="2">
4875
+ <!-- <fo:inline color="green" font-style="italic"><xsl:apply-templates mode="syntax_highlight"/></fo:inline> -->
4876
+ <fo:inline>
4877
+ <xsl:variable name="classes_">
4878
+ <xsl:call-template name="split">
4879
+ <xsl:with-param name="pText" select="@class"/>
4880
+ <xsl:with-param name="sep" select="' '"/>
4881
+ </xsl:call-template>
4882
+ <!-- a few classes together (_and_ suffix) -->
4883
+ <xsl:if test="contains(@class, 'hljs-char') and contains(@class, 'escape_')">
4884
+ <item>hljs-char_and_escape_</item>
4885
+ </xsl:if>
4886
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_')">
4887
+ <item>hljs-title_and_class_</item>
4888
+ </xsl:if>
4889
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'class_') and contains(@class, 'inherited__')">
4890
+ <item>hljs-title_and_class__and_inherited__</item>
4891
+ </xsl:if>
4892
+ <xsl:if test="contains(@class, 'hljs-title') and contains(@class, 'function_')">
4893
+ <item>hljs-title_and_function_</item>
4894
+ </xsl:if>
4895
+ <xsl:if test="contains(@class, 'hljs-variable') and contains(@class, 'language_')">
4896
+ <item>hljs-variable_and_language_</item>
4897
+ </xsl:if>
4898
+ <!-- with parent classes (_ suffix) -->
4899
+ <xsl:if test="contains(@class, 'hljs-keyword') and contains(ancestor::*/@class, 'hljs-meta')">
4900
+ <item>hljs-meta_hljs-keyword</item>
4901
+ </xsl:if>
4902
+ <xsl:if test="contains(@class, 'hljs-string') and contains(ancestor::*/@class, 'hljs-meta')">
4903
+ <item>hljs-meta_hljs-string</item>
4904
+ </xsl:if>
4905
+ </xsl:variable>
4906
+ <xsl:variable name="classes" select="xalan:nodeset($classes_)"/>
4907
+
4908
+ <xsl:for-each select="$classes/item">
4909
+ <xsl:variable name="class_name" select="."/>
4910
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
4911
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
4912
+ </xsl:for-each>
4913
+ </xsl:for-each>
4914
+
4915
+ <!-- <xsl:variable name="class_name">
4916
+ <xsl:choose>
4917
+ <xsl:when test="@class = 'hljs-attr' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-attr</xsl:when>
4918
+ <xsl:when test="@class = 'hljs-name' and ancestor::*/@class = 'hljs-tag'">hljs-tag_hljs-name</xsl:when>
4919
+ <xsl:when test="@class = 'hljs-string' and ancestor::*/@class = 'hljs-meta'">hljs-meta_hljs-string</xsl:when>
4920
+ <xsl:otherwise><xsl:value-of select="@class"/></xsl:otherwise>
4921
+ </xsl:choose>
4922
+ </xsl:variable>
4923
+ <xsl:for-each select="$syntax_highlight_styles/style[@class = $class_name]/@*[not(local-name() = 'class')]">
4924
+ <xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
4925
+ </xsl:for-each> -->
4926
+
4927
+ <xsl:apply-templates mode="syntax_highlight"/></fo:inline>
4928
+ </xsl:template><xsl:template match="text()" mode="syntax_highlight" priority="2">
4929
+ <xsl:call-template name="add_spaces_to_sourcecode"/>
4652
4930
  </xsl:template><xsl:template match="*[local-name() = 'sourcecode']/*[local-name() = 'name']">
4653
4931
  <xsl:if test="normalize-space() != ''">
4654
4932
  <fo:block xsl:use-attribute-sets="sourcecode-name-style">
@@ -5019,11 +5297,14 @@
5019
5297
 
5020
5298
 
5021
5299
  <fo:block-container margin-left="0mm">
5022
-
5023
- <fo:block xsl:use-attribute-sets="quote-style">
5300
+ <fo:block-container xsl:use-attribute-sets="quote-style">
5024
5301
 
5025
- <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5026
- </fo:block>
5302
+ <fo:block-container margin-left="0mm" margin-right="0mm">
5303
+ <fo:block role="BlockQuote">
5304
+ <xsl:apply-templates select="./node()[not(local-name() = 'author') and not(local-name() = 'source')]"/> <!-- process all nested nodes, except author and source -->
5305
+ </fo:block>
5306
+ </fo:block-container>
5307
+ </fo:block-container>
5027
5308
  <xsl:if test="*[local-name() = 'author'] or *[local-name() = 'source']">
5028
5309
  <fo:block xsl:use-attribute-sets="quote-source-style">
5029
5310
  <!-- — ISO, ISO 7301:2011, Clause 1 -->
@@ -5163,6 +5444,36 @@
5163
5444
  <xsl:with-param name="count" select="$count - 1"/>
5164
5445
  </xsl:call-template>
5165
5446
  </xsl:if>
5447
+ </xsl:template><xsl:template match="*[local-name() = 'preferred']">
5448
+ <xsl:variable name="level">
5449
+ <xsl:call-template name="getLevel"/>
5450
+ </xsl:variable>
5451
+ <xsl:variable name="font-size">
5452
+
5453
+ <xsl:choose>
5454
+ <xsl:when test="$level &gt;= 2">11pt</xsl:when>
5455
+ <xsl:otherwise>12pt</xsl:otherwise>
5456
+ </xsl:choose>
5457
+
5458
+ </xsl:variable>
5459
+ <xsl:variable name="levelTerm">
5460
+ <xsl:call-template name="getLevelTermName"/>
5461
+ </xsl:variable>
5462
+ <fo:block font-size="{normalize-space($font-size)}" role="H{$levelTerm}" xsl:use-attribute-sets="preferred-block-style">
5463
+
5464
+
5465
+
5466
+ <xsl:if test="parent::*[local-name() = 'term'] and not(preceding-sibling::*[local-name() = 'preferred'])"> <!-- if first preffered in term, then display term's name -->
5467
+ <fo:block xsl:use-attribute-sets="term-name-style">
5468
+ <xsl:apply-templates select="ancestor::*[local-name() = 'term'][1]/*[local-name() = 'name']"/>
5469
+ </fo:block>
5470
+ </xsl:if>
5471
+
5472
+ <fo:block xsl:use-attribute-sets="preferred-term-style">
5473
+ <xsl:call-template name="setStyle_preferred"/>
5474
+ <xsl:apply-templates/>
5475
+ </fo:block>
5476
+ </fo:block>
5166
5477
  </xsl:template><xsl:template match="*[local-name() = 'domain']">
5167
5478
  <fo:inline xsl:use-attribute-sets="domain-style">&lt;<xsl:apply-templates/>&gt;</fo:inline>
5168
5479
  <xsl:text> </xsl:text>
@@ -5251,26 +5562,10 @@
5251
5562
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
5252
5563
  </xsl:template><xsl:variable name="ul_labels_">
5253
5564
 
5254
-
5255
-
5256
- <label level="1">•</label>
5257
- <label level="2">-</label><!-- minus -->
5258
- <label level="3" font-size="75%">o</label> <!-- white circle -->
5259
-
5260
-
5261
-
5262
-
5263
-
5264
-
5265
-
5266
-
5267
-
5268
-
5269
-
5270
-
5271
-
5272
-
5273
-
5565
+ <label level="1">•</label>
5566
+ <label level="2">-</label><!-- minus -->
5567
+ <label level="3" font-size="75%">o</label> <!-- white circle -->
5568
+
5274
5569
  </xsl:variable><xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/><xsl:template name="setULLabel">
5275
5570
  <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5276
5571
  <xsl:variable name="list_level">
@@ -5296,6 +5591,91 @@
5296
5591
  </xsl:template><xsl:template match="label" mode="ul_labels">
5297
5592
  <xsl:copy-of select="@*[not(local-name() = 'level')]"/>
5298
5593
  <xsl:value-of select="."/>
5594
+ </xsl:template><xsl:template name="getListItemFormat">
5595
+ <!-- Example: for BSI <?list-type loweralpha?> -->
5596
+ <xsl:variable name="processing_instruction_type" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-type'))"/>
5597
+ <xsl:choose>
5598
+ <xsl:when test="local-name(..) = 'ul'">
5599
+ <xsl:choose>
5600
+ <xsl:when test="normalize-space($processing_instruction_type) = 'simple'"/>
5601
+ <xsl:otherwise><xsl:call-template name="setULLabel"/></xsl:otherwise>
5602
+ </xsl:choose>
5603
+ </xsl:when>
5604
+ <xsl:otherwise> <!-- for ordered lists 'ol' -->
5605
+
5606
+ <!-- Example: for BSI <?list-start 2?> -->
5607
+ <xsl:variable name="processing_instruction_start" select="normalize-space(../preceding-sibling::*[1]/processing-instruction('list-start'))"/>
5608
+
5609
+ <xsl:variable name="start_value">
5610
+ <xsl:choose>
5611
+ <xsl:when test="normalize-space($processing_instruction_start) != ''">
5612
+ <xsl:value-of select="number($processing_instruction_start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
5613
+ </xsl:when>
5614
+ <xsl:when test="normalize-space(../@start) != ''">
5615
+ <xsl:value-of select="number(../@start) - 1"/><!-- if start="3" then start_value=2 + xsl:number(1) = 3 -->
5616
+ </xsl:when>
5617
+ <xsl:otherwise>0</xsl:otherwise>
5618
+ </xsl:choose>
5619
+ </xsl:variable>
5620
+
5621
+ <xsl:variable name="curr_value"><xsl:number/></xsl:variable>
5622
+
5623
+ <xsl:variable name="type">
5624
+ <xsl:choose>
5625
+ <xsl:when test="normalize-space($processing_instruction_type) != ''"><xsl:value-of select="$processing_instruction_type"/></xsl:when>
5626
+ <xsl:when test="normalize-space(../@type) != ''"><xsl:value-of select="../@type"/></xsl:when>
5627
+
5628
+ <xsl:otherwise> <!-- if no @type or @class = 'steps' -->
5629
+
5630
+ <xsl:variable name="list_level_" select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
5631
+ <xsl:variable name="list_level">
5632
+ <xsl:choose>
5633
+ <xsl:when test="$list_level_ &lt;= 5"><xsl:value-of select="$list_level_"/></xsl:when>
5634
+ <xsl:otherwise><xsl:value-of select="$list_level_ mod 5"/></xsl:otherwise>
5635
+ </xsl:choose>
5636
+ </xsl:variable>
5637
+
5638
+ <xsl:choose>
5639
+ <xsl:when test="$list_level mod 5 = 0">roman_upper</xsl:when> <!-- level 5 -->
5640
+ <xsl:when test="$list_level mod 4 = 0">alphabet_upper</xsl:when> <!-- level 4 -->
5641
+ <xsl:when test="$list_level mod 3 = 0">roman</xsl:when> <!-- level 3 -->
5642
+ <xsl:when test="$list_level mod 2 = 0 and ancestor::*/@class = 'steps'">alphabet</xsl:when> <!-- level 2 and @class = 'steps'-->
5643
+ <xsl:when test="$list_level mod 2 = 0">arabic</xsl:when> <!-- level 2 -->
5644
+ <xsl:otherwise> <!-- level 1 -->
5645
+ <xsl:choose>
5646
+ <xsl:when test="ancestor::*/@class = 'steps'">arabic</xsl:when>
5647
+ <xsl:otherwise>alphabet</xsl:otherwise>
5648
+ </xsl:choose>
5649
+ </xsl:otherwise>
5650
+ </xsl:choose>
5651
+
5652
+ </xsl:otherwise>
5653
+ </xsl:choose>
5654
+ </xsl:variable>
5655
+
5656
+ <xsl:variable name="format">
5657
+ <xsl:choose>
5658
+ <xsl:when test="$type = 'arabic'">
5659
+ 1)
5660
+ </xsl:when>
5661
+ <xsl:when test="$type = 'alphabet'">
5662
+ a)
5663
+ </xsl:when>
5664
+ <xsl:when test="$type = 'alphabet_upper'">
5665
+ A)
5666
+ </xsl:when>
5667
+ <xsl:when test="$type = 'roman'">
5668
+ i)
5669
+ </xsl:when>
5670
+ <xsl:when test="$type = 'roman_upper'">I.</xsl:when>
5671
+ <xsl:otherwise>1.</xsl:otherwise> <!-- for any case, if $type has non-determined value, not using -->
5672
+ </xsl:choose>
5673
+ </xsl:variable>
5674
+
5675
+ <xsl:number value="$start_value + $curr_value" format="{normalize-space($format)}" lang="en"/>
5676
+
5677
+ </xsl:otherwise>
5678
+ </xsl:choose>
5299
5679
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
5300
5680
  <xsl:choose>
5301
5681
  <xsl:when test="parent::*[local-name() = 'note'] or parent::*[local-name() = 'termnote']">
@@ -5311,18 +5691,66 @@
5311
5691
 
5312
5692
  <fo:block-container margin-left="0mm">
5313
5693
  <fo:block>
5314
- <xsl:apply-templates select="." mode="ul_ol"/>
5694
+ <xsl:apply-templates select="." mode="list"/>
5315
5695
  </fo:block>
5316
5696
  </fo:block-container>
5317
5697
  </fo:block-container>
5318
5698
  </xsl:when>
5319
5699
  <xsl:otherwise>
5320
5700
  <fo:block>
5321
- <xsl:apply-templates select="." mode="ul_ol"/>
5701
+ <xsl:apply-templates select="." mode="list"/>
5322
5702
  </fo:block>
5323
5703
  </xsl:otherwise>
5324
5704
  </xsl:choose>
5325
- </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="dash" select="'–'"/><xsl:variable name="bookmark_in_fn">
5705
+ </xsl:template><xsl:template match="*[local-name()='ul'] | *[local-name()='ol']" mode="list" name="list">
5706
+ <fo:list-block xsl:use-attribute-sets="list-style">
5707
+
5708
+
5709
+
5710
+
5711
+
5712
+
5713
+
5714
+
5715
+
5716
+ <xsl:apply-templates select="node()[not(local-name() = 'note')]"/>
5717
+ </fo:list-block>
5718
+ <!-- <xsl:for-each select="./iho:note">
5719
+ <xsl:call-template name="note"/>
5720
+ </xsl:for-each> -->
5721
+ <xsl:apply-templates select="./*[local-name() = 'note']"/>
5722
+ </xsl:template><xsl:template match="*[local-name()='li']">
5723
+ <fo:list-item xsl:use-attribute-sets="list-item-style">
5724
+ <xsl:copy-of select="@id"/>
5725
+
5726
+
5727
+
5728
+ <fo:list-item-label end-indent="label-end()">
5729
+ <fo:block xsl:use-attribute-sets="list-item-label-style">
5730
+
5731
+
5732
+
5733
+ <xsl:call-template name="getListItemFormat"/>
5734
+ </fo:block>
5735
+ </fo:list-item-label>
5736
+ <fo:list-item-body start-indent="body-start()" xsl:use-attribute-sets="list-item-body-style">
5737
+ <fo:block>
5738
+
5739
+
5740
+
5741
+
5742
+
5743
+ <xsl:apply-templates/>
5744
+
5745
+ <!-- <xsl:apply-templates select="node()[not(local-name() = 'note')]" />
5746
+
5747
+ <xsl:for-each select="./bsi:note">
5748
+ <xsl:call-template name="note"/>
5749
+ </xsl:for-each> -->
5750
+ </fo:block>
5751
+ </fo:list-item-body>
5752
+ </fo:list-item>
5753
+ </xsl:template><xsl:variable name="index" select="document($external_index)"/><xsl:variable name="bookmark_in_fn">
5326
5754
  <xsl:for-each select="//*[local-name() = 'bookmark'][ancestor::*[local-name() = 'fn']]">
5327
5755
  <bookmark><xsl:value-of select="@id"/></bookmark>
5328
5756
  </xsl:for-each>
@@ -5344,7 +5772,7 @@
5344
5772
  <!-- split <xref target="bm1" to="End" pagenumber="true"> to two xref:
5345
5773
  <xref target="bm1" pagenumber="true"> and <xref target="End" pagenumber="true"> -->
5346
5774
  <xsl:if test="@to">
5347
- <xsl:value-of select="$dash"/>
5775
+ <xsl:value-of select="$en_dash"/>
5348
5776
  <xsl:copy>
5349
5777
  <xsl:copy-of select="@*"/>
5350
5778
  <xsl:attribute name="target"><xsl:value-of select="@to"/></xsl:attribute>
@@ -5369,7 +5797,7 @@
5369
5797
  <xsl:param name="target"/>
5370
5798
  <!-- <node></node> -->
5371
5799
  <xsl:choose>
5372
- <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $dash) and $remove = 'true'">
5800
+ <xsl:when test="self::text() and (normalize-space(.) = ',' or normalize-space(.) = $en_dash) and $remove = 'true'">
5373
5801
  <!-- skip text (i.e. remove it) and process next element -->
5374
5802
  <!-- [removed_<xsl:value-of select="."/>] -->
5375
5803
  <xsl:apply-templates select="following-sibling::node()[1]" mode="process_li_element">
@@ -5453,12 +5881,22 @@
5453
5881
  </xsl:variable>
5454
5882
  <xsl:variable name="xref_number"><xsl:number count="*[local-name() = 'xref']"/></xsl:variable>
5455
5883
  <xsl:value-of select="concat($docid, '_', $item_number, '_', $xref_number)"/> <!-- $level, '_', -->
5884
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'title']" priority="4">
5885
+ <fo:block xsl:use-attribute-sets="indexsect-title-style">
5886
+ <!-- Index -->
5887
+ <xsl:apply-templates/>
5888
+ </fo:block>
5889
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']/*[local-name() = 'title']" priority="4">
5890
+ <!-- Letter A, B, C, ... -->
5891
+ <fo:block xsl:use-attribute-sets="indexsect-clause-title-style">
5892
+ <xsl:apply-templates/>
5893
+ </fo:block>
5456
5894
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']/*[local-name() = 'clause']" priority="4">
5457
5895
  <xsl:apply-templates/>
5458
5896
  <fo:block>
5459
- <xsl:if test="following-sibling::*[local-name() = 'clause']">
5460
- <fo:block> </fo:block>
5461
- </xsl:if>
5897
+ <xsl:if test="following-sibling::*[local-name() = 'clause']">
5898
+ <fo:block> </fo:block>
5899
+ </xsl:if>
5462
5900
  </fo:block>
5463
5901
  </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'ul']" priority="4">
5464
5902
  <xsl:apply-templates/>
@@ -5468,6 +5906,9 @@
5468
5906
 
5469
5907
  <xsl:apply-templates/>
5470
5908
  </fo:block>
5909
+ </xsl:template><xsl:template match="*[local-name() = 'indexsect']//*[local-name() = 'li']/text()">
5910
+ <!-- to split by '_' and other chars -->
5911
+ <xsl:call-template name="add-zero-spaces-java"/>
5471
5912
  </xsl:template><xsl:template match="*[local-name() = 'bookmark']" name="bookmark">
5472
5913
  <fo:inline id="{@id}" font-size="1pt"/>
5473
5914
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
@@ -5855,7 +6296,7 @@
5855
6296
  </fo:table-body>
5856
6297
  </fo:table>
5857
6298
  </fo:block>
5858
- </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']">
6299
+ </xsl:template><xsl:template match="*[local-name() = 'toc']//*[local-name() = 'li']" priority="2">
5859
6300
  <fo:table-row min-height="5mm">
5860
6301
  <xsl:apply-templates/>
5861
6302
  </fo:table-row>
@@ -6082,9 +6523,6 @@
6082
6523
  <xsl:otherwise><xsl:value-of select="$charAtEnd"/></xsl:otherwise>
6083
6524
  </xsl:choose>
6084
6525
  </xsl:template><xsl:template name="addPDFUAmeta">
6085
- <xsl:variable name="lang">
6086
- <xsl:call-template name="getLang"/>
6087
- </xsl:variable>
6088
6526
  <pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
6089
6527
  <pdf:dictionary type="normal" key="ViewerPreferences">
6090
6528
  <pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
@@ -6312,10 +6750,12 @@
6312
6750
  <xsl:param name="key"/>
6313
6751
  <xsl:param name="formatted">false</xsl:param>
6314
6752
  <xsl:param name="lang"/>
6753
+ <xsl:param name="returnEmptyIfNotFound">false</xsl:param>
6315
6754
 
6316
6755
  <xsl:variable name="curr_lang">
6317
6756
  <xsl:choose>
6318
6757
  <xsl:when test="$lang != ''"><xsl:value-of select="$lang"/></xsl:when>
6758
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
6319
6759
  <xsl:otherwise>
6320
6760
  <xsl:call-template name="getLang"/>
6321
6761
  </xsl:otherwise>
@@ -6350,6 +6790,7 @@
6350
6790
  </xsl:otherwise>
6351
6791
  </xsl:choose>
6352
6792
  </xsl:when>
6793
+ <xsl:when test="$returnEmptyIfNotFound = 'true'"/>
6353
6794
  <xsl:otherwise>
6354
6795
  <xsl:variable name="key_">
6355
6796
  <xsl:call-template name="capitalize">
@@ -786,8 +786,7 @@ div.example p.MsoListParagraph {
786
786
  font-size: {{smallerfontsize}}; }
787
787
 
788
788
  div.Note p.MsoListParagraph {
789
- font-size: {{smallerfontsize}};
790
- margin-left: 1.0cm; }
789
+ font-size: {{smallerfontsize}}; }
791
790
 
792
791
  div.Note span.stem {
793
792
  font-size: {{smallerfontsize}}; }
@@ -745,7 +745,6 @@ div.example p.MsoListParagraph {
745
745
 
746
746
  div.Note p.MsoListParagraph {
747
747
  font-size: $smallerfontsize;
748
- margin-left: 1.0cm;
749
748
  }
750
749
 
751
750
  div.Note span.stem {
@@ -173,9 +173,11 @@
173
173
  <data type="dateTime"/>
174
174
  </attribute>
175
175
  </optional>
176
- <attribute name="from">
177
- <data type="IDREF"/>
178
- </attribute>
176
+ <optional>
177
+ <attribute name="from">
178
+ <data type="IDREF"/>
179
+ </attribute>
180
+ </optional>
179
181
  <optional>
180
182
  <attribute name="to">
181
183
  <data type="IDREF"/>
@@ -209,9 +209,6 @@
209
209
  <zeroOrMore>
210
210
  <ref name="contact"/>
211
211
  </zeroOrMore>
212
- <zeroOrMore>
213
- <ref name="uri"/>
214
- </zeroOrMore>
215
212
  </element>
216
213
  </define>
217
214
  <define name="fullname">
@@ -828,6 +825,11 @@
828
825
  <optional>
829
826
  <attribute name="scope"/>
830
827
  </optional>
828
+ <optional>
829
+ <attribute name="primary">
830
+ <data type="boolean"/>
831
+ </attribute>
832
+ </optional>
831
833
  <text/>
832
834
  </element>
833
835
  </define>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module Csa
3
- VERSION = "2.0.2".freeze
3
+ VERSION = "2.0.3".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csa
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-22 00:00:00.000000000 Z
11
+ date: 2022-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: metanorma-generic