metanorma-itu 1.2.1 → 1.2.2

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: a6028239b8ffb9cf94de7759755fe208f1fdd936cf725f8888c17f197327a01f
4
- data.tar.gz: e32f5d0ee934edb77e41a0014d6cce1be685ed99505331808b3c4a96268e3f37
3
+ metadata.gz: ca92fde1a59224dabe1a60e9972946be9f5b4ee3a0ddc0b9d18b26d2ace7b070
4
+ data.tar.gz: c6ca6f1c6aab657534d9eba98a60ffccf57eff743b3f8d99601aee2706c47996
5
5
  SHA512:
6
- metadata.gz: 6f49a564d79e27806d8d8669d8b58ac0400a560ea7cab85d5dfb00240e7d644ef70a1c31a8f873f44c10b88edf95f246a736c66ccac9c175b578ed709e08d43c
7
- data.tar.gz: c738f41c4de7edd4e5b1ca26f5f298731002c1299d644138638c76addbb8433d2bdb9882e80d0ffd04c5f85159392c6f361c6ec214b2d8a2b99d08bbf9216334
6
+ metadata.gz: e465d057bb288694d8ebb48c2e123df2cbea58b9a434fe033d9e41c5077eb00a027ae6a7ecfa653f416403510bed79cc3d4df1d438af0e4aa6eca8501175bf4d
7
+ data.tar.gz: f9c3be01cb4ade45f54f4aaba89dbdd3d4a03f53fb978c2bf1bb985587f5f4000c5dbea23042bf41a3037ec82ce6da0984b85f434c5e9f0d712017f56230819e
@@ -39,7 +39,7 @@ module Asciidoctor
39
39
  end
40
40
 
41
41
  def doctype(node)
42
- ret = node.attr("doctype") || "recommendation"
42
+ ret = super || "recommendation"
43
43
  ret = "recommendation" if ret == "article"
44
44
  ret
45
45
  end
@@ -42,8 +42,11 @@
42
42
  </define>
43
43
  <define name="xref">
44
44
  <element name="xref">
45
+ <!-- attribute target { xsd:IDREF }, -->
45
46
  <attribute name="target">
46
- <data type="IDREF"/>
47
+ <data type="string">
48
+ <param name="pattern">\i\c*|\c+#\c+</param>
49
+ </data>
47
50
  </attribute>
48
51
  <optional>
49
52
  <attribute name="type">
@@ -12,6 +12,7 @@ module IsoDoc
12
12
 
13
13
  def preface(isoxml, out)
14
14
  isoxml.xpath(ns(FRONT_CLAUSE)).each do |c|
15
+ next unless is_clause?(c.name)
15
16
  title = c&.at(ns("./title"))
16
17
  out.div **attr_code(clause_attrs(c)) do |s|
17
18
  clause_name(nil, title, s, class: "IntroTitle")
@@ -53,6 +53,7 @@ module IsoDoc
53
53
  def make_body3(body, docxml)
54
54
  body.div **{ class: "main-section" } do |div3|
55
55
  boilerplate docxml, div3
56
+ preface_block docxml, div3
56
57
  abstract docxml, div3
57
58
  preface docxml, div3
58
59
  middle docxml, div3
@@ -2540,14 +2540,36 @@
2540
2540
 
2541
2541
  <xsl:attribute name="text-align">justify</xsl:attribute>
2542
2542
 
2543
-
2543
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2544
+ <xsl:if test="local-name(*[1]) != 'stem'">
2545
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
+ </xsl:if>
2547
+ </xsl:if> -->
2544
2548
 
2545
2549
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
2550
 
2547
2551
  </fo:block>
2548
2552
  </fo:table-cell>
2549
2553
  </fo:table-row>
2550
-
2554
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2555
+ <xsl:if test="local-name(*[1]) = 'stem'">
2556
+ <fo:table-row>
2557
+ <fo:table-cell>
2558
+ <fo:block margin-top="6pt">
2559
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2560
+ <xsl:attribute name="margin-top">0</xsl:attribute>
2561
+ </xsl:if>
2562
+ <xsl:text>&#xA0;</xsl:text>
2563
+ </fo:block>
2564
+ </fo:table-cell>
2565
+ <fo:table-cell>
2566
+ <fo:block>
2567
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2568
+ </fo:block>
2569
+ </fo:table-cell>
2570
+ </fo:table-row>
2571
+ </xsl:if>
2572
+ </xsl:if> -->
2551
2573
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
2552
2574
  <xsl:apply-templates/>
