metanorma-iso 1.5.8 → 1.5.9

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: f3ed5efc51a4bb260333242d8f6fd7d9dbf75fe581e45daac1688678c0a2a454
4
- data.tar.gz: fd539ef13d53fd3470ffe2f22bd11e6c3afe4f3bceb5db62b267a0fce004a24e
3
+ metadata.gz: f062c8a45b1571a860957f18b17486aeeb235b0b9bc63fe2dced19bfb87cfee7
4
+ data.tar.gz: 330063e5d378fedb3b4e40da8b3ab577ba5d64e0ee0171699657eab00bca35b6
5
5
  SHA512:
6
- metadata.gz: 02e78bd72601ab988b01c03b986219766a33a7e57736c55c27d1177171466624b877882758a4296fcab414f748a59d4c27b9795a4f0de044c4eb9f91d449e379
7
- data.tar.gz: 413f66aa67da63b6c016db4781c0cc4a115bdb09c98e4386cbe107b072c425a2e2dba06325947abd47900fe5b9322ccfea6bdb875637b6b3f41406def080122a
6
+ metadata.gz: ffa2c512604cfb1cc4933d854df04a7690aecbdddf0df8b09aa74b2d0d4dd7534f2ec33d0eeb54525f3edddc67e4851f7fffb0282c0ddc889b9d81d6b507a370
7
+ data.tar.gz: 41fb639fb4076cd238872f8411734e51b7647123a26b4ed05ab948d58b32c1df57f7d8d874b178cb3b5f35cdb9a6efaa3f7c5fb3f59068820797101b34a24bd9
@@ -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>
@@ -18,18 +18,9 @@ module Asciidoctor
18
18
  xml.updates_document_type a
19
19
  end
20
20
 
21
- def organization(org, orgname)
22
- if ["ISO",
23
- "International Organization for Standardization"].include? orgname
24
- org.name "International Organization for Standardization"
25
- org.abbreviation "ISO"
26
- elsif ["IEC",
27
- "International Electrotechnical Commission"].include? orgname
28
- org.name "International Electrotechnical Commission"
29
- org.abbreviation "IEC"
30
- else
31
- org.name orgname
32
- end
21
+ def org_abbrev
22
+ { "International Organization for Standardization" => "ISO",
23
+ "International Electrotechnical Commission" => "IEC" }
33
24
  end
34
25
 
35
26
  def metadata_author(node, xml)
@@ -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>
@@ -253,7 +253,7 @@
253
253
  <define name="preface">
254
254
  <element name="preface">
255
255
  <optional>
256
- <ref name="preface_abstract"/>
256
+ <ref name="abstract"/>
257
257
  </optional>
258
258
  <ref name="foreword"/>
259
259
  <optional>
@@ -405,6 +405,13 @@
405
405
  -->
406
406
  <define name="iso-standard">
407
407
  <element name="iso-standard">
408
+ <attribute name="version"/>
409
+ <attribute name="type">
410
+ <choice>
411
+ <value>semantic</value>
412
+ <value>presentation</value>
413
+ </choice>
414
+ </attribute>
408
415
  <ref name="bibdata"/>
409
416
  <zeroOrMore>
410
417
  <ref name="termdocsource"/>
@@ -295,6 +295,10 @@
295
295
 
296
296
  <xsl:call-template name="addPDFUAmeta"/>
297
297
 
298
+ <xsl:call-template name="addBookmarks">
299
+ <xsl:with-param name="contents" select="$contents"/>
300
+ </xsl:call-template>
301
+
298
302
  <!-- cover page -->
299
303
  <xsl:choose>
300
304
  <xsl:when test="$stage-abbreviation != ''">
@@ -541,7 +545,14 @@
541
545
  </fo:table-cell>
542
546
  <fo:table-cell>
543
547
  <fo:block text-align="left">
544
- <xsl:value-of select="$doctype_uppercased"/>
548
+ <xsl:choose>
549
+ <xsl:when test="$doctype = 'amendment'">
550
+ <xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
551
+ </xsl:when>
552
+ <xsl:otherwise>
553
+ <xsl:value-of select="$doctype_uppercased"/>
554
+ </xsl:otherwise>
555
+ </xsl:choose>
545
556
  </fo:block>
546
557
  </fo:table-cell>
547
558
  <fo:table-cell>
@@ -553,24 +564,50 @@
553
564
  <fo:table-row height="42mm">
554
565
  <fo:table-cell number-columns-spanned="3" font-size="10pt" line-height="1.2">
