metanorma-iho 0.2.0 → 0.2.1

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: 3eb1d1f60faf44b8588778468d67ab66d77fd558474b98e39d76a22f2e0a676d
4
- data.tar.gz: 6623c86cc70970450bc8f07c01523e1c365dbc065d0db954ea36a391d1521c80
3
+ metadata.gz: 8e664d8fbff7cd6b332768ec2d2b8758ca0ca8fbb54dff3ce2f3ac4b71120293
4
+ data.tar.gz: 1c30862f7a7617224108e5d1454f3437dca09f6f1e48dcace31f20602210cf18
5
5
  SHA512:
6
- metadata.gz: f06bebea95255d6239531f171e86cb95837fb6c69fe91eb25915ca15b87faa245cbddb4a9283e1a65cbc3b1f87230494ff3edf680d58cbad587f1339740e873a
7
- data.tar.gz: c7b4085bf8a18ef1e28740f1dd70d79d7ef6980bb9a1033e11f8be5761db9cf46c987e8fe4a1c308dda7b79bcee980320ec87efd9816c45e56ab63fa5553f74d
6
+ metadata.gz: 235b2e4860250fc5e1a85d8b0cbd66f4df4c2200b8ae3d8d0dd1104309d716d269e826b99a1bb9e02c8d0ff768ad0ac7e37f61f312e535218aaa0c11c3fe504f
7
+ data.tar.gz: cd69caafbbfae68ab3482c6f23f7b20933995bae7c1d57985b4fd63a44dac2b23c0d0e80933f7ca7df5378b564b392bd2a1c245c5bb68d534920b5f25006d2c9
@@ -39,7 +39,7 @@ jobs:
39
39
  polling_interval_seconds: 5
40
40
  timeout_minutes: 5
41
41
  max_attempts: 3
42
- command: sudo bash -c "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
42
+ command: sudo apt-get update -y && sudo bash -c "curl -L https://github.com/metanorma/plantuml-install/raw/master/ubuntu.sh | bash"
43
43
  - name: Run specs
44
44
  run: |
45
45
  bundle exec rake
@@ -30,24 +30,8 @@
30
30
  -->
31
31
  <xsl:variable name="contents">
32
32
  <contents>
33
- <xsl:apply-templates select="/iho:iho-standard/iho:preface/*" mode="contents"/>
34
-
35
- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*" mode="contents"/> <!-- iho:clause[1] [@id = '_scope'] -->
36
-
37
- <!-- [@id = '_normative_references'] -->
38
- <!-- <xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[1]" mode="contents">
39
- <xsl:with-param name="sectionNum" select="'2'"/>
40
- </xsl:apply-templates> -->
41
- <!-- @id != '_scope' -->
42
- <!-- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*[position() &gt; 1]" mode="contents">
43
- <xsl:with-param name="sectionNumSkew" select="'1'"/>
44
- </xsl:apply-templates> -->
45
- <xsl:apply-templates select="/iho:iho-standard/iho:annex" mode="contents"/>
46
-
47
-
48
- <!-- Bibliography -->
49
- <xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[position() &gt; 1]" mode="contents"/> <!-- @id = '_bibliography' -->
50
-
33
+ <xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
34
+ <xsl:call-template name="processMainSectionsDefault_Contents"/>
51
35
  </contents>
52
36
  </xsl:variable>
53
37
 
@@ -277,7 +261,7 @@
277
261
  </fo:block-container>
278
262
 
279
263
  <!-- Foreword, Introduction -->
280
- <xsl:apply-templates select="/iho:iho-standard/iho:preface/*"/>
264
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
281
265
 
282
266
  </fo:flow>
283
267
  </fo:page-sequence>
@@ -302,9 +286,13 @@
302
286
 
303
287
  <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt"><xsl:value-of select="$title-en"/></fo:block>
304
288
 
305
- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*"/>
306
-
307
-
289
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
290
+ <!-- Normative references -->
291
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
292
+ <!-- Terms and definitions -->
293
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
294
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
295
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
308
296
 
309
297
  </fo:block-container>
310
298
  </fo:flow>
@@ -319,12 +307,32 @@
319
307
  </fo:static-content>
320
308
  <xsl:call-template name="insertHeaderFooter"/>
321
309
  <fo:flow flow-name="xsl-region-body">
