metanorma-csa 1.6.3 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f729b4fb0d4b85282f5789f6319789b4acda25e444177569cd079e3ea3b7ddf
4
- data.tar.gz: 347870c9d9962b4ebbc8c9a4ed1b5a6680daa27e1641a94cd260e67bbc1a6a0e
3
+ metadata.gz: 6f6554bb3c5f2ab94940474101e4c14e70610c7fce4ac503125b1a79622533f3
4
+ data.tar.gz: 7c797d8ace953937dc1db93f74b79fbfb865d51ad4809b6626117d206dae4c25
5
5
  SHA512:
6
- metadata.gz: 43990eb95ef473762909aefb54acf0e364f17d284abaee655b8d417843b011b0601f4f5882788dbe79bb70e64ffef20093e9da8cfc63ce9bc150c90198a4aea8
7
- data.tar.gz: 6ae3d574cc8a299f60474f196e26bd7a10e07d5d89e1d4ca37f342d1d6ccd021e53d75086bcd371904139a0b24bf17d2cc901540d81237b710466697dbea1976
6
+ metadata.gz: dba96aed6028863827afbe8a50dd2a8e11dedb41aa750f8a5dc0e58f73ff37a736a9eb0218248e44dc5fe0138e16d2d7e0ac2dc2eb2625f8983e36145c2e9dd0
7
+ data.tar.gz: 3de7d046326e4a8398c48c4acd73d2d68660d841aee136a8950b52baec9078d05a7186a7c615a54b5365bb117cc3723dd40ce93e10f4bd9be0f1625f8b9f7cf3
@@ -158,17 +158,7 @@
158
158
  <data type="ID"/>
159
159
  </attribute>
160
160
  <oneOrMore>
161
- <choice>
162
- <ref name="formula"/>
163
- <ref name="ul"/>
164
- <ref name="ol"/>
165
- <ref name="dl"/>
166
- <ref name="quote"/>
167
- <ref name="sourcecode"/>
168
- <ref name="paragraph"/>
169
- <ref name="table"/>
170
- <ref name="figure"/>
171
- </choice>
161
+ <ref name="paragraph"/>
172
162
  </oneOrMore>
173
163
  </element>
174
164
  </define>
@@ -1028,6 +1018,9 @@
1028
1018
  <value>alphabet_upper</value>
1029
1019
  </choice>
1030
1020
  </attribute>
1021
+ <optional>
1022
+ <attribute name="start"/>
1023
+ </optional>
1031
1024
  <oneOrMore>
1032
1025
  <ref name="li"/>
1033
1026
  </oneOrMore>
@@ -95,6 +95,13 @@
95
95
  </include>
96
96
  <define name="csand-standard">
97
97
  <element name="csa-standard">
98
+ <attribute name="version"/>
99
+ <attribute name="type">
100
+ <choice>
101
+ <value>semantic</value>
102
+ <value>presentation</value>
103
+ </choice>
104
+ </attribute>
98
105
  <ref name="bibdata"/>
99
106
  <zeroOrMore>
100
107
  <ref name="termdocsource"/>
@@ -64,6 +64,11 @@
64
64
  </choice>
65
65
  </attribute>
66
66
  </optional>
67
+ <optional>
68
+ <attribute name="droploc">
69
+ <data type="boolean"/>
70
+ </attribute>
71
+ </optional>
67
72
  <text/>
68
73
  </element>
69
74
  </define>
@@ -859,6 +864,13 @@
859
864
  </define>
860
865
  <define name="standard-document">
861
866
  <element name="standard-document">
867
+ <attribute name="version"/>
868
+ <attribute name="type">
869
+ <choice>
870
+ <value>semantic</value>
871
+ <value>presentation</value>
872
+ </choice>
873
+ </attribute>
862
874
  <ref name="bibdata"/>
863
875
  <optional>
864
876
  <ref name="boilerplate"/>
