metanorma-iso 1.5.6 → 1.5.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macos.yml +9 -1
- data/.github/workflows/ubuntu.yml +8 -0
- data/.github/workflows/windows.yml +7 -0
- data/lib/asciidoctor/iso/basicdoc.rng +4 -11
- data/lib/asciidoctor/iso/boilerplate-fr.xml +40 -0
- data/lib/asciidoctor/iso/boilerplate.xml +1 -0
- data/lib/asciidoctor/iso/cleanup.rb +5 -0
- data/lib/asciidoctor/iso/front.rb +9 -15
- data/lib/asciidoctor/iso/isodoc.rng +14 -50
- data/lib/asciidoctor/iso/isostandard.rng +8 -1
- data/lib/isodoc/iso/html/header.html +8 -16
- data/lib/isodoc/iso/html/style-human.css +5 -1
- data/lib/isodoc/iso/html/style-iso.css +5 -1
- data/lib/isodoc/iso/i18n-en.yaml +3 -0
- data/lib/isodoc/iso/i18n-fr.yaml +3 -0
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +4 -0
- data/lib/isodoc/iso/iso.amendment.xsl +543 -94
- data/lib/isodoc/iso/iso.international-standard.xsl +543 -94
- data/lib/isodoc/iso/isosts_convert.rb +31 -0
- data/lib/isodoc/iso/metadata.rb +19 -19
- data/lib/metanorma-iso.rb +1 -0
- data/lib/metanorma/iso/processor.rb +1 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +1 -1
- data/spec/asciidoctor-iso/amd_spec.rb +7 -7
- data/spec/asciidoctor-iso/base_spec.rb +144 -18
- data/spec/asciidoctor-iso/validate_spec.rb +35 -15
- data/spec/assets/xref_error.adoc +7 -0
- data/spec/isodoc/amd_spec.rb +191 -17
- data/spec/isodoc/blocks_spec.rb +1 -1
- data/spec/isodoc/i18n_spec.rb +13 -13
- data/spec/isodoc/inline_spec.rb +2 -2
- data/spec/isodoc/iso_spec.rb +2 -2
- data/spec/isodoc/metadata_spec.rb +170 -19
- data/spec/isodoc/postproc_spec.rb +3 -3
- data/spec/isodoc/ref_spec.rb +3 -3
- data/spec/isodoc/section_spec.rb +2 -2
- data/spec/isodoc/table_spec.rb +1 -1
- data/spec/isodoc/terms_spec.rb +1 -1
- data/spec/isodoc/xref_spec.rb +11 -11
- data/spec/metanorma/processor_spec.rb +1 -1
- data/spec/spec_helper.rb +22 -2
- metadata +7 -4
@@ -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 != ''">
|
@@ -398,7 +402,15 @@
|
|
398
402
|
<fo:flow flow-name="xsl-region-body">
|
399
403
|
<fo:block-container>
|
400
404
|
<fo:block margin-top="-1mm" font-size="20pt" text-align="right">
|
401
|
-
<xsl:value-of select="$stage-fullname-uppercased"/>
|
405
|
+
<xsl:value-of select="$stage-fullname-uppercased"/>
|
406
|
+
<!-- <xsl:if test="$doctype = 'amendment'">
|
407
|
+
<xsl:variable name="title-amendment">
|
408
|
+
<xsl:call-template name="getTitle">
|
409
|
+
<xsl:with-param name="name" select="'title-amendment'"/>
|
410
|
+
</xsl:call-template>
|
411
|
+
</xsl:variable>
|
412
|
+
<xsl:text> </xsl:text><xsl:value-of select="$title-amendment"/>
|
413
|
+
</xsl:if> -->
|
402
414
|
</fo:block>
|
403
415
|
<fo:block font-size="20pt" font-weight="bold" text-align="right">
|
404
416
|
<xsl:value-of select="$docidentifierISO"/>
|
@@ -473,16 +485,13 @@
|
|
473
485
|
|
474
486
|
<xsl:call-template name="printTitlePartEn"/>
|
475
487
|
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
<
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
</xsl:if>
|
484
|
-
<xsl:value-of select="$title-part"/>
|
485
|
-
</xsl:if> -->
|
488
|
+
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
|
489
|
+
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
490
|
+
<fo:block margin-top="12pt">
|
491
|
+
<xsl:call-template name="printAmendmentTitle"/>
|
492
|
+
</fo:block>
|
493
|
+
</xsl:if>
|
494
|
+
|
486
495
|
</fo:block>
|
487
496
|
|
488
497
|
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
@@ -497,6 +506,15 @@
|
|
497
506
|
|
498
507
|
<xsl:call-template name="printTitlePartFr"/>
|
499
508
|
|
509
|
+
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
|
510
|
+
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
511
|
+
<fo:block margin-top="6pt">
|
512
|
+
<xsl:call-template name="printAmendmentTitle">
|
513
|
+
<xsl:with-param name="lang" select="'fr'"/>
|
514
|
+
</xsl:call-template>
|
515
|
+
</fo:block>
|
516
|
+
</xsl:if>
|
517
|
+
|
500
518
|
</fo:block>
|
501
519
|
</fo:block>
|
502
520
|
<fo:block margin-top="10mm">
|
@@ -541,7 +559,14 @@
|
|
541
559
|
</fo:table-cell>
|
542
560
|
<fo:table-cell>
|
543
561
|
<fo:block text-align="left">
|
544
|
-
<xsl:
|
562
|
+
<xsl:choose>
|
563
|
+
<xsl:when test="$doctype = 'amendment'">
|
564
|
+
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(translate(/iso:iso-standard/iso:bibdata/iso:ext/iso:updates-document-type,'-',' ')))"/>
|
565
|
+
</xsl:when>
|
566
|
+
<xsl:otherwise>
|
567
|
+
<xsl:value-of select="$doctype_uppercased"/>
|
568
|
+
</xsl:otherwise>
|
569
|
+
</xsl:choose>
|
545
570
|
</fo:block>
|
546
571
|
</fo:table-cell>
|
547
572
|
<fo:table-cell>
|
@@ -553,24 +578,50 @@
|
|
553
578
|
<fo:table-row height="42mm">
|
554
579
|
<fo:table-cell number-columns-spanned="3" font-size="10pt" line-height="1.2">
|
555
580
|
<fo:block text-align="right">
|
556
|
-
<xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
|
581
|
+
<xsl:if test="$stage-abbreviation = 'PRF' or $stage-abbreviation = 'IS' or $stage-abbreviation = 'D' or $stage-abbreviation = 'published'">
|
557
582
|
<xsl:call-template name="printEdition"/>
|
558
583
|
</xsl:if>
|
559
584
|
<xsl:choose>
|
560
585
|
<xsl:when test="$stage-abbreviation = 'IS' and /iso:iso-standard/iso:bibdata/iso:date[@type = 'published']">
|
561
586
|
<xsl:value-of select="$linebreak"/>
|
562
587
|
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'published']"/>
|
563
|
-
</xsl:when>
|
588
|
+
</xsl:when>
|
589
|
+
<xsl:when test="($stage-abbreviation = 'IS' or $stage-abbreviation = 'D') and /iso:iso-standard/iso:bibdata/iso:date[@type = 'created']">
|
590
|
+
<xsl:value-of select="$linebreak"/>
|
591
|
+
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'created']"/>
|
592
|
+
</xsl:when>
|
564
593
|
<xsl:when test="$stage-abbreviation = 'IS' or $stage-abbreviation = 'published'">
|
565
594
|
<xsl:value-of select="$linebreak"/>
|
566
595
|
<xsl:value-of select="substring(/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date,1, 7)"/>
|
567
596
|
</xsl:when>
|
568
597
|
</xsl:choose>
|
569
|
-
|
570
|
-
|
598
|
+
</fo:block>
|
599
|
+
<!-- <xsl:value-of select="$linebreak"/>
|
600
|
+
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:version/iso:revision-date"/> -->
|
601
|
+
<xsl:if test="$doctype = 'amendment'">
|
602
|
+
<fo:block text-align="right" margin-right="0.5mm">
|
603
|
+
<fo:block font-weight="bold" margin-top="4pt">
|
604
|
+
<xsl:variable name="title-amendment">
|
605
|
+
<xsl:call-template name="getTitle">
|
606
|
+
<xsl:with-param name="name" select="'title-amendment'"/>
|
607
|
+
</xsl:call-template>
|
608
|
+
</xsl:variable>
|
609
|
+
<xsl:value-of select="$title-amendment"/><xsl:text> </xsl:text>
|
610
|
+
<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
|
611
|
+
<xsl:if test="normalize-space($amendment-number) != ''">
|
612
|
+
<xsl:value-of select="$amendment-number"/><xsl:text> </xsl:text>
|
613
|
+
</xsl:if>
|
614
|
+
</fo:block>
|
615
|
+
<fo:block>
|
616
|
+
<xsl:if test="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']">
|
617
|
+
<xsl:value-of select="/iso:iso-standard/iso:bibdata/iso:date[@type = 'updated']"/>
|
618
|
+
</xsl:if>
|
619
|
+
</fo:block>
|
571
620
|
</fo:block>
|
621
|
+
</xsl:if>
|
572
622
|
</fo:table-cell>
|
573
623
|
</fo:table-row>
|
624
|
+
|
574
625
|
</fo:table-body>
|
575
626
|
</fo:table>
|
576
627
|
|
@@ -639,6 +690,12 @@
|
|
639
690
|
</xsl:if>
|
640
691
|
<xsl:value-of select="$title-part"/>
|
641
692
|
</xsl:if> -->
|
693
|
+
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
|
694
|
+
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
695
|
+
<fo:block margin-right="-5mm" margin-top="12pt">
|
696
|
+
<xsl:call-template name="printAmendmentTitle"/>
|
697
|
+
</fo:block>
|
698
|
+
</xsl:if>
|
642
699
|
</fo:block>
|
643
700
|
|
644
701
|
<fo:block font-size="9pt"><xsl:value-of select="$linebreak"/></fo:block>
|
@@ -653,6 +710,15 @@
|
|
653
710
|
|
654
711
|
<xsl:call-template name="printTitlePartFr"/>
|
655
712
|
|
713
|
+
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'fr' and @type = 'title-amd']"/>
|
714
|
+
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
715
|
+
<fo:block margin-right="-5mm" margin-top="6pt">
|
716
|
+
<xsl:call-template name="printAmendmentTitle">
|
717
|
+
<xsl:with-param name="lang" select="'fr'"/>
|
718
|
+
</xsl:call-template>
|
719
|
+
</fo:block>
|
720
|
+
</xsl:if>
|
721
|
+
|
656
722
|
</fo:block>
|
657
723
|
</fo:block>
|
658
724
|
</fo:block-container>
|
@@ -966,7 +1032,7 @@
|
|
966
1032
|
</xsl:if>
|
967
1033
|
|
968
1034
|
<xsl:variable name="margin-left">12</xsl:variable>
|
969
|
-
<xsl:for-each select="xalan:nodeset($contents)//item
|
1035
|
+
<xsl:for-each select="xalan:nodeset($contents)//item[@display = 'true']"><!-- [not(@level = 2 and starts-with(@section, '0'))] skip clause from preface -->
|
970
1036
|
|
971
1037
|
<fo:block>
|
972
1038
|
<xsl:if test="@level = 1">
|
@@ -996,9 +1062,9 @@
|
|
996
1062
|
</fo:list-item-label>
|
997
1063
|
<fo:list-item-body start-indent="body-start()">
|
998
1064
|
<fo:block text-align-last="justify" margin-left="12mm" text-indent="-12mm">
|
999
|
-
<fo:basic-link internal-destination="{@id}" fox:alt-text="{
|
1065
|
+
<fo:basic-link internal-destination="{@id}" fox:alt-text="{title}">
|
1000
1066
|
|
1001
|
-
<xsl:apply-templates/>
|
1067
|
+
<xsl:apply-templates select="title"/>
|
1002
1068
|
|
1003
1069
|
<fo:inline keep-together.within-line="always">
|
1004
1070
|
<fo:leader font-size="9pt" font-weight="normal" leader-pattern="dots"/>
|
@@ -1067,19 +1133,8 @@
|
|
1067
1133
|
|
1068
1134
|
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = 'en' and @type = 'title-amd']"/>
|
1069
1135
|
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
1070
|
-
<fo:block
|
1071
|
-
<xsl:
|
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"/>
|
1136
|
+
<fo:block margin-top="12pt">
|
1137
|
+
<xsl:call-template name="printAmendmentTitle"/>
|
1083
1138
|
</fo:block>
|
1084
1139
|
</xsl:if>
|
1085
1140
|
|
@@ -1174,6 +1229,27 @@
|
|
1174
1229
|
<xsl:apply-templates/>
|
1175
1230
|
</xsl:template>
|
1176
1231
|
|
1232
|
+
<xsl:template name="printAmendmentTitle">
|
1233
|
+
<xsl:param name="lang" select="'en'"/>
|
1234
|
+
<xsl:variable name="title-amd" select="/iso:iso-standard/iso:bibdata/iso:title[@language = $lang and @type = 'title-amd']"/>
|
1235
|
+
<xsl:if test="$doctype = 'amendment' and normalize-space($title-amd) != ''">
|
1236
|
+
<fo:block font-weight="normal" line-height="1.1">
|
1237
|
+
<xsl:variable name="title-amendment">
|
1238
|
+
<xsl:call-template name="getTitle">
|
1239
|
+
<xsl:with-param name="name" select="'title-amendment'"/>
|
1240
|
+
</xsl:call-template>
|
1241
|
+
</xsl:variable>
|
1242
|
+
<xsl:value-of select="$title-amendment"/>
|
1243
|
+
<xsl:variable name="amendment-number" select="/iso:iso-standard/iso:bibdata/iso:ext/iso:structuredidentifier/iso:project-number/@amendment"/>
|
1244
|
+
<xsl:if test="normalize-space($amendment-number) != ''">
|
1245
|
+
<xsl:text> </xsl:text><xsl:value-of select="$amendment-number"/>
|
1246
|
+
</xsl:if>
|
1247
|
+
<xsl:text>: </xsl:text>
|
1248
|
+
<xsl:value-of select="$title-amd"/>
|
1249
|
+
</fo:block>
|
1250
|
+
</xsl:if>
|
1251
|
+
</xsl:template>
|
1252
|
+
|
1177
1253
|
<!-- ============================= -->
|
1178
1254
|
<!-- CONTENTS -->
|
1179
1255
|
<!-- ============================= -->
|
@@ -1198,9 +1274,7 @@
|
|
1198
1274
|
</xsl:variable>
|
1199
1275
|
|
1200
1276
|
<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>
|
1277
|
+
<xsl:choose>
|
1204
1278
|
<xsl:when test="ancestor-or-self::iso:annex and $level >= 2">false</xsl:when>
|
1205
1279
|
<xsl:when test="$section = '' and $type = 'clause'">false</xsl:when>
|
1206
1280
|
<xsl:when test="$level <= 3">true</xsl:when>
|
@@ -1208,8 +1282,16 @@
|
|
1208
1282
|
</xsl:choose>
|
1209
1283
|
</xsl:variable>
|
1210
1284
|
|
1285
|
+
<xsl:variable name="skip">
|
1286
|
+
<xsl:choose>
|
1287
|
+
<xsl:when test="ancestor-or-self::iso:bibitem">true</xsl:when>
|
1288
|
+
<xsl:when test="ancestor-or-self::iso:term">true</xsl:when>
|
1289
|
+
<xsl:otherwise>false</xsl:otherwise>
|
1290
|
+
</xsl:choose>
|
1291
|
+
</xsl:variable>
|
1292
|
+
|
1211
1293
|
|
1212
|
-
<xsl:if test="$
|
1294
|
+
<xsl:if test="$skip = 'false'">
|
1213
1295
|
|
1214
1296
|
<xsl:variable name="title">
|
1215
1297
|
<xsl:call-template name="getName"/>
|
@@ -1220,12 +1302,13 @@
|
|
1220
1302
|
<xsl:if test="ancestor-or-self::iso:annex">annex</xsl:if>
|
1221
1303
|
</xsl:variable>
|
1222
1304
|
|
1223
|
-
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}">
|
1224
|
-
<
|
1305
|
+
<item id="{@id}" level="{$level}" section="{$section}" type="{$type}" root="{$root}" display="{$display}">
|
1306
|
+
<title>
|
1307
|
+
<xsl:apply-templates select="xalan:nodeset($title)" mode="contents_item"/>
|
1308
|
+
</title>
|
1309
|
+
<xsl:apply-templates mode="contents"/>
|
1225
1310
|
</item>
|
1226
|
-
|
1227
|
-
</xsl:if>
|
1228
|
-
|
1311
|
+
</xsl:if>
|
1229
1312
|
</xsl:template>
|
1230
1313
|
|
1231
1314
|
|
@@ -1987,6 +2070,12 @@
|
|
1987
2070
|
|
1988
2071
|
</title-edition>
|
1989
2072
|
|
2073
|
+
<title-edition lang="fr">
|
2074
|
+
|
2075
|
+
<xsl:text>Édition </xsl:text>
|
2076
|
+
|
2077
|
+
</title-edition>
|
2078
|
+
|
1990
2079
|
|
1991
2080
|
<title-toc lang="en">
|
1992
2081
|
|
@@ -1995,7 +2084,12 @@
|
|
1995
2084
|
|
1996
2085
|
|
1997
2086
|
</title-toc>
|
1998
|
-
<title-toc lang="fr">
|
2087
|
+
<title-toc lang="fr">
|
2088
|
+
|
2089
|
+
<xsl:text>Sommaire</xsl:text>
|
2090
|
+
|
2091
|
+
|
2092
|
+
</title-toc>
|
1999
2093
|
|
2000
2094
|
<title-toc lang="zh">Contents</title-toc>
|
2001
2095
|
|
@@ -2087,10 +2181,19 @@
|
|
2087
2181
|
|
2088
2182
|
</xsl:variable><xsl:variable name="tab_zh"> </xsl:variable><xsl:template name="getTitle">
|
2089
2183
|
<xsl:param name="name"/>
|
2090
|
-
<xsl:
|
2091
|
-
|
2184
|
+
<xsl:param name="lang"/>
|
2185
|
+
<xsl:variable name="lang_">
|
2186
|
+
<xsl:choose>
|
2187
|
+
<xsl:when test="$lang != ''">
|
2188
|
+
<xsl:value-of select="$lang"/>
|
2189
|
+
</xsl:when>
|
2190
|
+
<xsl:otherwise>
|
2191
|
+
<xsl:call-template name="getLang"/>
|
2192
|
+
</xsl:otherwise>
|
2193
|
+
</xsl:choose>
|
2092
2194
|
</xsl:variable>
|
2093
|
-
<xsl:variable name="
|
2195
|
+
<xsl:variable name="language" select="normalize-space($lang_)"/>
|
2196
|
+
<xsl:variable name="title_" select="$titles/*[local-name() = $name][@lang = $language]"/>
|
2094
2197
|
<xsl:choose>
|
2095
2198
|
<xsl:when test="normalize-space($title_) != ''">
|
2096
2199
|
<xsl:value-of select="$title_"/>
|
@@ -2099,7 +2202,9 @@
|
|
2099
2202
|
<xsl:value-of select="$titles/*[local-name() = $name][@lang = 'en']"/>
|
2100
2203
|
</xsl:otherwise>
|
2101
2204
|
</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="'
'"/><xsl:attribute-set name="
|
2205
|
+
</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="'
'"/><xsl:attribute-set name="root-style">
|
2206
|
+
|
2207
|
+
</xsl:attribute-set><xsl:attribute-set name="link-style">
|
2103
2208
|
|
2104
2209
|
<xsl:attribute name="color">blue</xsl:attribute>
|
2105
2210
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
@@ -2241,6 +2346,7 @@
|
|
2241
2346
|
|
2242
2347
|
|
2243
2348
|
|
2349
|
+
|
2244
2350
|
</xsl:attribute-set><xsl:attribute-set name="appendix-style">
|
2245
2351
|
|
2246
2352
|
<xsl:attribute name="font-size">12pt</xsl:attribute>
|
@@ -2289,6 +2395,7 @@
|
|
2289
2395
|
|
2290
2396
|
|
2291
2397
|
|
2398
|
+
|
2292
2399
|
</xsl:attribute-set><xsl:variable name="note-body-indent">10mm</xsl:variable><xsl:variable name="note-body-indent-table">5mm</xsl:variable><xsl:attribute-set name="note-name-style">
|
2293
2400
|
|
2294
2401
|
|
@@ -2490,6 +2597,8 @@
|
|
2490
2597
|
|
2491
2598
|
|
2492
2599
|
|
2600
|
+
|
2601
|
+
|
2493
2602
|
<!-- $namespace = 'iso' or -->
|
2494
2603
|
|
2495
2604
|
|
@@ -2523,6 +2632,7 @@
|
|
2523
2632
|
<xsl:with-param name="table" select="$simple-table"/>
|
2524
2633
|
</xsl:call-template>
|
2525
2634
|
</xsl:variable>
|
2635
|
+
<!-- colwidths=<xsl:copy-of select="$colwidths"/> -->
|
2526
2636
|
|
2527
2637
|
<!-- <xsl:variable name="colwidths2">
|
2528
2638
|
<xsl:call-template name="calculate-column-widths">
|
@@ -2543,11 +2653,16 @@
|
|
2543
2653
|
|
2544
2654
|
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2545
2655
|
|
2656
|
+
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2546
2657
|
|
2547
2658
|
|
2659
|
+
|
2660
|
+
|
2661
|
+
|
2548
2662
|
|
2549
2663
|
|
2550
|
-
|
2664
|
+
|
2665
|
+
|
2551
2666
|
|
2552
2667
|
<xsl:attribute name="margin-top">12pt</xsl:attribute>
|
2553
2668
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
@@ -2556,30 +2671,47 @@
|
|
2556
2671
|
|
2557
2672
|
|
2558
2673
|
|
2559
|
-
|
2674
|
+
|
2675
|
+
|
2676
|
+
|
2677
|
+
<xsl:variable name="table_attributes">
|
2678
|
+
<attribute name="table-layout">fixed</attribute>
|
2679
|
+
<attribute name="width">100%</attribute>
|
2680
|
+
<attribute name="margin-left"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2681
|
+
<attribute name="margin-right"><xsl:value-of select="$margin-left"/>mm</attribute>
|
2560
2682
|
|
2561
|
-
<
|
2683
|
+
<attribute name="border">1.5pt solid black</attribute>
|
2562
2684
|
<xsl:if test="*[local-name()='thead']">
|
2563
|
-
<
|
2685
|
+
<attribute name="border-top">1pt solid black</attribute>
|
2564
2686
|
</xsl:if>
|
2565
2687
|
|
2566
2688
|
|
2567
2689
|
|
2568
2690
|
|
2569
|
-
<
|
2570
|
-
<
|
2571
|
-
|
2572
|
-
|
2573
|
-
|
2574
|
-
|
2575
|
-
|
2576
|
-
|
2577
|
-
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2691
|
+
<attribute name="margin-left">0mm</attribute>
|
2692
|
+
<attribute name="margin-right">0mm</attribute>
|
2578
2693
|
|
2694
|
+
|
2695
|
+
|
2696
|
+
|
2579
2697
|
|
2698
|
+
|
2580
2699
|
|
2700
|
+
</xsl:variable>
|
2701
|
+
|
2702
|
+
|
2703
|
+
<fo:table id="{@id}" table-omit-footer-at-break="true">
|
2581
2704
|
|
2705
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
2706
|
+
<xsl:attribute name="{@name}">
|
2707
|
+
<xsl:value-of select="."/>
|
2708
|
+
</xsl:attribute>
|
2709
|
+
</xsl:for-each>
|
2582
2710
|
|
2711
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2712
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
2713
|
+
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2714
|
+
</xsl:if>
|
2583
2715
|
|
2584
2716
|
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2585
2717
|
<xsl:choose>
|
@@ -2603,6 +2735,33 @@
|
|
2603
2735
|
|
2604
2736
|
</fo:table>
|
2605
2737
|
|
2738
|
+
<xsl:for-each select="*[local-name()='tbody']"><!-- select context to tbody -->
|
2739
|
+
<xsl:call-template name="insertTableFooterInSeparateTable">
|
2740
|
+
<xsl:with-param name="table_attributes" select="$table_attributes"/>
|
2741
|
+
<xsl:with-param name="colwidths" select="$colwidths"/>
|
2742
|
+
</xsl:call-template>
|
2743
|
+
</xsl:for-each>
|
2744
|
+
|
2745
|
+
<!-- insert footer as table -->
|
2746
|
+
<!-- <fo:table>
|
2747
|
+
<xsl:for-each select="xalan::nodeset($table_attributes)/attribute">
|
2748
|
+
<xsl:attribute name="{@name}">
|
2749
|
+
<xsl:value-of select="."/>
|
2750
|
+
</xsl:attribute>
|
2751
|
+
</xsl:for-each>
|
2752
|
+
|
2753
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
2754
|
+
<xsl:choose>
|
2755
|
+
<xsl:when test=". = 1 or . = 0">
|
2756
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
2757
|
+
</xsl:when>
|
2758
|
+
<xsl:otherwise>
|
2759
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
2760
|
+
</xsl:otherwise>
|
2761
|
+
</xsl:choose>
|
2762
|
+
</xsl:for-each>
|
2763
|
+
</fo:table>-->
|
2764
|
+
|
2606
2765
|
|
2607
2766
|
|
2608
2767
|
|
@@ -2669,6 +2828,13 @@
|
|
2669
2828
|
<xsl:for-each select="xalan:nodeset($table)//tr">
|
2670
2829
|
<xsl:variable name="td_text">
|
2671
2830
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
2831
|
+
|
2832
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2833
|
+
<xsl:for-each select="*[local-name()='td'][$curr-col]//*[local-name()='math']">
|
2834
|
+
<word><xsl:value-of select="normalize-space(.)"/></word>
|
2835
|
+
</xsl:for-each>
|
2836
|
+
</xsl:if> -->
|
2837
|
+
|
2672
2838
|
</xsl:variable>
|
2673
2839
|
<xsl:variable name="words">
|
2674
2840
|
<xsl:variable name="string_with_added_zerospaces">
|
@@ -2728,6 +2894,9 @@
|
|
2728
2894
|
<xsl:value-of select="*[local-name()='origin']/@citeas"/>
|
2729
2895
|
</xsl:template><xsl:template match="*[local-name()='link']" mode="td_text">
|
2730
2896
|
<xsl:value-of select="@target"/>
|
2897
|
+
</xsl:template><xsl:template match="*[local-name()='math']" mode="td_text">
|
2898
|
+
<xsl:variable name="math_text" select="normalize-space(.)"/>
|
2899
|
+
<xsl:value-of select="translate($math_text, ' ', '#')"/><!-- mathml images as one 'word' without spaces -->
|
2731
2900
|
</xsl:template><xsl:template match="*[local-name()='table2']"/><xsl:template match="*[local-name()='thead']"/><xsl:template match="*[local-name()='thead']" mode="process">
|
2732
2901
|
<xsl:param name="cols-count"/>
|
2733
2902
|
<!-- font-weight="bold" -->
|
@@ -2736,7 +2905,7 @@
|
|
2736
2905
|
<xsl:call-template name="table-header-title">
|
2737
2906
|
<xsl:with-param name="cols-count" select="$cols-count"/>
|
2738
2907
|
</xsl:call-template>
|
2739
|
-
|
2908
|
+
|
2740
2909
|
<xsl:apply-templates/>
|
2741
2910
|
</fo:table-header>
|
2742
2911
|
</xsl:template><xsl:template name="table-header-title">
|
@@ -2761,6 +2930,13 @@
|
|
2761
2930
|
</xsl:template><xsl:template match="*[local-name()='tfoot']"/><xsl:template match="*[local-name()='tfoot']" mode="process">
|
2762
2931
|
<xsl:apply-templates/>
|
2763
2932
|
</xsl:template><xsl:template name="insertTableFooter">
|
2933
|
+
<xsl:param name="cols-count"/>
|
2934
|
+
<xsl:if test="../*[local-name()='tfoot']">
|
2935
|
+
<fo:table-footer>
|
2936
|
+
<xsl:apply-templates select="../*[local-name()='tfoot']" mode="process"/>
|
2937
|
+
</fo:table-footer>
|
2938
|
+
</xsl:if>
|
2939
|
+
</xsl:template><xsl:template name="insertTableFooter2">
|
2764
2940
|
<xsl:param name="cols-count"/>
|
2765
2941
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
2766
2942
|
<xsl:if test="../*[local-name()='tfoot'] or $isNoteOrFnExist = 'true'">
|
@@ -2784,11 +2960,29 @@
|
|
2784
2960
|
<!-- fn will be processed inside 'note' processing -->
|
2785
2961
|
|
2786
2962
|
|
2963
|
+
|
2964
|
+
|
2965
|
+
|
2966
|
+
|
2787
2967
|
<!-- except gb -->
|
2788
2968
|
|
2789
2969
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2790
2970
|
|
2791
2971
|
|
2972
|
+
<!-- show Note under table in preface (ex. abstract) sections -->
|
2973
|
+
<!-- empty, because notes show at page side in main sections -->
|
2974
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
2975
|
+
<xsl:choose>
|
2976
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
2977
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
2978
|
+
</xsl:when>
|
2979
|
+
<xsl:otherwise>
|
2980
|
+
<fo:block/>
|
2981
|
+
</xsl:otherwise>
|
2982
|
+
</xsl:choose>
|
2983
|
+
</xsl:if> -->
|
2984
|
+
|
2985
|
+
|
2792
2986
|
<!-- horizontal row separator -->
|
2793
2987
|
|
2794
2988
|
|
@@ -2802,6 +2996,90 @@
|
|
2802
2996
|
</fo:table-footer>
|
2803
2997
|
|
2804
2998
|
</xsl:if>
|
2999
|
+
</xsl:template><xsl:template name="insertTableFooterInSeparateTable">
|
3000
|
+
<xsl:param name="table_attributes"/>
|
3001
|
+
<xsl:param name="colwidths"/>
|
3002
|
+
|
3003
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
3004
|
+
|
3005
|
+
<xsl:if test="$isNoteOrFnExist = 'true'">
|
3006
|
+
|
3007
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($colwidths)//column)"/>
|
3008
|
+
|
3009
|
+
<fo:table keep-with-previous="always">
|
3010
|
+
<xsl:for-each select="xalan:nodeset($table_attributes)/attribute">
|
3011
|
+
<xsl:choose>
|
3012
|
+
<xsl:when test="@name = 'border-top'">
|
3013
|
+
<xsl:attribute name="{@name}">0pt solid black</xsl:attribute>
|
3014
|
+
</xsl:when>
|
3015
|
+
<xsl:when test="@name = 'border'">
|
3016
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
3017
|
+
<xsl:attribute name="border-top">0pt solid black</xsl:attribute>
|
3018
|
+
</xsl:when>
|
3019
|
+
<xsl:otherwise>
|
3020
|
+
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
3021
|
+
</xsl:otherwise>
|
3022
|
+
</xsl:choose>
|
3023
|
+
</xsl:for-each>
|
3024
|
+
|
3025
|
+
<xsl:for-each select="xalan:nodeset($colwidths)//column">
|
3026
|
+
<xsl:choose>
|
3027
|
+
<xsl:when test=". = 1 or . = 0">
|
3028
|
+
<fo:table-column column-width="proportional-column-width(2)"/>
|
3029
|
+
</xsl:when>
|
3030
|
+
<xsl:otherwise>
|
3031
|
+
<fo:table-column column-width="proportional-column-width({.})"/>
|
3032
|
+
</xsl:otherwise>
|
3033
|
+
</xsl:choose>
|
3034
|
+
</xsl:for-each>
|
3035
|
+
|
3036
|
+
<fo:table-body>
|
3037
|
+
<fo:table-row>
|
3038
|
+
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
3039
|
+
|
3040
|
+
<xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
|
3041
|
+
|
3042
|
+
|
3043
|
+
|
3044
|
+
<!-- fn will be processed inside 'note' processing -->
|
3045
|
+
|
3046
|
+
|
3047
|
+
|
3048
|
+
|
3049
|
+
|
3050
|
+
|
3051
|
+
|
3052
|
+
<!-- except gb -->
|
3053
|
+
|
3054
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
3055
|
+
|
3056
|
+
|
3057
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
3058
|
+
<xsl:choose>
|
3059
|
+
<xsl:when test="ancestor::*[local-name()='preface']">
|
3060
|
+
show Note under table in preface (ex. abstract) sections
|
3061
|
+
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
3062
|
+
</xsl:when>
|
3063
|
+
<xsl:otherwise>
|
3064
|
+
empty, because notes show at page side in main sections
|
3065
|
+
<fo:block/>
|
3066
|
+
</xsl:otherwise>
|
3067
|
+
</xsl:choose>
|
3068
|
+
</xsl:if> -->
|
3069
|
+
|
3070
|
+
|
3071
|
+
<!-- horizontal row separator -->
|
3072
|
+
|
3073
|
+
|
3074
|
+
<!-- fn processing -->
|
3075
|
+
<xsl:call-template name="fn_display"/>
|
3076
|
+
|
3077
|
+
</fo:table-cell>
|
3078
|
+
</fo:table-row>
|
3079
|
+
</fo:table-body>
|
3080
|
+
|
3081
|
+
</fo:table>
|
3082
|
+
</xsl:if>
|
2805
3083
|
</xsl:template><xsl:template match="*[local-name()='tbody']">
|
2806
3084
|
|
2807
3085
|
<xsl:variable name="cols-count">
|
@@ -2904,8 +3182,11 @@
|
|
2904
3182
|
|
2905
3183
|
</xsl:if>
|
2906
3184
|
|
2907
|
-
|
2908
|
-
|
3185
|
+
|
3186
|
+
|
3187
|
+
<!-- <xsl:if test="$namespace = 'bipm'">
|
3188
|
+
<xsl:attribute name="height">8mm</xsl:attribute>
|
3189
|
+
</xsl:if> -->
|
2909
3190
|
|
2910
3191
|
<xsl:apply-templates/>
|
2911
3192
|
</fo:table-row>
|
@@ -2931,6 +3212,7 @@
|
|
2931
3212
|
|
2932
3213
|
|
2933
3214
|
|
3215
|
+
|
2934
3216
|
<xsl:if test="@colspan">
|
2935
3217
|
<xsl:attribute name="number-columns-spanned">
|
2936
3218
|
<xsl:value-of select="@colspan"/>
|
@@ -2976,7 +3258,8 @@
|
|
2976
3258
|
<xsl:attribute name="border">solid black 0</xsl:attribute>
|
2977
3259
|
</xsl:if>
|
2978
3260
|
|
2979
|
-
|
3261
|
+
|
3262
|
+
|
2980
3263
|
|
2981
3264
|
|
2982
3265
|
|
@@ -3009,14 +3292,17 @@
|
|
3009
3292
|
|
3010
3293
|
|
3011
3294
|
|
3295
|
+
|
3296
|
+
|
3012
3297
|
<fo:inline padding-right="2mm">
|
3013
3298
|
|
3014
3299
|
|
3015
3300
|
|
3016
|
-
|
3301
|
+
|
3017
3302
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
3018
3303
|
|
3019
3304
|
</fo:inline>
|
3305
|
+
|
3020
3306
|
<xsl:apply-templates mode="process"/>
|
3021
3307
|
</fo:block>
|
3022
3308
|
|
@@ -3043,6 +3329,7 @@
|
|
3043
3329
|
|
3044
3330
|
|
3045
3331
|
|
3332
|
+
|
3046
3333
|
<fo:inline font-size="80%" padding-right="5mm" id="{@id}">
|
3047
3334
|
|
3048
3335
|
|
@@ -3052,12 +3339,15 @@
|
|
3052
3339
|
|
3053
3340
|
|
3054
3341
|
|
3342
|
+
|
3055
3343
|
<xsl:value-of select="@reference"/>
|
3056
3344
|
|
3345
|
+
|
3057
3346
|
</fo:inline>
|
3058
3347
|
<fo:inline>
|
3059
3348
|
|
3060
|
-
<xsl:apply-templates/>
|
3349
|
+
<!-- <xsl:apply-templates /> -->
|
3350
|
+
<xsl:copy-of select="./node()"/>
|
3061
3351
|
</fo:inline>
|
3062
3352
|
</fo:block>
|
3063
3353
|
</xsl:if>
|
@@ -3094,7 +3384,20 @@
|
|
3094
3384
|
<xsl:variable name="following_dl_colwidths">
|
3095
3385
|
<xsl:if test="*[local-name() = 'dl']"><!-- if there is a 'dl', then set the same columns width as for 'dl' -->
|
3096
3386
|
<xsl:variable name="html-table">
|
3097
|
-
<xsl:variable name="
|
3387
|
+
<xsl:variable name="doc_ns">
|
3388
|
+
|
3389
|
+
</xsl:variable>
|
3390
|
+
<xsl:variable name="ns">
|
3391
|
+
<xsl:choose>
|
3392
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
3393
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
3394
|
+
</xsl:when>
|
3395
|
+
<xsl:otherwise>
|
3396
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
3397
|
+
</xsl:otherwise>
|
3398
|
+
</xsl:choose>
|
3399
|
+
</xsl:variable>
|
3400
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
3098
3401
|
<xsl:element name="{$ns}:table">
|
3099
3402
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
3100
3403
|
<tbody>
|
@@ -3159,7 +3462,8 @@
|
|
3159
3462
|
<xsl:attribute name="margin-bottom">0</xsl:attribute>
|
3160
3463
|
</xsl:if>
|
3161
3464
|
|
3162
|
-
<xsl:apply-templates/>
|
3465
|
+
<!-- <xsl:apply-templates /> -->
|
3466
|
+
<xsl:copy-of select="./node()"/>
|
3163
3467
|
</fo:block>
|
3164
3468
|
</fo:table-cell>
|
3165
3469
|
</fo:table-row>
|
@@ -3184,9 +3488,12 @@
|
|
3184
3488
|
|
3185
3489
|
|
3186
3490
|
|
3491
|
+
|
3187
3492
|
<fo:basic-link internal-destination="{@reference}_{ancestor::*[@id][1]/@id}" fox:alt-text="{@reference}"> <!-- @reference | ancestor::*[local-name()='clause'][1]/@id-->
|
3188
3493
|
|
3494
|
+
|
3189
3495
|
<xsl:value-of select="@reference"/>
|
3496
|
+
|
3190
3497
|
</fo:basic-link>
|
3191
3498
|
</fo:inline>
|
3192
3499
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -3298,7 +3605,20 @@
|
|
3298
3605
|
</xsl:choose>
|
3299
3606
|
<!-- create virtual html table for dl/[dt and dd] -->
|
3300
3607
|
<xsl:variable name="html-table">
|
3301
|
-
<xsl:variable name="
|
3608
|
+
<xsl:variable name="doc_ns">
|
3609
|
+
|
3610
|
+
</xsl:variable>
|
3611
|
+
<xsl:variable name="ns">
|
3612
|
+
<xsl:choose>
|
3613
|
+
<xsl:when test="normalize-space($doc_ns) != ''">
|
3614
|
+
<xsl:value-of select="normalize-space($doc_ns)"/>
|
3615
|
+
</xsl:when>
|
3616
|
+
<xsl:otherwise>
|
3617
|
+
<xsl:value-of select="substring-before(name(/*), '-')"/>
|
3618
|
+
</xsl:otherwise>
|
3619
|
+
</xsl:choose>
|
3620
|
+
</xsl:variable>
|
3621
|
+
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
3302
3622
|
<xsl:element name="{$ns}:table">
|
3303
3623
|
<tbody>
|
3304
3624
|
<xsl:apply-templates mode="dl"/>
|
@@ -3444,6 +3764,7 @@
|
|
3444
3764
|
|
3445
3765
|
|
3446
3766
|
|
3767
|
+
|
3447
3768
|
<xsl:apply-templates/>
|
3448
3769
|
<!-- <xsl:if test="$namespace = 'gb'">
|
3449
3770
|
<xsl:if test="ancestor::*[local-name()='formula']">
|
@@ -3510,18 +3831,18 @@
|
|
3510
3831
|
</xsl:template><xsl:template match="*[local-name()='tt']">
|
3511
3832
|
<fo:inline xsl:use-attribute-sets="tt-style">
|
3512
3833
|
<xsl:variable name="_font-size">
|
3513
|
-
|
3514
|
-
|
3515
|
-
|
3834
|
+
|
3835
|
+
|
3836
|
+
|
3516
3837
|
|
3517
3838
|
|
3518
3839
|
10
|
3519
3840
|
|
3520
3841
|
|
3521
3842
|
|
3522
|
-
|
3523
3843
|
|
3524
|
-
|
3844
|
+
|
3845
|
+
|
3525
3846
|
|
3526
3847
|
|
3527
3848
|
</xsl:variable>
|
@@ -3859,7 +4180,7 @@
|
|
3859
4180
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
3860
4181
|
<xsl:value-of select="substring($str, 2)"/>
|
3861
4182
|
</xsl:template><xsl:template match="mathml:math">
|
3862
|
-
<fo:inline font-family="
|
4183
|
+
<fo:inline font-family="STIX Two Math"> <!-- -->
|
3863
4184
|
<xsl:variable name="mathml">
|
3864
4185
|
<xsl:apply-templates select="." mode="mathml"/>
|
3865
4186
|
</xsl:variable>
|
@@ -3953,7 +4274,7 @@
|
|
3953
4274
|
<xsl:apply-templates/>
|
3954
4275
|
</xsl:template><xsl:template match="*[local-name() = 'xref']">
|
3955
4276
|
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
3956
|
-
|
4277
|
+
|
3957
4278
|
<xsl:apply-templates/>
|
3958
4279
|
</fo:basic-link>
|
3959
4280
|
</xsl:template><xsl:template match="*[local-name() = 'formula']" name="formula">
|
@@ -4006,6 +4327,8 @@
|
|
4006
4327
|
|
4007
4328
|
|
4008
4329
|
|
4330
|
+
|
4331
|
+
|
4009
4332
|
<fo:inline xsl:use-attribute-sets="note-name-style">
|
4010
4333
|
<xsl:apply-templates select="*[local-name() = 'name']" mode="presentation"/>
|
4011
4334
|
</fo:inline>
|
@@ -4131,15 +4454,109 @@
|
|
4131
4454
|
|
4132
4455
|
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
|
4133
4456
|
</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">
|
4457
|
+
</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
4458
|
<xsl:apply-templates mode="contents"/>
|
4136
4459
|
<xsl:text> </xsl:text>
|
4137
|
-
</xsl:template><xsl:template match="
|
4460
|
+
</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">
|
4461
|
+
<xsl:apply-templates mode="bookmarks"/>
|
4462
|
+
<xsl:text> </xsl:text>
|
4463
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="contents" priority="2">
|
4138
4464
|
<xsl:value-of select="."/>
|
4139
|
-
</xsl:template><xsl:template match="*[local-name() = '
|
4465
|
+
</xsl:template><xsl:template match="*[local-name() = 'name']/text()" mode="bookmarks" priority="2">
|
4466
|
+
<xsl:value-of select="."/>
|
4467
|
+
</xsl:template><xsl:template match="node()" mode="contents">
|
4468
|
+
<xsl:apply-templates mode="contents"/>
|
4469
|
+
</xsl:template><xsl:template match="node()" mode="bookmarks">
|
4470
|
+
<xsl:apply-templates mode="bookmarks"/>
|
4471
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="contents">
|
4472
|
+
<xsl:apply-templates select="."/>
|
4473
|
+
</xsl:template><xsl:template match="*[local-name() = 'stem']" mode="bookmarks">
|
4474
|
+
<xsl:apply-templates mode="bookmarks"/>
|
4475
|
+
</xsl:template><xsl:template name="addBookmarks">
|
4476
|
+
<xsl:param name="contents"/>
|
4477
|
+
<xsl:if test="xalan:nodeset($contents)//item">
|
4478
|
+
<fo:bookmark-tree>
|
4479
|
+
<xsl:choose>
|
4480
|
+
<xsl:when test="xalan:nodeset($contents)/doc">
|
4481
|
+
<xsl:choose>
|
4482
|
+
<xsl:when test="count(xalan:nodeset($contents)/doc) > 1">
|
4483
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
4484
|
+
<fo:bookmark internal-destination="{contents/item[1]/@id}" starting-state="hide">
|
4485
|
+
<fo:bookmark-title>
|
4486
|
+
<xsl:variable name="bookmark-title_">
|
4487
|
+
<xsl:call-template name="getLangVersion">
|
4488
|
+
<xsl:with-param name="lang" select="@lang"/>
|
4489
|
+
</xsl:call-template>
|
4490
|
+
</xsl:variable>
|
4491
|
+
<xsl:choose>
|
4492
|
+
<xsl:when test="normalize-space($bookmark-title_) != ''">
|
4493
|
+
<xsl:value-of select="normalize-space($bookmark-title_)"/>
|
4494
|
+
</xsl:when>
|
4495
|
+
<xsl:otherwise>
|
4496
|
+
<xsl:choose>
|
4497
|
+
<xsl:when test="@lang = 'en'">English</xsl:when>
|
4498
|
+
<xsl:when test="@lang = 'fr'">Français</xsl:when>
|
4499
|
+
<xsl:when test="@lang = 'de'">Deutsche</xsl:when>
|
4500
|
+
<xsl:otherwise><xsl:value-of select="@lang"/> version</xsl:otherwise>
|
4501
|
+
</xsl:choose>
|
4502
|
+
</xsl:otherwise>
|
4503
|
+
</xsl:choose>
|
4504
|
+
</fo:bookmark-title>
|
4505
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4506
|
+
</fo:bookmark>
|
4507
|
+
|
4508
|
+
</xsl:for-each>
|
4509
|
+
</xsl:when>
|
4510
|
+
<xsl:otherwise>
|
4511
|
+
<xsl:for-each select="xalan:nodeset($contents)/doc">
|
4512
|
+
<xsl:apply-templates select="contents/item" mode="bookmark"/>
|
4513
|
+
</xsl:for-each>
|
4514
|
+
</xsl:otherwise>
|
4515
|
+
</xsl:choose>
|
4516
|
+
</xsl:when>
|
4517
|
+
<xsl:otherwise>
|
4518
|
+
<xsl:apply-templates select="xalan:nodeset($contents)/contents/item" mode="bookmark"/>
|
4519
|
+
</xsl:otherwise>
|
4520
|
+
</xsl:choose>
|
4521
|
+
|
4522
|
+
|
4523
|
+
|
4524
|
+
|
4525
|
+
|
4526
|
+
|
4527
|
+
|
4528
|
+
|
4529
|
+
</fo:bookmark-tree>
|
4530
|
+
</xsl:if>
|
4531
|
+
</xsl:template><xsl:template name="getLangVersion">
|
4532
|
+
<xsl:param name="lang"/>
|
4533
|
+
<xsl:choose>
|
4534
|
+
<xsl:when test="$lang = 'en'">
|
4535
|
+
|
4536
|
+
|
4537
|
+
</xsl:when>
|
4538
|
+
<xsl:when test="$lang = 'fr'">
|
4539
|
+
|
4540
|
+
|
4541
|
+
</xsl:when>
|
4542
|
+
<xsl:when test="$lang = 'de'">Deutsche</xsl:when>
|
4543
|
+
<xsl:otherwise><xsl:value-of select="$lang"/> version</xsl:otherwise>
|
4544
|
+
</xsl:choose>
|
4545
|
+
</xsl:template><xsl:template match="item" mode="bookmark">
|
4546
|
+
<fo:bookmark internal-destination="{@id}" starting-state="hide">
|
4547
|
+
<fo:bookmark-title>
|
4548
|
+
<xsl:if test="@section != ''">
|
4549
|
+
<xsl:value-of select="@section"/>
|
4550
|
+
<xsl:text> </xsl:text>
|
4551
|
+
</xsl:if>
|
4552
|
+
<xsl:value-of select="normalize-space(title)"/>
|
4553
|
+
</fo:bookmark-title>
|
4554
|
+
<xsl:apply-templates mode="bookmark"/>
|
4555
|
+
</fo:bookmark>
|
4556
|
+
</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
4557
|
<xsl:if test="normalize-space() != ''">
|
4141
4558
|
<fo:block xsl:use-attribute-sets="figure-name-style">
|
4142
|
-
|
4559
|
+
|
4143
4560
|
<xsl:apply-templates/>
|
4144
4561
|
</fo:block>
|
4145
4562
|
</xsl:if>
|
@@ -4194,7 +4611,7 @@
|
|
4194
4611
|
<xsl:apply-templates/>
|
4195
4612
|
</xsl:otherwise>
|
4196
4613
|
</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">
|
4614
|
+
</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
4615
|
<xsl:text> </xsl:text>
|
4199
4616
|
</xsl:template><xsl:template match="*[local-name() = 'strong']" mode="contents_item">
|
4200
4617
|
<xsl:copy>
|
@@ -4776,6 +5193,7 @@
|
|
4776
5193
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
4777
5194
|
<fo:block>
|
4778
5195
|
<xsl:call-template name="setId"/>
|
5196
|
+
|
4779
5197
|
<xsl:apply-templates/>
|
4780
5198
|
</fo:block>
|
4781
5199
|
</xsl:template><xsl:template match="*[local-name() = 'definitions']">
|
@@ -4801,20 +5219,30 @@
|
|
4801
5219
|
<!-- 0xA0 to space replacement -->
|
4802
5220
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),' ',' ')"/>
|
4803
5221
|
</xsl:template><xsl:template match="*[local-name() = 'ul'] | *[local-name() = 'ol']">
|
4804
|
-
<
|
4805
|
-
<xsl:
|
4806
|
-
<
|
4807
|
-
<xsl:
|
4808
|
-
<xsl:
|
4809
|
-
|
4810
|
-
|
4811
|
-
|
4812
|
-
|
4813
|
-
|
4814
|
-
|
4815
|
-
|
4816
|
-
|
4817
|
-
|
5222
|
+
<xsl:choose>
|
5223
|
+
<xsl:when test="parent::*[local-name() = 'note']">
|
5224
|
+
<fo:block-container>
|
5225
|
+
<xsl:attribute name="margin-left">
|
5226
|
+
<xsl:choose>
|
5227
|
+
<xsl:when test="not(ancestor::*[local-name() = 'table'])"><xsl:value-of select="$note-body-indent"/></xsl:when>
|
5228
|
+
<xsl:otherwise><xsl:value-of select="$note-body-indent-table"/></xsl:otherwise>
|
5229
|
+
</xsl:choose>
|
5230
|
+
</xsl:attribute>
|
5231
|
+
|
5232
|
+
|
5233
|
+
<fo:block-container margin-left="0mm">
|
5234
|
+
<fo:block>
|
5235
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
5236
|
+
</fo:block>
|
5237
|
+
</fo:block-container>
|
5238
|
+
</fo:block-container>
|
5239
|
+
</xsl:when>
|
5240
|
+
<xsl:otherwise>
|
5241
|
+
<fo:block>
|
5242
|
+
<xsl:apply-templates select="." mode="ul_ol"/>
|
5243
|
+
</fo:block>
|
5244
|
+
</xsl:otherwise>
|
5245
|
+
</xsl:choose>
|
4818
5246
|
</xsl:template><xsl:template match="*[local-name() = 'errata']">
|
4819
5247
|
<!-- <row>
|
4820
5248
|
<date>05-07-2013</date>
|
@@ -4987,6 +5415,7 @@
|
|
4987
5415
|
|
4988
5416
|
|
4989
5417
|
|
5418
|
+
|
4990
5419
|
|
4991
5420
|
</xsl:variable>
|
4992
5421
|
<xsl:choose>
|
@@ -5003,6 +5432,7 @@
|
|
5003
5432
|
<xsl:value-of select="/*/*[local-name() = 'bibdata']/*[local-name() = 'contributor'][*[local-name() = 'role']/@type='author']/*[local-name() = 'organization']/*[local-name() = 'name']"/>
|
5004
5433
|
|
5005
5434
|
|
5435
|
+
|
5006
5436
|
</dc:creator>
|
5007
5437
|
<dc:description>
|
5008
5438
|
<xsl:variable name="abstract">
|
@@ -5012,6 +5442,7 @@
|
|
5012
5442
|
|
5013
5443
|
|
5014
5444
|
|
5445
|
+
|
5015
5446
|
</xsl:variable>
|
5016
5447
|
<xsl:value-of select="normalize-space($abstract)"/>
|
5017
5448
|
</dc:description>
|
@@ -5112,6 +5543,7 @@
|
|
5112
5543
|
|
5113
5544
|
|
5114
5545
|
|
5546
|
+
|
5115
5547
|
</xsl:variable>
|
5116
5548
|
<xsl:if test="$documentNS != $XSLNS">
|
5117
5549
|
<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 +5569,21 @@
|
|
5137
5569
|
</xsl:otherwise>
|
5138
5570
|
</xsl:choose>
|
5139
5571
|
</xsl:attribute>
|
5572
|
+
</xsl:template><xsl:template name="add-letter-spacing">
|
5573
|
+
<xsl:param name="text"/>
|
5574
|
+
<xsl:param name="letter-spacing" select="'0.15'"/>
|
5575
|
+
<xsl:if test="string-length($text) > 0">
|
5576
|
+
<xsl:variable name="char" select="substring($text, 1, 1)"/>
|
5577
|
+
<fo:inline padding-right="{$letter-spacing}mm">
|
5578
|
+
<xsl:if test="$char = '®'">
|
5579
|
+
<xsl:attribute name="font-size">58%</xsl:attribute>
|
5580
|
+
<xsl:attribute name="baseline-shift">30%</xsl:attribute>
|
5581
|
+
</xsl:if>
|
5582
|
+
<xsl:value-of select="$char"/>
|
5583
|
+
</fo:inline>
|
5584
|
+
<xsl:call-template name="add-letter-spacing">
|
5585
|
+
<xsl:with-param name="text" select="substring($text, 2)"/>
|
5586
|
+
<xsl:with-param name="letter-spacing" select="$letter-spacing"/>
|
5587
|
+
</xsl:call-template>
|
5588
|
+
</xsl:if>
|
5140
5589
|
</xsl:template></xsl:stylesheet>
|