2553
2575
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -3303,22 +3325,30 @@
3303
3325
  </fo:block>
3304
3326
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3305
3327
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3328
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3329
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3330
+ </xsl:if>
3306
3331
  <fo:block-container margin-left="0mm" margin-right="0mm">
3307
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3332
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3333
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3334
+ <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3335
+ </xsl:if>
3308
3336
  <xsl:variable name="simple-table">
3309
3337
  <xsl:call-template name="getSimpleTable"/>
3310
3338
  </xsl:variable>
3311
3339
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3312
3340
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3313
- <fo:table-column column-width="35mm"/>
3314
- <fo:table-column column-width="115mm"/>
3341
+ <!-- <fo:table-column column-width="35mm"/>
3342
+ <fo:table-column column-width="115mm"/> -->
3343
+ <fo:table-column column-width="25%"/>
3344
+ <fo:table-column column-width="75%"/>
3315
3345
  </xsl:if>
3316
3346
  <xsl:apply-templates mode="requirement"/>
3317
3347
  </fo:table>
3318
3348
  <!-- fn processing -->
3319
3349
  <xsl:if test=".//*[local-name() = 'fn']">
3320
3350
  <xsl:for-each select="*[local-name() = 'tbody']">
3321
- <fo:block font-size="90%" border-bottom="1.pt solid black">
3351
+ <fo:block font-size="90%" border-bottom="1pt solid black">
3322
3352
  <xsl:call-template name="fn_display"/>
3323
3353
  </fo:block>
3324
3354
  </xsl:for-each>
@@ -3334,17 +3364,20 @@
3334
3364
  <xsl:apply-templates mode="requirement"/>
3335
3365
  </fo:table-body>
3336
3366
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3337
- <fo:table-row>
3367
+ <fo:table-row height="7mm">
3368
+ <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3369
+ <xsl:attribute name="border">1pt solid black</xsl:attribute>
3370
+ </xsl:if>
3338
3371
  <xsl:apply-templates mode="requirement"/>
3339
3372
  </fo:table-row>
3340
3373
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3341
- <fo:table-cell text-align="{@align}">
3374
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3342
3375
  <xsl:attribute name="text-align">
3343
3376
  <xsl:choose>
3344
3377
  <xsl:when test="@align">
3345
3378
  <xsl:value-of select="@align"/>
3346
3379
  </xsl:when>
3347
- <xsl:otherwise>center</xsl:otherwise>
3380
+ <xsl:otherwise>left</xsl:otherwise>
3348
3381
  </xsl:choose>
3349
3382
  </xsl:attribute>
3350
3383
  <xsl:if test="@colspan">
@@ -3358,21 +3391,25 @@
3358
3391
  </xsl:attribute>
3359
3392
  </xsl:if>
3360
3393
 
3361
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3394
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3362
3395
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3363
3396
  <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3364
3397
  </xsl:if>
3365
3398
  <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3366
3399
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3367
3400
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3368
- </xsl:if>
3401
+ </xsl:if> -->
3369
3402
 
3370
3403
  <fo:block>
3371
3404
  <xsl:apply-templates/>
3372
3405
  </fo:block>
3373
3406
  </fo:table-cell>
3374
3407
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3375
- <fo:table-cell text-align="{@align}">
3408
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3409
+ <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3410
+ <xsl:attribute name="padding">0mm</xsl:attribute>
3411
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3412
+ </xsl:if>
3376
3413
  <xsl:attribute name="text-align">
3377
3414
  <xsl:choose>
3378
3415
  <xsl:when test="@align">
@@ -3392,24 +3429,25 @@
3392
3429
  </xsl:attribute>
3393
3430
  </xsl:if>
3394
3431
 
3395
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3432
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3396
3433
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3397
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3398
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3434
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3435
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
3399
3436
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3400
3437
  </xsl:if>
3401
- </xsl:if>
3438
+ </xsl:if> -->
3439
+ <!-- 2nd line and below -->
3402
3440
 
3403
3441
  <fo:block>
3404
3442
  <xsl:apply-templates/>