555
566
  <fo:block text-align="right">
556
- <xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
567
+ <xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'D' or $stage-abbreviation = 'published'">
557
568
  <xsl:call-template name="printEdition"/>
558
569
  </xsl:if>
559
570
  <xsl:choose>
560
571
  <xsl:when test="$stage-abbreviation = 'IS' and /iso:iso-standard/iso:bibdata/iso:date[@type = 'published']">
561
572
  <xsl:value-of select="$linebreak"/>
562
573
  <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'published']"/>
563
- </xsl:when>
574
+ </xsl:when>
575
+ <xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
576
+ <xsl:value-of select="$linebreak"/>
577
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
578
+ </xsl:when>
564
579
  <xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
565
580
  <xsl:value-of select="$linebreak"/>
566
581
  <xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
567
582
  </xsl:when>
568
583
  </xsl:choose>
569
- <!-- <xsl:value-of select="$linebreak"/>
570
- <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
584
+ </fo:block>
585
+ <!-- <xsl:value-of select="$linebreak"/>
586
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
587
+ <xsl:if test="$doctype = 'amendment'">
588
+ <fo:block text-align="right" margin-right="0.5mm">
589
+ <fo:block font-weight="bold" margin-top="4pt">
590
+ <xsl:variable name="title-amendment">
591
+ <xsl:call-template name="getTitle">
592
+ <xsl:with-param name="name" select="'title-amendment'"/>
593
+ </xsl:call-template>
594
+ </xsl:variable>
595
+ <xsl:value-of select="$title-amendment"/><xsl:text> </xsl:text>
596
+ <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
597
+ <xsl:if test="normalize-space($amendment-number) != ''">
598
+ <xsl:value-of select="$amendment-number"/><xsl:text> </xsl:text>
599
+ </xsl:if>
600
+ </fo:block>
601
+ <fo:block>
602
+ <xsl:if test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']">
603
+ <xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']"/>
604
+ </xsl:if>
605
+ </fo:block>
571
606
  </fo:block>
607
+ </xsl:if>
572
608
  </fo:table-cell>
573
609
  </fo:table-row>
610
+
574
611
  </fo:table-body>
575
612
  </fo:table>
576
613
 
@@ -639,6 +676,12 @@
639
676
  </xsl:if>
640
677
  <xsl:value-of select="$title-part"/>
641
678
  </xsl:if> -->
679
+ <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
680
+ <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
681
+ <fo:block margin-right="-5mm" margin-top="12pt">
682
+ <xsl:call-template name="printAmendmentTitle"/>
683
+ </fo:block>
684
+ </xsl:if>
642
685
  </fo:block>
643
686
 
644
687
  <fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
@@ -653,6 +696,15 @@
653
696
 
654
697
  <xsl:call-template name="printTitlePartFr"/>
655
698
 
699
+ <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
700
+ <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
701
+ <fo:block margin-right="-5mm" margin-top="6pt">
702
+ <xsl:call-template name="printAmendmentTitle">
703
+ <xsl:with-param name="lang" select="'fr'"/>
704
+ </xsl:call-template>
705
+ </fo:block>
706
+ </xsl:if>
707
+
656
708
  </fo:block>
657
709
  </fo:block>
658
710
  </fo:block-container>
@@ -966,7 +1018,7 @@
966
1018
  </xsl:if>
967
1019
 
968
1020
  <xsl:variable name="margin-left">12</xsl:variable>