322
- <fo:block-container>
323
- <xsl:apply-templates select="/iho:iho-standard/iho:annex"/>
310
+ <fo:block-container>
311
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
324
312
  </fo:block-container>
325
313
  </fo:flow>
326
314
  </fo:page-sequence>
327
315
  </xsl:if>
316
+
317
+ <xsl:if test="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]">
318
+ <fo:page-sequence master-reference="document">
319
+ <fo:static-content flow-name="xsl-footnote-separator">
320
+ <fo:block>
321
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
322
+ </fo:block>
323
+ </fo:static-content>
324
+ <xsl:call-template name="insertHeaderFooter"/>
325
+ <fo:flow flow-name="xsl-region-body">
326
+ <fo:block-container>
327
+ <!-- Bibliography -->
328
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
329
+ </fo:block-container>
330
+ </fo:flow>
331
+ </fo:page-sequence>
332
+ </xsl:if>
333
+
334
+
335
+
328
336
  <!-- =========================== -->
329
337
  <!-- End Document Pages -->
330
338
  <!-- =========================== -->
@@ -428,7 +436,7 @@
428
436
  </fo:block>
429
437
  </xsl:template>
430
438
 
431
- <xsl:template match="iho:references[position() &gt; 1]/iho:title">
439
+ <xsl:template match="iho:bibliography/iho:references[not(@normative='true')]/iho:title">
432
440
  <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
433
441
  <xsl:apply-templates/>
434
442
  </fo:block>
@@ -570,13 +578,13 @@
570
578
  <fo:inline font-size="70%" keep-with-previous.within-line="always" vertical-align="super"> <!-- -->
571
579
  <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
572
580
  <!-- <xsl:value-of select="@reference"/> -->
573
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@id='_normative_references']]/iho:note)"/>
581
+ <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
574
582
  </fo:basic-link>
575
583
  </fo:inline>
576
584
  <fo:footnote-body>
577
585
  <fo:block font-size="10pt" margin-bottom="12pt">
578
586
  <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" vertical-align="super" keep-with-next.within-line="always" padding-right="1mm"> <!-- font-size="60%" alignment-baseline="hanging" -->
579
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@id='_normative_references']]/iho:note)"/>
587
+ <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
580
588
  </fo:inline>
581
589
  <xsl:for-each select="iho:p">
582
590
  <xsl:apply-templates/>
@@ -1116,6 +1124,7 @@
1116
1124
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1117
1125
 
1118
1126
 
1127
+
1119
1128
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1120
1129
 
1121
1130
 
@@ -1133,6 +1142,8 @@
1133
1142
 
1134
1143
 
1135
1144
 
1145
+
1146
+
1136
1147
 
1137
1148
 
1138
1149
  </xsl:attribute-set><xsl:attribute-set name="example-p-style">
@@ -1150,6 +1161,8 @@
1150
1161
 
1151
1162
 
1152
1163
 
1164
+
1165
+
1153
1166
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1154
1167
 
1155
1168
 
@@ -1174,6 +1187,7 @@
1174
1187
 
1175
1188
 
1176
1189
 
1190
+
1177
1191
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1178
1192
 
1179
1193
 
@@ -1312,7 +1326,7 @@
1312
1326
 
1313
1327
 
1314
1328
 
1315
-
1329
+
1316
1330
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1317
1331
 
1318
1332
  </xsl:attribute-set><xsl:attribute-set name="image-style">
@@ -1357,7 +1371,43 @@
1357
1371
 
1358
1372
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1359
1373
 
1360
- </xsl:attribute-set><xsl:template match="text()">
1374
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
1375
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1376
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1377
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1378
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1379
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1380
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1381
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1382
+
1383
+ <!-- Normative references -->
1384
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
1385
+ <!-- Terms and definitions -->
1386
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
1387
+ <!-- Another main sections -->
1388
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
1389
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1390
+ <!-- Bibliography -->
1391
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
1392
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1393
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1394
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1395
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1396
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1397
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1398
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1399
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1400
+
1401
+ <!-- Normative references -->
1402
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1403
+ <!-- Terms and definitions -->
1404
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
1405
+ <!-- Another main sections -->
1406
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
1407
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1408
+ <!-- Bibliography -->
1409
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1410
+ </xsl:template><xsl:template match="text()">
1361
1411
  <xsl:value-of select="."/>
1362
1412
  </xsl:template><xsl:template match="*[local-name()='br']">
