metanorma-un 0.5.0 → 0.5.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: 84ac6004180fc5b55f02c08ce72d19b4b2e0de5f5b406f4c6796fe5595edeee6
4
- data.tar.gz: 0d742071c23c5455cca3ddcd9a13dcdcf45ad781478dfad4a4297510697e5f70
3
+ metadata.gz: b28c1aef3c3e25135a7c96ddde3a01a0eaee668dd7e8f056b34466de59fe2241
4
+ data.tar.gz: 0a9b7d475632ed485456f45b70d3ea1a238f35002f7f115b7abf5fc634645731
5
5
  SHA512:
6
- metadata.gz: e0d3b23e08336a19b8000792d0facbb9e7311f77ef014e5931503027b5dd9e54fa84e6135c4e38535a8bc0a75d476f5b8ac95443cda73b1e9c4cb19a3d5b3571
7
- data.tar.gz: 88d72ed256d4c45d0c1873c42423fcc6449a99b0a3efa8d842f9d33fcf63dc823a102fac228b4c3fb9a82f737e20cd3befeb6a43e59c7b13884a4c7f301216b6
6
+ metadata.gz: e00312eecc133e605ff3ba9a25cbb0179442844b79ccae409f5e4836f72b470da37b9f3f4698051854424fe371a0cb856a1d1081f3b70c9c5aeed204faeb1048
7
+ data.tar.gz: 9146431e823c7bc83525ba3e4f925455289265ca8582ff8e0261c55e551c5c06feeae7fca34e48e1c176a4aa248c9e00b29414b95d4a2f85c01f020fee6b3fcd
@@ -11,24 +11,8 @@ module Asciidoctor
11
11
 
12
12
  register_for "un"
13
13
 
14
- def metadata_author(node, xml)
15
- xml.contributor do |c|
16
- c.role **{ type: "author" }
17
- c.organization do |a|
18
- a.name Metanorma::UN::ORGANIZATION_NAME_LONG
19
- a.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
20
- end
21
- end
22
- end
23
-
24
- def metadata_publisher(node, xml)
25
- xml.contributor do |c|
26
- c.role **{ type: "publisher" }
27
- c.organization do |a|
28
- a.name Metanorma::UN::ORGANIZATION_NAME_LONG
29
- a.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
30
- end
31
- end
14
+ def default_publisher
15
+ "United Nations"
32
16
  end
33
17
 
34
18
  def metadata_committee(node, xml)
@@ -58,8 +42,8 @@ module Asciidoctor
58
42
  node.attr("subtitle") and
59
43
  xml.title **{ type: "subtitle", language: lang,
60
44
  format: "text/plain" } do |t|
61
- t << asciidoc_sub(node.attr("subtitle"))
62
- end
45
+ t << asciidoc_sub(node.attr("subtitle"))
46
+ end
63
47
  end
64
48
  end
65
49
 
@@ -74,19 +58,6 @@ module Asciidoctor
74
58
  xml.docnumber { |i| i << node.attr("docnumber") }
75
59
  end
76
60
 
77
- def metadata_copyright(node, xml)
78
- from = node.attr("copyright-year") || Date.today.year
79
- xml.copyright do |c|
80
- c.from from
81
- c.owner do |owner|
82
- owner.organization do |o|
83
- o.name Metanorma::UN::ORGANIZATION_NAME_LONG
84
- o.abbreviation Metanorma::UN::ORGANIZATION_NAME_SHORT
85
- end
86
- end
87
- end
88
- end
89
-
90
61
  def metadata_distribution(node, xml)
91
62
  xml.distribution node.attr("distribution") if node.attr("distribution")
92
63
  end
@@ -237,7 +208,7 @@ module Asciidoctor
237
208
 
238
209
  def admonition_attrs(node)
239
210
  attr_code(super.merge("unnumbered": node.option?("unnumbered"),
240
- "subsequence": node.attr("subsequence")))
211
+ "subsequence": node.attr("subsequence")))
241
212
  end
242
213
 
243
214
  def sectiontype_streamline(ret)
@@ -235,9 +235,19 @@
235
235
  <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
236
236
  </xsl:if>
237
237
 
238
+ <!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
239
+ <xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract')]">
240
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
241
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
242
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
243
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
244
+ <fo:block break-after="page"/>
245
+ </xsl:if>
246
+
238
247
  <fo:block>
239
248
  <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
240
249
  <xsl:apply-templates select="/un:un-standard/un:annex"/>
250
+ <xsl:apply-templates select="/un:un-standard/un:bibliography/un:references"/>
241
251
  </fo:block>
242
252
 
243
253
  <fo:block-container margin-left="50mm" width="30mm" border-bottom="0.5pt solid black" margin-top="12pt" keep-with-previous="always">