3405
3443
  </fo:block>
3406
3444
  </fo:table-cell>
3407
3445
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3408
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3446
+ <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3409
3447
  <xsl:apply-templates/>
3410
3448
  </fo:block>
3411
- </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3412
- <fo:block margin-bottom="10pt">
3449
+ </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3450
+ <fo:block> <!-- margin-bottom="10pt" -->
3413
3451
  <xsl:apply-templates/>
3414
3452
  </fo:block>
3415
3453
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
@@ -3736,6 +3774,44 @@
3736
3774
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3737
3775
  <fo:block><xsl:apply-templates/></fo:block>
3738
3776
  </fo:table-cell>
3777
+ </xsl:template><xsl:template name="processBibitem">
3778
+
3779
+ </xsl:template><xsl:template name="processPersonalAuthor">
3780
+ <xsl:choose>
3781
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
3782
+ <author>
3783
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
3784
+ </author>
3785
+ </xsl:when>
3786
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
3787
+ <author>
3788
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3789
+ <xsl:text> </xsl:text>
3790
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
3791
+ </author>
3792
+ </xsl:when>
3793
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
3794
+ <author>
3795
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3796
+ <xsl:text> </xsl:text>
3797
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
3798
+ </author>
3799
+ </xsl:when>
3800
+ <xsl:otherwise>
3801
+ <xsl:apply-templates/>
3802
+ </xsl:otherwise>
3803
+ </xsl:choose>
3804
+ </xsl:template><xsl:template name="renderDate">
3805
+ <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
3806
+ <xsl:value-of select="*[local-name() = 'on']"/>
3807
+ </xsl:if>
3808
+ <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
3809
+ <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
3810
+ </xsl:if>
3811
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
3812
+ <xsl:value-of select="translate(.,'. ','')"/>
3813
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
3814
+ <xsl:value-of select="substring(.,1,1)"/>
3739
3815
  </xsl:template><xsl:template name="convertDate">
3740
3816
  <xsl:param name="date"/>
3741
3817
  <xsl:param name="format" select="'short'"/>
@@ -2540,14 +2540,36 @@
2540
2540
 
2541
2541
  <xsl:attribute name="text-align">justify</xsl:attribute>
2542
2542
 
2543
-
2543
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2544
+ <xsl:if test="local-name(*[1]) != 'stem'">
2545
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
+ </xsl:if>
2547
+ </xsl:if> -->
2544
2548
 
2545
2549
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
2550
 
2547
2551
  </fo:block>
2548
2552
  </fo:table-cell>
2549
2553
  </fo:table-row>
2550
-
2554
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2555
+ <xsl:if test="local-name(*[1]) = 'stem'">
2556
+ <fo:table-row>
2557
+ <fo:table-cell>
2558
+ <fo:block margin-top="6pt">
2559
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2560
+ <xsl:attribute name="margin-top">0</xsl:attribute>
2561
+ </xsl:if>
2562
+ <xsl:text>&#xA0;</xsl:text>
2563
+ </fo:block>
2564
+ </fo:table-cell>
2565
+ <fo:table-cell>
2566
+ <fo:block>
2567
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2568
+ </fo:block>
2569
+ </fo:table-cell>
2570
+ </fo:table-row>
2571
+ </xsl:if>
2572
+ </xsl:if> -->
2551
2573
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
2552
2574
  <xsl:apply-templates/>
2553
2575
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -3303,22 +3325,30 @@
3303
3325
  </fo:block>
3304
3326
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3305
3327
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3328
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3329
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3330
+ </xsl:if>
3306
3331
  <fo:block-container margin-left="0mm" margin-right="0mm">
3307
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3332
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3333
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3334
+ <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3335
+ </xsl:if>
3308
3336
  <xsl:variable name="simple-table">
3309
3337
  <xsl:call-template name="getSimpleTable"/>
3310
3338
  </xsl:variable>
3311
3339
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3312
3340
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3313
- <fo:table-column column-width="35mm"/>
3314
- <fo:table-column column-width="115mm"/>
3341
+ <!-- <fo:table-column column-width="35mm"/>
3342
+ <fo:table-column column-width="115mm"/> -->
3343
+ <fo:table-column column-width="25%"/>
3344
+ <fo:table-column column-width="75%"/>
3315
3345
  </xsl:if>