1363
1413
  <xsl:value-of select="$linebreak"/>
@@ -1440,6 +1490,7 @@
1440
1490
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1441
1491
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
1442
1492
 
1493
+
1443
1494
  <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
1444
1495
 
1445
1496
 
@@ -1455,6 +1506,7 @@
1455
1506
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1456
1507
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
1457
1508
 
1509
+
1458
1510
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1459
1511
  <xsl:choose>
1460
1512
  <xsl:when test=". = 1 or . = 0">
@@ -1705,6 +1757,15 @@
1705
1757
  </fo:table-row>
1706
1758
  </xsl:template><xsl:template match="*[local-name()='th']">
1707
1759
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
1760
+ <xsl:attribute name="text-align">
1761
+ <xsl:choose>
1762
+ <xsl:when test="@align">
1763
+ <xsl:value-of select="@align"/>
1764
+ </xsl:when>
1765
+ <xsl:otherwise>center</xsl:otherwise>
1766
+ </xsl:choose>
1767
+ </xsl:attribute>
1768
+
1708
1769
 
1709
1770
 
1710
1771
 
@@ -1729,6 +1790,14 @@
1729
1790
  </fo:table-cell>
1730
1791
  </xsl:template><xsl:template match="*[local-name()='td']">
1731
1792
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1793
+ <xsl:attribute name="text-align">
1794
+ <xsl:choose>
1795
+ <xsl:when test="@align">
1796
+ <xsl:value-of select="@align"/>
1797
+ </xsl:when>
1798
+ <xsl:otherwise>left</xsl:otherwise>
1799
+ </xsl:choose>
1800
+ </xsl:attribute>
1732
1801
  <!-- and ancestor::*[local-name() = 'thead'] -->
1733
1802
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1734
1803
 
@@ -2937,6 +3006,117 @@
2937
3006
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
2938
3007
  <xsl:apply-templates/>
2939
3008
  </fo:block>
3009
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3010
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3011
+ <fo:block-container margin-left="0mm" margin-right="0mm">
3012
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3013
+ <xsl:variable name="simple-table">
3014
+ <xsl:call-template name="getSimpleTable"/>
3015
+ </xsl:variable>
3016
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3017
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3018
+ <fo:table-column column-width="35mm"/>
3019
+ <fo:table-column column-width="115mm"/>
3020
+ </xsl:if>
3021
+ <xsl:apply-templates mode="requirement"/>
3022
+ </fo:table>
3023
+ <!-- fn processing -->
3024
+ <xsl:if test=".//*[local-name() = 'fn']">
3025
+ <xsl:for-each select="*[local-name() = 'tbody']">
3026
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
3027
+ <xsl:call-template name="fn_display"/>
3028
+ </fo:block>
3029
+ </xsl:for-each>
3030
+ </xsl:if>
3031
+ </fo:block-container>
3032
+ </fo:block-container>
3033
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
3034
+ <fo:table-header>
3035
+ <xsl:apply-templates mode="requirement"/>
3036
+ </fo:table-header>
3037
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
3038
+ <fo:table-body>
3039
+ <xsl:apply-templates mode="requirement"/>
3040
+ </fo:table-body>
3041
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3042
+ <fo:table-row>
3043
+ <xsl:apply-templates mode="requirement"/>
3044
+ </fo:table-row>
3045
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3046
+ <fo:table-cell text-align="{@align}">
3047
+ <xsl:attribute name="text-align">
3048
+ <xsl:choose>
3049
+ <xsl:when test="@align">
3050
+ <xsl:value-of select="@align"/>
3051
+ </xsl:when>
3052
+ <xsl:otherwise>center</xsl:otherwise>
3053
+ </xsl:choose>
3054
+ </xsl:attribute>
3055
+ <xsl:if test="@colspan">
3056
+ <xsl:attribute name="number-columns-spanned">
3057
+ <xsl:value-of select="@colspan"/>
3058
+ </xsl:attribute>
3059
+ </xsl:if>
3060
+ <xsl:if test="@rowspan">
3061
+ <xsl:attribute name="number-rows-spanned">
3062
+ <xsl:value-of select="@rowspan"/>
3063
+ </xsl:attribute>
3064
+ </xsl:if>
3065
+
3066
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3067
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3068
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3069
+ </xsl:if>
3070
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3071
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3072
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3073
+ </xsl:if>
3074
+
3075
+ <fo:block>
3076
+ <xsl:apply-templates/>
3077
+ </fo:block>
3078
+ </fo:table-cell>
3079
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3080
+ <fo:table-cell text-align="{@align}">
3081
+ <xsl:attribute name="text-align">
3082
+ <xsl:choose>
3083
+ <xsl:when test="@align">
3084
+ <xsl:value-of select="@align"/>
3085
+ </xsl:when>
3086
+ <xsl:otherwise>left</xsl:otherwise>
3087
+ </xsl:choose>
3088
+ </xsl:attribute>
3089
+ <xsl:if test="@colspan">
3090
+ <xsl:attribute name="number-columns-spanned">
3091
+ <xsl:value-of select="@colspan"/>
3092
+ </xsl:attribute>
3093
+ </xsl:if>
3094
+ <xsl:if test="@rowspan">
3095
+ <xsl:attribute name="number-rows-spanned">
3096
+ <xsl:value-of select="@rowspan"/>
3097
+ </xsl:attribute>
3098
+ </xsl:if>
3099
+
3100
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3101
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3102
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3103
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3104
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3105
+ </xsl:if>
3106
+ </xsl:if>
3107
+
3108
+ <fo:block>
3109
+ <xsl:apply-templates/>
3110
+ </fo:block>
3111
+ </fo:table-cell>
3112
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3113
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3114
+ <xsl:apply-templates/>
3115
+ </fo:block>
3116
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3117
+ <fo:block margin-bottom="10pt">
3118
+ <xsl:apply-templates/>
3119
+ </fo:block>
2940
3120
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
2941
3121
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
2942
3122
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3218,7 +3398,7 @@
3218
3398
  <fo:block id="{@id}">
