metanorma-iso 2.4.1 → 2.4.3
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 +4 -4
- data/lib/isodoc/iso/base_convert.rb +9 -3
- data/lib/isodoc/iso/html/html_iso_intro.html +0 -1
- data/lib/isodoc/iso/html/word_iso_intro-dis.html +0 -2
- data/lib/isodoc/iso/html/word_iso_intro.html +0 -2
- data/lib/isodoc/iso/iso.amendment.xsl +333 -112
- data/lib/isodoc/iso/iso.international-standard.xsl +333 -112
- data/lib/isodoc/iso/presentation_xml_convert.rb +7 -0
- data/lib/isodoc/iso/sections.rb +10 -10
- data/lib/isodoc/iso/word_cleanup.rb +3 -0
- data/lib/isodoc/iso/word_convert.rb +8 -3
- data/lib/metanorma/iso/isodoc.rng +41 -14
- data/lib/metanorma/iso/isostandard-amd.rng +5 -8
- data/lib/metanorma/iso/isostandard.rng +5 -8
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +2 -2
- metadata +6 -6
@@ -2094,7 +2094,7 @@
|
|
2094
2094
|
<xsl:template match="iso:indexsect" mode="index">
|
2095
2095
|
|
2096
2096
|
<fo:page-sequence master-reference="index" force-page-count="no-force">
|
2097
|
-
<xsl:variable name="header-title">
|
2097
|
+
<!-- <xsl:variable name="header-title">
|
2098
2098
|
<xsl:choose>
|
2099
2099
|
<xsl:when test="./iso:title[1]/*[local-name() = 'tab']">
|
2100
2100
|
<xsl:apply-templates select="./iso:title[1]/*[local-name() = 'tab'][1]/following-sibling::node()" mode="header"/>
|
@@ -2103,13 +2103,14 @@
|
|
2103
2103
|
<xsl:apply-templates select="./iso:title[1]" mode="header"/>
|
2104
2104
|
</xsl:otherwise>
|
2105
2105
|
</xsl:choose>
|
2106
|
-
</xsl:variable>
|
2106
|
+
</xsl:variable> -->
|
2107
2107
|
<xsl:call-template name="insertHeaderFooter">
|
2108
|
-
<xsl:with-param name="header-title" select="$header-title"/>
|
2108
|
+
<!-- <xsl:with-param name="header-title" select="$header-title"/> -->
|
2109
|
+
<xsl:with-param name="font-weight">normal</xsl:with-param>
|
2109
2110
|
</xsl:call-template>
|
2110
2111
|
|
2111
2112
|
<fo:flow flow-name="xsl-region-body">
|
2112
|
-
<fo:block id="{@id}" span="all">
|
2113
|
+
<fo:block id="{@id}" text-align="center" span="all">
|
2113
2114
|
<xsl:apply-templates select="iso:title"/>
|
2114
2115
|
</fo:block>
|
2115
2116
|
<fo:block role="Index">
|
@@ -2120,21 +2121,25 @@
|
|
2120
2121
|
</xsl:template>
|
2121
2122
|
|
2122
2123
|
<xsl:template match="iso:xref" priority="2">
|
2123
|
-
<
|
2124
|
-
<xsl:
|
2125
|
-
<
|
2126
|
-
<
|
2127
|
-
<xsl:
|
2128
|
-
<
|
2129
|
-
|
2130
|
-
|
2131
|
-
|
2132
|
-
|
2133
|
-
|
2134
|
-
|
2135
|
-
|
2136
|
-
|
2137
|
-
|
2124
|
+
<xsl:call-template name="insert_basic_link">
|
2125
|
+
<xsl:with-param name="element">
|
2126
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
2127
|
+
<xsl:choose>
|
2128
|
+
<xsl:when test="@pagenumber='true'">
|
2129
|
+
<fo:inline>
|
2130
|
+
<xsl:if test="@id">
|
2131
|
+
<xsl:attribute name="id"><xsl:value-of select="@id"/></xsl:attribute>
|
2132
|
+
</xsl:if>
|
2133
|
+
<fo:page-number-citation ref-id="{@target}"/>
|
2134
|
+
</fo:inline>
|
2135
|
+
</xsl:when>
|
2136
|
+
<xsl:otherwise>
|
2137
|
+
<xsl:apply-templates/>
|
2138
|
+
</xsl:otherwise>
|
2139
|
+
</xsl:choose>
|
2140
|
+
</fo:basic-link>
|
2141
|
+
</xsl:with-param>
|
2142
|
+
</xsl:call-template>
|
2138
2143
|
</xsl:template>
|
2139
2144
|
|
2140
2145
|
<!-- =================== -->
|
@@ -2974,11 +2979,17 @@
|
|
2974
2979
|
<!-- ========================== -->
|
2975
2980
|
<!-- Definition's list styles -->
|
2976
2981
|
<!-- ========================== -->
|
2982
|
+
|
2983
|
+
<xsl:attribute-set name="dl-block-style">
|
2984
|
+
|
2985
|
+
</xsl:attribute-set>
|
2986
|
+
|
2977
2987
|
<xsl:attribute-set name="dt-row-style">
|
2978
2988
|
|
2979
2989
|
</xsl:attribute-set>
|
2980
2990
|
|
2981
2991
|
<xsl:attribute-set name="dt-cell-style">
|
2992
|
+
|
2982
2993
|
</xsl:attribute-set>
|
2983
2994
|
|
2984
2995
|
<xsl:attribute-set name="dt-block-style">
|
@@ -2996,6 +3007,7 @@
|
|
2996
3007
|
|
2997
3008
|
<xsl:attribute-set name="dd-cell-style">
|
2998
3009
|
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
3010
|
+
|
2999
3011
|
</xsl:attribute-set>
|
3000
3012
|
|
3001
3013
|
<!-- ========================== -->
|
@@ -3020,6 +3032,7 @@
|
|
3020
3032
|
</xsl:attribute-set>
|
3021
3033
|
|
3022
3034
|
<xsl:attribute-set name="xref-style">
|
3035
|
+
<xsl:attribute name="keep-together.within-line">always</xsl:attribute>
|
3023
3036
|
|
3024
3037
|
<xsl:attribute name="color">blue</xsl:attribute>
|
3025
3038
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
@@ -3136,6 +3149,10 @@
|
|
3136
3149
|
|
3137
3150
|
</xsl:attribute-set>
|
3138
3151
|
|
3152
|
+
<xsl:attribute-set name="figure-source-style">
|
3153
|
+
|
3154
|
+
</xsl:attribute-set>
|
3155
|
+
|
3139
3156
|
<!-- Formula's styles -->
|
3140
3157
|
<xsl:attribute-set name="formula-style">
|
3141
3158
|
<xsl:attribute name="margin-top">6pt</xsl:attribute>
|
@@ -3671,7 +3688,7 @@
|
|
3671
3688
|
|
3672
3689
|
<xsl:template name="processTables_Contents">
|
3673
3690
|
<tables>
|
3674
|
-
<xsl:for-each select="//*[local-name() = 'table'][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3691
|
+
<xsl:for-each select="//*[local-name() = 'table'][not(ancestor::*[local-name() = 'metanorma-extension'])][@id and *[local-name() = 'name'] and normalize-space(@id) != '']">
|
3675
3692
|
<table id="{@id}" alt-text="{*[local-name() = 'name']}">
|
3676
3693
|
<xsl:copy-of select="*[local-name() = 'name']"/>
|
3677
3694
|
</table>
|
@@ -4027,7 +4044,7 @@
|
|
4027
4044
|
</xsl:attribute>
|
4028
4045
|
</xsl:for-each>
|
4029
4046
|
|
4030
|
-
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4047
|
+
<xsl:variable name="isNoteOrFnExist" select="./*[local-name()='note'] or .//*[local-name()='fn'][local-name(..) != 'name'] or ./*[local-name()='source']"/>
|
4031
4048
|
<xsl:if test="$isNoteOrFnExist = 'true'">
|
4032
4049
|
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
4033
4050
|
</xsl:if>
|
@@ -4071,7 +4088,7 @@
|
|
4071
4088
|
<xsl:apply-templates select="*[local-name()='thead']" mode="process_tbody"/>
|
4072
4089
|
</xsl:when>
|
4073
4090
|
<xsl:otherwise>
|
4074
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note and dl which render separaterely -->
|
4091
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name') and not(local-name() = 'note') and not(local-name() = 'dl') and not(local-name() = 'source') and not(local-name() = 'thead') and not(local-name() = 'tfoot')]"/> <!-- process all table' elements, except name, header, footer, note, source and dl which render separaterely -->
|
4075
4092
|
</xsl:otherwise>
|
4076
4093
|
</xsl:choose>
|
4077
4094
|
|
@@ -4194,6 +4211,11 @@
|
|
4194
4211
|
</xsl:if>
|
4195
4212
|
</xsl:template> <!-- table/name -->
|
4196
4213
|
|
4214
|
+
<!-- SOURCE: ... -->
|
4215
|
+
<xsl:template match="*[local-name()='table']/*[local-name() = 'source']" priority="2">
|
4216
|
+
<xsl:call-template name="termsource"/>
|
4217
|
+
</xsl:template>
|
4218
|
+
|
4197
4219
|
<xsl:template name="calculate-columns-numbers">
|
4198
4220
|
<xsl:param name="table-row"/>
|
4199
4221
|
<xsl:variable name="columns-count" select="count($table-row/*)"/>
|
@@ -4554,7 +4576,7 @@
|
|
4554
4576
|
</fo:table-header>
|
4555
4577
|
</xsl:template> <!-- thead -->
|
4556
4578
|
|
4557
|
-
<!-- template is using for iso, jcgm, bsi only -->
|
4579
|
+
<!-- template is using for iec, iso, jcgm, bsi only -->
|
4558
4580
|
<xsl:template name="table-header-title">
|
4559
4581
|
<xsl:param name="cols-count"/>
|
4560
4582
|
<!-- row for title -->
|
@@ -4607,7 +4629,7 @@
|
|
4607
4629
|
<xsl:param name="colwidths"/>
|
4608
4630
|
<xsl:param name="colgroup"/>
|
4609
4631
|
|
4610
|
-
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
4632
|
+
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ../*[local-name()='dl'] or ..//*[local-name()='fn'][local-name(..) != 'name'] or ../*[local-name()='source']"/>
|
4611
4633
|
|
4612
4634
|
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
4613
4635
|
|
@@ -4677,6 +4699,7 @@
|
|
4677
4699
|
|
4678
4700
|
<xsl:apply-templates select="../*[local-name()='dl']"/>
|
4679
4701
|
<xsl:apply-templates select="../*[local-name()='note']"/>
|
4702
|
+
<xsl:apply-templates select="../*[local-name()='source']"/>
|
4680
4703
|
|
4681
4704
|
<xsl:variable name="isDisplayRowSeparator">
|
4682
4705
|
|
@@ -5112,9 +5135,13 @@
|
|
5112
5135
|
<xsl:attribute name="padding-right">0.5mm</xsl:attribute>
|
5113
5136
|
</xsl:if>
|
5114
5137
|
|
5115
|
-
<
|
5116
|
-
<xsl:
|
5117
|
-
|
5138
|
+
<xsl:call-template name="insert_basic_link">
|
5139
|
+
<xsl:with-param name="element">
|
5140
|
+
<fo:basic-link internal-destination="{$ref_id}" fox:alt-text="footnote {$current_fn_number}">
|
5141
|
+
<xsl:value-of select="$current_fn_number_text"/>
|
5142
|
+
</fo:basic-link>
|
5143
|
+
</xsl:with-param>
|
5144
|
+
</xsl:call-template>
|
5118
5145
|
</fo:inline>
|
5119
5146
|
</xsl:variable>
|
5120
5147
|
|
@@ -5391,7 +5418,7 @@
|
|
5391
5418
|
<xsl:variable name="isAdded" select="@added"/>
|
5392
5419
|
<xsl:variable name="isDeleted" select="@deleted"/>
|
5393
5420
|
<!-- <dl><xsl:copy-of select="."/></dl> -->
|
5394
|
-
<fo:block-container>
|
5421
|
+
<fo:block-container xsl:use-attribute-sets="dl-block-style">
|
5395
5422
|
|
5396
5423
|
<xsl:call-template name="setBlockSpanAll"/>
|
5397
5424
|
|
@@ -5399,6 +5426,18 @@
|
|
5399
5426
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
5400
5427
|
</xsl:if>
|
5401
5428
|
|
5429
|
+
<xsl:if test="ancestor::*[local-name() = 'sourcecode']">
|
5430
|
+
<!-- set font-size as sourcecode font-size -->
|
5431
|
+
<xsl:variable name="sourcecode_attributes">
|
5432
|
+
<xsl:call-template name="get_sourcecode_attributes"/>
|
5433
|
+
</xsl:variable>
|
5434
|
+
<xsl:for-each select="xalan:nodeset($sourcecode_attributes)/sourcecode_attributes/@font-size">
|
5435
|
+
<xsl:attribute name="{local-name()}">
|
5436
|
+
<xsl:value-of select="."/>
|
5437
|
+
</xsl:attribute>
|
5438
|
+
</xsl:for-each>
|
5439
|
+
</xsl:if>
|
5440
|
+
|
5402
5441
|
<xsl:if test="parent::*[local-name() = 'note']">
|
5403
5442
|
<xsl:attribute name="margin-left">
|
5404
5443
|
<xsl:choose>
|
@@ -5444,8 +5483,10 @@
|
|
5444
5483
|
<xsl:apply-templates select="preceding-sibling::*[1][local-name() = 'p' and @keep-with-next = 'true']/node()"/>
|
5445
5484
|
<xsl:text> </xsl:text>
|
5446
5485
|
<xsl:apply-templates select="*[local-name()='dt']/*"/>
|
5447
|
-
<xsl:text
|
5448
|
-
|
5486
|
+
<xsl:if test="*[local-name()='dd']/node()[normalize-space() != ''][1][self::text()]">
|
5487
|
+
<xsl:text> </xsl:text>
|
5488
|
+
</xsl:if>
|
5489
|
+
<xsl:apply-templates select="*[local-name()='dd']/node()" mode="inline"/>
|
5449
5490
|
</fo:block>
|
5450
5491
|
|
5451
5492
|
</xsl:when> <!-- END: only one component -->
|
@@ -5850,6 +5891,7 @@
|
|
5850
5891
|
<xsl:param name="split_keep-within-line"/>
|
5851
5892
|
|
5852
5893
|
<fo:table-row xsl:use-attribute-sets="dt-row-style">
|
5894
|
+
|
5853
5895
|
<xsl:call-template name="insert_dt_cell">
|
5854
5896
|
<xsl:with-param name="key_iso" select="$key_iso"/>
|
5855
5897
|
<xsl:with-param name="split_keep-within-line" select="$split_keep-within-line"/>
|
@@ -5871,6 +5913,7 @@
|
|
5871
5913
|
<!-- border is mandatory, to calculate real width -->
|
5872
5914
|
<xsl:attribute name="border">0.1pt solid black</xsl:attribute>
|
5873
5915
|
<xsl:attribute name="text-align">left</xsl:attribute>
|
5916
|
+
|
5874
5917
|
</xsl:if>
|
5875
5918
|
|
5876
5919
|
<fo:block xsl:use-attribute-sets="dt-block-style">
|
@@ -5944,8 +5987,18 @@
|
|
5944
5987
|
</xsl:if>
|
5945
5988
|
</xsl:template>
|
5946
5989
|
|
5947
|
-
<xsl:template match="*[local-name()='dd']/*
|
5948
|
-
<
|
5990
|
+
<xsl:template match="*[local-name()='dd']/*" mode="inline">
|
5991
|
+
<xsl:variable name="is_inline_element_after_where">
|
5992
|
+
<xsl:if test="(local-name() = 'p') and not(preceding-sibling::node()[normalize-space() != ''])">true</xsl:if>
|
5993
|
+
</xsl:variable>
|
5994
|
+
<xsl:choose>
|
5995
|
+
<xsl:when test="$is_inline_element_after_where = 'true'">
|
5996
|
+
<fo:inline><xsl:text> </xsl:text><xsl:apply-templates/></fo:inline>
|
5997
|
+
</xsl:when>
|
5998
|
+
<xsl:otherwise>
|
5999
|
+
<xsl:apply-templates select="."/>
|
6000
|
+
</xsl:otherwise>
|
6001
|
+
</xsl:choose>
|
5949
6002
|
</xsl:template>
|
5950
6003
|
|
5951
6004
|
<!-- virtual html table for dl/[dt and dd] for IF (Intermediate Format) -->
|
@@ -6384,6 +6437,7 @@
|
|
6384
6437
|
<fo:inline>
|
6385
6438
|
<xsl:for-each select="$styles/style">
|
6386
6439
|
<xsl:attribute name="{@name}"><xsl:value-of select="."/></xsl:attribute>
|
6440
|
+
|
6387
6441
|
</xsl:for-each>
|
6388
6442
|
<xsl:apply-templates/>
|
6389
6443
|
</fo:inline>
|
@@ -7450,6 +7504,79 @@
|
|
7450
7504
|
<xsl:value-of select="."/><xsl:value-of select="$zero_width_space"/>
|
7451
7505
|
</xsl:template>
|
7452
7506
|
|
7507
|
+
<!-- special case for:
|
7508
|
+
<math xmlns="http://www.w3.org/1998/Math/MathML">
|
7509
|
+
<mstyle displaystyle="true">
|
7510
|
+
<msup>
|
7511
|
+
<mi color="#00000000">C</mi>
|
7512
|
+
<mtext>R</mtext>
|
7513
|
+
</msup>
|
7514
|
+
<msubsup>
|
7515
|
+
<mtext>C</mtext>
|
7516
|
+
<mi>n</mi>
|
7517
|
+
<mi>k</mi>
|
7518
|
+
</msubsup>
|
7519
|
+
</mstyle>
|
7520
|
+
</math>
|
7521
|
+
-->
|
7522
|
+
<xsl:template match="mathml:msup/mathml:mi[. = '' or . = ''][not(preceding-sibling::*)][following-sibling::mathml:mtext]" mode="mathml">
|
7523
|
+
<xsl:copy>
|
7524
|
+
<xsl:copy-of select="@*"/>
|
7525
|
+
<xsl:variable name="next_mtext" select="ancestor::mathml:msup/following-sibling::*[1][self::mathml:msubsup or self::mathml:msub or self::mathml:msup]/mathml:mtext"/>
|
7526
|
+
<xsl:if test="string-length($next_mtext) != ''">
|
7527
|
+
<xsl:attribute name="color">#00000000</xsl:attribute>
|
7528
|
+
</xsl:if>
|
7529
|
+
<xsl:apply-templates/>
|
7530
|
+
<xsl:value-of select="$next_mtext"/>
|
7531
|
+
</xsl:copy>
|
7532
|
+
</xsl:template>
|
7533
|
+
|
7534
|
+
<!-- special case for:
|
7535
|
+
<msup>
|
7536
|
+
<mtext/>
|
7537
|
+
<mn>1</mn>
|
7538
|
+
</msup>
|
7539
|
+
convert to (add mspace after mtext and enclose them into mrow):
|
7540
|
+
<msup>
|
7541
|
+
<mrow>
|
7542
|
+
<mtext/>
|
7543
|
+
<mspace height="1.47ex"/>
|
7544
|
+
</mrow>
|
7545
|
+
<mn>1</mn>
|
7546
|
+
</msup>
|
7547
|
+
-->
|
7548
|
+
<xsl:template match="mathml:msup/mathml:mtext[not(preceding-sibling::*)]" mode="mathml">
|
7549
|
+
<mathml:mrow>
|
7550
|
+
<xsl:copy-of select="."/>
|
7551
|
+
<mathml:mspace height="1.47ex"/>
|
7552
|
+
</mathml:mrow>
|
7553
|
+
</xsl:template>
|
7554
|
+
|
7555
|
+
<!-- add space around vertical line -->
|
7556
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '|']" mode="mathml">
|
7557
|
+
<xsl:copy>
|
7558
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
7559
|
+
<xsl:if test="not(@lspace)">
|
7560
|
+
<xsl:attribute name="lspace">0.4em</xsl:attribute>
|
7561
|
+
</xsl:if>
|
7562
|
+
<xsl:if test="not(@rspace)">
|
7563
|
+
<xsl:attribute name="rspace">0.4em</xsl:attribute>
|
7564
|
+
</xsl:if>
|
7565
|
+
<xsl:apply-templates mode="mathml"/>
|
7566
|
+
</xsl:copy>
|
7567
|
+
</xsl:template>
|
7568
|
+
|
7569
|
+
<!-- decrease fontsize for 'Circled Times' char -->
|
7570
|
+
<xsl:template match="mathml:mo[normalize-space(text()) = '⊗']" mode="mathml">
|
7571
|
+
<xsl:copy>
|
7572
|
+
<xsl:apply-templates select="@*" mode="mathml"/>
|
7573
|
+
<xsl:if test="not(@fontsize)">
|
7574
|
+
<xsl:attribute name="fontsize">55%</xsl:attribute>
|
7575
|
+
</xsl:if>
|
7576
|
+
<xsl:apply-templates mode="mathml"/>
|
7577
|
+
</xsl:copy>
|
7578
|
+
</xsl:template>
|
7579
|
+
|
7453
7580
|
<!-- Examples:
|
7454
7581
|
<stem type="AsciiMath">x = 1</stem>
|
7455
7582
|
<stem type="AsciiMath"><asciimath>x = 1</asciimath></stem>
|
@@ -7507,19 +7634,23 @@
|
|
7507
7634
|
<xsl:apply-templates/>
|
7508
7635
|
</xsl:when>
|
7509
7636
|
<xsl:otherwise>
|
7510
|
-
<
|
7511
|
-
<xsl:
|
7512
|
-
<
|
7513
|
-
<xsl:
|
7514
|
-
<xsl:
|
7515
|
-
|
7516
|
-
|
7517
|
-
|
7518
|
-
|
7519
|
-
|
7520
|
-
|
7521
|
-
|
7522
|
-
|
7637
|
+
<xsl:call-template name="insert_basic_link">
|
7638
|
+
<xsl:with-param name="element">
|
7639
|
+
<fo:basic-link external-destination="{$target}" fox:alt-text="{$target}">
|
7640
|
+
<xsl:choose>
|
7641
|
+
<xsl:when test="normalize-space(.) = ''">
|
7642
|
+
<xsl:call-template name="add-zero-spaces-link-java">
|
7643
|
+
<xsl:with-param name="text" select="$target_text"/>
|
7644
|
+
</xsl:call-template>
|
7645
|
+
</xsl:when>
|
7646
|
+
<xsl:otherwise>
|
7647
|
+
<!-- output text from <link>text</link> -->
|
7648
|
+
<xsl:apply-templates/>
|
7649
|
+
</xsl:otherwise>
|
7650
|
+
</xsl:choose>
|
7651
|
+
</fo:basic-link>
|
7652
|
+
</xsl:with-param>
|
7653
|
+
</xsl:call-template>
|
7523
7654
|
</xsl:otherwise>
|
7524
7655
|
</xsl:choose>
|
7525
7656
|
</fo:inline>
|
@@ -7582,12 +7713,16 @@
|
|
7582
7713
|
</xsl:template>
|
7583
7714
|
|
7584
7715
|
<xsl:template match="*[local-name() = 'xref']">
|
7585
|
-
<
|
7586
|
-
<xsl:
|
7587
|
-
<
|
7588
|
-
|
7589
|
-
|
7590
|
-
|
7716
|
+
<xsl:call-template name="insert_basic_link">
|
7717
|
+
<xsl:with-param name="element">
|
7718
|
+
<fo:basic-link internal-destination="{@target}" fox:alt-text="{@target}" xsl:use-attribute-sets="xref-style">
|
7719
|
+
<xsl:if test="parent::*[local-name() = 'add']">
|
7720
|
+
<xsl:call-template name="append_add-style"/>
|
7721
|
+
</xsl:if>
|
7722
|
+
<xsl:apply-templates/>
|
7723
|
+
</fo:basic-link>
|
7724
|
+
</xsl:with-param>
|
7725
|
+
</xsl:call-template>
|
7591
7726
|
</xsl:template>
|
7592
7727
|
|
7593
7728
|
<!-- ====== -->
|
@@ -7900,6 +8035,13 @@
|
|
7900
8035
|
</fo:block>
|
7901
8036
|
</xsl:template>
|
7902
8037
|
|
8038
|
+
<!-- SOURCE: ... -->
|
8039
|
+
<xsl:template match="*[local-name() = 'figure']/*[local-name() = 'source']" priority="2">
|
8040
|
+
|
8041
|
+
<xsl:call-template name="termsource"/>
|
8042
|
+
|
8043
|
+
</xsl:template>
|
8044
|
+
|
7903
8045
|
<xsl:template match="*[local-name() = 'image']">
|
7904
8046
|
<xsl:variable name="isAdded" select="../@added"/>
|
7905
8047
|
<xsl:variable name="isDeleted" select="../@deleted"/>
|
@@ -7973,7 +8115,7 @@
|
|
7973
8115
|
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
7974
8116
|
</xsl:when>
|
7975
8117
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7976
|
-
<xsl:value-of select="concat('url(file
|
8118
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7977
8119
|
</xsl:when>
|
7978
8120
|
<xsl:otherwise>
|
7979
8121
|
<xsl:value-of select="@src"/>
|
@@ -7995,7 +8137,7 @@
|
|
7995
8137
|
</xsl:when>
|
7996
8138
|
<xsl:when test="not(starts-with(@src, 'data:'))">
|
7997
8139
|
<xsl:variable name="src">
|
7998
|
-
<xsl:value-of select="concat('url(file
|
8140
|
+
<xsl:value-of select="concat('url(file:///',$basepath, @src, ')')"/>
|
7999
8141
|
</xsl:variable>
|
8000
8142
|
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
8001
8143
|
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
@@ -8381,15 +8523,19 @@
|
|
8381
8523
|
<xsl:param name="dest"/>
|
8382
8524
|
<fo:block-container position="absolute" left="{$left}px" top="{$top}px" width="{$width}px" height="{$height}px">
|
8383
8525
|
<fo:block font-size="1pt">
|
8384
|
-
<
|
8385
|
-
<
|
8386
|
-
<fo:
|
8387
|
-
|
8388
|
-
<
|
8389
|
-
|
8390
|
-
|
8391
|
-
|
8392
|
-
|
8526
|
+
<xsl:call-template name="insert_basic_link">
|
8527
|
+
<xsl:with-param name="element">
|
8528
|
+
<fo:basic-link internal-destination="{$dest}" fox:alt-text="svg link">
|
8529
|
+
<fo:inline-container inline-progression-dimension="100%">
|
8530
|
+
<fo:block-container height="{$height - 1}px" width="100%">
|
8531
|
+
<!-- DEBUG <xsl:if test="local-name()='polygon'">
|
8532
|
+
<xsl:attribute name="background-color">magenta</xsl:attribute>
|
8533
|
+
</xsl:if> -->
|
8534
|
+
<fo:block> </fo:block></fo:block-container>
|
8535
|
+
</fo:inline-container>
|
8536
|
+
</fo:basic-link>
|
8537
|
+
</xsl:with-param>
|
8538
|
+
</xsl:call-template>
|
8393
8539
|
</fo:block>
|
8394
8540
|
</fo:block-container>
|
8395
8541
|
</xsl:template>
|
@@ -9029,9 +9175,11 @@
|
|
9029
9175
|
<xsl:attribute name="margin-bottom">0pt</xsl:attribute>
|
9030
9176
|
</xsl:if>
|
9031
9177
|
|
9032
|
-
<xsl:apply-templates select="node()[not(local-name() = 'name')]"/>
|
9178
|
+
<xsl:apply-templates select="node()[not(local-name() = 'name' or local-name() = 'dl')]"/>
|
9033
9179
|
</fo:block>
|
9034
9180
|
|
9181
|
+
<xsl:apply-templates select="*[local-name() = 'dl']"/> <!-- Key table -->
|
9182
|
+
|
9035
9183
|
<xsl:apply-templates select="*[local-name()='name']"/> <!-- show sourcecode's name AFTER content -->
|
9036
9184
|
|
9037
9185
|
</fo:block-container>
|
@@ -9063,11 +9211,22 @@
|
|
9063
9211
|
<!-- add sourcecode highlighting -->
|
9064
9212
|
<xsl:template match="*[local-name()='sourcecode']//*[local-name()='span'][@class]" priority="2">
|
9065
9213
|
<xsl:variable name="class" select="@class"/>
|
9214
|
+
|
9215
|
+
<!-- Example: <1> -->
|
9216
|
+
<xsl:variable name="is_callout">
|
9217
|
+
<xsl:if test="parent::*[local-name() = 'dt']">
|
9218
|
+
<xsl:variable name="dt_id" select="../@id"/>
|
9219
|
+
<xsl:if test="ancestor::*[local-name() = 'sourcecode']//*[local-name() = 'callout'][@target = $dt_id]">true</xsl:if>
|
9220
|
+
</xsl:if>
|
9221
|
+
</xsl:variable>
|
9222
|
+
|
9066
9223
|
<xsl:choose>
|
9067
9224
|
<xsl:when test="$sourcecode_css//class[@name = $class]">
|
9068
9225
|
<fo:inline>
|
9069
9226
|
<xsl:apply-templates select="$sourcecode_css//class[@name = $class]" mode="css"/>
|
9227
|
+
<xsl:if test="$is_callout = 'true'"><</xsl:if>
|
9070
9228
|
<xsl:apply-templates/>
|
9229
|
+
<xsl:if test="$is_callout = 'true'">></xsl:if>
|
9071
9230
|
</fo:inline>
|
9072
9231
|
</xsl:when>
|
9073
9232
|
<xsl:otherwise>
|
@@ -9493,6 +9652,10 @@
|
|
9493
9652
|
</fo:block>
|
9494
9653
|
</xsl:template>
|
9495
9654
|
|
9655
|
+
<xsl:template match="*[local-name() = 'div']">
|
9656
|
+
<fo:block><xsl:apply-templates/></fo:block>
|
9657
|
+
</xsl:template>
|
9658
|
+
|
9496
9659
|
<xsl:template match="*[local-name() = 'inherit'] | *[local-name() = 'component'][@class = 'inherit'] | *[local-name() = 'div'][@type = 'requirement-inherit'] | *[local-name() = 'div'][@type = 'recommendation-inherit'] | *[local-name() = 'div'][@type = 'permission-inherit']">
|
9497
9660
|
<fo:block xsl:use-attribute-sets="inherit-style">
|
9498
9661
|
<xsl:text>Dependency </xsl:text><xsl:apply-templates/>
|
@@ -9923,14 +10086,18 @@
|
|
9923
10086
|
</xsl:template>
|
9924
10087
|
|
9925
10088
|
<xsl:template match="*[local-name() = 'origin']">
|
9926
|
-
<
|
9927
|
-
<xsl:
|
9928
|
-
<
|
9929
|
-
|
9930
|
-
|
9931
|
-
|
9932
|
-
|
9933
|
-
|
10089
|
+
<xsl:call-template name="insert_basic_link">
|
10090
|
+
<xsl:with-param name="element">
|
10091
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
10092
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
10093
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
10094
|
+
</xsl:if>
|
10095
|
+
<fo:inline xsl:use-attribute-sets="origin-style">
|
10096
|
+
<xsl:apply-templates/>
|
10097
|
+
</fo:inline>
|
10098
|
+
</fo:basic-link>
|
10099
|
+
</xsl:with-param>
|
10100
|
+
</xsl:call-template>
|
9934
10101
|
</xsl:template>
|
9935
10102
|
|
9936
10103
|
<!-- not using, see https://github.com/glossarist/iev-document/issues/23 -->
|
@@ -10009,9 +10176,13 @@
|
|
10009
10176
|
<xsl:if test="../*[local-name() = 'author']">
|
10010
10177
|
<xsl:text>, </xsl:text>
|
10011
10178
|
</xsl:if>
|
10012
|
-
<
|
10013
|
-
<xsl:
|
10014
|
-
|
10179
|
+
<xsl:call-template name="insert_basic_link">
|
10180
|
+
<xsl:with-param name="element">
|
10181
|
+
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
10182
|
+
<xsl:apply-templates/>
|
10183
|
+
</fo:basic-link>
|
10184
|
+
</xsl:with-param>
|
10185
|
+
</xsl:call-template>
|
10015
10186
|
</xsl:template>
|
10016
10187
|
|
10017
10188
|
<xsl:template match="*[local-name() = 'author']">
|
@@ -10060,25 +10231,29 @@
|
|
10060
10231
|
<xsl:variable name="citeas" select="java:replaceAll(java:java.lang.String.new(@citeas),'^\[?(.+?)\]?$','$1')"/> <!-- remove leading and trailing brackets -->
|
10061
10232
|
<xsl:variable name="text" select="normalize-space()"/>
|
10062
10233
|
|
10063
|
-
<
|
10064
|
-
<xsl:
|
10065
|
-
<
|
10066
|
-
|
10067
|
-
|
10234
|
+
<xsl:call-template name="insert_basic_link">
|
10235
|
+
<xsl:with-param name="element">
|
10236
|
+
<fo:basic-link fox:alt-text="{@citeas}">
|
10237
|
+
<xsl:if test="normalize-space(@citeas) = ''">
|
10238
|
+
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
10239
|
+
</xsl:if>
|
10240
|
+
<xsl:if test="@type = 'inline'">
|
10068
10241
|
|
10069
|
-
|
10242
|
+
</xsl:if>
|
10070
10243
|
|
10071
|
-
|
10072
|
-
|
10073
|
-
|
10074
|
-
|
10075
|
-
|
10076
|
-
|
10077
|
-
|
10078
|
-
|
10244
|
+
<xsl:choose>
|
10245
|
+
<xsl:when test="$external-destination != ''"> <!-- external hyperlink -->
|
10246
|
+
<xsl:attribute name="external-destination"><xsl:value-of select="$external-destination"/></xsl:attribute>
|
10247
|
+
</xsl:when>
|
10248
|
+
<xsl:otherwise>
|
10249
|
+
<xsl:attribute name="internal-destination"><xsl:value-of select="@bibitemid"/></xsl:attribute>
|
10250
|
+
</xsl:otherwise>
|
10251
|
+
</xsl:choose>
|
10079
10252
|
|
10080
|
-
|
10081
|
-
|
10253
|
+
<xsl:apply-templates/>
|
10254
|
+
</fo:basic-link>
|
10255
|
+
</xsl:with-param>
|
10256
|
+
</xsl:call-template>
|
10082
10257
|
|
10083
10258
|
</fo:inline>
|
10084
10259
|
</xsl:when>
|
@@ -10194,13 +10369,8 @@
|
|
10194
10369
|
</xsl:template>
|
10195
10370
|
|
10196
10371
|
<xsl:template match="*[local-name() = 'deprecates']">
|
10197
|
-
<xsl:variable name="title-deprecated">
|
10198
|
-
<xsl:call-template name="getLocalizedString">
|
10199
|
-
<xsl:with-param name="key">deprecated</xsl:with-param>
|
10200
|
-
</xsl:call-template>
|
10201
|
-
</xsl:variable>
|
10202
10372
|
<fo:block xsl:use-attribute-sets="deprecates-style">
|
10203
|
-
<xsl:
|
10373
|
+
<xsl:apply-templates/>
|
10204
10374
|
</fo:block>
|
10205
10375
|
</xsl:template>
|
10206
10376
|
|
@@ -10323,7 +10493,10 @@
|
|
10323
10493
|
<xsl:variable name="ul_labels" select="xalan:nodeset($ul_labels_)"/>
|
10324
10494
|
|
10325
10495
|
<xsl:template name="setULLabel">
|
10326
|
-
<xsl:variable name="
|
10496
|
+
<xsl:variable name="list_level__">
|
10497
|
+
<xsl:value-of select="count(ancestor::*[local-name() = 'ul']) + count(ancestor::*[local-name() = 'ol'])"/>
|
10498
|
+
</xsl:variable>
|
10499
|
+
<xsl:variable name="list_level_" select="number($list_level__)"/>
|
10327
10500
|
<xsl:variable name="list_level">
|
10328
10501
|
<xsl:choose>
|
10329
10502
|
<xsl:when test="$list_level_ <= 3"><xsl:value-of select="$list_level_"/></xsl:when>
|
@@ -10456,9 +10629,11 @@
|
|
10456
10629
|
</fo:block-container>
|
10457
10630
|
</xsl:when>
|
10458
10631
|
<xsl:otherwise>
|
10459
|
-
|
10460
|
-
|
10461
|
-
|
10632
|
+
|
10633
|
+
<fo:block>
|
10634
|
+
<xsl:apply-templates select="." mode="list"/>
|
10635
|
+
</fo:block>
|
10636
|
+
|
10462
10637
|
</xsl:otherwise>
|
10463
10638
|
</xsl:choose>
|
10464
10639
|
</xsl:template>
|
@@ -11146,24 +11321,32 @@
|
|
11146
11321
|
<xsl:for-each select="*[local-name() = 'tab']">
|
11147
11322
|
<xsl:variable name="current_id" select="generate-id()"/>
|
11148
11323
|
<fo:table-cell>
|
11149
|
-
<fo:block>
|
11150
|
-
<
|
11151
|
-
<xsl:
|
11152
|
-
<
|
11153
|
-
<xsl:
|
11154
|
-
|
11155
|
-
|
11156
|
-
|
11157
|
-
|
11324
|
+
<fo:block line-height-shift-adjustment="disregard-shifts">
|
11325
|
+
<xsl:call-template name="insert_basic_link">
|
11326
|
+
<xsl:with-param name="element">
|
11327
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
11328
|
+
<xsl:for-each select="following-sibling::node()[not(self::*[local-name() = 'tab']) and preceding-sibling::*[local-name() = 'tab'][1][generate-id() = $current_id]]">
|
11329
|
+
<xsl:choose>
|
11330
|
+
<xsl:when test="self::text()"><xsl:value-of select="."/></xsl:when>
|
11331
|
+
<xsl:otherwise><xsl:apply-templates select="."/></xsl:otherwise>
|
11332
|
+
</xsl:choose>
|
11333
|
+
</xsl:for-each>
|
11334
|
+
</fo:basic-link>
|
11335
|
+
</xsl:with-param>
|
11336
|
+
</xsl:call-template>
|
11158
11337
|
</fo:block>
|
11159
11338
|
</fo:table-cell>
|
11160
11339
|
</xsl:for-each>
|
11161
11340
|
<!-- last column - for page numbers -->
|
11162
11341
|
<fo:table-cell text-align="right" font-size="10pt" font-weight="bold" font-family="Arial">
|
11163
11342
|
<fo:block>
|
11164
|
-
<
|
11165
|
-
<
|
11166
|
-
|
11343
|
+
<xsl:call-template name="insert_basic_link">
|
11344
|
+
<xsl:with-param name="element">
|
11345
|
+
<fo:basic-link internal-destination="{$target}" fox:alt-text="{.}">
|
11346
|
+
<fo:page-number-citation ref-id="{$target}"/>
|
11347
|
+
</fo:basic-link>
|
11348
|
+
</xsl:with-param>
|
11349
|
+
</xsl:call-template>
|
11167
11350
|
</fo:block>
|
11168
11351
|
</fo:table-cell>
|
11169
11352
|
</xsl:template>
|
@@ -11205,6 +11388,27 @@
|
|
11205
11388
|
<!-- End Table of Contents (ToC) processing -->
|
11206
11389
|
<!-- =================== -->
|
11207
11390
|
|
11391
|
+
<!-- insert fo:basic-link, if external-destination or internal-destination is non-empty, otherwise insert fo:inline -->
|
11392
|
+
<xsl:template name="insert_basic_link">
|
11393
|
+
<xsl:param name="element"/>
|
11394
|
+
<xsl:variable name="element_node" select="xalan:nodeset($element)"/>
|
11395
|
+
<xsl:variable name="external-destination" select="normalize-space(count($element_node/fo:basic-link/@external-destination[. != '']) = 1)"/>
|
11396
|
+
<xsl:variable name="internal-destination" select="normalize-space(count($element_node/fo:basic-link/@internal-destination[. != '']) = 1)"/>
|
11397
|
+
<xsl:choose>
|
11398
|
+
<xsl:when test="$external-destination = 'true' or $internal-destination = 'true'">
|
11399
|
+
<xsl:copy-of select="$element_node"/>
|
11400
|
+
</xsl:when>
|
11401
|
+
<xsl:otherwise>
|
11402
|
+
<fo:inline>
|
11403
|
+
<xsl:for-each select="$element_node/fo:basic-link/@*[local-name() != 'external-destination' and local-name() != 'internal-destination' and local-name() != 'alt-text']">
|
11404
|
+
<xsl:attribute name="{local-name()}"><xsl:value-of select="."/></xsl:attribute>
|
11405
|
+
</xsl:for-each>
|
11406
|
+
<xsl:copy-of select="$element_node/fo:basic-link/node()"/>
|
11407
|
+
</fo:inline>
|
11408
|
+
</xsl:otherwise>
|
11409
|
+
</xsl:choose>
|
11410
|
+
</xsl:template>
|
11411
|
+
|
11208
11412
|
<xsl:template match="*[local-name() = 'variant-title']"/> <!-- [@type = 'sub'] -->
|
11209
11413
|
<xsl:template match="*[local-name() = 'variant-title'][@type = 'sub']" mode="subtitle">
|
11210
11414
|
<fo:inline padding-right="5mm"> </fo:inline>
|
@@ -11430,6 +11634,23 @@
|
|
11430
11634
|
<xsl:template match="*[local-name() = 'stem'] | *[local-name() = 'image']" mode="update_xml_step1">
|
11431
11635
|
<xsl:copy-of select="."/>
|
11432
11636
|
</xsl:template>
|
11637
|
+
|
11638
|
+
<!-- add @id, redundant for table auto-layout algorithm -->
|
11639
|
+
<xsl:template match="*[local-name() = 'dl' or local-name() = 'table'][not(@id)]" mode="update_xml_step1">
|
11640
|
+
<xsl:copy>
|
11641
|
+
<xsl:copy-of select="@*"/>
|
11642
|
+
<xsl:call-template name="add_id"/>
|
11643
|
+
<xsl:apply-templates mode="update_xml_step1"/>
|
11644
|
+
</xsl:copy>
|
11645
|
+
</xsl:template>
|
11646
|
+
|
11647
|
+
<xsl:template name="add_id">
|
11648
|
+
<xsl:if test="not(@id)">
|
11649
|
+
<!-- add @id - first element with @id plus '_element_name' -->
|
11650
|
+
<xsl:attribute name="id"><xsl:value-of select="(.//*[@id])[1]/@id"/>_<xsl:value-of select="local-name()"/></xsl:attribute>
|
11651
|
+
</xsl:if>
|
11652
|
+
</xsl:template>
|
11653
|
+
|
11433
11654
|
<!-- =========================================================================== -->
|
11434
11655
|
<!-- END STEP1: Re-order elements in 'preface', 'sections' based on @displayorder -->
|
11435
11656
|
<!-- =========================================================================== -->
|