@@ -880,7 +892,7 @@
880
892
  <oneOrMore>
881
893
  <choice>
882
894
  <ref name="content"/>
883
- <ref name="preface_abstract"/>
895
+ <ref name="abstract"/>
884
896
  <ref name="foreword"/>
885
897
  <ref name="introduction"/>
886
898
  <ref name="acknowledgements"/>
@@ -1481,11 +1493,6 @@
1481
1493
  </optional>
1482
1494
  </element>
1483
1495
  </define>
1484
- <define name="preface_abstract">
1485
- <element name="abstract">
1486
- <ref name="Basic-Section"/>
1487
- </element>
1488
- </define>
1489
1496
  <define name="term-clause">
1490
1497
  <element name="clause">
1491
1498
  <optional>
@@ -54,6 +54,10 @@
54
54
 
55
55
  <xsl:call-template name="addPDFUAmeta"/>
56
56
 
57
+ <xsl:call-template name="addBookmarks">
58
+ <xsl:with-param name="contents" select="$contents"/>
59
+ </xsl:call-template>
60
+
57
61
  <!-- Cover Page -->
58
62
  <fo:page-sequence master-reference="cover-page" force-page-count="no-force">
59
63
  <fo:static-content flow-name="xsl-footnote-separator">
@@ -196,7 +200,7 @@
196
200
  <fo:block font-size="26pt" color="black" margin-top="2pt" margin-bottom="30pt"><xsl:value-of select="$title-toc"/></fo:block>
197
201
 
198
202
  <fo:block margin-left="-3mm">
199
- <xsl:for-each select="xalan:nodeset($contents)//item">
203
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']">
200
204
  <fo:block>
201
205
  <fo:list-block>
202
206
  <xsl:attribute name="provisional-distance-between-starts">
@@ -211,9 +215,9 @@
211
215
  </fo:list-item-label>
212
216
  <fo:list-item-body start-indent="body-start()">
213
217
  <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
214
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
218
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
215
219
  <fo:inline padding-right="2mm"><xsl:value-of select="@section"/></fo:inline>
216
- <xsl:apply-templates/>
220
+ <xsl:apply-templates select="title"/>
217
221
  <fo:inline keep-together.within-line="always">
218
222
  <fo:leader leader-pattern="dots"/>
219
223
  <fo:inline><fo:page-number-citation ref-id="{@id}"/></fo:inline>
@@ -261,17 +265,24 @@
261
265
  <xsl:with-param name="depth" select="csa:title/@depth"/>
262
266
  </xsl:call-template>
263
267
  </xsl:variable>
268
+
269
+
264
270
  <xsl:variable name="display">
265
- <xsl:choose>
266
- <xsl:when test="ancestor-or-self::csa:bibitem">false</xsl:when>
267
- <xsl:when test="ancestor-or-self::csa:term">false</xsl:when>
271
+ <xsl:choose>
268
272
  <xsl:when test="$level &gt;= 3">false</xsl:when>
269
273
  <xsl:otherwise>true</xsl:otherwise>
270
274
  </xsl:choose>
271
275
  </xsl:variable>
272
276
 
273
- <xsl:if test="$display = 'true'">
277
+ <xsl:variable name="skip">
278
+ <xsl:choose>
279
+ <xsl:when test="ancestor-or-self::csa:bibitem">true</xsl:when>
280
+ <xsl:when test="ancestor-or-self::csa:term">true</xsl:when>
281
+ <xsl:otherwise>false</xsl:otherwise>
282
+ </xsl:choose>
283
+ </xsl:variable>
274
284
 
285
+ <xsl:if test="$skip = 'false'">
275
286
  <xsl:variable name="section">
276
287
  <xsl:call-template name="getSection"/>
277
288
  </xsl:variable>
@@ -280,10 +291,12 @@
280
291
  <xsl:call-template name="getName"/>
281
292
  </xsl:variable>
282
293
 