3219
3399
  <xsl:apply-templates/>
3220
3400
  </fo:block>
3221
- </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3401
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
3222
3402
 
3223
3403
  <fo:block id="{@id}">
3224
3404
  <xsl:apply-templates/>
@@ -3472,7 +3652,8 @@
3472
3652
 
3473
3653
  <xsl:value-of select="document('')//*/namespace::iho"/>
3474
3654
 
3475
-
3655
+
3656
+
3476
3657
  </xsl:variable>
3477
3658
  <xsl:if test="$documentNS != $XSLNS">
3478
3659
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -30,24 +30,8 @@
30
30
  -->
31
31
  <xsl:variable name="contents">
32
32
  <contents>
33
- <xsl:apply-templates select="/iho:iho-standard/iho:preface/*" mode="contents"/>
34
-
35
- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*" mode="contents"/> <!-- iho:clause[1] [@id = '_scope'] -->
36
-
37
- <!-- [@id = '_normative_references'] -->
38
- <!-- <xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[1]" mode="contents">
39
- <xsl:with-param name="sectionNum" select="'2'"/>
40
- </xsl:apply-templates> -->
41
- <!-- @id != '_scope' -->
42
- <!-- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*[position() &gt; 1]" mode="contents">
43
- <xsl:with-param name="sectionNumSkew" select="'1'"/>
44
- </xsl:apply-templates> -->
45
- <xsl:apply-templates select="/iho:iho-standard/iho:annex" mode="contents"/>
46
-
47
-
48
- <!-- Bibliography -->
49
- <xsl:apply-templates select="/iho:iho-standard/iho:bibliography/iho:references[position() &gt; 1]" mode="contents"/> <!-- @id = '_bibliography' -->
50
-
33
+ <xsl:call-template name="processPrefaceSectionsDefault_Contents"/>
34
+ <xsl:call-template name="processMainSectionsDefault_Contents"/>
51
35
  </contents>
52
36
  </xsl:variable>
53
37
 
@@ -277,7 +261,7 @@
277
261
  </fo:block-container>
278
262
 
279
263
  <!-- Foreword, Introduction -->
280
- <xsl:apply-templates select="/iho:iho-standard/iho:preface/*"/>
264
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
281
265
 
282
266
  </fo:flow>
283
267
  </fo:page-sequence>
@@ -302,9 +286,13 @@
302
286
 
303
287
  <fo:block font-size="16pt" font-weight="bold" margin-bottom="18pt"><xsl:value-of select="$title-en"/></fo:block>
304
288
 