3316
3346
  <xsl:apply-templates mode="requirement"/>
3317
3347
  </fo:table>
3318
3348
  <!-- fn processing -->
3319
3349
  <xsl:if test=".//*[local-name() = 'fn']">
3320
3350
  <xsl:for-each select="*[local-name() = 'tbody']">
3321
- <fo:block font-size="90%" border-bottom="1.pt solid black">
3351
+ <fo:block font-size="90%" border-bottom="1pt solid black">
3322
3352
  <xsl:call-template name="fn_display"/>
3323
3353
  </fo:block>
3324
3354
  </xsl:for-each>
@@ -3334,17 +3364,20 @@
3334
3364
  <xsl:apply-templates mode="requirement"/>
3335
3365
  </fo:table-body>
3336
3366
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3337
- <fo:table-row>
3367
+ <fo:table-row height="7mm">
3368
+ <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3369
+ <xsl:attribute name="border">1pt solid black</xsl:attribute>
3370
+ </xsl:if>
3338
3371
  <xsl:apply-templates mode="requirement"/>
3339
3372
  </fo:table-row>
3340
3373
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3341
- <fo:table-cell text-align="{@align}">
3374
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3342
3375
  <xsl:attribute name="text-align">
3343
3376
  <xsl:choose>
3344
3377
  <xsl:when test="@align">
3345
3378
  <xsl:value-of select="@align"/>
3346
3379
  </xsl:when>
3347
- <xsl:otherwise>center</xsl:otherwise>
3380
+ <xsl:otherwise>left</xsl:otherwise>
3348
3381
  </xsl:choose>
3349
3382
  </xsl:attribute>
3350
3383
  <xsl:if test="@colspan">
@@ -3358,21 +3391,25 @@
3358
3391
  </xsl:attribute>
3359
3392
  </xsl:if>
3360
3393
 
3361
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3394
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3362
3395
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3363
3396
  <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3364
3397
  </xsl:if>
3365
3398
  <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3366
3399
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3367
3400
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3368
- </xsl:if>
3401
+ </xsl:if> -->
3369
3402
 
3370
3403
  <fo:block>
3371
3404
  <xsl:apply-templates/>
3372
3405
  </fo:block>
3373
3406
  </fo:table-cell>
3374
3407
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3375
- <fo:table-cell text-align="{@align}">
3408
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3409
+ <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3410
+ <xsl:attribute name="padding">0mm</xsl:attribute>
3411
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3412
+ </xsl:if>
3376
3413
  <xsl:attribute name="text-align">
3377
3414
  <xsl:choose>
3378
3415
  <xsl:when test="@align">
@@ -3392,24 +3429,25 @@
3392
3429
  </xsl:attribute>
3393
3430
  </xsl:if>
3394
3431
 
3395
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3432
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3396
3433
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3397
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3398
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3434
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3435
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
3399
3436
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3400
3437
  </xsl:if>
3401
- </xsl:if>
3438
+ </xsl:if> -->
3439
+ <!-- 2nd line and below -->
3402
3440
 
3403
3441
  <fo:block>
3404
3442
  <xsl:apply-templates/>
3405
3443
  </fo:block>
3406
3444
  </fo:table-cell>
3407
3445
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3408
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3446
+ <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3409
3447
  <xsl:apply-templates/>
3410
3448
  </fo:block>
3411
- </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3412
- <fo:block margin-bottom="10pt">
3449
+ </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3450
+ <fo:block> <!-- margin-bottom="10pt" -->
3413
3451
  <xsl:apply-templates/>
3414
3452
  </fo:block>
3415
3453
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
@@ -3736,6 +3774,44 @@
3736
3774
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3737
3775
  <fo:block><xsl:apply-templates/></fo:block>
3738
3776
  </fo:table-cell>