@@ -1221,6 +1231,7 @@
1221
1231
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1222
1232
 
1223
1233
 
1234
+
1224
1235
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1225
1236
 
1226
1237
 
@@ -1240,6 +1251,8 @@
1240
1251
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1241
1252
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1242
1253
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1254
+
1255
+
1243
1256
 
1244
1257
 
1245
1258
  </xsl:attribute-set><xsl:attribute-set name="example-p-style">
@@ -1259,6 +1272,8 @@
1259
1272
  <xsl:attribute name="margin-left">15mm</xsl:attribute>
1260
1273
 
1261
1274
 
1275
+
1276
+
1262
1277
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1263
1278
 
1264
1279
 
@@ -1283,6 +1298,7 @@
1283
1298
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1284
1299
 
1285
1300
 
1301
+
1286
1302
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1287
1303
 
1288
1304
 
@@ -1398,7 +1414,7 @@
1398
1414
 
1399
1415
 
1400
1416
 
1401
-
1417
+
1402
1418
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1403
1419
 
1404
1420
  </xsl:attribute-set><xsl:attribute-set name="image-style">
@@ -1443,7 +1459,43 @@
1443
1459
  </xsl:attribute-set><xsl:attribute-set name="definition-style">
1444
1460
 
1445
1461
 
1446
- </xsl:attribute-set><xsl:template match="text()">
1462
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
1463
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1464
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1465
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1466
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1467
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1468
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1469
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1470
+
1471
+ <!-- Normative references -->
1472
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
1473
+ <!-- Terms and definitions -->
1474
+ <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"/>
1475
+ <!-- Another main sections -->
1476
+ <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"/>
1477
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1478
+ <!-- Bibliography -->
1479
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
1480
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1481
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1482
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1483
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1484
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1485
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1486
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1487
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1488
+
1489
+ <!-- Normative references -->
1490
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1491
+ <!-- Terms and definitions -->
1492
+ <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']]"/>
1493
+ <!-- Another main sections -->
1494
+ <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'])]"/>
1495
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1496
+ <!-- Bibliography -->
1497
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1498
+ </xsl:template><xsl:template match="text()">
1447
1499
  <xsl:value-of select="."/>
1448
1500
  </xsl:template><xsl:template match="*[local-name()='br']">
1449
1501
  <xsl:value-of select="$linebreak"/>
@@ -1524,6 +1576,7 @@
1524
1576
 
1525
1577
 
1526
1578
 
1579
+
1527
1580
  <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">
1528
1581
 
1529
1582
 
@@ -1539,6 +1592,7 @@
1539
1592
 
1540
1593
 
1541
1594
 
1595
+
1542
1596
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1543
1597
  <xsl:choose>
1544
1598
  <xsl:when test=". = 1 or . = 0">
@@ -1793,6 +1847,14 @@
1793
1847
  </fo:table-row>
1794
1848
  </xsl:template><xsl:template match="*[local-name()='th']">
1795
1849
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
1850
+ <xsl:attribute name="text-align">
1851
+ <xsl:choose>
1852
+ <xsl:when test="@align">
1853
+ <xsl:value-of select="@align"/>
1854
+ </xsl:when>
1855
+ <xsl:otherwise>center</xsl:otherwise>
1856
+ </xsl:choose>
1857
+ </xsl:attribute>
1796
1858
 
1797
1859
 
1798
1860
 
@@ -1811,6 +1873,7 @@
1811
1873
  <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
1812
1874
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1813
1875
 
1876
+
1814
1877
  <xsl:if test="@colspan">
1815
1878
  <xsl:attribute name="number-columns-spanned">
1816
1879
  <xsl:value-of select="@colspan"/>
@@ -1827,6 +1890,14 @@
1827
1890
  </fo:table-cell>
1828
1891
  </xsl:template><xsl:template match="*[local-name()='td']">
1829
1892
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1893
+ <xsl:attribute name="text-align">
1894
+ <xsl:choose>
1895
+ <xsl:when test="@align">
1896
+ <xsl:value-of select="@align"/>
1897
+ </xsl:when>
1898
+ <xsl:otherwise>left</xsl:otherwise>
1899
+ </xsl:choose>
1900
+ </xsl:attribute>
1830
1901
 
1831
1902
 
1832
1903
 
@@ -3048,6 +3119,117 @@
3048
3119
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
3049
3120
  <xsl:apply-templates/>
3050
3121
  </fo:block>