305
- <xsl:apply-templates select="/iho:iho-standard/iho:sections/*"/>
306
-
307
-
289
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
290
+ <!-- Normative references -->
291
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
292
+ <!-- Terms and definitions -->
293
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms']"/>
294
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='definitions']"/>
295
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope')]"/>
308
296
 
309
297
  </fo:block-container>
310
298
  </fo:flow>
@@ -319,12 +307,32 @@
319
307
  </fo:static-content>
320
308
  <xsl:call-template name="insertHeaderFooter"/>
321
309
  <fo:flow flow-name="xsl-region-body">
322
- <fo:block-container>
323
- <xsl:apply-templates select="/iho:iho-standard/iho:annex"/>
310
+ <fo:block-container>
311
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
324
312
  </fo:block-container>
325
313
  </fo:flow>
326
314
  </fo:page-sequence>
327
315
  </xsl:if>
316
+
317
+ <xsl:if test="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]">
318
+ <fo:page-sequence master-reference="document">
319
+ <fo:static-content flow-name="xsl-footnote-separator">
320
+ <fo:block>
321
+ <fo:leader leader-pattern="rule" leader-length="30%"/>
322
+ </fo:block>
323
+ </fo:static-content>
324
+ <xsl:call-template name="insertHeaderFooter"/>
325
+ <fo:flow flow-name="xsl-region-body">
326
+ <fo:block-container>
327
+ <!-- Bibliography -->
328
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
329
+ </fo:block-container>
330
+ </fo:flow>
331
+ </fo:page-sequence>
332
+ </xsl:if>
333
+
334
+
335
+
328
336
  <!-- =========================== -->
329
337
  <!-- End Document Pages -->
330
338
  <!-- =========================== -->
@@ -428,7 +436,7 @@
428
436
  </fo:block>
429
437
  </xsl:template>
430
438
 
431
- <xsl:template match="iho:references[position() &gt; 1]/iho:title">
439
+ <xsl:template match="iho:bibliography/iho:references[not(@normative='true')]/iho:title">
432
440
  <fo:block font-size="16pt" font-weight="bold" text-align="center" margin-top="6pt" margin-bottom="36pt" keep-with-next="always">
433
441
  <xsl:apply-templates/>
434
442
  </fo:block>
@@ -570,13 +578,13 @@
570
578
  <fo:inline font-size="70%" keep-with-previous.within-line="always" vertical-align="super"> <!-- -->
571
579
  <fo:basic-link internal-destination="footnote_{@reference}_{$number}" fox:alt-text="footnote {@reference} {$number}">
572
580
  <!-- <xsl:value-of select="@reference"/> -->
573
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@id='_normative_references']]/iho:note)"/>
581
+ <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
574
582
  </fo:basic-link>
575
583
  </fo:inline>
576
584
  <fo:footnote-body>
577
585
  <fo:block font-size="10pt" margin-bottom="12pt">
578
586
  <fo:inline id="footnote_{@reference}_{$number}" font-size="60%" vertical-align="super" keep-with-next.within-line="always" padding-right="1mm"> <!-- font-size="60%" alignment-baseline="hanging" -->
579
- <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@id='_normative_references']]/iho:note)"/>
587
+ <xsl:value-of select="$number + count(//iho:bibitem[ancestor::iho:references[@normative='true']]/iho:note)"/>
580
588
  </fo:inline>
581
589
  <xsl:for-each select="iho:p">
582
590
  <xsl:apply-templates/>
@@ -1116,6 +1124,7 @@
1116
1124
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1117
1125
 
1118
1126
 
1127
+
1119
1128
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1120
1129
 
1121
1130
 
@@ -1133,6 +1142,8 @@
1133
1142
 
1134
1143
 
1135
1144
 
1145
+
1146
+
1136
1147
 
1137
1148
 
1138
1149
  </xsl:attribute-set><xsl:attribute-set name="example-p-style">
@@ -1150,6 +1161,8 @@
1150
1161
 
1151
1162
 
1152
1163
 
1164
+
1165
+
1153
1166
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1154
1167
 
1155
1168
 
@@ -1174,6 +1187,7 @@
1174
1187
 
1175
1188
 
1176
1189
 
1190
+
1177
1191
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1178
1192
 
1179
1193
 
@@ -1312,7 +1326,7 @@
1312
1326
 
1313
1327
 
1314
1328
 