969
- <xsl:for-each select="xalan:nodeset($contents)//item"><!-- [@display = 'true'][not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
1021
+ <xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
970
1022
 
971
1023
  <fo:block>
972
1024
  <xsl:if test="@level = 1">
@@ -996,9 +1048,9 @@
996
1048
  </fo:list-item-label>
997
1049
  <fo:list-item-body start-indent="body-start()">
998
1050
  <fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
999
- <fo:basic-link internal-destination="{@id}" fox:alt-text="{text()}">
1051
+ <fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
1000
1052
 
1001
- <xsl:apply-templates/>
1053
+ <xsl:apply-templates select="title"/>
1002
1054
 
1003
1055
  <fo:inline keep-together.within-line="always">
1004
1056
  <fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
@@ -1067,19 +1119,8 @@
1067
1119
 
1068
1120
  <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
1069
1121
  <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
1070
- <fo:block font-weight="normal" margin-top="12pt" line-height="1.1">
1071
- <xsl:variable name="title-amendment">
1072
- <xsl:call-template name="getTitle">
1073
- <xsl:with-param name="name" select="'title-amendment'"/>
1074
- </xsl:call-template>
1075
- </xsl:variable>
1076
- <xsl:value-of select="$title-amendment"/>
1077
- <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
1078
- <xsl:if test="normalize-space($amendment-number) != ''">
1079
- <xsl:text> </xsl:text><xsl:value-of select="$amendment-number"/>
1080
- </xsl:if>
1081
- <xsl:text>: </xsl:text>
1082
- <xsl:value-of select="$title-amd"/>
1122
+ <fo:block margin-top="12pt">
1123
+ <xsl:call-template name="printAmendmentTitle"/>
1083
1124
  </fo:block>
1084
1125
  </xsl:if>
1085
1126
 
@@ -1174,6 +1215,27 @@
1174
1215
  <xsl:apply-templates/>
1175
1216
  </xsl:template>
1176
1217
 
1218
+ <xsl:template name="printAmendmentTitle">
1219
+ <xsl:param name="lang" select="'en'"/>
1220
+ <xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']"/>
1221
+ <xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
1222
+ <fo:block font-weight="normal" line-height="1.1">
1223
+ <xsl:variable name="title-amendment">
1224
+ <xsl:call-template name="getTitle">
1225
+ <xsl:with-param name="name" select="'title-amendment'"/>
1226
+ </xsl:call-template>
1227
+ </xsl:variable>
1228
+ <xsl:value-of select="$title-amendment"/>
1229
+ <xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
1230
+ <xsl:if test="normalize-space($amendment-number) != ''">
1231
+ <xsl:text> </xsl:text><xsl:value-of select="$amendment-number"/>
1232
+ </xsl:if>
1233
+ <xsl:text>: </xsl:text>
1234
+ <xsl:value-of select="$title-amd"/>
1235
+ </fo:block>
1236
+ </xsl:if>
1237
+ </xsl:template>
1238
+
1177
1239
  <!-- ============================= -->
1178
1240
  <!-- CONTENTS -->
1179
1241
  <!-- ============================= -->
@@ -1198,9 +1260,7 @@
1198
1260
  </xsl:variable>
1199
1261
 
1200
1262
  <xsl:variable name="display">
1201
- <xsl:choose>
1202
- <xsl:when test="ancestor-or-self::iso:bibitem">false</xsl:when>
1203
- <xsl:when test="ancestor-or-self::iso:term">false</xsl:when>
1263
+ <xsl:choose>
1204
1264
  <xsl:when test="ancestor-or-self::iso:annex and $level &gt;= 2">false</xsl:when>
1205
1265
  <xsl:when test="$section = '' and $type = 'clause'">false</xsl:when>
1206
1266
  <xsl:when test="$level &lt;= 3">true</xsl:when>
@@ -1208,8 +1268,16 @@
1208
1268
  </xsl:choose>
1209
1269
  </xsl:variable>
1210
1270
 
1271
+ <xsl:variable name="skip">
1272
+ <xsl:choose>
1273
+ <xsl:when test="ancestor-or-self::iso:bibitem">true</xsl:when>
1274
+ <xsl:when test="ancestor-or-self::iso:term">true</xsl:when>
1275
+ <xsl:otherwise>false</xsl:otherwise>
1276
+ </xsl:choose>
1277
+ </xsl:variable>
1278
+
1211
1279
 
1212
- <xsl:if test="$display = 'true'">
1280
+ <xsl:if test="$skip = 'false'">
1213
1281
 
1214
1282
  <xsl:variable name="title">
1215
1283
  <xsl:call-template name="getName"/>
@@ -1220,12 +1288,13 @@
1220
1288
  <xsl:if test="ancestor-or-self::iso:annex">annex</xsl:if>
1221
1289
  </xsl:variable>
1222
1290
 
1223
- <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}">
1224
- <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1291
+ <item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
1292
+ <title>
1293
+ <xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
1294
+ </title>
1295
+ <xsl:apply-templates mode="contents"/>
1225
1296
  </item>
1226
- <xsl:apply-templates mode="contents"/>
1227
- </xsl:if>
1228
-
1297
+ </xsl:if>
1229
1298
  </xsl:template>
1230
1299
 
1231
1300
 
@@ -1987,6 +2056,12 @@
1987
2056
 
1988
2057
  </title-edition>
1989
2058
 
2059
+ <title-edition lang="fr">
2060
+
2061
+ <xsl:text>Édition </xsl:text>
2062
+
2063
+ </title-edition>
2064
+
1990
2065
 