283
- <item id="{@id}" level="{$level}" section="{$section}">
284
- <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
294
+ <item id="{@id}" level="{$level}" section="{$section}" display="{$display}">
295
+ <title>
296
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
297
+ </title>
298
+ <xsl:apply-templates mode="contents"/>
285
299
  </item>
286
- <xsl:apply-templates mode="contents"/>
287
300
  </xsl:if>
288
301
  </xsl:template>
289
302
 
@@ -612,7 +625,13 @@
612
625
  </fo:block-container>
613
626
  </xsl:when>
614
627
  <xsl:otherwise>
615
- <xsl:call-template name="listProcessing"/>
628
+ <fo:block-container>
629
+ <fo:block-container margin-left="7mm">
630
+ <fo:block margin-left="-7mm">
631
+ <xsl:call-template name="listProcessing"/>
632
+ </fo:block>
633
+ </fo:block-container>
634
+ </fo:block-container>
616
635
  </xsl:otherwise>
617
636
  </xsl:choose>
618
637
  </xsl:template>
@@ -870,6 +889,12 @@
870
889
 
871
890
  </title-edition>
872
891
 
892
+ <title-edition lang="fr">
893
+
894
+ <xsl:text>Édition </xsl:text>
895
+
896
+ </title-edition>
897
+
873
898
 
874
899
  <title-toc lang="en">
875
900
 
@@ -978,7 +1003,9 @@
978
1003
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
979
1004
  </xsl:otherwise>
980
1005
  </xsl:choose>
981
- </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="link-style">
1006
+ </xsl:template><xsl:variable name="lower">abcdefghijklmnopqrstuvwxyz</xsl:variable><xsl:variable name="upper">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable><xsl:variable name="en_chars" select="concat($lower,$upper,',.`1234567890-=~!@#$%^*()_+[]{}\|?/')"/><xsl:variable name="linebreak" select="'&#8232;'"/><xsl:attribute-set name="root-style">
1007
+
1008
+ </xsl:attribute-set><xsl:attribute-set name="link-style">
982
1009
 
983
1010
 
984
1011
 
@@ -2894,12 +2921,101 @@
2894
2921
 
2895
2922
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
2896
2923
  </fo:block>
2897
- </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
2924
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name']"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="contents">
2898
2925
  <xsl:apply-templates mode="contents"/>
2899
2926
  <xsl:text> </xsl:text>
2900
- </xsl:template><xsl:template match="text()" mode="contents">
2927
+ </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'table']/*[local-name() = 'name'] | *[local-name() = 'permission']/*[local-name() = 'name'] | *[local-name() = 'recommendation']/*[local-name() = 'name'] | *[local-name() = 'requirement']/*[local-name() = 'name']" mode="bookmarks">
2928
+ <xsl:apply-templates mode="bookmarks"/>
2929
+ <xsl:text> </xsl:text>
2930
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
2931
+ <xsl:value-of select="."/>
2932
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
2901
2933
  <xsl:value-of select="."/>
2902
- </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
2934
+ </xsl:template><xsl:template match="node()" mode="contents">
2935
+ <xsl:apply-templates mode="contents"/>
2936
+ </xsl:template><xsl:template match="node()" mode="bookmarks">
2937
+ <xsl:apply-templates mode="bookmarks"/>
2938
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
2939
+ <xsl:apply-templates select="."/>
2940
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
2941
+ <xsl:apply-templates mode="bookmarks"/>
2942
+ </xsl:template><xsl:template name="addBookmarks">
2943
+ <xsl:param name="contents"/>
2944
+ <xsl:if test="xalan:nodeset($contents)//item">
2945
+ <fo:bookmark-tree>
2946
+ <xsl:choose>
2947
+ <xsl:when test="xalan:nodeset($contents)/doc">
2948
+ <xsl:choose>
2949
+ <xsl:when test="count(xalan:nodeset($contents)/doc) &gt; 1">
2950
+ <xsl:for-each select="xalan:nodeset($contents)/doc">
2951
+ <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
2952
+ <fo:bookmark-title>
2953
+ <xsl:variable name="bookmark-title_">
2954
+ <xsl:choose>
2955
+ <xsl:when test="@lang = 'en'">
2956
+
2957
+
2958
+ </xsl:when>
2959
+ <xsl:when test="@lang = 'fr'">
2960
+
2961
+
2962
+ </xsl:when>
2963
+ <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
2964
+ <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
2965
+ </xsl:choose>
2966
+ </xsl:variable>
2967
+ <xsl:choose>
2968
+ <xsl:when test="normalize-space($bookmark-title_) != ''">
2969
+ <xsl:value-of select="normalize-space($bookmark-title_)"/>
2970
+ </xsl:when>
2971
+ <xsl:otherwise>
2972
+ <xsl:choose>
2973
+ <xsl:when test="@lang = 'en'">English</xsl:when>
2974
+ <xsl:when test="@lang = 'fr'">Français</xsl:when>
2975
+ <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
2976
+ <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
2977
+ </xsl:choose>
2978
+ </xsl:otherwise>
2979
+ </xsl:choose>
2980
+ </fo:bookmark-title>
2981
+ <xsl:apply-templates select="contents/item" mode="bookmark"/>
2982
+ </fo:bookmark>
2983
+
2984
+ </xsl:for-each>
2985
+ </xsl:when>
2986
+ <xsl:otherwise>
2987
+ <xsl:for-each select="xalan:nodeset($contents)/doc">
2988
+ <xsl:apply-templates select="contents/item" mode="bookmark"/>
2989
+ </xsl:for-each>
2990
+ </xsl:otherwise>
2991
+ </xsl:choose>
2992
+ </xsl:when>
2993
+ <xsl:otherwise>
2994
+ <xsl:apply-templates select="xalan:nodeset($contents)/contents/item" mode="bookmark"/>
2995
+ </xsl:otherwise>
2996
+ </xsl:choose>
2997
+
2998
+
2999
+
3000
+
3001
+
3002
+
3003
+
3004
+
3005
+ </fo:bookmark-tree>
3006
+ </xsl:if>
3007
+ </xsl:template><xsl:template match="item" mode="bookmark">
3008
+ <fo:bookmark internal-destination="{@id}" starting-state="hide">
3009
+ <fo:bookmark-title>
3010
+ <xsl:if test="@section != ''">
3011
+ <xsl:value-of select="@section"/>
3012
+ <xsl:text> </xsl:text>
3013
+ </xsl:if>
3014
+ <xsl:value-of select="normalize-space(title)"/>
3015
+ </fo:bookmark-title>
3016
+ <xsl:apply-templates mode="bookmark"/>
3017
+ </fo:bookmark>
3018
+ </xsl:template><xsl:template match="title" mode="bookmark"/><xsl:template match="text()" mode="bookmark"/><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
2903
3019
  <xsl:if test="normalize-space() != ''">
2904
3020
  <fo:block xsl:use-attribute-sets="figure-name-style">
2905
3021
 
@@ -2957,7 +3073,7 @@
2957
3073
  <xsl:apply-templates/>
2958
3074
  </xsl:otherwise>
2959
3075
  </xsl:choose>
2960
- </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
3076
+ </xsl:template><xsl:template match="*[local-name() = 'fn']" mode="contents"/><xsl:template match="*[local-name() = 'fn']" mode="bookmarks"/><xsl:template match="*[local-name() = 'fn']" mode="contents_item"/><xsl:template match="*[local-name() = 'tab']" mode="contents_item">
2961
3077
  <xsl:text> </xsl:text>
2962
3078
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
2963
3079
  <xsl:copy>
@@ -3559,20 +3675,29 @@
3559
3675
  <!-- 0xA0 to space replacement -->
3560
3676
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
3561
3677
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
3562
- <fo:block-container margin-left="0mm">
3563
- <xsl:if test="parent::*[local-name() = 'note']">
3564
- <xsl:attribute name="margin-left">
3565
- <xsl:choose>
3566
- <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3567
- <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3568
- </xsl:choose>
3569
- </xsl:attribute>
3570
-
3571
- </xsl:if>
3572
- <fo:block-container margin-left="0mm">
3573
- <xsl:apply-templates select="." mode="ul_ol"/>
3574
- </fo:block-container>
3575
- </fo:block-container>
3678
+ <xsl:choose>
3679
+ <xsl:when test="parent::*[local-name() = 'note']">
3680
+ <fo:block-container>
3681
+ <xsl:attribute name="margin-left">
3682
+ <xsl:choose>
3683
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
3684
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
3685
+ </xsl:choose>
3686
+ </xsl:attribute>
3687
+
3688
+ <fo:block-container margin-left="0mm">
3689
+ <fo:block>
3690
+ <xsl:apply-templates select="." mode="ul_ol"/>
3691
+ </fo:block>
3692
+ </fo:block-container>
3693
+ </fo:block-container>
3694
+ </xsl:when>
3695
+ <xsl:otherwise>
3696
+ <fo:block>
3697
+ <xsl:apply-templates select="." mode="ul_ol"/>
3698
+ </fo:block>
3699
+ </xsl:otherwise>
3700
+ </xsl:choose>
3576
3701
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
3577
3702
  <!-- <row>
3578
3703
  <date>05-07-2013</date>
@@ -3868,6 +3993,7 @@
3868
3993
 
3869
3994
 
3870
3995
 
3996
+
3871
3997
  </xsl:variable>
3872
3998
  <xsl:if test="$documentNS != $XSLNS">
3873
3999
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -3893,4 +4019,21 @@
3893
4019
  </xsl:otherwise>
3894
4020
  </xsl:choose>
3895
4021
  </xsl:attribute>
4022
+ </xsl:template><xsl:template name="add-letter-spacing">
4023
+ <xsl:param name="text"/>
4024
+ <xsl:param name="letter-spacing" select="'0.15'"/>
4025
+ <xsl:if test="string-length($text) &gt; 0">
4026
+ <xsl:variable name="char" select="substring($text, 1, 1)"/>
4027
+ <fo:inline padding-right="{$letter-spacing}mm">
4028
+ <xsl:if test="$char = '®'">
4029
+ <xsl:attribute name="font-size">58%</xsl:attribute>
4030
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
4031
+ </xsl:if>
4032
+ <xsl:value-of select="$char"/>
4033
+ </fo:inline>
4034
+ <xsl:call-template name="add-letter-spacing">
4035
+ <xsl:with-param name="text" select="substring($text, 2)"/>
4036
+ <xsl:with-param name="letter-spacing" select="$letter-spacing"/>
4037
+ </xsl:call-template>
4038
+ </xsl:if>
3896
4039
  </xsl:template></xsl:stylesheet>
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Metanorma
4
4
  module Csa
5
- VERSION = '1.6.3'
5
+ VERSION = '1.6.4'
6
6
  end
7
7
  end
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency "thread_safe"
37
37
  spec.add_dependency "uuidtools"
38
38
 
39
- spec.add_dependency "metanorma-standoc", "~> 1.5.0"
39
+ spec.add_dependency "metanorma-standoc", "~> 1.6.0"
40
40
  spec.add_dependency "isodoc", "~> 1.2.0"
41
41
 
42
42
  spec.add_development_dependency "byebug", "~> 9.1"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metanorma-csa
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.6.4
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-09-11 00:00:00.000000000 Z
11
+ date: 2020-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: htmlentities
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.5.0
103
+ version: 1.6.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.5.0
110
+ version: 1.6.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: isodoc
113
113
  requirement: !ruby/object:Gem::Requirement