metanorma-iho 0.2.0 → 0.2.1

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