1315
-
1329
+
1316
1330
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1317
1331
 
1318
1332
  </xsl:attribute-set><xsl:attribute-set name="image-style">
@@ -1357,7 +1371,43 @@
1357
1371
 
1358
1372
  <xsl:attribute name="margin-bottom">6pt</xsl:attribute>
1359
1373
 
1360
- </xsl:attribute-set><xsl:template match="text()">
1374
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
1375
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1376
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1377
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1378
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1379
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1380
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1381
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1382
+
1383
+ <!-- Normative references -->
1384
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
1385
+ <!-- Terms and definitions -->
1386
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]" mode="contents"/>
1387
+ <!-- Another main sections -->
1388
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]" mode="contents"/>
1389
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1390
+ <!-- Bibliography -->
1391
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
1392
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1393
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1394
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1395
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1396
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1397
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1398
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1399
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1400
+
1401
+ <!-- Normative references -->
1402
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1403
+ <!-- Terms and definitions -->
1404
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='terms'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='terms']] | /*/*[local-name()='sections']/*[local-name()='definitions'] | /*/*[local-name()='sections']/*[local-name()='clause'][.//*[local-name()='definitions']]"/>
1405
+ <!-- Another main sections -->
1406
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name() != 'terms' and local-name() != 'definitions' and not(@type='scope') and not(local-name() = 'clause' and .//*[local-name()='terms']) and not(local-name() = 'clause' and .//*[local-name()='definitions'])]"/>
1407
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1408
+ <!-- Bibliography -->
1409
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1410
+ </xsl:template><xsl:template match="text()">
1361
1411
  <xsl:value-of select="."/>
1362
1412
  </xsl:template><xsl:template match="*[local-name()='br']">
1363
1413
  <xsl:value-of select="$linebreak"/>
@@ -1440,6 +1490,7 @@
1440
1490
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1441
1491
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
1442
1492
 
1493
+
1443
1494
  <fo:table id="{@id}" table-layout="fixed" width="100%" margin-left="{$margin-left}mm" margin-right="{$margin-left}mm" table-omit-footer-at-break="true">
1444
1495
 
1445
1496
 
@@ -1455,6 +1506,7 @@
1455
1506
  <xsl:attribute name="margin-left">0mm</xsl:attribute>
1456
1507
  <xsl:attribute name="margin-right">0mm</xsl:attribute>
1457
1508
 
1509
+
1458
1510
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1459
1511
  <xsl:choose>
1460
1512
  <xsl:when test=". = 1 or . = 0">
@@ -1705,6 +1757,15 @@
1705
1757
  </fo:table-row>
1706
1758
  </xsl:template><xsl:template match="*[local-name()='th']">
1707
1759
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
1760
+ <xsl:attribute name="text-align">
1761
+ <xsl:choose>
1762
+ <xsl:when test="@align">
1763
+ <xsl:value-of select="@align"/>
1764
+ </xsl:when>
1765
+ <xsl:otherwise>center</xsl:otherwise>
1766
+ </xsl:choose>
1767
+ </xsl:attribute>
1768
+
1708
1769
 
1709
1770
 
1710
1771
 
@@ -1729,6 +1790,14 @@
1729
1790
  </fo:table-cell>
1730
1791
  </xsl:template><xsl:template match="*[local-name()='td']">
1731
1792
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1793
+ <xsl:attribute name="text-align">
1794
+ <xsl:choose>
1795
+ <xsl:when test="@align">
1796
+ <xsl:value-of select="@align"/>
1797
+ </xsl:when>
1798
+ <xsl:otherwise>left</xsl:otherwise>
1799
+ </xsl:choose>
1800
+ </xsl:attribute>
1732
1801
  <!-- and ancestor::*[local-name() = 'thead'] -->
1733
1802
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
1734
1803
 
@@ -2937,6 +3006,117 @@
2937
3006
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
2938
3007
  <xsl:apply-templates/>
2939
3008
  </fo:block>
3009
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3010
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3011
+ <fo:block-container margin-left="0mm" margin-right="0mm">
3012
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3013
+ <xsl:variable name="simple-table">
3014
+ <xsl:call-template name="getSimpleTable"/>
3015
+ </xsl:variable>
3016
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3017
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3018
+ <fo:table-column column-width="35mm"/>
3019
+ <fo:table-column column-width="115mm"/>
3020
+ </xsl:if>
3021
+ <xsl:apply-templates mode="requirement"/>
3022
+ </fo:table>
3023
+ <!-- fn processing -->
3024
+ <xsl:if test=".//*[local-name() = 'fn']">
3025
+ <xsl:for-each select="*[local-name() = 'tbody']">
3026
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
3027
+ <xsl:call-template name="fn_display"/>
3028
+ </fo:block>
3029
+ </xsl:for-each>
3030
+ </xsl:if>
3031
+ </fo:block-container>
3032
+ </fo:block-container>
3033
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
3034
+ <fo:table-header>
3035
+ <xsl:apply-templates mode="requirement"/>
3036
+ </fo:table-header>
3037
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
3038
+ <fo:table-body>
3039
+ <xsl:apply-templates mode="requirement"/>
3040
+ </fo:table-body>
3041
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3042
+ <fo:table-row>
3043
+ <xsl:apply-templates mode="requirement"/>
3044
+ </fo:table-row>
3045
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3046
+ <fo:table-cell text-align="{@align}">
3047
+ <xsl:attribute name="text-align">
3048
+ <xsl:choose>
3049
+ <xsl:when test="@align">
3050
+ <xsl:value-of select="@align"/>
3051
+ </xsl:when>
3052
+ <xsl:otherwise>center</xsl:otherwise>
3053
+ </xsl:choose>
3054
+ </xsl:attribute>
3055
+ <xsl:if test="@colspan">
3056
+ <xsl:attribute name="number-columns-spanned">
3057
+ <xsl:value-of select="@colspan"/>
3058
+ </xsl:attribute>
3059
+ </xsl:if>
3060
+ <xsl:if test="@rowspan">
3061
+ <xsl:attribute name="number-rows-spanned">
3062
+ <xsl:value-of select="@rowspan"/>
3063
+ </xsl:attribute>
3064
+ </xsl:if>
3065
+
3066
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3067
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3068
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3069
+ </xsl:if>
3070
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3071
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3072
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3073
+ </xsl:if>
3074
+
3075
+ <fo:block>
3076
+ <xsl:apply-templates/>
3077
+ </fo:block>
3078
+ </fo:table-cell>
3079
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3080
+ <fo:table-cell text-align="{@align}">
3081
+ <xsl:attribute name="text-align">
3082
+ <xsl:choose>
3083
+ <xsl:when test="@align">
3084
+ <xsl:value-of select="@align"/>
3085
+ </xsl:when>
3086
+ <xsl:otherwise>left</xsl:otherwise>
3087
+ </xsl:choose>
3088
+ </xsl:attribute>
3089
+ <xsl:if test="@colspan">
3090
+ <xsl:attribute name="number-columns-spanned">
3091
+ <xsl:value-of select="@colspan"/>
3092
+ </xsl:attribute>
3093
+ </xsl:if>
3094
+ <xsl:if test="@rowspan">
3095
+ <xsl:attribute name="number-rows-spanned">
3096
+ <xsl:value-of select="@rowspan"/>
3097
+ </xsl:attribute>
3098
+ </xsl:if>
3099
+
3100
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3101
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3102
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3103
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3104
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3105
+ </xsl:if>
3106
+ </xsl:if>
3107
+
3108
+ <fo:block>
3109
+ <xsl:apply-templates/>
3110
+ </fo:block>
3111
+ </fo:table-cell>
3112
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3113
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3114
+ <xsl:apply-templates/>
3115
+ </fo:block>
3116
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3117
+ <fo:block margin-bottom="10pt">
3118
+ <xsl:apply-templates/>
3119
+ </fo:block>
2940
3120
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
2941
3121
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
2942
3122
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3218,7 +3398,7 @@
3218
3398
  <fo:block id="{@id}">
3219
3399
  <xsl:apply-templates/>
3220
3400
  </fo:block>
3221
- </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3401
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
3222
3402
 
3223
3403
  <fo:block id="{@id}">
3224
3404
  <xsl:apply-templates/>
@@ -3472,7 +3652,8 @@
3472
3652
 
3473
3653
  <xsl:value-of select="document('')//*/namespace::iho"/>
3474
3654
 
3475
-
3655
+
3656
+
3476
3657
  </xsl:variable>
3477
3658
  <xsl:if test="$documentNS != $XSLNS">
3478
3659
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module IHO
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-iho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities