metanorma-csa 1.6.3 → 1.6.4

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: 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