3122
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3123
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3124
+ <fo:block-container margin-left="0mm" margin-right="0mm">
3125
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3126
+ <xsl:variable name="simple-table">
3127
+ <xsl:call-template name="getSimpleTable"/>
3128
+ </xsl:variable>
3129
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3130
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3131
+ <fo:table-column column-width="35mm"/>
3132
+ <fo:table-column column-width="115mm"/>
3133
+ </xsl:if>
3134
+ <xsl:apply-templates mode="requirement"/>
3135
+ </fo:table>
3136
+ <!-- fn processing -->
3137
+ <xsl:if test=".//*[local-name() = 'fn']">
3138
+ <xsl:for-each select="*[local-name() = 'tbody']">
3139
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
3140
+ <xsl:call-template name="fn_display"/>
3141
+ </fo:block>
3142
+ </xsl:for-each>
3143
+ </xsl:if>
3144
+ </fo:block-container>
3145
+ </fo:block-container>
3146
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
3147
+ <fo:table-header>
3148
+ <xsl:apply-templates mode="requirement"/>
3149
+ </fo:table-header>
3150
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
3151
+ <fo:table-body>
3152
+ <xsl:apply-templates mode="requirement"/>
3153
+ </fo:table-body>
3154
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3155
+ <fo:table-row>
3156
+ <xsl:apply-templates mode="requirement"/>
3157
+ </fo:table-row>
3158
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3159
+ <fo:table-cell text-align="{@align}">
3160
+ <xsl:attribute name="text-align">
3161
+ <xsl:choose>
3162
+ <xsl:when test="@align">
3163
+ <xsl:value-of select="@align"/>
3164
+ </xsl:when>
3165
+ <xsl:otherwise>center</xsl:otherwise>
3166
+ </xsl:choose>
3167
+ </xsl:attribute>
3168
+ <xsl:if test="@colspan">
3169
+ <xsl:attribute name="number-columns-spanned">
3170
+ <xsl:value-of select="@colspan"/>
3171
+ </xsl:attribute>
3172
+ </xsl:if>
3173
+ <xsl:if test="@rowspan">
3174
+ <xsl:attribute name="number-rows-spanned">
3175
+ <xsl:value-of select="@rowspan"/>
3176
+ </xsl:attribute>
3177
+ </xsl:if>
3178
+
3179
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3180
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3181
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3182
+ </xsl:if>
3183
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3184
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3185
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3186
+ </xsl:if>
3187
+
3188
+ <fo:block>
3189
+ <xsl:apply-templates/>
3190
+ </fo:block>
3191
+ </fo:table-cell>
3192
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3193
+ <fo:table-cell text-align="{@align}">
3194
+ <xsl:attribute name="text-align">
3195
+ <xsl:choose>
3196
+ <xsl:when test="@align">
3197
+ <xsl:value-of select="@align"/>
3198
+ </xsl:when>
3199
+ <xsl:otherwise>left</xsl:otherwise>
3200
+ </xsl:choose>
3201
+ </xsl:attribute>
3202
+ <xsl:if test="@colspan">
3203
+ <xsl:attribute name="number-columns-spanned">
3204
+ <xsl:value-of select="@colspan"/>
3205
+ </xsl:attribute>
3206
+ </xsl:if>
3207
+ <xsl:if test="@rowspan">
3208
+ <xsl:attribute name="number-rows-spanned">
3209
+ <xsl:value-of select="@rowspan"/>
3210
+ </xsl:attribute>
3211
+ </xsl:if>
3212
+
3213
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3214
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3215
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3216
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3217
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3218
+ </xsl:if>
3219
+ </xsl:if>
3220
+
3221
+ <fo:block>
3222
+ <xsl:apply-templates/>
3223
+ </fo:block>
3224
+ </fo:table-cell>
3225
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3226
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3227
+ <xsl:apply-templates/>
3228
+ </fo:block>
3229
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3230
+ <fo:block margin-bottom="10pt">
3231
+ <xsl:apply-templates/>
3232
+ </fo:block>
3051
3233
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
3052
3234
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
3053
3235
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3332,7 +3514,7 @@
3332
3514
  <fo:block id="{@id}">
3333
3515
  <xsl:apply-templates/>
3334
3516
  </fo:block>
3335
- </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3517
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
3336
3518
 
3337
3519
  <fo:block id="{@id}">
3338
3520
  <xsl:apply-templates/>
@@ -3589,7 +3771,8 @@
3589
3771
 
3590
3772
 
3591
3773
 
3592
-
3774
+
3775
+
3593
3776
  </xsl:variable>
3594
3777
  <xsl:if test="$documentNS != $XSLNS">
3595
3778
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -235,9 +235,19 @@
235
235
  <xsl:text disable-output-escaping="yes">--&gt;</xsl:text>
236
236
  </xsl:if>
237
237
 