3777
+ </xsl:template><xsl:template name="processBibitem">
3778
+
3779
+ </xsl:template><xsl:template name="processPersonalAuthor">
3780
+ <xsl:choose>
3781
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
3782
+ <author>
3783
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
3784
+ </author>
3785
+ </xsl:when>
3786
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
3787
+ <author>
3788
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3789
+ <xsl:text> </xsl:text>
3790
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
3791
+ </author>
3792
+ </xsl:when>
3793
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
3794
+ <author>
3795
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3796
+ <xsl:text> </xsl:text>
3797
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
3798
+ </author>
3799
+ </xsl:when>
3800
+ <xsl:otherwise>
3801
+ <xsl:apply-templates/>
3802
+ </xsl:otherwise>
3803
+ </xsl:choose>
3804
+ </xsl:template><xsl:template name="renderDate">
3805
+ <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
3806
+ <xsl:value-of select="*[local-name() = 'on']"/>
3807
+ </xsl:if>
3808
+ <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
3809
+ <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
3810
+ </xsl:if>
3811
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
3812
+ <xsl:value-of select="translate(.,'. ','')"/>
3813
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
3814
+ <xsl:value-of select="substring(.,1,1)"/>
3739
3815
  </xsl:template><xsl:template name="convertDate">
3740
3816
  <xsl:param name="date"/>
3741
3817
  <xsl:param name="format" select="'short'"/>
@@ -2540,14 +2540,36 @@
2540
2540
 
2541
2541
  <xsl:attribute name="text-align">justify</xsl:attribute>
2542
2542
 
2543
-
2543
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2544
+ <xsl:if test="local-name(*[1]) != 'stem'">
2545
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
+ </xsl:if>
2547
+ </xsl:if> -->
2544
2548
 
2545
2549
  <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2546
2550
 
2547
2551
  </fo:block>
2548
2552
  </fo:table-cell>
2549
2553
  </fo:table-row>
2550
-
2554
+ <!-- <xsl:if test="$namespace = 'nist-cswp' or $namespace = 'nist-sp'">
2555
+ <xsl:if test="local-name(*[1]) = 'stem'">
2556
+ <fo:table-row>
2557
+ <fo:table-cell>
2558
+ <fo:block margin-top="6pt">
2559
+ <xsl:if test="normalize-space($key_iso) = 'true'">
2560
+ <xsl:attribute name="margin-top">0</xsl:attribute>
2561
+ </xsl:if>
2562
+ <xsl:text>&#xA0;</xsl:text>
2563
+ </fo:block>
2564
+ </fo:table-cell>
2565
+ <fo:table-cell>
2566
+ <fo:block>
2567
+ <xsl:apply-templates select="following-sibling::*[local-name()='dd'][1]" mode="process"/>
2568
+ </fo:block>
2569
+ </fo:table-cell>
2570
+ </fo:table-row>
2571
+ </xsl:if>
2572
+ </xsl:if> -->
2551
2573
  </xsl:template><xsl:template match="*[local-name()='dd']" mode="dl"/><xsl:template match="*[local-name()='dd']" mode="dl_process">
2552
2574
  <xsl:apply-templates/>
2553
2575
  </xsl:template><xsl:template match="*[local-name()='dd']"/><xsl:template match="*[local-name()='dd']" mode="process">
@@ -3303,22 +3325,30 @@
3303
3325
  </fo:block>
3304
3326
  </xsl:template><xsl:template match="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3305
3327
  <fo:block-container margin-left="0mm" margin-right="0mm" margin-bottom="12pt">
3328
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3329
+ <xsl:attribute name="margin-bottom">0pt</xsl:attribute>
3330
+ </xsl:if>
3306
3331
  <fo:block-container margin-left="0mm" margin-right="0mm">
3307
- <fo:table id="{@id}" table-layout="fixed" width="100%" border="0pt solid black">
3332
+ <fo:table id="{@id}" table-layout="fixed" width="100%" border="1pt solid black">
3333
+ <xsl:if test="ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3334
+ <xsl:attribute name="border">0.5pt solid black</xsl:attribute>
3335
+ </xsl:if>
3308
3336
  <xsl:variable name="simple-table">
3309
3337
  <xsl:call-template name="getSimpleTable"/>
3310
3338
  </xsl:variable>
3311
3339
  <xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)//tr[1]/td)"/>
3312
3340
  <xsl:if test="$cols-count = 2 and not(ancestor::*[local-name()='table'])">
3313
- <fo:table-column column-width="35mm"/>
3314
- <fo:table-column column-width="115mm"/>
3341
+ <!-- <fo:table-column column-width="35mm"/>
3342
+ <fo:table-column column-width="115mm"/> -->
3343
+ <fo:table-column column-width="25%"/>
3344
+ <fo:table-column column-width="75%"/>
3315
3345
  </xsl:if>