1991
2066
  <title-toc lang="en">
1992
2067
 
@@ -2099,7 +2174,9 @@
2099
2174
  <xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
2100
2175
  </xsl:otherwise>
2101
2176
  </xsl:choose>
2102
- </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">
2177
+ </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">
2178
+
2179
+ </xsl:attribute-set><xsl:attribute-set name="link-style">
2103
2180
 
2104
2181
  <xsl:attribute name="color">blue</xsl:attribute>
2105
2182
  <xsl:attribute name="text-decoration">underline</xsl:attribute>
@@ -4131,12 +4208,101 @@
4131
4208
 
4132
4209
  <fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
4133
4210
  </fo:block>
4134
- </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">
4211
+ </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">
4135
4212
  <xsl:apply-templates mode="contents"/>
4136
4213
  <xsl:text> </xsl:text>
4137
- </xsl:template><xsl:template match="text()" mode="contents">
4214
+ </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">
4215
+ <xsl:apply-templates mode="bookmarks"/>
4216
+ <xsl:text> </xsl:text>
4217
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
4218
+ <xsl:value-of select="."/>
4219
+ </xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
4138
4220
  <xsl:value-of select="."/>
4139
- </xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'name'] | *[local-name() = 'image']/*[local-name() = 'name']" mode="presentation">
4221
+ </xsl:template><xsl:template match="node()" mode="contents">
4222
+ <xsl:apply-templates mode="contents"/>
4223
+ </xsl:template><xsl:template match="node()" mode="bookmarks">
4224
+ <xsl:apply-templates mode="bookmarks"/>
4225
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
4226
+ <xsl:apply-templates select="."/>
4227
+ </xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
4228
+ <xsl:apply-templates mode="bookmarks"/>
4229
+ </xsl:template><xsl:template name="addBookmarks">
4230
+ <xsl:param name="contents"/>
4231
+ <xsl:if test="xalan:nodeset($contents)//item">
4232
+ <fo:bookmark-tree>
4233
+ <xsl:choose>
4234
+ <xsl:when test="xalan:nodeset($contents)/doc">
4235
+ <xsl:choose>
4236
+ <xsl:when test="count(xalan:nodeset($contents)/doc) &gt; 1">
4237
+ <xsl:for-each select="xalan:nodeset($contents)/doc">
4238
+ <fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
4239
+ <fo:bookmark-title>
4240
+ <xsl:variable name="bookmark-title_">
4241
+ <xsl:choose>
4242
+ <xsl:when test="@lang = 'en'">
4243
+
4244
+
4245
+ </xsl:when>
4246
+ <xsl:when test="@lang = 'fr'">
4247
+
4248
+
4249
+ </xsl:when>
4250
+ <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
4251
+ <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
4252
+ </xsl:choose>
4253
+ </xsl:variable>
4254
+ <xsl:choose>
4255
+ <xsl:when test="normalize-space($bookmark-title_) != ''">
4256
+ <xsl:value-of select="normalize-space($bookmark-title_)"/>
4257
+ </xsl:when>
4258
+ <xsl:otherwise>
4259
+ <xsl:choose>
4260
+ <xsl:when test="@lang = 'en'">English</xsl:when>
4261
+ <xsl:when test="@lang = 'fr'">Français</xsl:when>
4262
+ <xsl:when test="@lang = 'de'">Deutsche</xsl:when>
4263
+ <xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
4264
+ </xsl:choose>
4265
+ </xsl:otherwise>
4266
+ </xsl:choose>
4267
+ </fo:bookmark-title>
4268
+ <xsl:apply-templates select="contents/item" mode="bookmark"/>
4269
+ </fo:bookmark>
4270
+
4271
+ </xsl:for-each>
4272
+ </xsl:when>
4273
+ <xsl:otherwise>
4274
+ <xsl:for-each select="xalan:nodeset($contents)/doc">
4275
+ <xsl:apply-templates select="contents/item" mode="bookmark"/>
4276
+ </xsl:for-each>
4277
+ </xsl:otherwise>
4278
+ </xsl:choose>
4279
+ </xsl:when>
4280
+ <xsl:otherwise>
4281
+ <xsl:apply-templates select="xalan:nodeset($contents)/contents/item" mode="bookmark"/>
4282
+ </xsl:otherwise>
4283
+ </xsl:choose>
4284
+
4285
+
4286
+
4287
+
4288
+
4289
+
4290
+
4291
+
4292
+ </fo:bookmark-tree>
4293
+ </xsl:if>
4294
+ </xsl:template><xsl:template match="item" mode="bookmark">
4295
+ <fo:bookmark internal-destination="{@id}" starting-state="hide">
4296
+ <fo:bookmark-title>
4297
+ <xsl:if test="@section != ''">
4298
+ <xsl:value-of select="@section"/>
4299
+ <xsl:text> </xsl:text>
4300
+ </xsl:if>
4301
+ <xsl:value-of select="normalize-space(title)"/>
4302
+ </fo:bookmark-title>
4303
+ <xsl:apply-templates mode="bookmark"/>
4304
+ </fo:bookmark>
4305
+ </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">
4140
4306
  <xsl:if test="normalize-space() != ''">
4141
4307
  <fo:block xsl:use-attribute-sets="figure-name-style">
4142
4308
 
@@ -4194,7 +4360,7 @@
4194
4360
  <xsl:apply-templates/>
4195
4361
  </xsl:otherwise>
4196
4362
  </xsl:choose>
4197
- </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">
4363
+ </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">
4198
4364
  <xsl:text> </xsl:text>
4199
4365
  </xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
4200
4366
  <xsl:copy>
@@ -4801,20 +4967,29 @@
4801
4967
  <!-- 0xA0 to space replacement -->
4802
4968
  <xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
4803
4969
  </xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
4804
- <fo:block-container margin-left="0mm">
4805
- <xsl:if test="parent::*[local-name() = 'note']">
4806
- <xsl:attribute name="margin-left">
4807
- <xsl:choose>
4808
- <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
4809
- <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
4810
- </xsl:choose>
4811
- </xsl:attribute>
4812
-
4813
- </xsl:if>
4814
- <fo:block-container margin-left="0mm">
4815
- <xsl:apply-templates select="." mode="ul_ol"/>
4816
- </fo:block-container>
4817
- </fo:block-container>
4970
+ <xsl:choose>
4971
+ <xsl:when test="parent::*[local-name() = 'note']">
4972
+ <fo:block-container>
4973
+ <xsl:attribute name="margin-left">
4974
+ <xsl:choose>
4975
+ <xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
4976
+ <xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
4977
+ </xsl:choose>
4978
+ </xsl:attribute>
4979
+
4980
+ <fo:block-container margin-left="0mm">
4981
+ <fo:block>
4982
+ <xsl:apply-templates select="." mode="ul_ol"/>
4983
+ </fo:block>
4984
+ </fo:block-container>
4985
+ </fo:block-container>
4986
+ </xsl:when>
4987
+ <xsl:otherwise>
4988
+ <fo:block>
4989
+ <xsl:apply-templates select="." mode="ul_ol"/>
4990
+ </fo:block>
4991
+ </xsl:otherwise>
4992
+ </xsl:choose>
4818
4993
  </xsl:template><xsl:template match="*[local-name() = 'errata']">
4819
4994
  <!-- <row>
4820
4995
  <date>05-07-2013</date>
@@ -5112,6 +5287,7 @@
5112
5287
 
5113
5288
 
5114
5289
 
5290
+
5115
5291
  </xsl:variable>
5116
5292
  <xsl:if test="$documentNS != $XSLNS">
5117
5293
  <xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
@@ -5137,4 +5313,21 @@
5137
5313
  </xsl:otherwise>
5138
5314
  </xsl:choose>
5139
5315
  </xsl:attribute>
5316
+ </xsl:template><xsl:template name="add-letter-spacing">
5317
+ <xsl:param name="text"/>
5318
+ <xsl:param name="letter-spacing" select="'0.15'"/>
5319
+ <xsl:if test="string-length($text) &gt; 0">
5320
+ <xsl:variable name="char" select="substring($text, 1, 1)"/>
5321
+ <fo:inline padding-right="{$letter-spacing}mm">
5322
+ <xsl:if test="$char = '®'">
5323
+ <xsl:attribute name="font-size">58%</xsl:attribute>
5324
+ <xsl:attribute name="baseline-shift">30%</xsl:attribute>
5325
+ </xsl:if>
5326
+ <xsl:value-of select="$char"/>
5327
+ </fo:inline>
5328
+ <xsl:call-template name="add-letter-spacing">
5329
+ <xsl:with-param name="text" select="substring($text, 2)"/>
5330
+ <xsl:with-param name="letter-spacing" select="$letter-spacing"/>
5331
+ </xsl:call-template>
5332
+ </xsl:if>
5140
5333
  </xsl:template></xsl:stylesheet>