238
+ <!-- Preface Pages (except Abstract, that showed in Summary on cover page`) -->
239
+ <xsl:if test="/un:un-standard/un:preface/*[not(local-name() = 'abstract')]">
240
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
241
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
242
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
243
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
244
+ <fo:block break-after="page"/>
245
+ </xsl:if>
246
+
238
247
  <fo:block>
239
248
  <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
240
249
  <xsl:apply-templates select="/un:un-standard/un:annex"/>
250
+ <xsl:apply-templates select="/un:un-standard/un:bibliography/un:references"/>
241
251
  </fo:block>
242
252
 
243
253
  <fo:block-container margin-left="50mm" width="30mm" border-bottom="0.5pt solid black" margin-top="12pt" keep-with-previous="always">
@@ -1221,6 +1231,7 @@
1221
1231
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1222
1232
 
1223
1233
 
1234
+
1224
1235
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1225
1236
 
1226
1237
 
@@ -1240,6 +1251,8 @@
1240
1251
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1241
1252
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1242
1253
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1254
+
1255
+
1243
1256
 
1244
1257
 
1245
1258
  </xsl:attribute-set><xsl:attribute-set name="example-p-style">
@@ -1259,6 +1272,8 @@
1259
1272
  <xsl:attribute name="margin-left">15mm</xsl:attribute>
1260
1273
 
1261
1274
 
1275
+
1276
+
1262
1277
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1263
1278
 
1264
1279
 
@@ -1283,6 +1298,7 @@
1283
1298
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1284
1299
 
1285
1300
 
1301
+
1286
1302
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1287
1303
 
1288
1304
 
@@ -1398,7 +1414,7 @@
1398
1414
 
1399
1415
 
1400
1416
 
1401
-
1417
+
1402
1418
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1403
1419
 
1404
1420
  </xsl:attribute-set><xsl:attribute-set name="image-style">
@@ -1443,7 +1459,43 @@
1443
1459
  </xsl:attribute-set><xsl:attribute-set name="definition-style">
1444
1460
 
1445
1461
 
1446
- </xsl:attribute-set><xsl:template match="text()">
1462
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
1463
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1464
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1465
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1466
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1467
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1468
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1469
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1470
+
1471
+ <!-- Normative references -->
1472
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
1473
+ <!-- Terms and definitions -->
1474
+ <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"/>
1475
+ <!-- Another main sections -->
1476
+ <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"/>
1477
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1478
+ <!-- Bibliography -->
1479
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
1480
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1481
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1482
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1483
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1484
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1485
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1486
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1487
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1488
+
1489
+ <!-- Normative references -->
1490
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1491
+ <!-- Terms and definitions -->
1492
+ <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']]"/>
1493
+ <!-- Another main sections -->
1494
+ <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'])]"/>
1495
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1496
+ <!-- Bibliography -->
1497
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1498
+ </xsl:template><xsl:template match="text()">
1447
1499
  <xsl:value-of select="."/>
1448
1500
  </xsl:template><xsl:template match="*[local-name()='br']">
1449
1501
  <xsl:value-of select="$linebreak"/>
@@ -1524,6 +1576,7 @@
1524
1576
 
1525
1577
 
1526
1578
 
1579
+
1527
1580
  <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">
1528
1581
 
1529
1582
 
@@ -1539,6 +1592,7 @@
1539
1592
 
1540
1593
 
1541
1594
 
1595
+
1542
1596
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1543
1597
  <xsl:choose>
1544
1598
  <xsl:when test=". = 1 or . = 0">
@@ -1793,6 +1847,14 @@
1793
1847
  </fo:table-row>
1794
1848
  </xsl:template><xsl:template match="*[local-name()='th']">
1795
1849
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
1850
+ <xsl:attribute name="text-align">
1851
+ <xsl:choose>
1852
+ <xsl:when test="@align">
1853
+ <xsl:value-of select="@align"/>
1854
+ </xsl:when>
1855
+ <xsl:otherwise>center</xsl:otherwise>
1856
+ </xsl:choose>
1857
+ </xsl:attribute>
1796
1858
 
1797
1859
 
1798
1860
 
@@ -1811,6 +1873,7 @@
1811
1873
  <xsl:attribute name="border-bottom">solid black 1.5pt</xsl:attribute>
1812
1874
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1813
1875
 
1876
+
1814
1877
  <xsl:if test="@colspan">
1815
1878
  <xsl:attribute name="number-columns-spanned">
1816
1879
  <xsl:value-of select="@colspan"/>
@@ -1827,6 +1890,14 @@
1827
1890
  </fo:table-cell>
1828
1891
  </xsl:template><xsl:template match="*[local-name()='td']">
1829
1892
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1893
+ <xsl:attribute name="text-align">
1894
+ <xsl:choose>
1895
+ <xsl:when test="@align">
1896
+ <xsl:value-of select="@align"/>
1897
+ </xsl:when>
1898
+ <xsl:otherwise>left</xsl:otherwise>
1899
+ </xsl:choose>
1900
+ </xsl:attribute>
1830
1901
 
1831
1902
 
1832
1903
 
@@ -3048,6 +3119,117 @@
3048
3119
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
3049
3120
  <xsl:apply-templates/>
3050
3121
  </fo:block>
3122
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3123
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3124
+ <fo:block-container margin-left="0mm" margin-right="0mm">
3125
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3126
+ <xsl:variable name="simple-table">
3127
+ <xsl:call-template name="getSimpleTable"/>
3128
+ </xsl:variable>
3129
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3130
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3131
+ <fo:table-column column-width="35mm"/>
3132
+ <fo:table-column column-width="115mm"/>
3133
+ </xsl:if>
3134
+ <xsl:apply-templates mode="requirement"/>
3135
+ </fo:table>
3136
+ <!-- fn processing -->
3137
+ <xsl:if test=".//*[local-name() = 'fn']">
3138
+ <xsl:for-each select="*[local-name() = 'tbody']">
3139
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
3140
+ <xsl:call-template name="fn_display"/>
3141
+ </fo:block>
3142
+ </xsl:for-each>
3143
+ </xsl:if>
3144
+ </fo:block-container>
3145
+ </fo:block-container>
3146
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
3147
+ <fo:table-header>
3148
+ <xsl:apply-templates mode="requirement"/>
3149
+ </fo:table-header>
3150
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
3151
+ <fo:table-body>
3152
+ <xsl:apply-templates mode="requirement"/>
3153
+ </fo:table-body>
3154
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3155
+ <fo:table-row>
3156
+ <xsl:apply-templates mode="requirement"/>
3157
+ </fo:table-row>
3158
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3159
+ <fo:table-cell text-align="{@align}">
3160
+ <xsl:attribute name="text-align">
3161
+ <xsl:choose>
3162
+ <xsl:when test="@align">
3163
+ <xsl:value-of select="@align"/>
3164
+ </xsl:when>
3165
+ <xsl:otherwise>center</xsl:otherwise>
3166
+ </xsl:choose>
3167
+ </xsl:attribute>
3168
+ <xsl:if test="@colspan">
3169
+ <xsl:attribute name="number-columns-spanned">
3170
+ <xsl:value-of select="@colspan"/>
3171
+ </xsl:attribute>
3172
+ </xsl:if>
3173
+ <xsl:if test="@rowspan">
3174
+ <xsl:attribute name="number-rows-spanned">
3175
+ <xsl:value-of select="@rowspan"/>
3176
+ </xsl:attribute>
3177
+ </xsl:if>
3178
+
3179
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3180
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3181
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3182
+ </xsl:if>
3183
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3184
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3185
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3186
+ </xsl:if>
3187
+
3188
+ <fo:block>
3189
+ <xsl:apply-templates/>
3190
+ </fo:block>
3191
+ </fo:table-cell>
3192
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3193
+ <fo:table-cell text-align="{@align}">
3194
+ <xsl:attribute name="text-align">
3195
+ <xsl:choose>
3196
+ <xsl:when test="@align">
3197
+ <xsl:value-of select="@align"/>
3198
+ </xsl:when>
3199
+ <xsl:otherwise>left</xsl:otherwise>
3200
+ </xsl:choose>
3201
+ </xsl:attribute>
3202
+ <xsl:if test="@colspan">
3203
+ <xsl:attribute name="number-columns-spanned">
3204
+ <xsl:value-of select="@colspan"/>
3205
+ </xsl:attribute>
3206
+ </xsl:if>
3207
+ <xsl:if test="@rowspan">
3208
+ <xsl:attribute name="number-rows-spanned">
3209
+ <xsl:value-of select="@rowspan"/>
3210
+ </xsl:attribute>
3211
+ </xsl:if>
3212
+
3213
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3214
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3215
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3216
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3217
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3218
+ </xsl:if>
3219
+ </xsl:if>
3220
+
3221
+ <fo:block>
3222
+ <xsl:apply-templates/>
3223
+ </fo:block>
3224
+ </fo:table-cell>
3225
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3226
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3227
+ <xsl:apply-templates/>
3228
+ </fo:block>
3229
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3230
+ <fo:block margin-bottom="10pt">
3231
+ <xsl:apply-templates/>
3232
+ </fo:block>
3051
3233
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
3052
3234
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
3053
3235
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3332,7 +3514,7 @@
3332
3514
  <fo:block id="{@id}">
3333
3515
  <xsl:apply-templates/>
3334
3516
  </fo:block>
3335
- </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3517
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
3336
3518
 
3337
3519
  <fo:block id="{@id}">
3338
3520
  <xsl:apply-templates/>
@@ -3589,7 +3771,8 @@
3589
3771
 
3590
3772
 
3591
3773
 
3592
-
3774
+
3775
+
3593
3776
  </xsl:variable>
3594
3777
  <xsl:if test="$documentNS != $XSLNS">
3595
3778
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -17,6 +17,7 @@
17
17
  <contents>
18
18
  <xsl:apply-templates select="/un:un-standard/un:sections/*" mode="contents"/>
19
19
  <xsl:apply-templates select="/un:un-standard/un:annex" mode="contents"/>
20
+ <xsl:apply-templates select="/un:un-standard/un:bibliography/un:references" mode="contents"/>
20
21
  </contents>
21
22
  </xsl:variable>
22
23
 
@@ -174,8 +175,8 @@
174
175
  <xsl:call-template name="insertHeaderPreface"/>
175
176
  <xsl:call-template name="insertFooter"/>
176
177
  <fo:flow flow-name="xsl-region-body" text-align="justify">
177
- <fo:block>
178
- <xsl:apply-templates select="/un:un-standard/un:preface/*"/>
178
+ <fo:block>
179
+ <xsl:call-template name="processPrefaceSectionsDefault"/>
179
180
  </fo:block>
180
181
  </fo:flow>
181
182
  </fo:page-sequence>
@@ -294,6 +295,7 @@
294
295
  <fo:block>
295
296
  <xsl:apply-templates select="/un:un-standard/un:sections/*"/>
296
297
  <xsl:apply-templates select="/un:un-standard/un:annex"/>
298
+ <xsl:apply-templates select="/un:un-standard/un:bibliography/un:references"/>
297
299
  </fo:block>
298
300
 
299
301
 
@@ -1192,6 +1194,7 @@
1192
1194
  </xsl:attribute-set><xsl:attribute-set name="example-body-style">
1193
1195
 
1194
1196
 
1197
+
1195
1198
  </xsl:attribute-set><xsl:attribute-set name="example-name-style">
1196
1199
 
1197
1200
 
@@ -1211,6 +1214,8 @@
1211
1214
  <xsl:attribute name="font-weight">bold</xsl:attribute>
1212
1215
  <xsl:attribute name="margin-bottom">12pt</xsl:attribute>
1213
1216
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1217
+
1218
+
1214
1219
 
1215
1220
 
1216
1221
  </xsl:attribute-set><xsl:attribute-set name="example-p-style">
@@ -1230,6 +1235,8 @@
1230
1235
  <xsl:attribute name="margin-left">15mm</xsl:attribute>
1231
1236
 
1232
1237
 
1238
+
1239
+
1233
1240
  </xsl:attribute-set><xsl:attribute-set name="termexample-name-style">
1234
1241
 
1235
1242
 
@@ -1254,6 +1261,7 @@
1254
1261
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1255
1262
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1256
1263
 
1264
+
1257
1265
  </xsl:attribute-set><xsl:attribute-set name="appendix-style">
1258
1266
 
1259
1267
 
@@ -1373,7 +1381,7 @@
1373
1381
  <xsl:attribute name="keep-with-next">always</xsl:attribute>
1374
1382
  <xsl:attribute name="keep-together.within-column">always</xsl:attribute>
1375
1383
 
1376
-
1384
+
1377
1385
  </xsl:attribute-set><xsl:attribute-set name="formula-style">
1378
1386
 
1379
1387
  </xsl:attribute-set><xsl:attribute-set name="image-style">
@@ -1416,7 +1424,43 @@
1416
1424
  </xsl:attribute-set><xsl:attribute-set name="definition-style">
1417
1425
 
1418
1426
 
1419
- </xsl:attribute-set><xsl:template match="text()">
1427
+ </xsl:attribute-set><xsl:template name="processPrefaceSectionsDefault_Contents">
1428
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
1429
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
1430
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
1431
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']" mode="contents"/>
1432
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']" mode="contents"/>
1433
+ </xsl:template><xsl:template name="processMainSectionsDefault_Contents">
1434
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']" mode="contents"/>
1435
+
1436
+ <!-- Normative references -->
1437
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']" mode="contents"/>
1438
+ <!-- Terms and definitions -->
1439
+ <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"/>
1440
+ <!-- Another main sections -->
1441
+ <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"/>
1442
+ <xsl:apply-templates select="/*/*[local-name()='annex']" mode="contents"/>
1443
+ <!-- Bibliography -->
1444
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]" mode="contents"/>
1445
+ </xsl:template><xsl:template name="processPrefaceSectionsDefault">
1446
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']"/>
1447
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']"/>
1448
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']"/>
1449
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name() != 'abstract' and local-name() != 'foreword' and local-name() != 'introduction' and local-name() != 'acknowledgements']"/>
1450
+ <xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='acknowledgements']"/>
1451
+ </xsl:template><xsl:template name="processMainSectionsDefault">
1452
+ <xsl:apply-templates select="/*/*[local-name()='sections']/*[local-name()='clause'][@type='scope']"/>
1453
+
1454
+ <!-- Normative references -->
1455
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][@normative='true']"/>
1456
+ <!-- Terms and definitions -->
1457
+ <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']]"/>
1458
+ <!-- Another main sections -->
1459
+ <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'])]"/>
1460
+ <xsl:apply-templates select="/*/*[local-name()='annex']"/>
1461
+ <!-- Bibliography -->
1462
+ <xsl:apply-templates select="/*/*[local-name()='bibliography']/*[local-name()='references'][not(@normative='true')]"/>
1463
+ </xsl:template><xsl:template match="text()">
1420
1464
  <xsl:value-of select="."/>
1421
1465
  </xsl:template><xsl:template match="*[local-name()='br']">
1422
1466
  <xsl:value-of select="$linebreak"/>
@@ -1497,6 +1541,7 @@
1497
1541
 
1498
1542
 
1499
1543
 
1544
+
1500
1545
  <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">
1501
1546
 
1502
1547
 
@@ -1517,6 +1562,7 @@
1517
1562
 
1518
1563
 
1519
1564
 
1565
+
1520
1566
  <xsl:for-each select="xalan:nodeset($colwidths)//column">
1521
1567
  <xsl:choose>
1522
1568
  <xsl:when test=". = 1 or . = 0">
@@ -1767,6 +1813,14 @@
1767
1813
  </fo:table-row>
1768
1814
  </xsl:template><xsl:template match="*[local-name()='th']">
1769
1815
  <fo:table-cell text-align="{@align}" font-weight="bold" border="solid black 1pt" padding-left="1mm" display-align="center">
1816
+ <xsl:attribute name="text-align">
1817
+ <xsl:choose>
1818
+ <xsl:when test="@align">
1819
+ <xsl:value-of select="@align"/>
1820
+ </xsl:when>
1821
+ <xsl:otherwise>center</xsl:otherwise>
1822
+ </xsl:choose>
1823
+ </xsl:attribute>
1770
1824
 
1771
1825
 
1772
1826
 
@@ -1791,6 +1845,7 @@
1791
1845
  <xsl:attribute name="text-indent">0mm</xsl:attribute>
1792
1846
 
1793
1847
 
1848
+
1794
1849
  <xsl:if test="@colspan">
1795
1850
  <xsl:attribute name="number-columns-spanned">
1796
1851
  <xsl:value-of select="@colspan"/>
@@ -1807,6 +1862,14 @@
1807
1862
  </fo:table-cell>
1808
1863
  </xsl:template><xsl:template match="*[local-name()='td']">
1809
1864
  <fo:table-cell text-align="{@align}" display-align="center" border="solid black 1pt" padding-left="1mm">
1865
+ <xsl:attribute name="text-align">
1866
+ <xsl:choose>
1867
+ <xsl:when test="@align">
1868
+ <xsl:value-of select="@align"/>
1869
+ </xsl:when>
1870
+ <xsl:otherwise>left</xsl:otherwise>
1871
+ </xsl:choose>
1872
+ </xsl:attribute>
1810
1873
 
1811
1874
 
1812
1875
 
@@ -3035,6 +3098,117 @@
3035
3098
  <fo:block xsl:use-attribute-sets="recommendation-label-style">
3036
3099
  <xsl:apply-templates/>
3037
3100
  </fo:block>
3101
+ </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3102
+ <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3103
+ <fo:block-container margin-left="0mm" margin-right="0mm">
3104
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3105
+ <xsl:variable name="simple-table">
3106
+ <xsl:call-template name="getSimpleTable"/>
3107
+ </xsl:variable>
3108
+ <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3109
+ <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3110
+ <fo:table-column column-width="35mm"/>
3111
+ <fo:table-column column-width="115mm"/>
3112
+ </xsl:if>
3113
+ <xsl:apply-templates mode="requirement"/>
3114
+ </fo:table>
3115
+ <!-- fn processing -->
3116
+ <xsl:if test=".//*[local-name() = 'fn']">
3117
+ <xsl:for-each select="*[local-name() = 'tbody']">
3118
+ <fo:block font-size="90%" border-bottom="1.pt solid black">
3119
+ <xsl:call-template name="fn_display"/>
3120
+ </fo:block>
3121
+ </xsl:for-each>
3122
+ </xsl:if>
3123
+ </fo:block-container>
3124
+ </fo:block-container>
3125
+ </xsl:template><xsl:template match="*[local-name()='thead']" mode="requirement">
3126
+ <fo:table-header>
3127
+ <xsl:apply-templates mode="requirement"/>
3128
+ </fo:table-header>
3129
+ </xsl:template><xsl:template match="*[local-name()='tbody']" mode="requirement">
3130
+ <fo:table-body>
3131
+ <xsl:apply-templates mode="requirement"/>
3132
+ </fo:table-body>
3133
+ </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3134
+ <fo:table-row>
3135
+ <xsl:apply-templates mode="requirement"/>
3136
+ </fo:table-row>
3137
+ </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3138
+ <fo:table-cell text-align="{@align}">
3139
+ <xsl:attribute name="text-align">
3140
+ <xsl:choose>
3141
+ <xsl:when test="@align">
3142
+ <xsl:value-of select="@align"/>
3143
+ </xsl:when>
3144
+ <xsl:otherwise>center</xsl:otherwise>
3145
+ </xsl:choose>
3146
+ </xsl:attribute>
3147
+ <xsl:if test="@colspan">
3148
+ <xsl:attribute name="number-columns-spanned">
3149
+ <xsl:value-of select="@colspan"/>
3150
+ </xsl:attribute>
3151
+ </xsl:if>
3152
+ <xsl:if test="@rowspan">
3153
+ <xsl:attribute name="number-rows-spanned">
3154
+ <xsl:value-of select="@rowspan"/>
3155
+ </xsl:attribute>
3156
+ </xsl:if>
3157
+
3158
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3159
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3160
+ <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3161
+ </xsl:if>
3162
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3163
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3164
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3165
+ </xsl:if>
3166
+
3167
+ <fo:block>
3168
+ <xsl:apply-templates/>
3169
+ </fo:block>
3170
+ </fo:table-cell>
3171
+ </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3172
+ <fo:table-cell text-align="{@align}">
3173
+ <xsl:attribute name="text-align">
3174
+ <xsl:choose>
3175
+ <xsl:when test="@align">
3176
+ <xsl:value-of select="@align"/>
3177
+ </xsl:when>
3178
+ <xsl:otherwise>left</xsl:otherwise>
3179
+ </xsl:choose>
3180
+ </xsl:attribute>
3181
+ <xsl:if test="@colspan">
3182
+ <xsl:attribute name="number-columns-spanned">
3183
+ <xsl:value-of select="@colspan"/>
3184
+ </xsl:attribute>
3185
+ </xsl:if>
3186
+ <xsl:if test="@rowspan">
3187
+ <xsl:attribute name="number-rows-spanned">
3188
+ <xsl:value-of select="@rowspan"/>
3189
+ </xsl:attribute>
3190
+ </xsl:if>
3191
+
3192
+ <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3193
+ <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3194
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3195
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3196
+ <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3197
+ </xsl:if>
3198
+ </xsl:if>
3199
+
3200
+ <fo:block>
3201
+ <xsl:apply-templates/>
3202
+ </fo:block>
3203
+ </fo:table-cell>
3204
+ </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3205
+ <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3206
+ <xsl:apply-templates/>
3207
+ </fo:block>
3208
+ </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3209
+ <fo:block margin-bottom="10pt">
3210
+ <xsl:apply-templates/>
3211
+ </fo:block>
3038
3212
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
3039
3213
  <fo:block id="{@id}" xsl:use-attribute-sets="termexample-style">
3040
3214
  <xsl:apply-templates select="*[local-name()='name']" mode="presentation"/>
@@ -3319,7 +3493,7 @@
3319
3493
  <fo:block id="{@id}">
3320
3494
  <xsl:apply-templates/>
3321
3495
  </fo:block>
3322
- </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@id = '_normative_references' or @id = '_references']">
3496
+ </xsl:template><xsl:template match="/*/*[local-name() = 'bibliography']/*[local-name() = 'references'][@normative='true']">
3323
3497
 
3324
3498
  <fo:block id="{@id}">
3325
3499
  <xsl:apply-templates/>
@@ -3576,7 +3750,8 @@
3576
3750
 
3577
3751
 
3578
3752
 
3579
-
3753
+
3754
+
3580
3755
  </xsl:variable>
3581
3756
  <xsl:if test="$documentNS != $XSLNS">
3582
3757
  <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 UN
3
- VERSION = "0.5.0"
3
+ VERSION = "0.5.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-un
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.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: roman-numerals