3316
3346
  <xsl:apply-templates mode="requirement"/>
3317
3347
  </fo:table>
3318
3348
  <!-- fn processing -->
3319
3349
  <xsl:if test=".//*[local-name() = 'fn']">
3320
3350
  <xsl:for-each select="*[local-name() = 'tbody']">
3321
- <fo:block font-size="90%" border-bottom="1.pt solid black">
3351
+ <fo:block font-size="90%" border-bottom="1pt solid black">
3322
3352
  <xsl:call-template name="fn_display"/>
3323
3353
  </fo:block>
3324
3354
  </xsl:for-each>
@@ -3334,17 +3364,20 @@
3334
3364
  <xsl:apply-templates mode="requirement"/>
3335
3365
  </fo:table-body>
3336
3366
  </xsl:template><xsl:template match="*[local-name()='tr']" mode="requirement">
3337
- <fo:table-row>
3367
+ <fo:table-row height="7mm">
3368
+ <xsl:if test="parent::*[local-name()='thead'] and not(ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission'])">
3369
+ <xsl:attribute name="border">1pt solid black</xsl:attribute>
3370
+ </xsl:if>
3338
3371
  <xsl:apply-templates mode="requirement"/>
3339
3372
  </fo:table-row>
3340
3373
  </xsl:template><xsl:template match="*[local-name()='th']" mode="requirement">
3341
- <fo:table-cell text-align="{@align}">
3374
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3342
3375
  <xsl:attribute name="text-align">
3343
3376
  <xsl:choose>
3344
3377
  <xsl:when test="@align">
3345
3378
  <xsl:value-of select="@align"/>
3346
3379
  </xsl:when>
3347
- <xsl:otherwise>center</xsl:otherwise>
3380
+ <xsl:otherwise>left</xsl:otherwise>
3348
3381
  </xsl:choose>
3349
3382
  </xsl:attribute>
3350
3383
  <xsl:if test="@colspan">
@@ -3358,21 +3391,25 @@
3358
3391
  </xsl:attribute>
3359
3392
  </xsl:if>
3360
3393
 
3361
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3394
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3362
3395
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3363
3396
  <xsl:attribute name="background-color">rgb(165, 165, 165)</xsl:attribute>
3364
3397
  </xsl:if>
3365
3398
  <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommendtest'">
3366
3399
  <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3367
3400
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3368
- </xsl:if>
3401
+ </xsl:if> -->
3369
3402
 
3370
3403
  <fo:block>
3371
3404
  <xsl:apply-templates/>
3372
3405
  </fo:block>
3373
3406
  </fo:table-cell>
3374
3407
  </xsl:template><xsl:template match="*[local-name()='td']" mode="requirement">
3375
- <fo:table-cell text-align="{@align}">
3408
+ <fo:table-cell text-align="{@align}" display-align="center" padding="1mm" padding-left="2mm" border="0.5pt solid black">
3409
+ <xsl:if test="*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']">
3410
+ <xsl:attribute name="padding">0mm</xsl:attribute>
3411
+ <xsl:attribute name="padding-left">0mm</xsl:attribute>
3412
+ </xsl:if>
3376
3413
  <xsl:attribute name="text-align">
3377
3414
  <xsl:choose>
3378
3415
  <xsl:when test="@align">
@@ -3392,24 +3429,25 @@
3392
3429
  </xsl:attribute>
3393
3430
  </xsl:if>
3394
3431
 
3395
- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3432
+ <!-- <xsl:if test="ancestor::*[local-name()='table']/@type = 'recommend'">
3396
3433
  <xsl:attribute name="padding-left">0.5mm</xsl:attribute>
3397
- <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3398
- <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])"> <!-- 2nd line and below -->
3434
+ <xsl:attribute name="padding-top">0.5mm</xsl:attribute>
3435
+ <xsl:if test="parent::*[local-name()='tr']/preceding-sibling::*[local-name()='tr'] and not(*[local-name()='table'])">
3399
3436
  <xsl:attribute name="background-color">rgb(201, 201, 201)</xsl:attribute>
3400
3437
  </xsl:if>
3401
- </xsl:if>
3438
+ </xsl:if> -->
3439
+ <!-- 2nd line and below -->
3402
3440
 
