metanorma-bipm 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/isodoc/bipm/bipm.brochure.xsl +283 -28
- data/lib/isodoc/bipm/bipm.guide.xsl +283 -28
- data/lib/isodoc/bipm/bipm.mise-en-pratique.xsl +283 -28
- data/lib/isodoc/bipm/bipm.rapport.xsl +283 -28
- data/lib/isodoc/bipm/index.rb +13 -6
- data/lib/isodoc/bipm/jcgm.standard.xsl +276 -28
- data/lib/isodoc/bipm/presentation_xml_convert.rb +21 -7
- data/lib/isodoc/bipm/xref.rb +14 -1
- data/lib/metanorma/bipm/version.rb +1 -1
- data/metanorma-bipm.gemspec +1 -0
- metadata +16 -2
data/lib/isodoc/bipm/index.rb
CHANGED
@@ -4,7 +4,7 @@ require "sterile"
|
|
4
4
|
module IsoDoc
|
5
5
|
module BIPM
|
6
6
|
class PresentationXMLConvert < IsoDoc::Generic::PresentationXMLConvert
|
7
|
-
|
7
|
+
def add_id
|
8
8
|
%(id="_#{UUIDTools::UUID.random_create}")
|
9
9
|
end
|
10
10
|
|
@@ -15,7 +15,8 @@ module IsoDoc
|
|
15
15
|
end
|
16
16
|
i = docxml.at(ns("//indexsect")) ||
|
17
17
|
docxml.root.add_child("<indexsect #{add_id}><title>#{@i18n.index}</title></indexsect>").first
|
18
|
-
index = sort_indexterms(docxml.xpath(ns("//index")),
|
18
|
+
index = sort_indexterms(docxml.xpath(ns("//index")),
|
19
|
+
docxml.xpath(ns("//index-xref[@also = 'false']")),
|
19
20
|
docxml.xpath(ns("//index-xref[@also = 'true']")))
|
20
21
|
index1(docxml, i, index)
|
21
22
|
end
|
@@ -41,8 +42,11 @@ module IsoDoc
|
|
41
42
|
end
|
42
43
|
|
43
44
|
def index_entries(words, index, primary)
|
44
|
-
ret = index_entries_head(words[primary],
|
45
|
-
|
45
|
+
ret = index_entries_head(words[primary],
|
46
|
+
index.dig(words[primary], nil, nil),
|
47
|
+
index_entries_opt)
|
48
|
+
words2 = index[words[primary]]&.keys&.reject { |k| k.nil? }
|
49
|
+
&.each_with_object({}) { |w, v| v[w.downcase] = w }
|
46
50
|
unless words2.empty?
|
47
51
|
ret += "<ul>"
|
48
52
|
words2.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
@@ -54,8 +58,11 @@ module IsoDoc
|
|
54
58
|
end
|
55
59
|
|
56
60
|
def index_entries2(words, index, secondary)
|
57
|
-
ret = index_entries_head(words[secondary],
|
58
|
-
|
61
|
+
ret = index_entries_head(words[secondary],
|
62
|
+
index.dig(words[secondary], nil),
|
63
|
+
index_entries_opt)
|
64
|
+
words3 = index[words[secondary]]&.keys&.reject { |k| k.nil? }
|
65
|
+
&.each_with_object({}) { |w, v| v[w.downcase] = w }
|
59
66
|
unless words3.empty?
|
60
67
|
ret += "<ul>"
|
61
68
|
words3.keys.localize(@lang.to_sym).sort.to_a.each do |w|
|
@@ -2239,6 +2239,7 @@
|
|
2239
2239
|
<xsl:attribute name="font-family">Times New Roman, STIX Two Math, Source Han Sans</xsl:attribute>
|
2240
2240
|
<xsl:attribute name="font-size">10.5pt</xsl:attribute>
|
2241
2241
|
|
2242
|
+
|
2242
2243
|
</xsl:attribute-set><xsl:attribute-set name="link-style">
|
2243
2244
|
|
2244
2245
|
<xsl:attribute name="color">blue</xsl:attribute>
|
@@ -2321,6 +2322,7 @@
|
|
2321
2322
|
|
2322
2323
|
|
2323
2324
|
<xsl:attribute name="padding-right">5mm</xsl:attribute>
|
2325
|
+
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2324
2326
|
|
2325
2327
|
|
2326
2328
|
|
@@ -2587,13 +2589,25 @@
|
|
2587
2589
|
|
2588
2590
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
2589
2591
|
|
2590
|
-
</xsl:attribute-set><xsl:
|
2592
|
+
</xsl:attribute-set><xsl:variable name="color-added-text">
|
2593
|
+
<xsl:text>rgb(0, 255, 0)</xsl:text>
|
2594
|
+
</xsl:variable><xsl:attribute-set name="add-style">
|
2591
2595
|
<xsl:attribute name="color">red</xsl:attribute>
|
2592
2596
|
<xsl:attribute name="text-decoration">underline</xsl:attribute>
|
2593
|
-
|
2594
|
-
<xsl:attribute name="color"
|
2597
|
+
<!-- <xsl:attribute name="color">black</xsl:attribute>
|
2598
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
2599
|
+
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
2600
|
+
<xsl:attribute name="padding-bottom">0.5mm</xsl:attribute> -->
|
2601
|
+
</xsl:attribute-set><xsl:variable name="color-deleted-text">
|
2602
|
+
<xsl:text>red</xsl:text>
|
2603
|
+
</xsl:variable><xsl:attribute-set name="del-style">
|
2604
|
+
<xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
2595
2605
|
<xsl:attribute name="text-decoration">line-through</xsl:attribute>
|
2596
|
-
</xsl:attribute-set><xsl:
|
2606
|
+
</xsl:attribute-set><xsl:attribute-set name="mathml-style">
|
2607
|
+
<xsl:attribute name="font-family">STIX Two Math</xsl:attribute>
|
2608
|
+
|
2609
|
+
|
2610
|
+
</xsl:attribute-set><xsl:variable name="border-block-added">2.5pt solid rgb(0, 176, 80)</xsl:variable><xsl:variable name="border-block-deleted">2.5pt solid rgb(255, 0, 0)</xsl:variable><xsl:template name="processPrefaceSectionsDefault_Contents">
|
2597
2611
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='abstract']" mode="contents"/>
|
2598
2612
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='foreword']" mode="contents"/>
|
2599
2613
|
<xsl:apply-templates select="/*/*[local-name()='preface']/*[local-name()='introduction']" mode="contents"/>
|
@@ -2638,16 +2652,17 @@
|
|
2638
2652
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2639
2653
|
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2640
2654
|
|
2655
|
+
<xsl:variable name="table-preamble">
|
2656
|
+
|
2657
|
+
|
2658
|
+
</xsl:variable>
|
2659
|
+
|
2641
2660
|
<xsl:variable name="table">
|
2642
2661
|
|
2643
2662
|
<xsl:variable name="simple-table">
|
2644
2663
|
<xsl:call-template name="getSimpleTable"/>
|
2645
2664
|
</xsl:variable>
|
2646
2665
|
|
2647
|
-
|
2648
|
-
|
2649
|
-
|
2650
|
-
|
2651
2666
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
2652
2667
|
<fo:block> </fo:block>
|
2653
2668
|
</xsl:if> -->
|
@@ -2658,7 +2673,7 @@
|
|
2658
2673
|
|
2659
2674
|
|
2660
2675
|
|
2661
|
-
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)
|
2676
|
+
<xsl:variable name="cols-count" select="count(xalan:nodeset($simple-table)/*/tr[1]/td)"/>
|
2662
2677
|
|
2663
2678
|
<!-- <xsl:variable name="cols-count">
|
2664
2679
|
<xsl:choose>
|
@@ -2677,8 +2692,6 @@
|
|
2677
2692
|
<!-- cols-count=<xsl:copy-of select="$cols-count"/> -->
|
2678
2693
|
<!-- cols-count2=<xsl:copy-of select="$cols-count2"/> -->
|
2679
2694
|
|
2680
|
-
|
2681
|
-
|
2682
2695
|
<xsl:variable name="colwidths">
|
2683
2696
|
<xsl:if test="not(*[local-name()='colgroup']/*[local-name()='col'])">
|
2684
2697
|
<xsl:call-template name="calculate-column-widths">
|
@@ -2706,6 +2719,7 @@
|
|
2706
2719
|
</xsl:choose>
|
2707
2720
|
</xsl:variable>
|
2708
2721
|
|
2722
|
+
|
2709
2723
|
<fo:block-container margin-left="-{$margin-left}mm" margin-right="-{$margin-left}mm">
|
2710
2724
|
|
2711
2725
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
@@ -2749,6 +2763,7 @@
|
|
2749
2763
|
|
2750
2764
|
|
2751
2765
|
|
2766
|
+
|
2752
2767
|
<attribute name="margin-left">0mm</attribute>
|
2753
2768
|
<attribute name="margin-right">0mm</attribute>
|
2754
2769
|
|
@@ -2841,7 +2856,8 @@
|
|
2841
2856
|
</fo:block-container>
|
2842
2857
|
</xsl:variable>
|
2843
2858
|
|
2844
|
-
|
2859
|
+
<xsl:variable name="isAdded" select="@added"/>
|
2860
|
+
<xsl:variable name="isDeleted" select="@deleted"/>
|
2845
2861
|
|
2846
2862
|
<xsl:choose>
|
2847
2863
|
<xsl:when test="@width">
|
@@ -2855,7 +2871,14 @@
|
|
2855
2871
|
<fo:table-body>
|
2856
2872
|
<fo:table-row>
|
2857
2873
|
<fo:table-cell column-number="2">
|
2858
|
-
<
|
2874
|
+
<xsl:copy-of select="$table-preamble"/>
|
2875
|
+
<fo:block>
|
2876
|
+
<xsl:call-template name="setTrackChangesStyles">
|
2877
|
+
<xsl:with-param name="isAdded" select="$isAdded"/>
|
2878
|
+
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
2879
|
+
</xsl:call-template>
|
2880
|
+
<xsl:copy-of select="$table"/>
|
2881
|
+
</fo:block>
|
2859
2882
|
</fo:table-cell>
|
2860
2883
|
</fo:table-row>
|
2861
2884
|
</fo:table-body>
|
@@ -2866,7 +2889,22 @@
|
|
2866
2889
|
|
2867
2890
|
</xsl:when>
|
2868
2891
|
<xsl:otherwise>
|
2869
|
-
<xsl:
|
2892
|
+
<xsl:choose>
|
2893
|
+
<xsl:when test="$isAdded = 'true' or $isDeleted = 'true'">
|
2894
|
+
<xsl:copy-of select="$table-preamble"/>
|
2895
|
+
<fo:block>
|
2896
|
+
<xsl:call-template name="setTrackChangesStyles">
|
2897
|
+
<xsl:with-param name="isAdded" select="$isAdded"/>
|
2898
|
+
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
2899
|
+
</xsl:call-template>
|
2900
|
+
<xsl:copy-of select="$table"/>
|
2901
|
+
</fo:block>
|
2902
|
+
</xsl:when>
|
2903
|
+
<xsl:otherwise>
|
2904
|
+
<xsl:copy-of select="$table-preamble"/>
|
2905
|
+
<xsl:copy-of select="$table"/>
|
2906
|
+
</xsl:otherwise>
|
2907
|
+
</xsl:choose>
|
2870
2908
|
</xsl:otherwise>
|
2871
2909
|
</xsl:choose>
|
2872
2910
|
|
@@ -2929,7 +2967,7 @@
|
|
2929
2967
|
</xsl:for-each>
|
2930
2968
|
</xsl:when>
|
2931
2969
|
<xsl:otherwise>
|
2932
|
-
<xsl:for-each select="xalan:nodeset($table)
|
2970
|
+
<xsl:for-each select="xalan:nodeset($table)/*/tr">
|
2933
2971
|
<xsl:variable name="td_text">
|
2934
2972
|
<xsl:apply-templates select="td[$curr-col]" mode="td_text"/>
|
2935
2973
|
|
@@ -3327,7 +3365,8 @@
|
|
3327
3365
|
<xsl:attribute name="text-align">
|
3328
3366
|
<xsl:choose>
|
3329
3367
|
<xsl:when test="@align">
|
3330
|
-
<xsl:
|
3368
|
+
<xsl:call-template name="setAlignment"/>
|
3369
|
+
<!-- <xsl:value-of select="@align"/> -->
|
3331
3370
|
</xsl:when>
|
3332
3371
|
<xsl:otherwise>center</xsl:otherwise>
|
3333
3372
|
</xsl:choose>
|
@@ -3345,6 +3384,9 @@
|
|
3345
3384
|
|
3346
3385
|
|
3347
3386
|
|
3387
|
+
<xsl:if test="$lang = 'ar'">
|
3388
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3389
|
+
</xsl:if>
|
3348
3390
|
<xsl:if test="@colspan">
|
3349
3391
|
<xsl:attribute name="number-columns-spanned">
|
3350
3392
|
<xsl:value-of select="@colspan"/>
|
@@ -3376,11 +3418,15 @@
|
|
3376
3418
|
<xsl:attribute name="text-align">
|
3377
3419
|
<xsl:choose>
|
3378
3420
|
<xsl:when test="@align">
|
3379
|
-
<xsl:
|
3421
|
+
<xsl:call-template name="setAlignment"/>
|
3422
|
+
<!-- <xsl:value-of select="@align"/> -->
|
3380
3423
|
</xsl:when>
|
3381
3424
|
<xsl:otherwise>left</xsl:otherwise>
|
3382
3425
|
</xsl:choose>
|
3383
3426
|
</xsl:attribute>
|
3427
|
+
<xsl:if test="$lang = 'ar'">
|
3428
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3429
|
+
</xsl:if>
|
3384
3430
|
<!-- and ancestor::*[local-name() = 'thead'] -->
|
3385
3431
|
<xsl:attribute name="padding-top">0.5mm</xsl:attribute>
|
3386
3432
|
|
@@ -3398,6 +3444,9 @@
|
|
3398
3444
|
|
3399
3445
|
|
3400
3446
|
|
3447
|
+
<xsl:if test=".//*[local-name() = 'table']">
|
3448
|
+
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
3449
|
+
</xsl:if>
|
3401
3450
|
<xsl:if test="@colspan">
|
3402
3451
|
<xsl:attribute name="number-columns-spanned">
|
3403
3452
|
<xsl:value-of select="@colspan"/>
|
@@ -3531,13 +3580,13 @@
|
|
3531
3580
|
</xsl:choose>
|
3532
3581
|
</xsl:variable>
|
3533
3582
|
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
3534
|
-
<xsl:element name="{$ns}:table">
|
3583
|
+
<!-- <xsl:element name="{$ns}:table"> -->
|
3535
3584
|
<xsl:for-each select="*[local-name() = 'dl'][1]">
|
3536
3585
|
<tbody>
|
3537
3586
|
<xsl:apply-templates mode="dl"/>
|
3538
3587
|
</tbody>
|
3539
3588
|
</xsl:for-each>
|
3540
|
-
</xsl:element>
|
3589
|
+
<!-- </xsl:element> -->
|
3541
3590
|
</xsl:variable>
|
3542
3591
|
|
3543
3592
|
<xsl:call-template name="calculate-column-widths">
|
@@ -3634,6 +3683,8 @@
|
|
3634
3683
|
<xsl:apply-templates/>
|
3635
3684
|
</fo:inline>
|
3636
3685
|
</xsl:template><xsl:template match="*[local-name()='dl']">
|
3686
|
+
<xsl:variable name="isAdded" select="@added"/>
|
3687
|
+
<xsl:variable name="isDeleted" select="@deleted"/>
|
3637
3688
|
<fo:block-container>
|
3638
3689
|
|
3639
3690
|
<xsl:if test="not(ancestor::*[local-name() = 'quote'])">
|
@@ -3650,6 +3701,12 @@
|
|
3650
3701
|
</xsl:attribute>
|
3651
3702
|
|
3652
3703
|
</xsl:if>
|
3704
|
+
|
3705
|
+
<xsl:call-template name="setTrackChangesStyles">
|
3706
|
+
<xsl:with-param name="isAdded" select="$isAdded"/>
|
3707
|
+
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
3708
|
+
</xsl:call-template>
|
3709
|
+
|
3653
3710
|
<fo:block-container>
|
3654
3711
|
|
3655
3712
|
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
@@ -3771,11 +3828,11 @@
|
|
3771
3828
|
</xsl:choose>
|
3772
3829
|
</xsl:variable>
|
3773
3830
|
<!-- <xsl:variable name="ns" select="substring-before(name(/*), '-')"/> -->
|
3774
|
-
<xsl:element name="{$ns}:table">
|
3831
|
+
<!-- <xsl:element name="{$ns}:table"> -->
|
3775
3832
|
<tbody>
|
3776
3833
|
<xsl:apply-templates mode="dl"/>
|
3777
3834
|
</tbody>
|
3778
|
-
</xsl:element>
|
3835
|
+
<!-- </xsl:element> -->
|
3779
3836
|
</xsl:variable>
|
3780
3837
|
<!-- html-table<xsl:copy-of select="$html-table"/> -->
|
3781
3838
|
<xsl:variable name="colwidths">
|
@@ -4045,9 +4102,71 @@
|
|
4045
4102
|
<xsl:apply-templates/>
|
4046
4103
|
</fo:inline>
|
4047
4104
|
</xsl:template><xsl:template match="*[local-name()='add']">
|
4048
|
-
<
|
4049
|
-
<xsl:
|
4050
|
-
|
4105
|
+
<xsl:choose>
|
4106
|
+
<xsl:when test="@amendment">
|
4107
|
+
<fo:inline>
|
4108
|
+
<xsl:call-template name="insertTag">
|
4109
|
+
<xsl:with-param name="kind">A</xsl:with-param>
|
4110
|
+
<xsl:with-param name="value"><xsl:value-of select="@amendment"/></xsl:with-param>
|
4111
|
+
</xsl:call-template>
|
4112
|
+
<xsl:apply-templates/>
|
4113
|
+
<xsl:call-template name="insertTag">
|
4114
|
+
<xsl:with-param name="type">closing</xsl:with-param>
|
4115
|
+
<xsl:with-param name="kind">A</xsl:with-param>
|
4116
|
+
<xsl:with-param name="value"><xsl:value-of select="@amendment"/></xsl:with-param>
|
4117
|
+
</xsl:call-template>
|
4118
|
+
</fo:inline>
|
4119
|
+
</xsl:when>
|
4120
|
+
<xsl:when test="@corrigenda">
|
4121
|
+
<fo:inline>
|
4122
|
+
<xsl:call-template name="insertTag">
|
4123
|
+
<xsl:with-param name="kind">C</xsl:with-param>
|
4124
|
+
<xsl:with-param name="value"><xsl:value-of select="@corrigenda"/></xsl:with-param>
|
4125
|
+
</xsl:call-template>
|
4126
|
+
<xsl:apply-templates/>
|
4127
|
+
<xsl:call-template name="insertTag">
|
4128
|
+
<xsl:with-param name="type">closing</xsl:with-param>
|
4129
|
+
<xsl:with-param name="kind">C</xsl:with-param>
|
4130
|
+
<xsl:with-param name="value"><xsl:value-of select="@corrigenda"/></xsl:with-param>
|
4131
|
+
</xsl:call-template>
|
4132
|
+
</fo:inline>
|
4133
|
+
</xsl:when>
|
4134
|
+
<xsl:otherwise>
|
4135
|
+
<fo:inline xsl:use-attribute-sets="add-style">
|
4136
|
+
<xsl:apply-templates/>
|
4137
|
+
</fo:inline>
|
4138
|
+
</xsl:otherwise>
|
4139
|
+
</xsl:choose>
|
4140
|
+
|
4141
|
+
</xsl:template><xsl:template name="insertTag">
|
4142
|
+
<xsl:param name="type"/>
|
4143
|
+
<xsl:param name="kind"/>
|
4144
|
+
<xsl:param name="value"/>
|
4145
|
+
<xsl:variable name="add_width" select="string-length($value) * 20"/>
|
4146
|
+
<xsl:variable name="maxwidth" select="60 + $add_width"/>
|
4147
|
+
<fo:instream-foreign-object fox:alt-text="OpeningTag" baseline-shift="-20%"><!-- alignment-baseline="middle" -->
|
4148
|
+
<!-- <xsl:attribute name="width">7mm</xsl:attribute>
|
4149
|
+
<xsl:attribute name="content-height">100%</xsl:attribute> -->
|
4150
|
+
<xsl:attribute name="height">5mm</xsl:attribute>
|
4151
|
+
<xsl:attribute name="content-width">100%</xsl:attribute>
|
4152
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4153
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4154
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="{$maxwidth + 32}" height="80">
|
4155
|
+
<g>
|
4156
|
+
<xsl:if test="$type = 'closing'">
|
4157
|
+
<xsl:attribute name="transform">scale(-1 1) translate(-<xsl:value-of select="$maxwidth + 32"/>,0)</xsl:attribute>
|
4158
|
+
</xsl:if>
|
4159
|
+
<polyline points="0,0 {$maxwidth},0 {$maxwidth + 30},40 {$maxwidth},80 0,80 " stroke="black" stroke-width="5" fill="white"/>
|
4160
|
+
<line x1="0" y1="0" x2="0" y2="80" stroke="black" stroke-width="20"/>
|
4161
|
+
</g>
|
4162
|
+
<text font-family="Arial" x="15" y="57" font-size="40pt">
|
4163
|
+
<xsl:if test="$type = 'closing'">
|
4164
|
+
<xsl:attribute name="x">25</xsl:attribute>
|
4165
|
+
</xsl:if>
|
4166
|
+
<xsl:value-of select="$kind"/><tspan dy="10" font-size="30pt"><xsl:value-of select="$value"/></tspan>
|
4167
|
+
</text>
|
4168
|
+
</svg>
|
4169
|
+
</fo:instream-foreign-object>
|
4051
4170
|
</xsl:template><xsl:template match="*[local-name()='del']">
|
4052
4171
|
<fo:inline xsl:use-attribute-sets="del-style">
|
4053
4172
|
<xsl:apply-templates/>
|
@@ -4390,13 +4509,23 @@
|
|
4390
4509
|
<xsl:value-of select="java:toUpperCase(java:java.lang.String.new(substring($str, 1, 1)))"/>
|
4391
4510
|
<xsl:value-of select="substring($str, 2)"/>
|
4392
4511
|
</xsl:template><xsl:template match="mathml:math">
|
4393
|
-
<
|
4512
|
+
<xsl:variable name="isAdded" select="@added"/>
|
4513
|
+
<xsl:variable name="isDeleted" select="@deleted"/>
|
4514
|
+
|
4515
|
+
<fo:inline xsl:use-attribute-sets="mathml-style">
|
4516
|
+
|
4517
|
+
|
4518
|
+
<xsl:call-template name="setTrackChangesStyles">
|
4519
|
+
<xsl:with-param name="isAdded" select="$isAdded"/>
|
4520
|
+
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
4521
|
+
</xsl:call-template>
|
4394
4522
|
|
4395
4523
|
<xsl:variable name="mathml">
|
4396
4524
|
<xsl:apply-templates select="." mode="mathml"/>
|
4397
4525
|
</xsl:variable>
|
4398
4526
|
<fo:instream-foreign-object fox:alt-text="Math">
|
4399
4527
|
|
4528
|
+
|
4400
4529
|
<!-- <xsl:copy-of select="."/> -->
|
4401
4530
|
<xsl:copy-of select="xalan:nodeset($mathml)"/>
|
4402
4531
|
</fo:instream-foreign-object>
|
@@ -4642,8 +4771,15 @@
|
|
4642
4771
|
</fo:inline>
|
4643
4772
|
</xsl:if>
|
4644
4773
|
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
4774
|
+
<xsl:variable name="isAdded" select="@added"/>
|
4775
|
+
<xsl:variable name="isDeleted" select="@deleted"/>
|
4645
4776
|
<fo:block-container id="{@id}">
|
4646
4777
|
|
4778
|
+
<xsl:call-template name="setTrackChangesStyles">
|
4779
|
+
<xsl:with-param name="isAdded" select="$isAdded"/>
|
4780
|
+
<xsl:with-param name="isDeleted" select="$isDeleted"/>
|
4781
|
+
</xsl:call-template>
|
4782
|
+
|
4647
4783
|
<fo:block>
|
4648
4784
|
<xsl:apply-templates/>
|
4649
4785
|
</fo:block>
|
@@ -4663,6 +4799,8 @@
|
|
4663
4799
|
<xsl:apply-templates/>
|
4664
4800
|
</fo:block>
|
4665
4801
|
</xsl:template><xsl:template match="*[local-name() = 'image']">
|
4802
|
+
<xsl:variable name="isAdded" select="../@added"/>
|
4803
|
+
<xsl:variable name="isDeleted" select="../@deleted"/>
|
4666
4804
|
<xsl:choose>
|
4667
4805
|
<xsl:when test="ancestor::*[local-name() = 'title']">
|
4668
4806
|
<fo:inline padding-left="1mm" padding-right="1mm">
|
@@ -4678,7 +4816,26 @@
|
|
4678
4816
|
<xsl:variable name="src">
|
4679
4817
|
<xsl:call-template name="image_src"/>
|
4680
4818
|
</xsl:variable>
|
4681
|
-
|
4819
|
+
|
4820
|
+
<xsl:choose>
|
4821
|
+
<xsl:when test="$isDeleted = 'true'">
|
4822
|
+
<!-- enclose in svg -->
|
4823
|
+
<fo:instream-foreign-object fox:alt-text="Image {@alt}">
|
4824
|
+
<xsl:attribute name="width">100%</xsl:attribute>
|
4825
|
+
<xsl:attribute name="content-height">100%</xsl:attribute>
|
4826
|
+
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
4827
|
+
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
4828
|
+
|
4829
|
+
|
4830
|
+
<xsl:apply-templates select="." mode="cross_image"/>
|
4831
|
+
|
4832
|
+
</fo:instream-foreign-object>
|
4833
|
+
</xsl:when>
|
4834
|
+
<xsl:otherwise>
|
4835
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"/>
|
4836
|
+
</xsl:otherwise>
|
4837
|
+
</xsl:choose>
|
4838
|
+
|
4682
4839
|
</fo:block>
|
4683
4840
|
</xsl:otherwise>
|
4684
4841
|
</xsl:choose>
|
@@ -4694,6 +4851,55 @@
|
|
4694
4851
|
<xsl:value-of select="@src"/>
|
4695
4852
|
</xsl:otherwise>
|
4696
4853
|
</xsl:choose>
|
4854
|
+
</xsl:template><xsl:template match="*[local-name() = 'image']" mode="cross_image">
|
4855
|
+
<xsl:choose>
|
4856
|
+
<xsl:when test="@mimetype = 'image/svg+xml' and $images/images/image[@id = current()/@id]">
|
4857
|
+
<xsl:variable name="src">
|
4858
|
+
<xsl:value-of select="$images/images/image[@id = current()/@id]/@src"/>
|
4859
|
+
</xsl:variable>
|
4860
|
+
<xsl:variable name="width" select="document($src)/@width"/>
|
4861
|
+
<xsl:variable name="height" select="document($src)/@height"/>
|
4862
|
+
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
|
4863
|
+
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{$src}" style="overflow:visible;"/>
|
4864
|
+
</svg>
|
4865
|
+
</xsl:when>
|
4866
|
+
<xsl:when test="not(starts-with(@src, 'data:'))">
|
4867
|
+
<xsl:variable name="src">
|
4868
|
+
<xsl:value-of select="concat('url(file:',$basepath, @src, ')')"/>
|
4869
|
+
</xsl:variable>
|
4870
|
+
<xsl:variable name="file" select="java:java.io.File.new(@src)"/>
|
4871
|
+
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($file)"/>
|
4872
|
+
<xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
|
4873
|
+
<xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
|
4874
|
+
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
|
4875
|
+
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{$src}" style="overflow:visible;"/>
|
4876
|
+
</svg>
|
4877
|
+
</xsl:when>
|
4878
|
+
<xsl:otherwise>
|
4879
|
+
<xsl:variable name="base64String" select="substring-after(@src, 'base64,')"/>
|
4880
|
+
<xsl:variable name="decoder" select="java:java.util.Base64.getDecoder()"/>
|
4881
|
+
<xsl:variable name="fileContent" select="java:decode($decoder, $base64String)"/>
|
4882
|
+
<xsl:variable name="bis" select="java:java.io.ByteArrayInputStream.new($fileContent)"/>
|
4883
|
+
<xsl:variable name="bufferedImage" select="java:javax.imageio.ImageIO.read($bis)"/>
|
4884
|
+
<xsl:variable name="width" select="java:getWidth($bufferedImage)"/>
|
4885
|
+
<!-- width=<xsl:value-of select="$width"/> -->
|
4886
|
+
<xsl:variable name="height" select="java:getHeight($bufferedImage)"/>
|
4887
|
+
<!-- height=<xsl:value-of select="$height"/> -->
|
4888
|
+
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 595.28 841.89;" height="{$height}" width="{$width}" viewBox="0 0 {$width} {$height}" y="0px" x="0px" id="Layer_1" version="1.1">
|
4889
|
+
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="{@src}" height="{$height}" width="{$width}" style="overflow:visible;"/>
|
4890
|
+
<xsl:call-template name="svg_cross">
|
4891
|
+
<xsl:with-param name="width" select="$width"/>
|
4892
|
+
<xsl:with-param name="height" select="$height"/>
|
4893
|
+
</xsl:call-template>
|
4894
|
+
</svg>
|
4895
|
+
</xsl:otherwise>
|
4896
|
+
</xsl:choose>
|
4897
|
+
|
4898
|
+
</xsl:template><xsl:template name="svg_cross">
|
4899
|
+
<xsl:param name="width"/>
|
4900
|
+
<xsl:param name="height"/>
|
4901
|
+
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="0" x2="{$width}" y2="{$height}" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
4902
|
+
<line xmlns="http://www.w3.org/2000/svg" x1="0" y1="{$height}" x2="{$width}" y2="0" style="stroke: rgb(255, 0, 0); stroke-width:4px; "/>
|
4697
4903
|
</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">
|
4698
4904
|
<xsl:apply-templates mode="contents"/>
|
4699
4905
|
<xsl:text> </xsl:text>
|
@@ -5236,6 +5442,7 @@
|
|
5236
5442
|
<xsl:variable name="element">
|
5237
5443
|
|
5238
5444
|
inline
|
5445
|
+
<xsl:if test="following-sibling::*[1][local-name() = 'table']">block</xsl:if>
|
5239
5446
|
</xsl:variable>
|
5240
5447
|
<xsl:choose>
|
5241
5448
|
<xsl:when test="ancestor::*[local-name() = 'appendix']">
|
@@ -5243,7 +5450,7 @@
|
|
5243
5450
|
<xsl:apply-templates/>
|
5244
5451
|
</fo:inline>
|
5245
5452
|
</xsl:when>
|
5246
|
-
<xsl:when test="normalize-space($element)
|
5453
|
+
<xsl:when test="contains(normalize-space($element), 'block')">
|
5247
5454
|
<fo:block xsl:use-attribute-sets="example-name-style">
|
5248
5455
|
<xsl:apply-templates/>
|
5249
5456
|
</fo:block>
|
@@ -5477,7 +5684,8 @@
|
|
5477
5684
|
</fo:inline>
|
5478
5685
|
</xsl:when>
|
5479
5686
|
<xsl:otherwise>
|
5480
|
-
<
|
5687
|
+
<xsl:variable name="direction"><xsl:if test="$lang = 'ar'"><xsl:value-of select="$RLM"/></xsl:if></xsl:variable>
|
5688
|
+
<fo:inline padding-right="{$padding-right}mm"><xsl:value-of select="$direction"/></fo:inline>
|
5481
5689
|
</xsl:otherwise>
|
5482
5690
|
</xsl:choose>
|
5483
5691
|
|
@@ -6187,4 +6395,44 @@
|
|
6187
6395
|
<xsl:otherwise><xsl:value-of select="$key"/></xsl:otherwise>
|
6188
6396
|
</xsl:choose>
|
6189
6397
|
|
6398
|
+
</xsl:template><xsl:template name="setTrackChangesStyles">
|
6399
|
+
<xsl:param name="isAdded"/>
|
6400
|
+
<xsl:param name="isDeleted"/>
|
6401
|
+
<xsl:choose>
|
6402
|
+
<xsl:when test="local-name() = 'math'">
|
6403
|
+
<xsl:if test="$isAdded = 'true'">
|
6404
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-added-text"/></xsl:attribute>
|
6405
|
+
</xsl:if>
|
6406
|
+
<xsl:if test="$isDeleted = 'true'">
|
6407
|
+
<xsl:attribute name="background-color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute>
|
6408
|
+
</xsl:if>
|
6409
|
+
</xsl:when>
|
6410
|
+
<xsl:otherwise>
|
6411
|
+
<xsl:if test="$isAdded = 'true'">
|
6412
|
+
<xsl:attribute name="border"><xsl:value-of select="$border-block-added"/></xsl:attribute>
|
6413
|
+
<xsl:attribute name="padding">2mm</xsl:attribute>
|
6414
|
+
</xsl:if>
|
6415
|
+
<xsl:if test="$isDeleted = 'true'">
|
6416
|
+
<xsl:attribute name="border"><xsl:value-of select="$border-block-deleted"/></xsl:attribute>
|
6417
|
+
<xsl:if test="local-name() = 'table'">
|
6418
|
+
<xsl:attribute name="background-color">rgb(255, 185, 185)</xsl:attribute>
|
6419
|
+
</xsl:if>
|
6420
|
+
<!-- <xsl:attribute name="color"><xsl:value-of select="$color-deleted-text"/></xsl:attribute> -->
|
6421
|
+
<xsl:attribute name="padding">2mm</xsl:attribute>
|
6422
|
+
</xsl:if>
|
6423
|
+
</xsl:otherwise>
|
6424
|
+
</xsl:choose>
|
6425
|
+
</xsl:template><xsl:variable name="LRM" select="''"/><xsl:variable name="RLM" select="''"/><xsl:template name="setWritingMode">
|
6426
|
+
<xsl:if test="$lang = 'ar'">
|
6427
|
+
<xsl:attribute name="writing-mode">rl-tb</xsl:attribute>
|
6428
|
+
</xsl:if>
|
6429
|
+
</xsl:template><xsl:template name="setAlignment">
|
6430
|
+
<xsl:param name="align" select="normalize-space(@align)"/>
|
6431
|
+
<xsl:choose>
|
6432
|
+
<xsl:when test="$lang = 'ar' and $align = 'left'">start</xsl:when>
|
6433
|
+
<xsl:when test="$lang = 'ar' and $align = 'right'">end</xsl:when>
|
6434
|
+
<xsl:when test="$align != ''">
|
6435
|
+
<xsl:value-of select="$align"/>
|
6436
|
+
</xsl:when>
|
6437
|
+
</xsl:choose>
|
6190
6438
|
</xsl:template></xsl:stylesheet>
|