metanorma-iso 1.8.6 → 1.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/iso/cleanup.rb +0 -1
- data/lib/asciidoctor/iso/isodoc.rng +44 -7
- data/lib/asciidoctor/iso/isostandard.rng +7 -3
- data/lib/asciidoctor/iso/reqt.rng +15 -4
- data/lib/asciidoctor/iso/section.rb +3 -0
- data/lib/asciidoctor/iso/validate.rb +4 -17
- data/lib/asciidoctor/iso/validate_section.rb +50 -34
- data/lib/asciidoctor/iso/validate_style.rb +3 -3
- data/lib/isodoc/iso/base_convert.rb +31 -6
- data/lib/isodoc/iso/iso.amendment.xsl +268 -122
- data/lib/isodoc/iso/iso.international-standard.xsl +268 -122
- data/lib/isodoc/iso/isosts_convert.rb +12 -13
- data/lib/isodoc/iso/presentation_xml_convert.rb +51 -7
- data/lib/isodoc/iso/sts_convert.rb +4 -5
- data/lib/isodoc/iso/xref.rb +17 -1
- 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/blocks_spec.rb +2 -2
- data/spec/asciidoctor/cleanup_spec.rb +2 -2
- data/spec/asciidoctor/section_spec.rb +128 -7
- data/spec/asciidoctor/validate_spec.rb +15 -15
- data/spec/isodoc/amd_spec.rb +2 -2
- data/spec/isodoc/inline_spec.rb +312 -122
- data/spec/isodoc/section_spec.rb +194 -71
- metadata +3 -3
@@ -2099,88 +2099,6 @@
|
|
2099
2099
|
<xsl:text>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</xsl:text>
|
2100
2100
|
</xsl:variable>
|
2101
2101
|
|
2102
|
-
<xsl:template name="number-to-words">
|
2103
|
-
<xsl:param name="number"/>
|
2104
|
-
<xsl:variable name="words">
|
2105
|
-
<words>
|
2106
|
-
<word cardinal="1">One-</word>
|
2107
|
-
<word ordinal="1">First </word>
|
2108
|
-
<word cardinal="2">Two-</word>
|
2109
|
-
<word ordinal="2">Second </word>
|
2110
|
-
<word cardinal="3">Three-</word>
|
2111
|
-
<word ordinal="3">Third </word>
|
2112
|
-
<word cardinal="4">Four-</word>
|
2113
|
-
<word ordinal="4">Fourth </word>
|
2114
|
-
<word cardinal="5">Five-</word>
|
2115
|
-
<word ordinal="5">Fifth </word>
|
2116
|
-
<word cardinal="6">Six-</word>
|
2117
|
-
<word ordinal="6">Sixth </word>
|
2118
|
-
<word cardinal="7">Seven-</word>
|
2119
|
-
<word ordinal="7">Seventh </word>
|
2120
|
-
<word cardinal="8">Eight-</word>
|
2121
|
-
<word ordinal="8">Eighth </word>
|
2122
|
-
<word cardinal="9">Nine-</word>
|
2123
|
-
<word ordinal="9">Ninth </word>
|
2124
|
-
<word ordinal="10">Tenth </word>
|
2125
|
-
<word ordinal="11">Eleventh </word>
|
2126
|
-
<word ordinal="12">Twelfth </word>
|
2127
|
-
<word ordinal="13">Thirteenth </word>
|
2128
|
-
<word ordinal="14">Fourteenth </word>
|
2129
|
-
<word ordinal="15">Fifteenth </word>
|
2130
|
-
<word ordinal="16">Sixteenth </word>
|
2131
|
-
<word ordinal="17">Seventeenth </word>
|
2132
|
-
<word ordinal="18">Eighteenth </word>
|
2133
|
-
<word ordinal="19">Nineteenth </word>
|
2134
|
-
<word cardinal="20">Twenty-</word>
|
2135
|
-
<word ordinal="20">Twentieth </word>
|
2136
|
-
<word cardinal="30">Thirty-</word>
|
2137
|
-
<word ordinal="30">Thirtieth </word>
|
2138
|
-
<word cardinal="40">Forty-</word>
|
2139
|
-
<word ordinal="40">Fortieth </word>
|
2140
|
-
<word cardinal="50">Fifty-</word>
|
2141
|
-
<word ordinal="50">Fiftieth </word>
|
2142
|
-
<word cardinal="60">Sixty-</word>
|
2143
|
-
<word ordinal="60">Sixtieth </word>
|
2144
|
-
<word cardinal="70">Seventy-</word>
|
2145
|
-
<word ordinal="70">Seventieth </word>
|
2146
|
-
<word cardinal="80">Eighty-</word>
|
2147
|
-
<word ordinal="80">Eightieth </word>
|
2148
|
-
<word cardinal="90">Ninety-</word>
|
2149
|
-
<word ordinal="90">Ninetieth </word>
|
2150
|
-
<word cardinal="100">Hundred-</word>
|
2151
|
-
<word ordinal="100">Hundredth </word>
|
2152
|
-
</words>
|
2153
|
-
</xsl:variable>
|
2154
|
-
|
2155
|
-
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
2156
|
-
|
2157
|
-
<xsl:choose>
|
2158
|
-
<xsl:when test="$ordinal != ''">
|
2159
|
-
<xsl:value-of select="$ordinal"/>
|
2160
|
-
</xsl:when>
|
2161
|
-
<xsl:otherwise>
|
2162
|
-
<xsl:choose>
|
2163
|
-
<xsl:when test="$number < 100">
|
2164
|
-
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
2165
|
-
<xsl:variable name="digit" select="substring($number,2)"/>
|
2166
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
2167
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
2168
|
-
</xsl:when>
|
2169
|
-
<xsl:otherwise>
|
2170
|
-
<!-- more 100 -->
|
2171
|
-
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
2172
|
-
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
2173
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
2174
|
-
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
2175
|
-
<xsl:call-template name="number-to-words">
|
2176
|
-
<xsl:with-param name="number" select="$digits"/>
|
2177
|
-
</xsl:call-template>
|
2178
|
-
</xsl:otherwise>
|
2179
|
-
</xsl:choose>
|
2180
|
-
</xsl:otherwise>
|
2181
|
-
</xsl:choose>
|
2182
|
-
</xsl:template>
|
2183
|
-
|
2184
2102
|
<xsl:template name="printEdition">
|
2185
2103
|
<xsl:variable name="edition" select="normalize-space(/iso:iso-standard/iso:bibdata/iso:edition)"/>
|
2186
2104
|
<xsl:text> </xsl:text>
|
@@ -2409,7 +2327,7 @@
|
|
2409
2327
|
<xsl:attribute name="white-space">pre</xsl:attribute>
|
2410
2328
|
<xsl:attribute name="wrap-option">wrap</xsl:attribute>
|
2411
2329
|
|
2412
|
-
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
2330
|
+
<xsl:attribute name="font-family">Courier New</xsl:attribute>
|
2413
2331
|
<xsl:attribute name="margin-bottom">12pt</xsl:attribute>
|
2414
2332
|
|
2415
2333
|
|
@@ -2500,6 +2418,7 @@
|
|
2500
2418
|
|
2501
2419
|
|
2502
2420
|
|
2421
|
+
|
2503
2422
|
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
2504
2423
|
<xsl:attribute name="margin-top">8pt</xsl:attribute>
|
2505
2424
|
<xsl:attribute name="margin-bottom">8pt</xsl:attribute>
|
@@ -2525,7 +2444,9 @@
|
|
2525
2444
|
|
2526
2445
|
|
2527
2446
|
|
2528
|
-
</xsl:attribute-set><xsl:
|
2447
|
+
</xsl:attribute-set><xsl:variable name="table-border_">
|
2448
|
+
|
2449
|
+
</xsl:variable><xsl:variable name="table-border" select="normalize-space($table-border_)"/><xsl:attribute-set name="table-name-style">
|
2529
2450
|
<xsl:attribute name="keep-with-next">always</xsl:attribute>
|
2530
2451
|
|
2531
2452
|
|
@@ -2745,7 +2666,7 @@
|
|
2745
2666
|
</xsl:attribute-set><xsl:attribute-set name="tt-style">
|
2746
2667
|
|
2747
2668
|
|
2748
|
-
<xsl:attribute name="font-family">Courier</xsl:attribute>
|
2669
|
+
<xsl:attribute name="font-family">Courier New</xsl:attribute>
|
2749
2670
|
|
2750
2671
|
|
2751
2672
|
</xsl:attribute-set><xsl:attribute-set name="sourcecode-name-style">
|
@@ -2853,6 +2774,8 @@
|
|
2853
2774
|
<fo:block> </fo:block>
|
2854
2775
|
</xsl:if> -->
|
2855
2776
|
|
2777
|
+
|
2778
|
+
<!-- Display table's name before table as standalone block -->
|
2856
2779
|
<!-- $namespace = 'iso' or -->
|
2857
2780
|
|
2858
2781
|
|
@@ -2931,6 +2854,12 @@
|
|
2931
2854
|
|
2932
2855
|
|
2933
2856
|
|
2857
|
+
|
2858
|
+
|
2859
|
+
|
2860
|
+
<!-- display table's name before table for PAS inside block-container (2-columnn layout) -->
|
2861
|
+
|
2862
|
+
|
2934
2863
|
<xsl:variable name="table_width">
|
2935
2864
|
<!-- for centered table always 100% (@width will be set for middle/second cell of outer table) -->
|
2936
2865
|
100%
|
@@ -2951,6 +2880,7 @@
|
|
2951
2880
|
</xsl:if>
|
2952
2881
|
|
2953
2882
|
|
2883
|
+
|
2954
2884
|
<xsl:if test="ancestor::*[local-name() = 'table']">
|
2955
2885
|
<!-- for internal table in table cell -->
|
2956
2886
|
<attribute name="border">0.5pt solid black</attribute>
|
@@ -2985,6 +2915,8 @@
|
|
2985
2915
|
<xsl:attribute name="border-bottom">0pt solid black</xsl:attribute> <!-- set 0pt border, because there is a separete table below for footer -->
|
2986
2916
|
</xsl:if>
|
2987
2917
|
|
2918
|
+
|
2919
|
+
|
2988
2920
|
<xsl:choose>
|
2989
2921
|
<xsl:when test="*[local-name()='colgroup']/*[local-name()='col']">
|
2990
2922
|
<xsl:for-each select="*[local-name()='colgroup']/*[local-name()='col']">
|
@@ -3280,9 +3212,13 @@
|
|
3280
3212
|
<xsl:apply-templates select="ancestor::*[local-name()='table']/*[local-name()='name']" mode="presentation">
|
3281
3213
|
<xsl:with-param name="continued">true</xsl:with-param>
|
3282
3214
|
</xsl:apply-templates>
|
3283
|
-
|
3284
|
-
|
3285
|
-
|
3215
|
+
|
3216
|
+
|
3217
|
+
<xsl:for-each select="ancestor::*[local-name()='table'][1]">
|
3218
|
+
<xsl:call-template name="fn_name_display"/>
|
3219
|
+
</xsl:for-each>
|
3220
|
+
|
3221
|
+
|
3286
3222
|
|
3287
3223
|
<fo:block text-align="right" font-style="italic">
|
3288
3224
|
<xsl:text> </xsl:text>
|
@@ -3371,7 +3307,11 @@
|
|
3371
3307
|
|
3372
3308
|
<xsl:variable name="isNoteOrFnExist" select="../*[local-name()='note'] or ..//*[local-name()='fn'][local-name(..) != 'name']"/>
|
3373
3309
|
|
3374
|
-
<xsl:
|
3310
|
+
<xsl:variable name="isNoteOrFnExistShowAfterTable">
|
3311
|
+
|
3312
|
+
</xsl:variable>
|
3313
|
+
|
3314
|
+
<xsl:if test="$isNoteOrFnExist = 'true' or normalize-space($isNoteOrFnExistShowAfterTable) = 'true'">
|
3375
3315
|
|
3376
3316
|
<xsl:variable name="cols-count">
|
3377
3317
|
<xsl:choose>
|
@@ -3400,6 +3340,8 @@
|
|
3400
3340
|
</xsl:choose>
|
3401
3341
|
</xsl:for-each>
|
3402
3342
|
|
3343
|
+
|
3344
|
+
|
3403
3345
|
<xsl:choose>
|
3404
3346
|
<xsl:when test="xalan:nodeset($colgroup)//*[local-name()='col']">
|
3405
3347
|
<xsl:for-each select="xalan:nodeset($colgroup)//*[local-name()='col']">
|
@@ -3424,6 +3366,7 @@
|
|
3424
3366
|
<fo:table-row>
|
3425
3367
|
<fo:table-cell border="solid black 1pt" padding-left="1mm" padding-right="1mm" padding-top="1mm" number-columns-spanned="{$cols-count}">
|
3426
3368
|
|
3369
|
+
|
3427
3370
|
<xsl:attribute name="border-top">solid black 0pt</xsl:attribute>
|
3428
3371
|
|
3429
3372
|
|
@@ -3436,6 +3379,11 @@
|
|
3436
3379
|
|
3437
3380
|
|
3438
3381
|
|
3382
|
+
|
3383
|
+
|
3384
|
+
<!-- for BSI (not PAS) display Notes before footnotes -->
|
3385
|
+
|
3386
|
+
|
3439
3387
|
<!-- except gb -->
|
3440
3388
|
|
3441
3389
|
<xsl:apply-templates select="../*[local-name()='note']" mode="process"/>
|
@@ -3461,6 +3409,10 @@
|
|
3461
3409
|
<!-- fn processing -->
|
3462
3410
|
<xsl:call-template name="fn_display"/>
|
3463
3411
|
|
3412
|
+
|
3413
|
+
<!-- for PAS display Notes after footnotes -->
|
3414
|
+
|
3415
|
+
|
3464
3416
|
</fo:table-cell>
|
3465
3417
|
</fo:table-row>
|
3466
3418
|
</fo:table-body>
|
@@ -3505,21 +3457,29 @@
|
|
3505
3457
|
|
3506
3458
|
<fo:table-body>
|
3507
3459
|
|
3508
|
-
<xsl:variable name="
|
3460
|
+
<xsl:variable name="title_continued_">
|
3509
3461
|
<xsl:call-template name="getTitle">
|
3510
3462
|
<xsl:with-param name="name" select="'title-continued'"/>
|
3511
3463
|
</xsl:call-template>
|
3512
3464
|
</xsl:variable>
|
3513
3465
|
|
3466
|
+
<xsl:variable name="title_continued">
|
3467
|
+
<xsl:value-of select="$title_continued_"/>
|
3468
|
+
|
3469
|
+
</xsl:variable>
|
3470
|
+
|
3514
3471
|
<xsl:variable name="title_start" select="ancestor::*[local-name()='table'][1]/*[local-name()='name']/node()[1][self::text()]"/>
|
3515
3472
|
<xsl:variable name="table_number" select="substring-before($title_start, '—')"/>
|
3516
3473
|
|
3517
3474
|
<fo:table-row height="0" keep-with-next.within-page="always">
|
3518
3475
|
<fo:table-cell>
|
3476
|
+
|
3477
|
+
|
3519
3478
|
|
3520
3479
|
|
3521
3480
|
<fo:marker marker-class-name="table_continued"/>
|
3522
3481
|
|
3482
|
+
|
3523
3483
|
<fo:block/>
|
3524
3484
|
</fo:table-cell>
|
3525
3485
|
</fo:table-row>
|
@@ -3539,6 +3499,19 @@
|
|
3539
3499
|
|
3540
3500
|
</fo:table-body>
|
3541
3501
|
|
3502
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/text()[1]" priority="2" mode="presentation_name">
|
3503
|
+
<xsl:choose>
|
3504
|
+
<xsl:when test="substring-after(., '—') != ''">
|
3505
|
+
<xsl:text>—</xsl:text><xsl:value-of select="substring-after(., '—')"/>
|
3506
|
+
</xsl:when>
|
3507
|
+
<xsl:otherwise>
|
3508
|
+
<xsl:value-of select="."/>
|
3509
|
+
</xsl:otherwise>
|
3510
|
+
</xsl:choose>
|
3511
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']" mode="presentation_name">
|
3512
|
+
<xsl:apply-templates mode="presentation_name"/>
|
3513
|
+
</xsl:template><xsl:template match="*[local-name()='table']/*[local-name()='name']/node()" mode="presentation_name">
|
3514
|
+
<xsl:apply-templates select="."/>
|
3542
3515
|
</xsl:template><xsl:template match="*[local-name()='tr']">
|
3543
3516
|
<xsl:variable name="parent-name" select="local-name(..)"/>
|
3544
3517
|
<!-- <xsl:variable name="namespace" select="substring-before(name(/*), '-')"/> -->
|
@@ -3566,9 +3539,12 @@
|
|
3566
3539
|
|
3567
3540
|
|
3568
3541
|
|
3542
|
+
|
3543
|
+
|
3569
3544
|
</xsl:if>
|
3570
3545
|
<xsl:if test="$parent-name = 'tfoot'">
|
3571
3546
|
|
3547
|
+
|
3572
3548
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3573
3549
|
<xsl:attribute name="border-left">solid black 1pt</xsl:attribute>
|
3574
3550
|
<xsl:attribute name="border-right">solid black 1pt</xsl:attribute>
|
@@ -3583,6 +3559,8 @@
|
|
3583
3559
|
|
3584
3560
|
|
3585
3561
|
|
3562
|
+
|
3563
|
+
|
3586
3564
|
<!-- <xsl:if test="$namespace = 'bipm'">
|
3587
3565
|
<xsl:attribute name="height">8mm</xsl:attribute>
|
3588
3566
|
</xsl:if> -->
|
@@ -3704,6 +3682,7 @@
|
|
3704
3682
|
|
3705
3683
|
<fo:block font-size="10pt" margin-bottom="12pt">
|
3706
3684
|
|
3685
|
+
|
3707
3686
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3708
3687
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
3709
3688
|
|
@@ -3713,8 +3692,12 @@
|
|
3713
3692
|
|
3714
3693
|
|
3715
3694
|
|
3695
|
+
<!-- Table's note name (NOTE, for example) -->
|
3696
|
+
|
3716
3697
|
<fo:inline padding-right="2mm">
|
3717
3698
|
|
3699
|
+
|
3700
|
+
|
3718
3701
|
|
3719
3702
|
|
3720
3703
|
|
@@ -3722,6 +3705,8 @@
|
|
3722
3705
|
|
3723
3706
|
</fo:inline>
|
3724
3707
|
|
3708
|
+
|
3709
|
+
|
3725
3710
|
<xsl:apply-templates mode="process"/>
|
3726
3711
|
</fo:block>
|
3727
3712
|
|
@@ -3729,18 +3714,18 @@
|
|
3729
3714
|
<xsl:apply-templates/>
|
3730
3715
|
</xsl:template><xsl:template name="fn_display">
|
3731
3716
|
<xsl:variable name="references">
|
3717
|
+
|
3732
3718
|
<xsl:for-each select="..//*[local-name()='fn'][local-name(..) != 'name']">
|
3733
|
-
<
|
3734
|
-
|
3735
|
-
|
3736
|
-
<xsl:apply-templates/>
|
3737
|
-
</fn>
|
3719
|
+
<xsl:call-template name="create_fn"/>
|
3738
3720
|
</xsl:for-each>
|
3739
3721
|
</xsl:variable>
|
3722
|
+
|
3740
3723
|
<xsl:for-each select="xalan:nodeset($references)//fn">
|
3741
3724
|
<xsl:variable name="reference" select="@reference"/>
|
3742
3725
|
<xsl:if test="not(preceding-sibling::*[@reference = $reference])"> <!-- only unique reference puts in note-->
|
3743
3726
|
<fo:block margin-bottom="12pt">
|
3727
|
+
|
3728
|
+
|
3744
3729
|
|
3745
3730
|
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
3746
3731
|
<xsl:attribute name="margin-bottom">6pt</xsl:attribute>
|
@@ -3763,6 +3748,7 @@
|
|
3763
3748
|
<xsl:value-of select="@reference"/>
|
3764
3749
|
|
3765
3750
|
|
3751
|
+
|
3766
3752
|
</fo:inline>
|
3767
3753
|
<fo:inline>
|
3768
3754
|
|
@@ -3772,6 +3758,12 @@
|
|
3772
3758
|
</fo:block>
|
3773
3759
|
</xsl:if>
|
3774
3760
|
</xsl:for-each>
|
3761
|
+
</xsl:template><xsl:template name="create_fn">
|
3762
|
+
<fn reference="{@reference}" id="{@reference}_{ancestor::*[@id][1]/@id}">
|
3763
|
+
|
3764
|
+
|
3765
|
+
<xsl:apply-templates/>
|
3766
|
+
</fn>
|
3775
3767
|
</xsl:template><xsl:template name="fn_name_display">
|
3776
3768
|
<!-- <xsl:variable name="references">
|
3777
3769
|
<xsl:for-each select="*[local-name()='name']//*[local-name()='fn']">
|
@@ -3900,7 +3892,7 @@
|
|
3900
3892
|
|
3901
3893
|
|
3902
3894
|
|
3903
|
-
<xsl:if test="ancestor::*[local-name()='
|
3895
|
+
<xsl:if test="ancestor::*[local-name()='table']">
|
3904
3896
|
<xsl:attribute name="font-weight">normal</xsl:attribute>
|
3905
3897
|
<!-- <xsl:attribute name="alignment-baseline">hanging</xsl:attribute> -->
|
3906
3898
|
<xsl:attribute name="baseline-shift">15%</xsl:attribute>
|
@@ -3918,6 +3910,7 @@
|
|
3918
3910
|
|
3919
3911
|
<xsl:value-of select="@reference"/>
|
3920
3912
|
|
3913
|
+
|
3921
3914
|
</fo:basic-link>
|
3922
3915
|
</fo:inline>
|
3923
3916
|
</xsl:template><xsl:template match="*[local-name()='fn']/*[local-name()='p']">
|
@@ -4798,19 +4791,6 @@
|
|
4798
4791
|
<!-- replace start and end spaces to non-break space -->
|
4799
4792
|
<xsl:value-of select="java:replaceAll(java:java.lang.String.new(.),'(^ )|( $)',' ')"/>
|
4800
4793
|
</xsl:copy>
|
4801
|
-
</xsl:template><xsl:template match="mathml:mi[. = ',' and not(following-sibling::*[1][local-name() = 'mtext' and text() = ' '])]" mode="mathml">
|
4802
|
-
<xsl:copy>
|
4803
|
-
<xsl:apply-templates select="@*|node()" mode="mathml"/>
|
4804
|
-
</xsl:copy>
|
4805
|
-
<xsl:choose>
|
4806
|
-
<!-- if in msub, then don't add space -->
|
4807
|
-
<xsl:when test="ancestor::mathml:mrow[parent::mathml:msub and preceding-sibling::*[1][self::mathml:mrow]]"/>
|
4808
|
-
<!-- if next char in digit, don't add space -->
|
4809
|
-
<xsl:when test="translate(substring(following-sibling::*[1]/text(),1,1),'0123456789','') = ''"/>
|
4810
|
-
<xsl:otherwise>
|
4811
|
-
<mathml:mspace width="0.5ex"/>
|
4812
|
-
</xsl:otherwise>
|
4813
|
-
</xsl:choose>
|
4814
4794
|
</xsl:template><xsl:template match="mathml:math/*[local-name()='unit']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='prefix']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='dimension']" mode="mathml"/><xsl:template match="mathml:math/*[local-name()='quantity']" mode="mathml"/><xsl:template match="*[local-name()='localityStack']"/><xsl:template match="*[local-name()='link']" name="link">
|
4815
4795
|
<xsl:variable name="target">
|
4816
4796
|
<xsl:choose>
|
@@ -4944,6 +4924,7 @@
|
|
4944
4924
|
|
4945
4925
|
|
4946
4926
|
|
4927
|
+
|
4947
4928
|
<fo:block-container margin-left="0mm">
|
4948
4929
|
|
4949
4930
|
|
@@ -5118,7 +5099,24 @@
|
|
5118
5099
|
</fo:instream-foreign-object>
|
5119
5100
|
</xsl:when>
|
5120
5101
|
<xsl:otherwise>
|
5121
|
-
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style"
|
5102
|
+
<fo:external-graphic src="{$src}" fox:alt-text="Image {@alt}" xsl:use-attribute-sets="image-graphic-style">
|
5103
|
+
<xsl:if test="not(@mimetype = 'image/svg+xml') and ../*[local-name() = 'name'] and not(ancestor::*[local-name() = 'table'])">
|
5104
|
+
|
5105
|
+
<xsl:variable name="img_src">
|
5106
|
+
<xsl:choose>
|
5107
|
+
<xsl:when test="not(starts-with(@src, 'data:'))"><xsl:value-of select="concat($basepath, @src)"/></xsl:when>
|
5108
|
+
<xsl:otherwise><xsl:value-of select="@src"/></xsl:otherwise>
|
5109
|
+
</xsl:choose>
|
5110
|
+
</xsl:variable>
|
5111
|
+
|
5112
|
+
<xsl:variable name="scale" select="java:org.metanorma.fop.Util.getImageScale($img_src, $width_effective, $height_effective)"/>
|
5113
|
+
<xsl:if test="number($scale) < 100">
|
5114
|
+
<xsl:attribute name="content-width"><xsl:value-of select="$scale"/>%</xsl:attribute>
|
5115
|
+
</xsl:if>
|
5116
|
+
|
5117
|
+
</xsl:if>
|
5118
|
+
|
5119
|
+
</fo:external-graphic>
|
5122
5120
|
</xsl:otherwise>
|
5123
5121
|
</xsl:choose>
|
5124
5122
|
|
@@ -5289,11 +5287,13 @@
|
|
5289
5287
|
<xsl:attribute name="width">100%</xsl:attribute>
|
5290
5288
|
<xsl:attribute name="content-height">100%</xsl:attribute>
|
5291
5289
|
<xsl:attribute name="content-width">scale-down-to-fit</xsl:attribute>
|
5290
|
+
<xsl:variable name="svg_width" select="xalan:nodeset($svg_content)/*/@width"/>
|
5291
|
+
<xsl:variable name="svg_height" select="xalan:nodeset($svg_content)/*/@height"/>
|
5292
5292
|
<!-- effective height 297 - 27.4 - 13 = 256.6 -->
|
5293
5293
|
<!-- effective width 210 - 12.5 - 25 = 172.5 -->
|
5294
5294
|
<!-- effective height / width = 1.48, 1.4 - with title -->
|
5295
|
-
<xsl:if test="
|
5296
|
-
<xsl:variable name="width" select="((
|
5295
|
+
<xsl:if test="$svg_height > ($svg_width * 1.4)"> <!-- for images with big height -->
|
5296
|
+
<xsl:variable name="width" select="(($svg_width * 1.4) div $svg_height) * 100"/>
|
5297
5297
|
<xsl:attribute name="width"><xsl:value-of select="$width"/>%</xsl:attribute>
|
5298
5298
|
</xsl:if>
|
5299
5299
|
<xsl:attribute name="scaling">uniform</xsl:attribute>
|
@@ -5310,6 +5310,23 @@
|
|
5310
5310
|
<xsl:attribute name="href" namespace="http://www.w3.org/1999/xlink">
|
5311
5311
|
<xsl:value-of select="."/>
|
5312
5312
|
</xsl:attribute>
|
5313
|
+
</xsl:template><xsl:template match="*[local-name() = 'svg'][not(@width and @height)]" mode="svg_update">
|
5314
|
+
<xsl:copy>
|
5315
|
+
<xsl:apply-templates select="@*" mode="svg_update"/>
|
5316
|
+
<xsl:variable name="viewbox">
|
5317
|
+
<xsl:call-template name="split">
|
5318
|
+
<xsl:with-param name="pText" select="@viewBox"/>
|
5319
|
+
<xsl:with-param name="sep" select="' '"/>
|
5320
|
+
</xsl:call-template>
|
5321
|
+
</xsl:variable>
|
5322
|
+
<xsl:attribute name="width">
|
5323
|
+
<xsl:value-of select="round(xalan:nodeset($viewbox)//item[3])"/>
|
5324
|
+
</xsl:attribute>
|
5325
|
+
<xsl:attribute name="height">
|
5326
|
+
<xsl:value-of select="round(xalan:nodeset($viewbox)//item[4])"/>
|
5327
|
+
</xsl:attribute>
|
5328
|
+
<xsl:apply-templates mode="svg_update"/>
|
5329
|
+
</xsl:copy>
|
5313
5330
|
</xsl:template><xsl:template match="*[local-name() = 'figure']/*[local-name() = 'image'][@mimetype = 'image/svg+xml' and @src[not(starts-with(., 'data:image/'))]]" priority="2">
|
5314
5331
|
<xsl:variable name="svg_content" select="document(@src)"/>
|
5315
5332
|
<xsl:variable name="name" select="ancestor::*[local-name() = 'figure']/*[local-name() = 'name']"/>
|
@@ -5955,7 +5972,19 @@
|
|
5955
5972
|
</fo:inline>
|
5956
5973
|
</xsl:if>
|
5957
5974
|
</xsl:template><xsl:template match="*[local-name() = 'termexample']/*[local-name() = 'p']">
|
5958
|
-
<
|
5975
|
+
<xsl:variable name="element">inline
|
5976
|
+
|
5977
|
+
</xsl:variable>
|
5978
|
+
<xsl:choose>
|
5979
|
+
<xsl:when test="contains($element, 'block')">
|
5980
|
+
<fo:block xsl:use-attribute-sets="example-p-style">
|
5981
|
+
<xsl:apply-templates/>
|
5982
|
+
</fo:block>
|
5983
|
+
</xsl:when>
|
5984
|
+
<xsl:otherwise>
|
5985
|
+
<fo:inline><xsl:apply-templates/></fo:inline>
|
5986
|
+
</xsl:otherwise>
|
5987
|
+
</xsl:choose>
|
5959
5988
|
</xsl:template><xsl:template match="*[local-name() = 'example']">
|
5960
5989
|
<fo:block id="{@id}" xsl:use-attribute-sets="example-style">
|
5961
5990
|
|
@@ -6151,9 +6180,10 @@
|
|
6151
6180
|
|
6152
6181
|
|
6153
6182
|
</xsl:if>
|
6154
|
-
|
6183
|
+
|
6184
|
+
|
6185
|
+
|
6155
6186
|
<fo:basic-link internal-destination="{@bibitemid}" fox:alt-text="{@citeas}">
|
6156
|
-
|
6157
6187
|
<xsl:if test="normalize-space(@citeas) = ''">
|
6158
6188
|
<xsl:attribute name="fox:alt-text"><xsl:value-of select="."/></xsl:attribute>
|
6159
6189
|
</xsl:if>
|
@@ -6161,6 +6191,7 @@
|
|
6161
6191
|
|
6162
6192
|
|
6163
6193
|
|
6194
|
+
|
6164
6195
|
</xsl:if>
|
6165
6196
|
|
6166
6197
|
<xsl:apply-templates/>
|
@@ -6539,7 +6570,6 @@
|
|
6539
6570
|
</xsl:template><xsl:template name="processBibitem">
|
6540
6571
|
|
6541
6572
|
|
6542
|
-
<!-- end BIPM bibitem processing-->
|
6543
6573
|
|
6544
6574
|
|
6545
6575
|
|
@@ -7030,20 +7060,40 @@
|
|
7030
7060
|
</xsl:call-template>
|
7031
7061
|
</xsl:if>
|
7032
7062
|
</xsl:template><xsl:template name="getLocalizedString">
|
7033
|
-
<xsl:param name="key"/>
|
7063
|
+
<xsl:param name="key"/>
|
7064
|
+
<xsl:param name="formatted">false</xsl:param>
|
7034
7065
|
|
7035
7066
|
<xsl:variable name="curr_lang">
|
7036
7067
|
<xsl:call-template name="getLang"/>
|
7037
7068
|
</xsl:variable>
|
7038
7069
|
|
7039
|
-
<xsl:variable name="data_value"
|
7070
|
+
<xsl:variable name="data_value">
|
7071
|
+
<xsl:choose>
|
7072
|
+
<xsl:when test="$formatted = 'true'">
|
7073
|
+
<xsl:apply-templates select="xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
7074
|
+
</xsl:when>
|
7075
|
+
<xsl:otherwise>
|
7076
|
+
<xsl:value-of select="normalize-space(xalan:nodeset($bibdata)//*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang])"/>
|
7077
|
+
</xsl:otherwise>
|
7078
|
+
</xsl:choose>
|
7079
|
+
</xsl:variable>
|
7040
7080
|
|
7041
7081
|
<xsl:choose>
|
7042
|
-
<xsl:when test="$data_value != ''">
|
7043
|
-
<xsl:
|
7082
|
+
<xsl:when test="normalize-space($data_value) != ''">
|
7083
|
+
<xsl:choose>
|
7084
|
+
<xsl:when test="$formatted = 'true'"><xsl:copy-of select="$data_value"/></xsl:when>
|
7085
|
+
<xsl:otherwise><xsl:value-of select="$data_value"/></xsl:otherwise>
|
7086
|
+
</xsl:choose>
|
7044
7087
|
</xsl:when>
|
7045
7088
|
<xsl:when test="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]">
|
7046
|
-
<xsl:
|
7089
|
+
<xsl:choose>
|
7090
|
+
<xsl:when test="$formatted = 'true'">
|
7091
|
+
<xsl:apply-templates select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
7092
|
+
</xsl:when>
|
7093
|
+
<xsl:otherwise>
|
7094
|
+
<xsl:value-of select="/*/*[local-name() = 'localized-strings']/*[local-name() = 'localized-string'][@key = $key and @language = $curr_lang]"/>
|
7095
|
+
</xsl:otherwise>
|
7096
|
+
</xsl:choose>
|
7047
7097
|
</xsl:when>
|
7048
7098
|
<xsl:otherwise>
|
7049
7099
|
<xsl:variable name="key_">
|
@@ -7054,7 +7104,7 @@
|
|
7054
7104
|
<xsl:value-of select="$key_"/>
|
7055
7105
|
</xsl:otherwise>
|
7056
7106
|
</xsl:choose>
|
7057
|
-
|
7107
|
+
|
7058
7108
|
</xsl:template><xsl:template name="setTrackChangesStyles">
|
7059
7109
|
<xsl:param name="isAdded"/>
|
7060
7110
|
<xsl:param name="isDeleted"/>
|
@@ -7105,4 +7155,100 @@
|
|
7105
7155
|
<xsl:otherwise><xsl:value-of select="$default"/></xsl:otherwise>
|
7106
7156
|
</xsl:choose>
|
7107
7157
|
</xsl:attribute>
|
7158
|
+
</xsl:template><xsl:template name="number-to-words">
|
7159
|
+
<xsl:param name="number"/>
|
7160
|
+
<xsl:param name="first"/>
|
7161
|
+
<xsl:if test="$number != ''">
|
7162
|
+
<xsl:variable name="words">
|
7163
|
+
<words>
|
7164
|
+
<word cardinal="1">One-</word>
|
7165
|
+
<word ordinal="1">First </word>
|
7166
|
+
<word cardinal="2">Two-</word>
|
7167
|
+
<word ordinal="2">Second </word>
|
7168
|
+
<word cardinal="3">Three-</word>
|
7169
|
+
<word ordinal="3">Third </word>
|
7170
|
+
<word cardinal="4">Four-</word>
|
7171
|
+
<word ordinal="4">Fourth </word>
|
7172
|
+
<word cardinal="5">Five-</word>
|
7173
|
+
<word ordinal="5">Fifth </word>
|
7174
|
+
<word cardinal="6">Six-</word>
|
7175
|
+
<word ordinal="6">Sixth </word>
|
7176
|
+
<word cardinal="7">Seven-</word>
|
7177
|
+
<word ordinal="7">Seventh </word>
|
7178
|
+
<word cardinal="8">Eight-</word>
|
7179
|
+
<word ordinal="8">Eighth </word>
|
7180
|
+
<word cardinal="9">Nine-</word>
|
7181
|
+
<word ordinal="9">Ninth </word>
|
7182
|
+
<word ordinal="10">Tenth </word>
|
7183
|
+
<word ordinal="11">Eleventh </word>
|
7184
|
+
<word ordinal="12">Twelfth </word>
|
7185
|
+
<word ordinal="13">Thirteenth </word>
|
7186
|
+
<word ordinal="14">Fourteenth </word>
|
7187
|
+
<word ordinal="15">Fifteenth </word>
|
7188
|
+
<word ordinal="16">Sixteenth </word>
|
7189
|
+
<word ordinal="17">Seventeenth </word>
|
7190
|
+
<word ordinal="18">Eighteenth </word>
|
7191
|
+
<word ordinal="19">Nineteenth </word>
|
7192
|
+
<word cardinal="20">Twenty-</word>
|
7193
|
+
<word ordinal="20">Twentieth </word>
|
7194
|
+
<word cardinal="30">Thirty-</word>
|
7195
|
+
<word ordinal="30">Thirtieth </word>
|
7196
|
+
<word cardinal="40">Forty-</word>
|
7197
|
+
<word ordinal="40">Fortieth </word>
|
7198
|
+
<word cardinal="50">Fifty-</word>
|
7199
|
+
<word ordinal="50">Fiftieth </word>
|
7200
|
+
<word cardinal="60">Sixty-</word>
|
7201
|
+
<word ordinal="60">Sixtieth </word>
|
7202
|
+
<word cardinal="70">Seventy-</word>
|
7203
|
+
<word ordinal="70">Seventieth </word>
|
7204
|
+
<word cardinal="80">Eighty-</word>
|
7205
|
+
<word ordinal="80">Eightieth </word>
|
7206
|
+
<word cardinal="90">Ninety-</word>
|
7207
|
+
<word ordinal="90">Ninetieth </word>
|
7208
|
+
<word cardinal="100">Hundred-</word>
|
7209
|
+
<word ordinal="100">Hundredth </word>
|
7210
|
+
</words>
|
7211
|
+
</xsl:variable>
|
7212
|
+
|
7213
|
+
<xsl:variable name="ordinal" select="xalan:nodeset($words)//word[@ordinal = $number]/text()"/>
|
7214
|
+
|
7215
|
+
<xsl:variable name="value">
|
7216
|
+
<xsl:choose>
|
7217
|
+
<xsl:when test="$ordinal != ''">
|
7218
|
+
<xsl:value-of select="$ordinal"/>
|
7219
|
+
</xsl:when>
|
7220
|
+
<xsl:otherwise>
|
7221
|
+
<xsl:choose>
|
7222
|
+
<xsl:when test="$number < 100">
|
7223
|
+
<xsl:variable name="decade" select="concat(substring($number,1,1), '0')"/>
|
7224
|
+
<xsl:variable name="digit" select="substring($number,2)"/>
|
7225
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $decade]/text()"/>
|
7226
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@ordinal = $digit]/text()"/>
|
7227
|
+
</xsl:when>
|
7228
|
+
<xsl:otherwise>
|
7229
|
+
<!-- more 100 -->
|
7230
|
+
<xsl:variable name="hundred" select="substring($number,1,1)"/>
|
7231
|
+
<xsl:variable name="digits" select="number(substring($number,2))"/>
|
7232
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = $hundred]/text()"/>
|
7233
|
+
<xsl:value-of select="xalan:nodeset($words)//word[@cardinal = '100']/text()"/>
|
7234
|
+
<xsl:call-template name="number-to-words">
|
7235
|
+
<xsl:with-param name="number" select="$digits"/>
|
7236
|
+
</xsl:call-template>
|
7237
|
+
</xsl:otherwise>
|
7238
|
+
</xsl:choose>
|
7239
|
+
</xsl:otherwise>
|
7240
|
+
</xsl:choose>
|
7241
|
+
</xsl:variable>
|
7242
|
+
<xsl:choose>
|
7243
|
+
<xsl:when test="$first = 'true'">
|
7244
|
+
<xsl:variable name="value_lc" select="java:toLowerCase(java:java.lang.String.new($value))"/>
|
7245
|
+
<xsl:call-template name="capitalize">
|
7246
|
+
<xsl:with-param name="str" select="$value_lc"/>
|
7247
|
+
</xsl:call-template>
|
7248
|
+
</xsl:when>
|
7249
|
+
<xsl:otherwise>
|
7250
|
+
<xsl:value-of select="$value"/>
|
7251
|
+
</xsl:otherwise>
|
7252
|
+
</xsl:choose>
|
7253
|
+
</xsl:if>
|
7108
7254
|
</xsl:template></xsl:stylesheet>
|