3403
3441
  <fo:block>
3404
3442
  <xsl:apply-templates/>
3405
3443
  </fo:block>
3406
3444
  </fo:table-cell>
3407
3445
  </xsl:template><xsl:template match="*[local-name() = 'p'][@class='RecommendationTitle' or @class = 'RecommendationTestTitle']" priority="2">
3408
- <fo:block font-size="11pt" font-weight="bold" text-align="center" margin-bottom="4pt">
3446
+ <fo:block font-size="11pt" font-weight="bold"> <!-- margin-bottom="4pt" text-align="center" -->
3409
3447
  <xsl:apply-templates/>
3410
3448
  </fo:block>
3411
- </xsl:template><xsl:template match="*[local-name() = 'p'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3412
- <fo:block margin-bottom="10pt">
3449
+ </xsl:template><xsl:template match="*[local-name() = 'p2'][ancestor::*[local-name() = 'table'][@class = 'recommendation' or @class='requirement' or @class='permission']]">
3450
+ <fo:block> <!-- margin-bottom="10pt" -->
3413
3451
  <xsl:apply-templates/>
3414
3452
  </fo:block>
3415
3453
  </xsl:template><xsl:template match="*[local-name() = 'termexample']">
@@ -3736,6 +3774,44 @@
3736
3774
  <fo:table-cell border="1pt solid black" padding-left="1mm" padding-top="0.5mm">
3737
3775
  <fo:block><xsl:apply-templates/></fo:block>
3738
3776
  </fo:table-cell>
3777
+ </xsl:template><xsl:template name="processBibitem">
3778
+
3779
+ </xsl:template><xsl:template name="processPersonalAuthor">
3780
+ <xsl:choose>
3781
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'completename']">
3782
+ <author>
3783
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'completename']"/>
3784
+ </author>
3785
+ </xsl:when>
3786
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'initial']">
3787
+ <author>
3788
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3789
+ <xsl:text> </xsl:text>
3790
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'initial']" mode="strip"/>
3791
+ </author>
3792
+ </xsl:when>
3793
+ <xsl:when test="*[local-name() = 'name']/*[local-name() = 'surname'] and *[local-name() = 'name']/*[local-name() = 'forename']">
3794
+ <author>
3795
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'surname']"/>
3796
+ <xsl:text> </xsl:text>
3797
+ <xsl:apply-templates select="*[local-name() = 'name']/*[local-name() = 'forename']" mode="strip"/>
3798
+ </author>
3799
+ </xsl:when>
3800
+ <xsl:otherwise>
3801
+ <xsl:apply-templates/>
3802
+ </xsl:otherwise>
3803
+ </xsl:choose>
3804
+ </xsl:template><xsl:template name="renderDate">
3805
+ <xsl:if test="normalize-space(*[local-name() = 'on']) != ''">
3806
+ <xsl:value-of select="*[local-name() = 'on']"/>
3807
+ </xsl:if>
3808
+ <xsl:if test="normalize-space(*[local-name() = 'from']) != ''">
3809
+ <xsl:value-of select="concat(*[local-name() = 'from'], '–', *[local-name() = 'to'])"/>
3810
+ </xsl:if>
3811
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'initial']/text()" mode="strip">
3812
+ <xsl:value-of select="translate(.,'. ','')"/>
3813
+ </xsl:template><xsl:template match="*[local-name() = 'name']/*[local-name() = 'forename']/text()" mode="strip">
3814
+ <xsl:value-of select="substring(.,1,1)"/>
3739
3815
  </xsl:template><xsl:template name="convertDate">
3740
3816
  <xsl:param name="date"/>
3741
3817
  <xsl:param name="format" select="'short'"/>
@@ -27,6 +27,7 @@ module IsoDoc
27
27
  body.div **{ class: "WordSection2" } do |div2|
28
28
  info docxml, div2
29
29
  boilerplate docxml, div2
30
+ preface_block docxml, div2
30
31
  abstract docxml, div2
31
32
  keywords docxml, div2
32
33
  preface docxml, div2
@@ -1,5 +1,5 @@
1
1
  module Metanorma
2
2
  module ITU
3
- VERSION = "1.2.1"
3
+ VERSION = "1.2.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-itu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
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-08-14 00:00:00.000000000 Z
11
+ date: 2020-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities